在使用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(包括一些常见的全角标点符号)。

在Unity中使用TextmeshPro打包字体时,通过设置Unicode范围(如0020-007F,0080-00FF等)可确保包含所有必要的字符和标点,避免字符丢失。在FontAssetCreator中选择SourceFontFile,设置CharacterSet为UnicodeRange,输入相应Unicode范围后生成并保存字体资产,尽管过程可能因字符多而较慢。
2161

被折叠的 条评论
为什么被折叠?



