如何对不使用';似乎没有加载到Android上

如何对不使用';似乎没有加载到Android上,android,Android,我有一个自定义字体,似乎不会加载到Android上。 具体来说,我从活动中以正常方式加载它,然后在TextView上设置它: AssetManager assetManager = getAssets(); Typeface tf = Typeface.createFromAsset(assetManager, "euro.ttf"); textView.setTypeface(tf); 我得到的与自定义字体完全不匹配,而且似乎没有任何错误(我已经通过logcat查看过了,没有注意

我有一个自定义字体,似乎不会加载到Android上。 具体来说,我从活动中以正常方式加载它,然后在TextView上设置它:

AssetManager assetManager = getAssets();
Typeface tf = Typeface.createFromAsset(assetManager, "euro.ttf");      
textView.setTypeface(tf);
我得到的与自定义字体完全不匹配,而且似乎没有任何错误(我已经通过logcat查看过了,没有注意到任何错误)

我读过一篇文章,说安卓系统在某些字体上有问题,并悄悄地切换到Droid SAN

请注意,Android似乎并没有这样做 像所有TrueType字体一样。我花了很多钱 花了很多时间想弄清楚我 这个样本有问题, 在切换到其他字体之前, 一切都“刚刚开始”。什么时候 Android更不喜欢自定义字体 而不是提出一个例外 替代Droid SAN(“SAN”) 安静地所以,如果你尝试使用 不同的字体,看起来不一样 如果正在工作,则可能是中的字体 这个问题与Android不兼容, 不管什么原因


所以我的问题是,有人知道我如何进一步解决这个问题吗。或者“无论什么原因”可能是什么?我尝试了字体文件的不同名称,甚至是它的不同副本。字体文件在我的桌面上似乎工作正常(我可以用OSX打开它,看到字符,它们看起来是正确的)。另外,为另一种字体使用不同的ttf文件似乎确实有效(因此它似乎与设置/代码无关,而必须与文件本身有关)

对不起,自从我差不多三年前写了那篇文章(喘息!)以来,我再也没有遇到过更多关于这方面的事情了

如果你有一个字体编辑器,你可以考虑打开字体文件并重新保存它,看看它是否清除了里面可能存在的问题。 或者,如果有一些实用程序基本上执行“字形差异”(glyph diff)——报告哪些字形是字体a而不是字体B——您可能会看到正在尝试的字体中是否缺少一些有趣的内容。从我所看到的,丢失的字形通常只会导致一个垃圾字符(例如,空方块),但可能有一些特殊的Android依赖于您想要的字体没有

众所周知,如果你能访问字体编辑器,你可以试着把失败的字体文件中的字形复制到一个新的字体文件中,看看你是否得到了一些有用的东西

::在此处插入字体授权问题的强制性注意事项


我似乎还记得,早在08年,我花了几次努力才找到一种有效的免费字体

关于下一步的好建议,谢谢。这很奇怪,我可以将遇到问题的字体换成另一种字体,效果很好,所以我会试试编辑器之类的工具,看看我能想出什么。@Charlie Collins:如果你能想出一个解决方案,就把它写在某个地方吧!:-)