本博客的中西文排版规范

当完美主义遇上“颜控”,注定了「无规矩不成方圆」。

要间隔

最早单纯是因为美观,不由自主地在中西文混排时加了空格,做了隔离。后来因为博客越写越多,便逐渐开始关注这个话题,才发现这并不是一个简单的可以一概而论的问题。没有统一的规范,有的只是约定俗成的规则,遵不遵守看个人。这反而让我犯了难,因为如果按照我的审美判断的话,我又会纠结要不要在阿拉伯数字和中文间加空格,因为加不加在我看来都很奇怪。

直到今天听了「字谈字畅」,我才知道,中西文排版里的间隔问题其实很早就有,以前都是依靠专门的排版人员进行手动调整,产生的空间并非空格,而是间距。理论上来说,基本上表音文字都需要分词,比如英文和韩文,否则会无法辨认或产生歧义。此时一个空格就有了意义,也就是键盘上的那个Space键的用处。而中文因为是表意文字,其实可以看做是把英文里的一个词揉成了一个方块,词缀对应偏旁部首,因此不需要用间隔分词。

于是,当不同类别的文字相遇时,该如何排版才不会影响阅读便成了一个黑洞,也是我觉得「看着不舒服」的根源。我认为间隔是必要的,它能提醒你这里进行了文字转换。有人提出日语里西文是没有间隔的,理由可能是日语包含了汉字和平片假名,本身就是一种混合体,因此日本人不会觉得加上其他外文显得奇怪或不通顺。但也许是因为我毕竟是个土生土长的中国人,即使看到日语和英文放在一起没有间隔仍会觉得难受。好歹汉字和平片假名都是方块形状,而且长宽基本统一,突然冒出来的英文,高度也不同,长度也不同,没有间隔的话简直要逼死处女座。

但不要用空格表达

既然间隔一定要有,那么用空格表达行不行呢?我觉得不行。因为按照我自身的感觉,中西文之间的间隔和中文数字之间的间隔应该要是不同的。比如中西文之间空出1/4,阿拉伯数字和中文之间空出1/8会比较理想。甚至标点符号和文字之间的间距要如何拿捏也值得讨论。如果这几种情况下的间隔的绝对宽度并不相同,那么用半角空格这种固定宽度的字符来制造间隔空间,显然太笼统且不严谨。空格在呐喊:「臣妾做不到啊!」

看到有的文章里说链接也必须首尾空格,我的第一反应是「傻啊,不会用CSS啊」。其实链接或者代码块还好说,其他的纯文本要如何定位并区分,这才是难题。有人开发了Js判定,我又觉得太过复杂。但如果要用CSS就需要HTML的配合,在文章书写的时候也是烦不胜烦的。因为我特别注意混排问题,所以经常在别人网站上看到的时候都会右键查看源码,印象最深刻的是用<span class=""></span>自定义,虽然麻烦,却觉得也许这才是最规范的。于是我想着能不能用其他tag代替<span>,起码简洁一点。在浏览了一遍最新的HTML tag list后,我找到了两个符合的tag:<i><u>

...The <i> tag can be used to indicate a technical term, a phrase from another language, a thought, or a ship name, etc.
...
The <u> tag represents some text that should be stylistically different from normal text, such as misspelled words or proper nouns in Chinese.

从官方说明上来看,似乎<i>更合适一些,不过却因为常被用于Font Awesome,所以CSS定义上可能要麻烦一点。但即便使用了<u>,又要如何区分阿拉伯数字和西文呢?如果用class区分还不如用回<span>,毕竟几乎没有用途的tag也许不知道哪天就被废除了。

最理想的状态应当是让电脑帮忙完成排版,文字生产者只要负责创作,不用分心,这也是Markdown大受推崇的最主要原因。像Micronsoft Office和Adobe似乎已经能够满足我的需求了,之前在Word上写文章,发现不论英文还是数字,都跟汉字保持着「良好的距离」。但在网页显示上,不知道距离大部分浏览器默认优化中西文排版还要多久呢。

这样好了

我认为比起空格,间距这个含义更贴切,所以最终还是决定用<u>来自定义排版。既然用上了CSS,可以比半角空格更细致地调整间隔空间大小,也算是一个优势。只是没法手动控制句首和句尾了,开头对不齐或标点前有奇妙的留空等细节看看会折磨我多久。那么就从这一篇开始,我便不再手动输入空格了,拜。即便如此,手动加tag比加空格还麻烦,搞清楚其中的关系后我也不想再背锅了。所以最后我使用了空格之神助我享受更好的阅读体验。另外再祈祷一下浏览器渲染赶紧跟上来。

参考文章

  1. Type is Beautiful » 字谈字畅 014:​□□␣□□
  2. 不仅仅是空格的问题——再谈中西文混排
  3. 为什么一些公司的文案在中西文间空格,但日文与西文之间不留空格? - 知乎
  4. Writing in Chinese - How to space characters properly | Hills Learning
  5. 【排版】写给大家看的中西文排版指南 – UXRen
  6. 为什么你们就是不能加个空格呢? - 少数派
  7. Trademark & copyright symbols | Butterick’s Practical Typography
  8. HTML Reference
  9. sparanoid/chinese-copywriting-guidelines: Chinese copywriting guidelines for better written communication/中文文案排版指北

追记:Sublime Text终于更新了。标题里中文再也不是方框了,撒花!
追记二:打空格竟然已经成为了我的习惯!现在反而会回头把空格删掉。