【问题标题】:Missing font character like reduced Planck constant缺少字体字符,如减少的普朗克常数
【发布时间】:2011-07-15 16:26:12
【问题描述】:

我想在 TextView 中显示两个 Unicode 字符,但我得到了正方形:
- ℏ(减少的普朗克常数/PLANCK 常数超过两个 PI http://www.fileformat.info/info/unicode/char/210f/index.htm
- ℞(处方服用http://www.fileformat.info/info/unicode/char/211e/index.htm

我知道默认 Android 字体并不支持所有 Unicode 字符,但减少的“h-bar”是拉丁字符,它是基本的物理常数之一。任何人都可以确认我做的一切正确吗?如果,如何解决这个问题(第三方字体是唯一的解决方案)?

view = new TextView(this);
int[] codePoint = { 0x210f, 0x211e };
String hhh = new String(codePoint, 0, codePoint.length);
view.setText(hhh);

【问题讨论】:

  • 我尽量不讽刺:很高兴我们终于可以在如此高的水平上唠叨 Unicode 和字体渲染 ;-)

标签: android unicode fonts physics


【解决方案1】:

根据character set page,Droid 字体不支持 U+210F (ℏ),但它们支持 U+0127 (ħ),因此您可以考虑使用斜体字体和 U+0127。

【讨论】:

  • 谢谢,这是一个很好的提示,至少对于“h-bar”而言。我在这个文档中看到 droid 字体在 Apache 许可证上,因为我只需要两个字符,我可能通过绘制和添加缺失的符号来制作自己的字体。
  • 您能否使用两个缺失字符制作自定义字体,并将您的文本视图“故障转移”为其他所有内容的默认系统字体?
【解决方案2】:

将包含字符的字体添加到 /system/fonts, 修改 /system/etc/fallback_fonts.xml 以便 android 找到字体然后 重启。 现在应该一切正常

【讨论】:

  • 这可以在无根手机上完成吗?更重要的是,我看不出这对于应用程序开发人员来说是多么实用。我们是否要告诉我们的用户对他们的系统进行这些更改只是为了运行我们的应用程序?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-07
  • 1970-01-01
  • 1970-01-01
  • 2017-02-14
  • 2014-11-15
  • 2019-04-15
  • 2010-09-24
相关资源
最近更新 更多