Android:字体渲染问题.ttf> 3MB

时间:2010-09-20 16:27:16

标签: android fonts rendering

我的Android应用程序需要支持各种语言(如中文等)。其中大多数都在Ascender的DroidSansFallback.ttf文件中。

请参阅https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts

在某些Android手机上,有DroidSansFallback.ttf,但丢失了许多字形,例如:在美国发行的NexusOne上。根本没有亚洲字体字形,大多数只有拉丁字母和相关字符。

那该怎么办?

我在“assets”中添加了我自己的DroidSansFallback.ttf副本(我也尝试过其他来源的其他字体)并在运行时使用Typeface Class设置它。

对于一些手机和一些.ttf文件,字体渲染完全搞砸了,意味着字母只是一行中的一些点。

经过深入分析后,问题归结为:

  1. 小.ttf文件似乎始终有效(<200kB)
  2. 大型.ttf文件根本不起作用(&gt; 3MB)
  3. 如果手机安装了完整的DroidSansFallback.ttf(大约3.5MB),即使是1或2MB字体也会搞砸。如果手机只安装了一个“精简版”的DroidSansDallback.ttf(大约1MB),那么3MB字体就可以正常使用。
  4. 这里有什么不对?我错过了什么吗?看起来所有安装/使用的字体一起不能大于somehwat~4MB。

    任何人都遇到过同样的问题?我在NexusOne(2.1),HTC Hero(2.1),SonyEricson Xperia(1.6)和Motorola MileStone(2.0)上尝试过,都表现出同样的行为。

    感谢任何提示。

1 个答案:

答案 0 :(得分:0)

您设备上的内存不足。

您列出的所有设备都很旧。这些堆的大小约为12MB。

如果可能,请考虑使用已预先渲染中文文本的PNG。