CocosCreator在原生平台上ttf字体显示异常的解决方案

问题描述

一些 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/#
图片[1] - CocosCreator在原生平台上ttf字体显示异常的解决方案 - 宋马
图片[2] - CocosCreator在原生平台上ttf字体显示异常的解决方案 - 宋马
图片[3] - CocosCreator在原生平台上ttf字体显示异常的解决方案 - 宋马
b. 可以下载使用 High-Logic FontCreator 软件来修改: High-Logic FontCreator 下载地址

其他

字体相关文档可参考
microsoft 文档
微博

我是木限东,跟着我一起学习不迷路!
关注微信公众号【稀饭Creator】,一起成长吧;
gitee:https://gitee.com/yeshao2069
gitcode: https://gitcode.com/muxiandong
github: https://github.com/yeshao2069

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容