缺失字体字符,例如缩小的普朗克常数

3
我想在TextView中显示两个Unicode字符,但是我得到了方块:
- ℏ (缩写普朗克常数/普朗克常数除以二π http://www.fileformat.info/info/unicode/char/210f/index.htm)
- ℞ (处方药带 http://www.fileformat.info/info/unicode/char/211e/index.htm)

我知道并非所有Unicode字符都被默认的Android字体支持,但“h-bar”被视为拉丁字符之一,是基本物理常数之一。有人可以确认我做得对吗?如果是这样,如何解决这个问题(第三方字体是唯一的解决方案)?
view = new TextView(this);
int[] codePoint = { 0x210f, 0x211e };
String hhh = new String(codePoint, 0, codePoint.length);
view.setText(hhh);

我尝试不使用讽刺的语气:我们终于可以在如此高的水平上抱怨Unicode和字体渲染了,这太棒了;-) - Joachim Sauer
2个回答

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

1
谢谢,这是个好建议,至少对于"h-bar"来说是这样。我在这份文档中看到Droid字体采用Apache许可证,因为我只需要两个字符,所以我可能会通过绘制和添加缺失的符号来制作自己的字体。 - NiegodziwyBeru
你能否只制作两个缺失字符的自定义字体,并让你的TextView在其他所有情况下“失败转换”为默认系统字体? - Edward Falk

0

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


这个能在未经root的手机上完成吗?更重要的是,我不认为这对于应用程序开发者来说非常实用。难道我们要告诉用户修改他们的系统才能运行我们的应用程序吗? - Edward Falk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接