2014-09-03 125 views
3

我正在使用一個按鈕,並將文本設置爲10 \ u02E3。這應該顯示10和(上標x)(10⁷),但在某些設備上,它不會。這表明,我在諾基亞X上測試了這一點。在星系S2上,我根本沒有得到上標,我只得到了10.某些unicode字符不會在某些設備上呈現

我該怎麼做才能在所有設備上呈現上標和下標?如果他們不在場,是否有任何方法將它們「包含」在我的應用程序中?

+2

嗯......那麼使用'myText.setText(HTML.fromHTML(「10 x」));'? – 2014-09-03 11:33:13

+2

看起來像一個字體問題,但是,Unicode Consortium建議使用不同的方式創建上標字符。你可以用你的應用程序捆綁一個字體嗎? – 2014-09-03 18:43:36

+0

是的,我可以。導出.ttf後我必須做些什麼? – 2014-09-03 18:50:58

回答

1

這是由於到Android無法找到一個支持的字形,你試圖產生,通常的過程是檢查/system/etc/system_fonts.xml,如果沒有找到它試圖在fallback_fonts.xml

檢查渲染字體您可以檢查文件here

假設所有設備都具有這些渲染功能是很困難的,確保您能夠顯示字形的最佳方法是使用自定義組件重寫Android的默認TextView,並且以您想要的方式繪製字形。