iPhone 發來的顏文字在Android 手機上顯示為方塊,如何解決?

文章推薦指數: 80 %
投票人數:10人

問題問的是顏文字,和emoji 沒有關係的。

這種問題最有可能的原因就是你的手機修改過字體,使用了字符集較小的字體,不包含那些特殊符號(顏文字使用 ... 標籤:AndroidiOSiOSvsAndroid字元表情 iPhone發來的顏文字在Android手機上顯示為方塊,如何解決? 12-26 如圖所示,這應該是Android用戶長期以來的一大痛苦了吧…… (請不要用「換iPhone」當解決方法) 問題問的是顏文字,和emoji沒有關係的。

這種問題最有可能的原因就是你的手機修改過字體,使用了字符集較小的字體,不包含那些特殊符號(顏文字使用到了很多特殊符號)。

之前在G+上某用戶發了一個截圖,說他的手機連「屌」字都顯示成方框了,大家一看就指出系統字體被修改過(恐怖的是用戶自己都不知道)。

Android系統包含很多字體,一般對應了各種語言,系統顯示文字的時候,會對照系統內的字體fallback(回退)順序,如果某個字體不包含某個字元,就到序列中的下一個字體中去找,以此類推,如果按順序找遍所有字體,都無法顯示某個字元,就會顯示成方塊。

在這個fallback序列中排最後的就是DroidSansFallback.ttf,它包含了漢字和各種特殊符號,總共五萬多個字元。

而某些定製ROM或者字體修改軟體,為了修改系統字體,會用一些字符集比較小的常見中文字體(比如華康少女體),替換掉原來的DroidSansFallback.ttf。

這樣有些本來能正常顯示的特殊符號就顯示成方塊了。

解決的方法,就是到一個沒有修改過的系統中拷一個原版的DroidSansFallback.ttf,替換掉現在的字體,並設置相應許可權(用一些改字體軟體也可以做到。

)參考: 字體話題中說的fallback具體是什麼意思? 怎樣科學地給Android(4.x)換字體-王成的專欄-知乎專欄 ***既然牽扯到了emoji那就多說幾句。

理論上Android從4.1開始就是原生支持emoji的(AndroidEmoji.ttf),4.4之前是黑白的機器人,4.4開始黃色的大拇指(Google+風格),但是無論那種都比蘋果風格的可愛一萬倍有木有!!!所以我覺得很多應用內嵌了蘋果風格的emoji,直接無視了Android自帶的更可愛的emoji,是很反人類的!!! 盡量使用跨平台的顏文字. 你這不是有圖了嘛,拿來對照著看不就好了。

花費數小時,各種搜索、碰壁與試錯……終於成功。

試錯:1)試了目前排名第一@王成的方法,替換 DroidSansFallback.ttf回到原生Android版本,雖然解決了某些符號變方塊的問題,但在我的華為EMUI3.1系統上,又出現新的「中」字變方塊的副作用;2)試了@倪焱石的方法,安裝Google鍵盤,再啟用「EmojiForEnglishWords」,但我安裝了,Google鍵盤並沒有這一項供啟用。

3)試了迷途知返來自應用iFont愛字體的評論的方法,替換漢儀旗黑,但事實證明,這位網友也不懂,以訛傳訛。

最終,親自試驗成功,且尚未見到副作用的方法,敘述如下:1)先把Symbola.ttf、unifont.ttf、Quivira.otf這三個包含特殊符號最全的字體,複製進/system/fonts/下。

字體文件下載地址:baidu.com的頁面2)修改/system/etc/下的fonts.xml和fallback_fonts.xml兩個配置文件(如果Android5.0以下,則只需修改fallback_fonts.xml即可)。

搜索DroidSansFallback.ttf,在對應DroidSansFallback.ttf段落緊接著的下面,模仿原文件的格式,添加上面三個符號字體的對應段落,使得符號字體在字體fallback序列中。

(如果你看不懂這一步怎麼改,請先閱讀如何在AndroidLollipop(Android5.0)下更換字體?-王成的回答,裡面詳細說了這兩個xml的格式)3)重啟手機,大功告成!這時打開該頁面迷途知返來自應用iFont愛字體的評論測試,所有符號應該全部正常顯示。

總結:該方法僅添加了符號字體到Fallback最末端,理論上無副作用,不干擾原先的中英文字體,而且能切實解決顏文字/emoji/特殊符號(隨便怎麼稱呼,本質都是Unicode)變方塊的問題。

第三那項…你的手機連一二三也顯示不了嗎…快換字體吧… 我拿到安卓機第一件事就是把字體更換成微軟雅黑,所以沒發現還有這個問題。

我不僅自己在用,我還推薦給所有我認識的人用。

經我手裡刷機的,我也全給換成了微軟雅黑。

我相信,我用完以後是這個樣子,你們用完以後也是這個樣子! 其實就是個字體文件問題。

你手機上的默認字體不支持emoji。

下載個支持emoji的字體換到原生的就可以了。

比如用這個DroidSansFallback.ttf換掉原來的/system/fonts下面的字體文件就行(需要root) 簡單點的,如果是原生的安卓4.1以上版本,可以通過設置-&>語言和輸入法-&>Google鍵盤(設置)-&>附加詞典-&>EmojiForEnglishWords。

安裝了就可以看了。

不過顯示的效果不完全和iPhone上一樣。

安卓上大部分都是胖胖的。

其他版本,可以想辦法裝emoji字體或者鍵盤,比如下面這些(可能需要Root)EmojiKeyboardHandcentEmojiPluginEmojiForAndroidInstallROOTEmojiFontUpdater(root) 推薦閱讀: ※為什麼用戶很長時間不更新app?※小米公司為什麼不按照GPL協議要求公開手機的內核?※Andriod遊戲中成功的有哪些?※開發者到底需不需要重視Android平板?怎樣做才能避免錯過市場趨勢,又不會過早地投入資源?※Android市場目前最大的尷尬不是軟體數量,而是質量及安全,Google如何才能扭轉這一被蘋果鄙視的困局呢? TAG:iOS|Android|iOSvsAndroid|字元表情| 一點新知 GetIt01



請為這篇文章評分?