iOS自定义字体显示问题的完美解决方法

2020-01-21 07:46:24于海丽


<?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 文件

    打开终端,输入: