F4.12.4rivers in justified type设计
词距不均匀的两端对齐会在西文段落中产生视觉空洞
别名: 河流 · river · 两端对齐词距
概念解释
西文两端对齐靠拉伸词与词之间的空格,把一行撑到栏宽。空格被拉得大小不一,上下行的宽空格一旦连成一条,页面上就出现一条白的河流(river)。它不是字距不均——字母内部的缝还在——是词距这一层被当成了弹性材料。河流会把眼睛从行上带走,顺着白缝往下滑,段落像被撕开。
机制
齐行算法的自由度主要在词间空格,其次才是微调字距或断词。窄栏里每行词少,要填掉的剩余宽度只能摊到两三个空格上,单个空格被拉得很宽;下一行若碰巧也在相近的水平位置留了宽空格,白缝就在纵向上接通。栏越窄、断词越懒、连字符越少,河流越稳。中文两端对齐主要挤的是标点和字身缝,几乎没有词间空格可拉,所以这条空洞是西文段落的病,不是「对齐」本身的病。左对齐把剩余宽度留在行尾,词距保持字体给的常数,河流无从形成。
边界
宽栏、允许连字符、引擎会做断词和微调时,词距波动被摊薄,河流可以弱到不打扰。短标题、两三行的引文,还没来得及连成河。等宽字体齐行几乎必然出河,因为没有字偶距可借,全部弹性都在空格上。两端对齐在窄栏里还会把字母间距也拉花,那是另一层失败;这里只认词距拉出的纵向白缝。
怎么落地
- 西文正文优先左对齐;真要齐行,先保证栏宽够放下大约五十到七十个字符,并打开断词。
- 把齐行段落打出来或截长图,眯眼看:有没有一条白缝贯穿三行以上。有,就加宽栏、允许连字符,或退回左对齐。
- 不要用增大字距去「填」河流,那会把词再拆开;河流的材料是词距,不是字距。