我的Android应用程序需要支持各种语言(如中文等)。他们大多数都在Ascender的DroidSansFallback.ttf文件中。Android:字体渲染问题.ttf> 3MB
见https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts
在某些Android手机,有DroidSansFallback.ttf,但有许多字形缺失,例如在美国分销的NexusOne上。根本没有亚洲字体字形,大部分只有拉丁字母和相关字符。
那该怎么办?
我向DroidSansFallback.ttf(我也尝试了其他来源的其他字体)的“资产”中添加了它,并在运行时使用Typeface Class对其进行了设置。
随着一些手机和一些.ttf文件,字体渲染完全搞砸了,意味着字母只是一行中的一些点。
经过深入分析,问题归结为:
- 小的.ttf文件似乎总是工作(< 200kB的)
- 大的.ttf文件不会在所有的(> 3MB)工作
- 如果手机安装了完整的DroidSansFallback.ttf(大约3.5MB),即使是1或2MB的字体也会被拧紧。如果手机只安装了一个“Lite”版本的DroidSansDallback.ttf(大约1MB),则3MB字体可以正常工作。
这里有什么问题吗?我错过了什么吗?它看起来像所有安装/使用的字体在一起不能大于somehwat〜4MB。
任何人都遇到过同样的问题?我在NexusOne(2.1),HTC Hero(2.1),SonyEricson Xperia(1.6)和Motorola MileStone(2.0)上试用过它们,都显示出相同的行为。
感谢您的任何提示。
它确实看起来像一个bug。 – 2011-04-01 08:08:15