> 技术文档 > Unity TextMeshPro 不支持中文/中文显示口口解决方法_textmeshpro中文字体

Unity TextMeshPro 不支持中文/中文显示口口解决方法_textmeshpro中文字体


原因

由于Unity TextMesh Pro 组件原先字体文件中并不含中文,所以相关的UI组件无法显示中文。


解决方法预览:

1.使用开源字体生成动态字库。(动态字库会将你使用的文字存储到Atlas)

2.使用开源字体生成静态字库(空间占用大不推荐):I.Unicode范围 II.自定义字符


下载开源字体:

两个解决方法均需一个支持中文字体文件(.ttc/.ttf/.otf),所以先下载一个开源字体这里以思源黑体为例

点我前往分享的文件直接下载字体,或者直接找开源字体下载

找到我们下载的字体文件,直接将这个文件拖拽到Unity TextMeshPro原先的字体文件夹(Fonts)中


解决方法1:

1.1 生成动态字库

在Unity编辑器中右键刚才导入的字体 -- 创建 -- TextMeshPro -- 字体资产

1.2 更改TMP默认字体

然后将TextMeshPro默认字体改为刚才生成的动态字库 xxx SDF

 点 编辑 -- 项目设置... -- 找到default Font Asset -- 将生成的文件xxx SDF拖入方框内就完成了。


解决方法2:生成静态字库

静态字库空间占用大不推荐,完全不实用,这里就不介绍了。

有感兴趣可以去找

这有一篇生成静态字库方法,可以了解一下,但是真的不推荐