http://wiki.etc.cmu.edu/unity3d/index.php/Unity_font_issue_on_iOS/Android#Edit_the_Font\
内容[ 隐藏 ]
|
的iOS / Android设备不支持动态字体,这意味着您无法调整字体的大小,样式在TextMesh组件或GUIText组件。相反,你需要在字体资产导入设置中设置这些值。如果你需要的变化具有不同的尺寸和颜色,你需要做的字体资产的另一个副本,并设置这些值。一个例子示于右侧。下面是你需要在统一的iOS / Android的使用字体的步骤:
在Unity3D的使用亚洲字符为iOS / Android的需要额外的努力。统一放在一个字体的每一个支持的字符为位图进行渲染,而iOS只有可达2048x2048支持(1024×1024的旧设备)的纹理。它工作正常,为西方语言,但对于亚洲语言,你可以想像有多少字符有多么小的每个字符将是适合在2048 * 2048的位图。从测试团队Locomobio,使用日文字体与级别设置2个普通的字符,字体的最大尺寸可以是44的iPhone 4S。并为iPhone 4,iPhone 3GS或Android设备我们拥有的最大大小是小于20。即使我们确定有大小44,字体纹理大小可以作为巨大的8.0MB,这是不能接受的iOS应用。你要额外的工作来减少设置字符的大小。
如果您使用的是日本和大部分的文字是假名或通用汉字,你是幸运的去与简单的解决方案。
如果您使用的是中国或日本先进的汉字,请直接跳到下一个部分的完整的解决方案。
对于简单的解决方案,有一个免费的选择的日文字符可以用统一资源商店的字体。
来吧下载该字体,并按照上一节的指示,你应该罚款。
如果你达到了这一部分,你需要切出你不需要在你自己的角色,
我们使用一个名为工具fontforge的。下面是招一个完整的步骤。
这部分是Windows用户而已,因为fontforge的需要在类Linux环境中运行。
对于其他用户,你可以找到的fontforge的网站说明安装您的版本。
有关完整说明,请参阅此页,我在这里复制它的步骤为了方便。
首先得到一个字体。我们用M +日文字体。然后打开fontforge的字体,点击你不需要的字符右键,选择清晰。当你完成后,进入文件 - > 生成字体,然后选择TrueType字体来生成一个新的字体。现在,您可以导入新的字体到Unity。(请记住,在设置字符为Unicode的进口设置)。
这是一个巨大的工作量所拿到手搭这些字符。在文件 - > 执行脚本,我们最多可以输入脚本来减轻我们的生活。
一个示例脚本如下,我们选择除“A”(0u61)每一个字符,并清除它们:
选择无() SelectMore(0u61) SelectInvert() 清除()
在下一节中,我们提供了一个简单的程序来读取一个文本文件,并生成选择未包含在该文件中,并清除它们的所有字符的脚本。所以,你只需要把你需要在游戏中以文本文件中使用,并执行脚本出来把该程序的所有字符。执行外部脚本,转到文件 - > 执行脚本 - > 通话。
这个计划是为团队Locomobio一个快速的解决方案。它的目的不是要成为一个完整的工具。请仔细阅读该代码,并确保您了解是怎么回事,和自定义版本。基本上你只需要去\ UnicodeFontHelper \ UnicodeFontHelper \ BIN \调试,把你的人物在Characters.txt,运行程序,它会输出FontCut.pe作为fontforge的脚本。
Unicode的字体助手项目