原文标题:FAQ - Line Breaking
原文来源:
问:什么是“断行"(自动换行)
答:断行就是计算机让一长串文字自动的换行,最后形成一个真实可见的段落。计算机通过算法来确定每一行的每一个字符是否可以断行。一个简单的例子就是。每当你调整浏览器的窗口宽度时,经过断行处理后,原先段落里的字符都会发生了变动,或者被挤到下一行开头,或者变成了上一行的末尾,最后形成一个新的段落,而这个段落的每一行宽度都没有超过段落的可见范围。
问:Unicode 是否有关于断行的标准 ?
答:有。《Unicode Standard Annex #14, Unicode 断行算法》 规定了使用于所有 Unicode 字符的断行算法。相关文件介绍了 Unicode 字符对应的断行属性。
问:为了使用 Unicode,是不是就必须完全遵循 UAX #14 标准 ?
答: 不一定, UAX#14 算法是经过仔细设计的,它可以适用于各种环境,但是更复杂的样例就不行了。比如给长单词自动添加连字符然后断行,就超出了这个算法的功能。所以不直接使用空格断行的东南亚字符集就必须通过字典模块逐个字符匹配,才能识别出当前字符是否是可以断行的。也就是说,用户是被允许调整断行算法,来达到某种需要的排版风格。
问:那我可以随意修改断行规则么?
答:不能。因为有些字符的出现就是为了表示这个地方可以断行的。它们的行为必须和 Unicode 规定的一致。这一部分不能根据用户需求修改的断行规则, 具体可以看 Section 4 of UAX #14
网友评论