dotnet OpenXML 文本 Kerning 字间距的作用

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

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

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

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

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

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

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

更多请看 Office 使用 OpenXML SDK 解析文档博客目录

我搭建了自己的博客 https://blog.lindexi.com/ 欢迎大家访问,里面有很多新的博客。只有在我看到博客写成熟之后才会放在csdn或博客园,但是一旦发布了就不再更新

如果在博客看到有任何不懂的,欢迎交流,我搭建了 dotnet 职业技术学院 欢迎大家加入

如有不方便在博客评论的问题,可以加我 QQ 2844808902 交流

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接:http://blog.csdn.net/lindexi_gd ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系。

lindexi_gd CSDN认证博客专家 C# WPF UWP 微软最具价值专家
我是微软Windows应用开发方向的最具价值专家,欢迎访问我博客blog.lindexi.com里面有大量WPF和UWP博客
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页