https://www.jb51.net/article/157462.htm
处理字体偏移问题
最终的解决方案
最后还是得靠苹果爸爸,大家的好爸爸。苹果提供了一款字体修改工具:Apple Font Tool Suite。下面就让我们用该工具来解决这个棘手的问题。
3.1 下载该工具
进入这里,滚到最下方,可以看到【Apple Font Tool Suite】,点击下方的下载,下载一个适合自己 Xcode 版本,下载完成后无脑安装。
3.2 获取字体的信息文件
打开终端,输入:ftxdumperfuser -t hhea -A d PT\ DIN\ Condensed\ Cyrillic.ttf
,前面的【ftxdumperfuser -t hhea -A d 】为指令,后面的为你的字体文件路径。最后回车,你会看到同级文件夹下回多出一个【DINCondensedC.hhea.xml】文件:
3.3 修改字体文件中的信息
让我们打开这个字体文件,你会看到:
没错这是个 XML 文件,它里面包含了字体的一些公共信息:
- ascender:从字体的 baseLine 到最高处的距离
- descender:从字体的 baseline 到最低点的距离
- lineGap:印刷线的间距
- ...
这里面的每一项信息,都可以从苹果的:hheaTable文档 这篇文档中找到。文档中可以看到,一款字体也是一个大工程。
今天我们要解决的,是【DINCondensedC】字体偏上的问题,因此,让我们来调节调节 ascender 这个属性,将它从700改为900,然后保存文件。
3.4 将修改完的文件注入原 ttf 文件
打开终端,输入:ftxdumperfuser -t hhea -A f PT\ DIN\ Condensed\ Cyrillic.ttf
,注意这里 -A 后面的 d 已经换成了 f ,回车。
3.5 替换原工程中的字体文件
切回我们的工程,替换原字体文件,Run 一下: