介绍

Unity 中如果有部分内容需要使用系统自带字体显示,那么需要手动指定字体名字,否则会出现因为系统自动选择的字体显示出错误字形的文字。

因为不同国家与地区的字体是不同的,同一个字在不同的字体里字形有可能是不一致的,比如中日韩的字体。

已有方案

以前的方法都是使用 Arial 字体,这样英文使用 Arial,而中文因为不在字体中,会自动回落到系统自动分配的字体上。

但是此方案有以下缺点:

  1. 英文字体有时候并不想用 Arial,而是想用系统默认字体。
  2. 系统默认的中文字体无法修改。

改进方案

建议用任意方法创建一个空的字体,然后在字体的 Font Names 属性中设置缺省的字体列表,使用英文半角逗号分隔。

建议设置字体时需要考虑目标平台与版本,如:

iOS 9 及以后版本使用 苹方。 Android 4.1 及以后版本使用 思源黑体,同时注意不同厂商版本字体名称可能不一样。

同时还需要考虑使用简体中文版本。

iOS 9+ 与 Android 4.1+ 可用字体列表如下:

1
PingFang SC, Noto Sans SC, Noto Sans CJK SC