Unity TextMeshPro 添加中文字体遇见的问题以及解决方案

2023-08-24,,

前言

按标准官方教程为 Unity TextMeshPro 添加中文字体时出现了各种奇奇怪怪的问题,于是有了这篇随笔。

中文字体解决方案

以下步骤适用于 TextMeshPro 3.0.6。

字符数量较少

    下载好想用的字体,例如汉仪黑体-40s,或者在系统里找ttf/otf/ttc等后缀名的字体文件;
    将字体拖到 Unity Project 某个文件夹下;
    右键字体文件,Create->TextMeshPro->Font Asset,就会根据字符需求动态生成可用字体库。

字符数量较多

    下载好需要的字体文件并拖到 Unity 中;字体文件名最好是英文!字体文件名最好是英文!字体文件名最好是英文!
    下载常用字符表,例如3500 常用汉字 标点 字母,同样拖到 Unity Project 某个文件夹下;
    打开字体创建器,Windows->TextMeshPro->Font Asset Creator

    字体文件拖到 Source Font File,

    Packing Method 选择 Optimum,

    Atlas Resolution 选择必须大于 512 * 512,

    Character Set 选择 Character from File,

    Character File 选择字符表,

    点击Generate Font Atlas,

    慢慢等,然后 Save As,就能生成可用字体库。

搞定

遇见的问题

Q:Font Asset Creator - Error Code [Invalid_File_Path] has occurred trying to load the [xxx] font file. This typically results from the use of an incompatible or corrupted font file.

A: 将字体文件名改为英文

Q:Character excluded from packing

A: Atlas Resolution改大点

Unity TextMeshPro 添加中文字体遇见的问题以及解决方案的相关教程结束。

《Unity TextMeshPro 添加中文字体遇见的问题以及解决方案.doc》

下载本文的Word格式文档,以方便收藏与打印。