字体问题处理方案

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 version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE hheaTable [
<!ELEMENT hheaTable EMPTY>
<!ATTLIST hheaTable versionMajor CDATA #IMPLIED
    versionMinor CDATA #IMPLIED
    ascender CDATA #IMPLIED
    descender CDATA #IMPLIED
    lineGap CDATA #IMPLIED
    advanceWidthMax CDATA #IMPLIED
    minLeftSideBearing CDATA #IMPLIED
    minRightSideBearing CDATA #IMPLIED
    xMaxExtent CDATA #IMPLIED
    caretSlopeRise CDATA #IMPLIED
    caretSlopeRun CDATA #IMPLIED
    caretOffset CDATA #IMPLIED
    metricDataFormat CDATA #IMPLIED
    numberOfHMetrics CDATA #IMPLIED
>
]>
 
 
<!--
 
    Data generated  Sun Aug 13 18:51:10 2017
 
    Generated by ftxdumperfuser build 347,
        FontToolbox.framework build 257
 
    Font full name: 'PT DIN Condensed Cyrillic'
    Font PostScript name: 'DINCondensedC'
 
-->
 
 
<hheaTable
    versionMajor="1"
    versionMinor="0"
    ascender="700"
    descender="-209"
    lineGap="68"
    advanceWidthMax="889"
    minLeftSideBearing="-270"
    minRightSideBearing="-22"
    xMaxExtent="844"
    caretSlopeRise="1"
    caretSlopeRun="0"
    caretOffset="0"
    metricDataFormat="0"
    numberOfHMetrics="234"
    />

 

没错这是个 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 一下:

转载于:https://www.cnblogs.com/yuxiaoyiyou/p/10766922.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值