最近研究中英文混排是否需要空格分隔时的一些发现(解决你中英文混排的疑虑) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolair
V2EX    分享发现

最近研究中英文混排是否需要空格分隔时的一些发现(解决你中英文混排的疑虑)

  •  1
     
  •   coolair 2024-09-03 10:30:55 +08:00 2001 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最先搜索到的资料是 中文文案排版指北,推崇的原则是使用空格。

    后面我发现 W3C 有个 中文排版需求 的草案。草案中 3.2.2 横排的中、西文混排配置 也提出可使用西文词间空格。但是,草案全文并没有遵循这个原则。

    其实,这个早在 2015 年就有过激烈的讨论:文本中多处中西混排没有依照 3.2.2 ,3.2.4 留出空白。 Issue #14 w3c/clreq (github.com)

    其实,也如大家所说的一样“将中西文间距视作「样式」而非「内容」”,另外,在语义上是否需要空格也有激烈的讨论。

    在 IE 上是有 text-autospace 这个 CSS 样式来控制的。现在在 W3C 的草案 CSS Text Module Level 4 也加入了这个样式。

    结论,W3C 是不使用空格来分隔中英文混排的(在中文语境下),并把这个问题交给未来解决(也就是上文说的 CSS )。

    另外,在其他地方,比如,操作系统的默认文件(参考 Windows 快捷方式)命名,Microsoft 是使用的空格分隔中英文,但是国内的软件基无使用空格分隔的,例如:卸载英文名的软件

    对于强迫症患者可能就会有选择困难症了,文件名使用空格分隔,而文中内容不使用空格分隔?其实纠结的根本原因就是现有的很多(笔记)软件不支持(比如:Obsidian ),如果现有的软件支持文件列表的文件名和内容有对应的样式支持(有这样的 Markdown 笔记软件吗?),那就不会有人添加空格了。我建议统一,如果使用了空格分隔,那就都使用;如果没有使用,那就都不使用。

    PS:我还特意翻看了下国家公文排版(文件和网页),基本上都不使用空格风格(可参考)。

    那么,以后那些使用 Markdown 生成的 Web 方案会加入 text-autospace 样式吗?如果加入了,那么是否要处理使用空格分隔的问题?毕竟,现在很多人都是使用空格来分隔的。

    10 条回复    2024-10-02 15:41:13 +08:00
    yin1999
        1
    yin1999  
       2024-09-03 10:57:05 +08:00
    说个我们在 MDN 遇到的问题:,在 markdown 文档中,中英文混排如果不加空格,很容易碰到工具(我们用的是 remark-gfm )无法正确渲染样式的问题。如:

    ```
    已废弃的**`unescape()`**
    ```

    会被渲染成:

    ```
    已废弃的**<code>unescape()</code>**
    ```

    所以在上面的样式能够被正确渲染之前,我会站“中英文混排加空格”。
    radishzz
        2
    radishzz  
       2024-09-03 12:31:43 +08:00
    平面设计路过,在排版中中文、英文、数字之间都需要加空格,但在网络中很少有人能做到,除非输入法自带这个功能
    coolair
        3
    coolair  
    OP
       202409-03 12:32:49 +08:00
    @radishzz #2 搜狗输入法确实有个这个功能,有一个设置可以打开这个功能。
    wushan
        4
    wushan  
       2024-09-03 12:49:19 +08:00   1
    手动加空格很多年,但自从五年前 iOS 和 macOS 自动为中、西文间加上 1/8 em 的间隙后就不加了。而且半角空格很多时候看起来过宽,这个 1/8 em 比一个半角空格看起来舒服多了。这也是我目前还在使用苹果生态的原因之一,希望安卓和 Windows 能够跟进。
    coolair
        5
    coolair  
    OP
       2024-09-03 14:27:05 +08:00
    @wushan #4 我还没用过 macOS ,请问下 macOS 下,使用 Obsidian 这种软件中英文混排不加空格,也会加上 1/8 em 的间隙吗?还是自带的软件才会加?
    sphendae
        6
    sphendae  
       2024-09-03 18:07:52 +08:00
    @coolair 系统自带和部分第三方会显示间隙
    efcndi
        7
    efcndi  
       2024-09-03 21:08:23 +08:00
    难以忍受人为地在文字之间插入不应该存在的元素。null 就是 null ,0 就是 0 ,不应该混淆。
    wushan
        8
    wushan  
       2024-09-03 23:02:23 +08:00
    @coolair 第三方应用只要使用原生 UI 框架的都支持。
    XueXianqi
        9
    XueXianqi  
       2024-09-04 09:18:21 +08:00
    您是否在寻找 “盘古之白”
    kopisee
        10
    kopisee  
       2024-10-02 15:41:13 +08:00   1
    Windows 跟 Android ,单说浏览器的话,Chrome 、Edge 启用 chrome://flags/#enable-experimental-web-platform-features 后,网页就会显示分隔了。
    @wushan
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5675 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 02:57 PVG 10:57 LAX 18:57 JFK 21:57
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86