标点挤压
适合谁看:觉得中文段落里标点「空得太多」,想知道怎么收紧的设计师和开发者。
为什么要挤压
中文标点(除省略号、破折号等占两格的以外)通常占一个汉字的宽度,但字形只占其中一半左右,另一半是空白。两个标点连在一起,比如「。」」或「)、」,中间就会出现很大的空隙。
clreq 说明:是否调整标点宽度属于排版风格[1]。台湾很多印刷品不调整;中国大陆和香港的出版物多数会调整。
连续标点怎么挤
clreq 给出的原则:
- 两个相邻标点原本占 2 个字宽,应缩减为 1.5 个字宽;排版风格可以进一步缩到 1 个字宽;
- 挤压的方向是让开始、结束的夹注符号(引号、括号、书名号)紧贴被夹注的内容。
例如「他说:“好。”」中,「。”」两个标点连在一起,就要把空白挤掉一部分。
行首、行尾的标点
- 行首出现开始的引号、括号时,可以去掉它前面半个字的空白;
- 依照 GB/T 15834—2011 第 5.1.10 条,原本占一个字宽的标点出现在行尾时,应缩减其末侧半个字的空白。
哪些标点不能挤
clreq 列出的不可调整标点包括:大陆式的半字连接号、间隔号、分隔号(本来就只占半字);港台式横排的问号、叹号,以及竖排的冒号、分号、问号、叹号(固定占一个字宽)。
软件里怎么做
- InDesign:段落设置里的「标点挤压」(Mojikumi)设置,可以选用或自定义挤压规则;
- 网页:CSS 的
text-spacing-trim属性可以处理连续标点和行首标点的挤压,目前只有 Chrome 系浏览器支持(Chrome 123 起)[2],见《在网页上实现中文排版:CSS 速查》[2]; - 字体:有的字体自带
halt(半宽替代)、chws(上下文半宽间距)等 OpenType 功能,排版软件或 CSSfont-feature-settings可以调用[3]。