- 公司的UI设计图中要求使用苹方字体,在集成的过程中遇到很多坑,现在总结如下。
- 首先,iOS 8及以下是不支持系统苹方字体的,如果强行使用不但没有效果,而且还很容易引起崩溃。
- 所以,如果你的app是要兼容到iOS8的,就需要导入苹方字体的ttf文件,可以参考这位大神的方法。
http://www.jianshu.com/p/32ae87d4fe16
- 我按照这个方法,导入了字体文件,可是在打包的时候问题来了,生成的ipa包体积一下子增加了将近一倍,我又查看了一下项目文件夹,苹方字体的ttf文件是30多兆,相对于整个项目的500多兆是不算多,但是压缩时字体文件却没有怎么压缩。
- 于是我想到了自行压缩ttf文件,上网搜索了各种方法都行不通,最后找到了一个在java环境下的运行的软件,sfnttool.jar,具体使用方法可以参考这里:
http://blog.shiqichan.com/How-To-Use-sfnttool/
试过之后发现这个软件只可以提取指定文字进行压缩,如果想要所有的字符都变成苹方字体,还是需要导入原来的字体文件,那样的话不是转了一圈又回到原点了吗?
- 最后想了一个折中的办法,把所有的数字、字母和字符都都提取进行压缩,汉字暂不压缩。这样在iOS8系统下,汉字又会回到默认字体,虽然可能不如苹方字体美观,但是相对于超大体积的ipa文件来说,这应该是一个不错的选择了。最后压缩后的单个ttf文件大小是13kb。
- 目前我不知道是否还有更好的办法,欢迎各位朋友指教。