由於一些特殊需要,需要在個人設備上顯示CJK擴展區漢字,經多方詢問並驗證,找到了一下辦法,暫總結如下。


一、電腦上顯示

在電腦(Windows,Linux,Mac等系統)上可以通過安裝「花園明朝字體」,讓電腦/PC顯示擴展區的漢字、八卦符號、麻將符號等。截止2015年8月,Unicode已經發展到了Unicode8.0,8.0版本收錄了80,388個漢字。

『1』、花園明朝字體:目前收錄97,745字。

『2』、CJK擴展區漢字:CJK統一表意文字/CJK Unified Ideographs/Unihan。C:China/中國,J:Japan/日本,K:Korea/韓國。

『3』、「花園明朝字體」下載地址:Hanazono fonts


二、Android上顯示

截止2016年,目前大多数安卓手机系统应该都是5.0以上的系统了,安卓5.0以上系統字体显示机制基本上是完善了,所以可以直接添加完整的大字符集字体,达到如电脑一样无囗囗「即方框」的效果。

1、獲取Android手機的Root權限或Root Android手機

本人用的是KingRoot,但是並不確保其他手機可以完整地root手機。

2、安裝Root Explorer或者其他類似「我的電腦」的、具有「訪問/system目錄權限」的Android App。「App: Application/應用程序 的縮寫」。

3、打开Root Explorer,将所扩展区字体「HanaMinA、HanaMinB」复制到 /system/fonts 下并修改权限,这里提供两个扩展区字体。

4、通過RootExplore進入/etc目錄

如何讓Android系統顯示CJK擴展區漢字-LMLPHP

5、打開fallback_fonts.xml和fonts.xml,找到以下語句

 <family>
<fileset>
<file lang="zh-Hans">NotoSansHans-Regular.otf</file>
</fileset>
</family>
<family>
<fileset>
<file lang="zh-Hant">NotoSansHant-Regular.otf</file>
</fileset>
</family>

这里记录了系统默认中文字體爲思源黑體(NotoSansHans为簡化漢字,NotoSansHant为傳統漢字),在上面这段语句「NotoSanHans」后添加扩展区字体的配置。格式如下:

 <family>
<fileset>
<file>YourFont.ttf</file>
</fileset>
</family>

注:
Ⅰ.“YourFont.ttf”请换为添加到fonts文件夹扩展区字体「HanaMinA、HanaMinB」的名称。
Ⅱ.其中lang属性是否设置是两可的,大可不必添加。
Ⅲ.Android5.0系统同时支持.otf和.ttf两种字体格式。
Ⅳ.一个family集下可以同时对应四种粗细的字体,分别为Regular(常规)、Bold(粗体)、Italic(斜体)、ItalicBold(粗斜体),但一般对于扩展区字体一个family集下只用对应一个字体即可。

一些说明:
1.在Android5.0中,字体显示的原则是:「在fallback_fonts.xml以及fonts.xml中,越先记录的字体就越先被应用」。也就是说若所记录的字体同时含有同一字符的unicode编码,系统會用最前面记录的字体去顯示對應的漢字。


參考 1:Android系統顯示及輸入漢字超大字符集(包括E區)

參考 2:在Android5.0下安装扩展区字体

05-04 03:41