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

Dic*_*cas 3 fonts android typeface android-5.0-lollipop

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

API 21: 在此输入图像描述

API 22: 在此输入图像描述

对此有何解释?

Dic*_*cas 6

谷歌已经承认这是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
Run Code Online (Sandbox Code Playgroud)

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

ttx font_file.ttx
Run Code Online (Sandbox Code Playgroud)

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