中英混排空格

汉字和英文、数字之间补一个空格,读起来更清爽。顺带处理全角字母数字、多余空格和标点,粘贴即转换。

为什么要留这个空格

汉字是方块字,字形本身占满字面;英文和数字的高度只有汉字的一半左右,字宽也窄。 两者直接贴在一起,视线在切换字形时要重新找边界,读起来会卡一下。中间留一个半角空格, 相当于给两种字形之间加了道缝,段落看起来更透气。这个习惯在网上被称为「盘古之白」。

反过来,汉字之间不需要空格。汉字每个字都是等宽方块,字与字之间的空白已经是分隔了, 再加空格会把词拆得七零八落。从 PDF 复制的文本经常带着奇怪的汉字间空格,用上面的 「去掉汉字之间的空格」能合回去。

什么时候不该加

这个规则是为了阅读体验,不是排版硬标准。代码、命令行、正则表达式、URL 里面绝对不能加空格, 否则内容就坏了。所以处理代码片段时,记得把「汉字与数字之间加空格」关掉, 也别把「半角标点转全角」打开,否则网址里的点和斜杠会被改掉。

关于全角半角

全角字符是早期中文系统为了和汉字对齐设计的,字母数字都占两个字宽,看起来又宽又散。 现在一般只在中文标点上保留全角,字母数字直接用半角。如果一段文字里混着「ABC」和「ABC」, 用全角转半角统一一下再看。反过来,中文正文里用半角逗号句号会让行尾显得空,把标点转全角更整齐。