Android 5.0(API 21)无法呈现自定义字体/字体

时间:2015-04-12 00:22:30

标签: android fonts android-5.0-lollipop typeface

Android 5.0似乎无法呈现自定义字体。 Android 5.0之前不会出现此问题,并且在Android 5.1(API 22)中不会发生此问题。下面是一个使用名为" coaster"的字体的示例,可在此处获取:http://www.dafont.com/coaster.font

API 21: enter image description here

API 22:enter image description here

对此有何解释?

1 个答案:

答案 0 :(得分:6)

Google承认这是Android 5.0中的一个问题,并已在Android 5.1中修复:https://code.google.com/p/android-developer-preview/issues/detail?id=608&thanks=608&ts=1404735239

至于让自定义字体在Android 5.0上运行,我在上面链接的问题页面中有一个推荐的解决方法。关于这个问题,它是第16号。您需要将TTF字体文件转换为TTX,然后将其从TTX转换为TTF。您可以使用此工具执行此操作:https://github.com/behdad/fonttools/

我发现这些指南有助于设置fonttools:

Windows:http://glyphrstudio.com/ttx/

OSX:http://www.fontgeek.net/blog/?p=435

安装完成后,在终端或命令提示符下导航到TTF文件所在的目录并运行命令:

ttx font_file.ttf

where" font_file"是你的字体文件的名称。这将在您当前所在的目录中输出font_file.ttx文件。然后,在这个新的font_file.ttx文件中,只需运行命令:

ttx font_file.ttx

这将输出您的字体的新TTF文件,您可以在Android项目中使用此文件。这些步骤对我有用。