WFG: 漢字使用環境的建置 ㈠ —— 顯示篇

## 2018年2月8日 星期四

### 漢字使用環境的建置 ㈠ —— 顯示篇

### 楔子

隨著歲月一年年的過去，我也一步步地愈來愈接近「從職場上退休」的這檔事。這幾年我一直在想，等真正退休後我該做些什麼呢？該怎樣過屬於自己的日子呢？雖然很多想法都不是很確定、有點點模模糊糊，但其中有一件事我倒是很肯定，那就是「閱讀」—— 閱讀我自己有興趣的書。
為著這個想法，這幾年我一直在試圖布置屬於自己的數位化閱讀環境。收集整理資料、設計製作工具，整個人幾乎是處在「閉關」的狀態，不再分心他務，連部落格也沒空搭理耕耘。時至今日也算累積了一些些心得，想藉著自己的部落格再記錄下來，於是又計畫開始寫一系列的心得筆記。中華電信的隨意窩充斥著廣告，不時干擾著我想安安靜靜閱讀記錄的情緒，於是放棄繼續，選擇可以沒有廣告、乾乾淨淨的 Blogger。把書呆筆記的幾篇相關舊文搬過來，做為重新出發的開始，然後便再繼續寫下去。

### 漢字顯示

現代人的生活，大概都離不開電腦，而身為華人的我們，使用電腦時自然離不開漢字。現在的電腦不是都能顯示中文嗎？這還有什麼值得探討的呢？關鍵就在於咱們的老祖宗實在太喜歡造字，不停地創造新的漢字。當然有時是寫了別字、訛字，但這些別字、訛字繼續流傳下來，又成了今天漢字的一部分。根據 Unicode 定義的電腦漢字，從常用的基本字區，一路 A、B、C、D 區擴充下來，現在已經來到了 F 區(眼看著 G 區也慢慢逼近)，這些字區目前共定義了 88884 個漢字，而有許多漢字還尚未納入其中。
先不談尚未編碼的漢字，光這些已經被定義的近九萬個漢字，您的電腦能完整顯示嗎？答案是：正常情況下 —— 不行。
個人電腦的作業系統一直到了 Windows 8 開始，才支援到 D 區的漢字顯示，Windows 10 到目前為止也還停留在 D 區。換句話說，E、F 兩區的漢字，在正常的情況下您的電腦是無法顯示的。是作業系統不允許顯示這兩區的漢字嗎？這倒也不是，主要是沒有人願意造這些字區的字型，所以想要顯示也沒得顯示【註①】。

### 自造字型

為了個人的閱讀需要，我經常整理一些字典、辭典，接觸一些古代典籍。這些資料之中常會含有一些生僻字，放在現行的電腦上，就出現了坑坑巴巴的一個個方框，俗稱「豆腐」字。雖然 Google 出了個暱稱為「沒有豆腐」的開源字型 —— 「思源黑體」、「思源明體」，但實際上「豆腐」還是很多，缺字缺很大。在遍尋不著解決方案的情況下，我只好自己想辦法，開始動手自己製作字型。
我以當時能找到收字最多的字型 —— Windows 8 的「細明體&新細明體」為基底，開始收集其他來源的字型，一點一滴地疊加進來，慢慢把缺掉的字區補齊。字形的來源很雜，包括 BabelStone Fonts、全字庫正宋體、IPA 明朝體、花園明朝體以及一些網友製作的字形，再有缺的就自己造字補上。就這樣我做出了兩套給自己使用的「完全漢字」字型，包含了直到 F 區的所有 CJK 漢字以及絕大部分的 Unicode 字符。為了避免跟作業系統的字型相衝突，我將它們命名為「全細明體」和「全新細明體」【註②】，這樣安裝進作業系統後，就可以直接使用了。
我用這兩套字型做為顯示，整理文檔、製作辭典，真是非常愉快，再也不用看「豆腐」字的臉色了。

### 猶有不足

可惜好景不常，很快地我又發現，光是這些 Unicode 定義的漢字還是不夠，像《康熙字典》、《漢語大字典》，甚至教育部的《重編國語辭典》以及我製作的「部件檢索」等等都還是需要一些 Unicode 沒有定義的字符。於是我又醞釀擴充，想把這些缺字補起來。這時剛好結識了對岸的網友 —— 紫雪藍海兄，他整理了一套私造字型，包含了《漢語大字典》的所有字頭缺字，但苦無檢字方法。於是我、紫兄和瑾昀三人一起合作，把紫兄提供的字型、以及「部件檢索」用到的部件字型(源自於中研院的漢字構形資料庫)全部重新整理，去蕪存菁，重訂編碼，另外製作了一套補充字型。結合了「部件檢索」的檢字功能，使得這些 Unicode 尚未編碼的漢字得以顯示、檢索，就像正常的已編碼漢字一般。至此我的漢字顯示環境算是「大勢底定」，可以實際上線運用了。
特別要提醒注意的是，補充字區的訂定只是一種暫時性的權宜之計，讓尚無 Unicode 官方標準之前有個可以使用的臨時管道。若某些補充字日後被官方正式收錄，那它們將從補充字中被剔除，移入正式字區。這些空下的碼位有可能被回收利用，再定義為其他新的補充字。因此每次新的官方標準發布後，都應該立即檢查一次補充字，將已正式編碼的字進行遷碼處理。

### 公開分享

經過兩年多的累積，我們所整理收集的補充字也來到八千多字。這些 Unicode 尚未編碼的漢字，來源多半是各類字典、辭典或是一些古籍的缺字，對於這些資料的數位化呈現、檢索應該有一定程度的幫助。
因此我想，這樣的一套「完全漢字」字型，應該把它公開分享出去，讓從事學術研究或跟我一樣喜愛閱讀的人可以進一步地加以利用，才能發揮它的最大價值。但第一個遇到的問題就是，我的基底字型用的是「細明體&新細明體」，這是個作業系統所附的商用字型，據此修改的字型若公開發布，恐有侵權的問題。於是我改用全字庫的正宋體做為基底字型(它的最新版本已經支援到部分 E 區字形)，重新做了一套字型，為與原版字型做區別，我將它命名為「全宋體」，希望能幫助大家解決漢字顯示的問題。
下載連結：全宋體.zip

### 安裝說明

壓縮檔裡共有 8 個檔案，說明如下：

- FSung-1.ttf —— 第 1 字面的字符，主要為各式符號。
- FSung-2.ttf —— 第 2 字面的字符，擴展 B、C、D、E、F 區的漢字都在此。
- FSung-3.ttf —— 第 3 字面的字符，預留給擴展 G 區的漢字使用。
- FSung-F.ttf —— 第 15 字面的字符，Unicode 尚未編碼的補充漢字在此。
- FSung-m.ttf —— 第 0 字面的字符，基本漢字區、擴展 A 區的漢字在此，外文字符為等寬字。
- FSung-p.ttf —— 第 0 字面的字符，基本漢字區、擴展 A 區的漢字在此，外文字符為比例字。
- SurrogateFallback.reg —— 字型的串接註冊機碼，讓多個小字型能串接成一個大字型使用。
- 漢字簡易測試.txt —— 漢字顯示的簡易測試檔。

1. 直接用作業系統的「記事本」打開 "漢字簡易測試.txt"，應該可以看到充滿「豆腐」字的結果。
   (此為在 Windows 7 下的結果)
2. 將 6 個 ttf 檔案按照正常的字型安裝方式進行安裝，在控制台裡應該可以看到 6 個新增的「全宋體」字型。
3. 雙擊 "SurrogateFallback.reg" 進行字型串接的註冊設定，請選擇信任、匯入機碼。
4. 選擇「記事本」功能表上的「格式\字型...」，將字型改為「全宋體(等寬)」。
5. 如果看到「豆腐」字都不見了，恭喜你，代表安裝成功了。

安裝成功後，建議將您慣用的純文字編輯軟體(例如 UltraEdit、EmEditor 等等)的顯示字型改為「全宋體(等寬)」，這樣就可以享受沒有「豆腐」字的編輯環境了。今後我分享的「部件檢索」、各式離線辭典，都會陸續開始支援「全宋體」字型的顯示。

### 後記

「全宋體」字型雖然某種程度上解決了漢字的顯示問題，但它仍不完美，各區字形的風格仍不算很一致，與專業的字形設計產品相比，缺點滿滿。但我個人的時間、能力有限，只能先求有、先求全，顧不上風格方面的美學問題，我盡力了，呵呵！
此字型的完成，是我和幾位朋友兩年多來的點滴累積，字形資料的來源，源自於全字庫正宋體、BabelStone Fonts、IPA 明朝體、花園明朝體以及一些自行製作的字形，這些都是公開授權的字形資料，我加以整合、修改再運用，應該是可以符合相關的授權規定，也在此感謝這些原字型製作單位的無私奉獻，並致上崇高的敬意。現在將此成果無條件分享出來，樂見學術研究、教育工作、個人閱讀這方面的運用，但請勿用做任何形式的商業營利行為。

【註①】其實有一套開源的字型 —— 「花園明朝體」包含了所有的漢字。但對我而言它有幾個缺點：一是它是日本字型，字形的樣式是按照日本的標準製作，有些字跟中港台的字形略有差異；二是為了快速推出包含 Unicode 新字的字形，據說它的新字是採用程式計算產生的方式生成字形，顯得粗糙生硬而不美觀。再則「花園明朝體」包含的字符很多，超過了單一字型容許的上限，必須拆成兩個字型檔 HanaMinA 與 HanaMinB。在「記事本」一類的純文字編輯軟體裡，顯示字型設成了 HanaMinA 就顯示不了 HanaMinB 裡的字；設成了 HanaMinB 又顯示不了 HanaMinA 裡的字。官方似乎沒有提供適當的設定方式，讓使用者可以正常的顯示所有字形。
【註②】原生的「細明體&新細明體」是採用 ttc 的方式將多個 ttf 字型封裝在一起，彼此共用的字型資料只存一份，以最大化縮小字型的體積。但我使用的工具無法直接處理 ttc 的集合式資料，只能解包拆開，故分成兩個字型。「全細明體」對應於「細明體」，外文符號是等寬字形，排列起來整整齊齊，適合用在純文字編輯的場合裡；「全新細明體」則對應於「新細明體」，外文符號是比例字形，排列起來美觀順眼，適合用在中英文混合的排版呈現上。

#### 7 則留言:

1. 企鵝F 2018年2月9日 下午6:15

   看到遷移啟示，也咚咚咚的跑過來了，恰好見到這個好東西，真是心喜。
   話說分享方式的話，可以使用創用CC的非商業性標章，或看需求加上標示姓名等等。比較方便喔。
   http://creativecommons.tw/explore （台灣創用CC計畫）

   回覆 刪除
   回覆
   1. WFG 2018年2月9日 下午10:54

      感謝您的建議，我對這些授權條款一直沒有耐心去仔細研究，等有空時再來研究一下。

      刪除
   2. 孫守真 2018年2月10日 下午1:06

      我也沒有耐心呢 哈哈 妙哉妙契
      這些都是人道的小智間間，不甘願只範限在人界眼光與格局的，自然難免感到窒礙難通囉 感恩感恩 南無阿彌陀佛
      生前死抓不放
      死後還有期限
      放與不放何預
      只有人間世界
      感恩感恩 南無阿彌陀佛

      刪除
   回覆
2. 孫守真 2018年2月10日 上午10:22

   讚歎讚歎 雖暫無暇細閱，但嗅得出一股臭味相投的氣息。退休後可做的事太多了。末學只恨自己還得忙著打滾呢。不過也已經邊忙著盡點心力了。如為中國哲學書電子化計劃OCR文本校讀，圖文對照，便是利己利人利後人的大事。而先生菩薩長於程序，想必中文顯示之技術必能引領末學的顒顒望著。有緣再會，不知又是何種情境了。資訊不斷進步，對中文顯示或著作、閱讀、傳承，都有積極面，亦如水可載覆。上善若水，亦由衷爾。隨筆誌感，見諒見原。感恩感恩 南無阿彌陀佛

   回覆 刪除
   回覆
   1. WFG 2018年2月11日 上午11:41

      久聞先生大名，曾聽引得市阿良兄提起，二位也是舊識。
      先生好嗅覺，我等當屬臭味相投之一群，呵呵！先生之行早已佩服，有緣的話當向先生多多請教，各為傳統文化、漢學略盡綿薄。

      刪除
   回覆
3. suns99 2018年2月10日 上午11:00

   超馬阿兄

   回覆 刪除
   回覆
   1. WFG 2018年2月11日 上午11:47

      感謝 suns99 兄，補充漢字的整理沒您的倉頡碼大力幫忙、去重，也不能做到現今的程度。相助之情，由衷感激！

      刪除
   回覆

新增留言
載入更多…

較新的文章 較舊的文章 首頁
訂閱： 張貼留言 (Atom)