# 安卓系統如何顯示八萬以上的漢字

**URL:** <https://forum.freemdict.com/t/topic/12192>\
**Category:** 技术交流与词典编修\
**Created:** [2022 年4 月 11 日 13:58 UTC](https://forum.freemdict.com/t/topic/12192 "2022-04-11T13:58:29Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![阿弥陀佛](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/%E9%98%BF/a9adbd/32.png) [@阿弥陀佛](https://forum.freemdict.com/u/%E9%98%BF%E5%BC%A5%E9%99%80%E4%BD%9B)\
**Post date:** [2022 年4 月 11 日 13:58 UTC](https://forum.freemdict.com/t/topic/12192/1 "2022-04-11T13:58:29Z")

</div>

**轉個帖子：可從根本上解決手機上字體顯示問題。不能ROOT的，只能另尋他法了。一般手機系統自帶的字體只能顯示基本區和CJK擴展A區的漢字 ，其他的只能顯示一點點。擴展B以后得另外加載字體才能顯示。**

# 安卓系統如何顯示八萬以上的漢字

首先要強調，本方法需要修改安卓的系統文件，必須先取得ROOT權限。具體方法請根據自己的機型在網上搜索即可。以下的論述，是在默認已經ROOT的基礎上的。

本方法僅在安卓系統5.1.1上測試通過。

以前我是采用替換掉系統默認字體的方法【先將HanaMinA.ttf改名為Roboto-Regular.ttf（安卓系統默認英文字體），將HanaMinB.ttf改名為DroidSansFallback.ttf（安卓系統默認中文字體）】，雖然可顯示的文字比原字體多了很多，但原字體里面有部分符號，可能我們用來替換的字體中没有，就會造成部分符號或文字无法顯示的問題。後來，找到了通過增加字體文件到系統字體文件夾中，并修改字體XML配置文件的方法，效果更好，理論上來説，只要空間足够，就可以擴展出更多字體。

在取得ROOT權限的基礎上，需要用可以訪問系統内部的文件管理器，比如“Root Explorer”之類。

首先，我們將花園明朝體字體文件复制到 /system/fonts 下（可能复制之後需要修改權限爲 -rw-r–r–）。（花園明朝字體可以此處下載：[Unicode超大字符集字體文件](http://bbs.donglishuzhai.net/thread-717-1-1.html)）

然後，我們進入 /etc/ 下面，找到“fallback\_fonts.xml”和“fonts.xml”兩个文件（安卓4.0上無“fonts.xml”，故只需修改“fallback\_fonts.xml”），進行編輯（最好先复制到PC上，編輯完再拷回去）。

在fonts.xml文件中有一對標簽標簽，如果我們想讓新字體顯示次序在系統原有的字體之前，那就直接在後面加上如下代碼：

```auto
<family>
    <font weight="400" style="normal">YourFont.ttf</font>
</family>

```

再在fallback\_fonts.xml文件中，同样找到標簽，直接在後面加上如下代碼：

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

```

注意“YourFont.ttf”要換成你自己的字體文件名（安卓支持TTF和OTF格式）。

如果我們想保留原來的字體風格，那就將以上代碼放在之前，這样我們加進去的字體就會排在加載序列的最後面了。

以上操作完成之後，重啓一次手機即可。

經測試雖然我們可以把很多字體都拷進去，但安卓下面很多軟件都無法像WINDOWS系統一样，讓HTML頁面采用多种不同字體來顯示，而是全部文字都依次序，先用第一个字體顯示，如遇此字體不包含某字符，才會依次采用下面的字體顯示。目前發現唯一能真正支持CSS調用系統字體的，就是Gitden Reader（安卓上最好的EPUB閲讀器）。因此我將方正楷體和花園明朝體都拷進手機，並做了相應配置，這样閲讀我自己做的EPUB，就會有豐富样式了。

爲了測試效果，可以打開網站中專門用來測試的頁面：[測試您能否顯示CJK-B以上文字](http://m.donglishuzhai.net/about/cjk.html)

---

<div class="post-metadata">

**Author:** ![shiruxue](https://forumcdn.freemdict.com/letter_avatar_proxy/v4/letter/s/bbe5ce/32.png) [@shiruxue](https://forum.freemdict.com/u/shiruxue)\
**Post date:** [2022 年4 月 11 日 16:16 UTC](https://forum.freemdict.com/t/topic/12192/2 "2022-04-11T16:16:41Z")

</div>

> [@阿弥陀佛](#):
>
> 安卓系統如何顯示八萬以上的漢字

用图片版 🙃
