5

我正在使用以下代码行来更改android应用程序中的字体类型:L

Typeface font = Typeface.createFromAsset(this.getAssets(), "fonts/Abumohammed.ttf"); 
textView.setTypeface(font);

我确定它Abumohammed.ttfassets/fonts文件夹中..但字体不会改变并且对 textview 没有任何影响!

4

2 回答 2

4

Android 不支持所有字体文件。当它失败时,它往往会默默地失败,而是显示默认字体。我不知道 Android 不喜欢其中的一些。

我会找到一些绝对有效的字体,例如 this one,并尝试它以确保您的代码的其余部分正常。如果您确实确定字体文件不起作用,AFAIK 您别无选择,只能找到其他字体。

于 2012-08-02T22:21:22.493 回答
2

我对此感到非常恼火,以至于我想我会分享一些我的挖掘结果。我尝试了一些最终使用后备字体的字体文件。要“修复”其中一些文件,我只需要在 FontForge 中打开文件,然后 File->Generate Font 并重新保存为 TTF。这允许一些没有显示正确绘制。

其他人需要将字形从 Microsoft 区域 (U+F030) 移动到 U+0030 范围。

我还没有对“生成字体”的实际作用进行自我教育。但是,既然我知道如何修复它,我至少可以开始弄清楚它为什么不起作用。我怀疑这只能在 AOSP 树中修复。

于 2013-08-28T21:22:42.753 回答