盘古之白 书架

第 01 章 / 共 5 章

第一章 · 两种身体挤在一行里

空格先不是规矩,是感觉

如果你写过这样的句子:今天上线了GPT-5,用户增长20%。你大概会在心里听见一个轻微的咯噔。

不是看不懂。中文读者当然能看懂。问题是,眼睛在扫过“了GPT-5”和“长20%”时,会短暂地停一下:这里到底从哪里开始是英文?数字跟前面的汉字有没有连在一起?这个停顿很小,小到你说不出它的名字;但一篇文章里出现几十次,它就变成疲劳。

所以很多人会写成:今天上线了 GPT-5,用户增长 20%。

中间那一点白,不是装饰。它像在人行道和车道之间画了一条浅浅的线,让两种速度不同的东西在同一条路上各走各的。

汉字和拉丁字母的身体不一样

字面,大白话说,就是一个字在排版时占住的那块地。汉字的传统身体接近正方形,一个字一个格子,排起来像一排砖。拉丁字母不是这样。一个 i 很窄,一个 W 很宽;同一个单词内部,字母彼此要靠得近,才能被眼睛当成一个词。

数字又是第三种东西。阿拉伯数字常常成串出现:2026、3.14、100%。它们不像汉字那样一个个独立,也不像英文单词那样靠拼写成词。它们更像小型仪表盘,读者会把它们整体抓出来。

当“中文English123中文”这样贴在一起时,问题不在任何一个字符本身。问题在边界。汉字的边界很清楚,英文和数字的边界靠连续性。如果两边硬贴,眼睛就要自己猜边界。

中文、英文、数字混在一行里时,空格做的不是“变好看”,而是“帮眼睛切块”。

为什么全角和半角会让人误会

全角,简单说,是一个字符大约占一个汉字宽度。半角,简单说,是英文、数字这类窄字符常用的宽度系统。很多中文排版争论会落到“全角半角”上,但这只能解释一半。

全角逗号和半角逗号的差别很明显,因为标点本身换了形状。可在“微信 Mac 版”里,Mac 还是 Mac,字母没有变成汉字宽。我们只是给它和汉字之间留了一口气。

这口气的大小也不是固定等于键盘上的空格。传统排版里理想的中西文间距,常常比一个英文空格小。你在浏览器里敲下的 ASCII 空格,是一个真实字符,会参与换行、复制、搜索、代码解析;它不是纯粹的视觉缝隙。

这就是后来所有工程问题的源头:我们想要的是视觉上的微小间距,但手里最容易拿到的工具,是一个会改变文本内容的空格字符。

空格其实是排版里的标点

中文没有天然的单词空格。英文几乎离不开单词空格。于是当两者混排时,那个夹在中间的空白就很尴尬:它不是中文标点,也不是英文单词之间的空格,却承担了两边的翻译工作。

它告诉读者:这里开始,阅读方式切换一下。前面按汉字的节奏读;后面把一串字母或数字整体读出来;再后面,回到汉字节奏。

一个好类比是门槛。门槛不是房间,也不是走廊,但没有门槛,两个空间就会糊在一起。中英文之间的空格就是门槛:它不表达词义,却表达边界。

这件小事为什么会吵起来

因为它同时属于审美和工程。

从审美看,加空格的人会觉得“不加就挤”。不加空格的人会觉得“多了一个洞”。两边都不是错觉。不同字体、字号、屏幕、行宽,会让同一个空格显得刚好或过宽。

从工程看,事情更麻烦。手动加空格,文本变干净了吗?在网页上可能更舒服;在搜索里可能多了一个字符;在代码名、品牌名、链接、文件路径旁边可能出错。你以为加的是白,其实加进了数据。

所以“为什么中文和英文、数字之间要加一个空格”这个问题,不能只回答“因为好看”。更准确的回答是:中文、英文和数字贴在一起时,读者需要边界;排版需要空白;而工程系统需要决定,这个空白到底是内容,还是显示。

后面几章,我们就沿着这条线走:先看空白在活字时代怎么被当成材料,再看网页时代为什么把它丢给了作者,最后看 pangu.js 和操作系统自动加空到底在解决什么,又制造了什么。

盘古之白 · 王建硕
费曼式写法 · 由 AI 代理撰写与独立审校