在使用TextmeshPro过程中,我们会需要打包字体,而打包字体的时候,就需要设置需要打包的字符。这时候如果用网上的一些txt打包字符集,就会出现一些字符多多少少会有丢失的问题。
本文介绍使用Unicode范围来设定打包字符范围,以将全部字符、标点符号打包进去。
1.在Unity编辑器的顶部菜单中,选择Window > TextMeshPro > Font Asset Creator。
2.在Font Asset Creator窗口中,点击Source Font File字段旁边的圆形按钮,选择你想要使用的字体文件。
3.在Font Asset & Atlas Generation Settings部分,设置Character Set为Unicode Range。
4.在Unicode Range字段中,输入你想要包含的Unicode范围(包含中英文及标点符号):0020-007F,0080-00FF,2000-206F,3000-303F,4E00-9FFF,FF00-FFEF
设置参考:
5.最后,点击Generate Font Atlas按钮生成字体资产,然后点击Save按钮保存字体资产。
由于包含字符多,打包速度会比较慢。
0020-007F,0080-00FF,2000-206F,3000-303F,4E00-9FFF,FF00-FFEF
这个范围包括了基本拉丁字母(包括大部分英文字符和标点),拉丁字母补充(包括一些额外的英文标点和特殊字符),一般标点符号,CJK的符号和标点(包括常见的中文标点符号),以及CJK统一表意符号(包括大部分现代中文字符),以及全角ASCII、全角标点与半角Katakana(包括一些常见的全角标点符号)。