2011-03-15 77 views
3

我想在TextView中顯示兩個Unicode字符,但我得到的廣場:
- ℏ(化普朗克常數/普朗克常數超過兩PI http://www.fileformat.info/info/unicode/char/210f/index.htm
- ℞(處方TAKE 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); 
+0

我試圖在這裏非諷刺:很高興我們終於可以嘮叨Unicode和字體渲染在如此高的水平;-) – 2011-03-15 10:29:59

回答

2

按照character set page對Droid字體不支持U + 210F(ℏ),但他們支持U + 0127(H),那麼你可以考慮使用斜體和U + 0127來代替。

+1

謝謝,這是很好的提示,至少對於「h -酒吧」。我在本文檔中看到,droid字體在Apache許可證上,並且由於我只需要兩個字符,所以我可能通過繪製和添加缺少的標誌來製作自己的字體。 – NiegodziwyBeru 2011-03-16 09:39:04

+0

你可以用*僅*兩個缺失的字符來製作一個自定義字體,並將你的textview「故障轉移」爲所有其他的默認系統字體嗎? – 2012-12-11 02:04:16

+0

鏈接已損壞。 – Patrick 2015-07-06 11:19:49

0

將包含字符的字體添加到/ system/fonts, 修改/system/etc/fallback_fonts.xml,以便android找到字體,然後 重新啓動。 一切都應該現在工作

+0

這可以在無根手機上完成嗎?更重要的是,我不明白這對於應用程序開發人員來說非常實用。我們是否要告訴用戶爲了運行我們的應用程序而對他們的系統進行這些更改? – 2013-02-28 01:44:45