【问题标题】:Some unicode characters dont render on some devices某些 unicode 字符无法在某些设备上呈现
【发布时间】:2014-10-27 19:41:28
【问题描述】:

我正在使用文本设置为 10\u02E3 的按钮。这应该显示 10 和 (superscript x) (10⁷) ,但在某些设备上,它不会。我在诺基亚 X 上测试过,它显示。在 Galaxy S2 上,我根本没有得到上标,我只得到了 10。

如何在所有设备上呈现上标和下标?如果它们不存在,有什么方法可以将它们“包含”到我的应用中?

【问题讨论】:

  • 嗯...用myText.setText(HTML.fromHTML("10<sup>x</sup>"));怎么样?
  • 看起来像一个字体问题,但是,Unicode 联盟建议使用不同的方法来创建上标字符。您可以将字体与您的应用程序捆绑在一起吗?
  • 是的,我可以。导出 .ttf 后我需要做什么?

标签: android math unicode fonts


【解决方案1】:

这是由于 android 无法找到支持渲染您尝试生成的字形的字体,通常的过程是检查 /system/etc/system_fonts.xml,如果找不到它会尝试检查 fallback_fonts.xml

您可以查看文件here

很难假设所有设备都具有这些渲染功能,确保您能够显示字形的最佳(严格)方法是使用自定义组件覆盖 Android 的默认 TextView,并按照您想要的方式绘制字形.

【讨论】:

    猜你喜欢
    • 2016-04-27
    • 1970-01-01
    • 2015-11-05
    • 2016-04-15
    • 2023-03-17
    • 1970-01-01
    • 2013-02-08
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多