dotnet OpenXML 文本 Kerning 字间距的作用

2020-08-25 14:38:42 浏览数 (1)

在 PPT 和 Word 排版里面,小伙伴会接触到 Kerning 字间距这个属性,本文将告诉大家这个属性的功能,以及为什么需要在 OpenXml 里面设置这个属性

其实这个属性的实际作用需要从文本排版知识开始说起,在 Latin 拉丁语,如英文,这些语言的文本排版惯例里面,因为是由多个独立的字符构建的单词。因此多个字符之间的距离,也就是本文说的 Kerning 字间距将会影响阅读者的阅读效率。甚至听说(无依据)古老的时候印刷社有这样一个职业,决定每个单词的每个字符的间距,让读者看起来爽

在当前数字化的时代,自然做排版软件也需要考虑这一点,如在排版 AVATAR 这个经典单词的时候,将会发现如 Word 等成熟的排版软件,在微软雅黑字体下将会更改每个字符的默认间距,而且是依据前后字符的不同而不同

在第一行是经过优化的文本,可以看到 AV 这两个字符的间距和 AR 是不相同,而 AV 和 AT 都会有两个字符重叠,此时在英语语系阅读第一行字符会感到舒服

而第二行就是一些简单排版软件,这些软件每个字符都是独立排版的,没有根据前后的字符决定字间距,此时的排版看起来没有第一行好

而在 OpenXML 的 Kerning 是可以让排版工作者根据需要修改默认的字体间距的功能。因为排版软件有时候也会猜错规则,如有时候需要表达一些特殊的词,这些词很多都是宗教相关,此时需要修改字间距,让字符比较紧等

而字间距的值是由字体表决定的,这将会根据不同的字体而不同,因此想要做到和 Word 一样强的排版,就需要解析字体表,同时了解语言规则

0 人点赞