问题描述
一些 ttf 字体在制作的时候,考虑的只是文字的显示排版,没有考虑平台兼容的问题,会导致同一个字体在不同平台上显示不同,例如:
Web、Android、iOS 上文字均能正常显示 ttf 字样的样式,Windows 平台上显示的是系统字体:Cocos 中文论坛求助
同个字体加上描边后在微信小游戏上,Android 平台文字的描边会被切割掉一部分,iOS 文字+描边显示正常:Cocos 中文论坛求助
问题思路
先测试问题字体看问题能否复现,如果能复现;
切换其他字体做相同条件下的测试,看能否复现;
如果只是个别字体能复现,就可以从字体文件本身来着手排查;
结合经验判断,每个平台对字体的家族名( font family) 和 字体文件名(font name)的解析不同,window 上要求 font family 和 font name 要一致,ios 和 安卓在小游戏平台上有时候会对字体名是否含特殊符号解析有区别,导致两个平台一个显示正常,一个不正常;
所以最好是 font family 和 font name 名称相同,且不含特殊符号,当然能不用中文命名就不用;
解决方案
修改字体的 font family 和 font name 的名称,保持一致;
修改字体度量信息配置为全平台一样或近似一样,别相差太多;
使用工具修改字体信息
a. 可使用百度在线字体编辑器来修改
https://kekee000.github.io/fonteditor/#
b. 可以下载使用 High-Logic FontCreator 软件来修改: High-Logic FontCreator 下载地址
其他
字体相关文档可参考
microsoft 文档
微博
我是木限东,跟着我一起学习不迷路!
关注微信公众号【稀饭Creator】,一起成长吧;
gitee:https://gitee.com/yeshao2069
gitcode: https://gitcode.com/muxiandong
github: https://github.com/yeshao2069
暂无评论内容