2026年1月16日 星期五

20260116「Seal缺字」最新版本發布暨新版「古文字缺字資料庫」公開

 20260116「Seal缺字」最新版本發布暨新版「古文字缺字資料庫」公開




知乎:https://zhuanlan.zhihu.com/p/1995541880075727770


〈古文字缺字資料庫〉網址:https://www.mebag.com/index/quezi/list-new.asp

㊣下載Seal

https://www.mebag.com/index/seal_download.asp


【缺字的製作】

昨天下午一邊請「Gemini」調整新版的「古文字缺字資料庫」,也想看看有沒有其他製作製作字型的方式,寫了很多程式來下載二萬多個「SVG」,最終,下載花了一點時間,結果還不如原先的老方法,直接在「glyphwiki」彙整再下載字型。


※以下內容必須寫起來,不然以後會忘記…

 2026以前的作法(依照部首,切斷分割成五段)s215不製作字型

https://glyphwiki.org/wiki/Group:ebag_seal-1

https://glyphwiki.org/wiki/Group:ebag_seal-2

https://glyphwiki.org/wiki/Group:ebag_seal-3

https://glyphwiki.org/wiki/Group:ebag_seal-4

https://glyphwiki.org/wiki/Group:ebag_seal-5


上面貼缺字編號,很簡單,不過要生成字型,必須每個字要給它一個「字型位置」,如(U+A0000),什麼是「U+A0000」?文章最後有解釋。AI寫一個小程式,用一個原始的總表(瑾昀兄製作),自動對應出字型的位置。



「引得市 - 缺字對照查詢器 (三欄版)」網頁版如:https://www.mebag.com/index/quezi/lookup_tool.html


然後再把這五個位置的字集中在一個地方,生成字型

https://glyphwiki.org/wiki/Group:ebag_seal

缺字區間 s001 ~ s039

缺字區間 s040 ~ s071

缺字區間 s072 ~ s112

缺字區間 s113 ~ s149

缺字區間 s150 ~ s214


下載後的檔案,字型如果和宋體、細明體排列,會有高低差問題,所以必須再微調,以前要開軟體,有點麻煩,昨天請「Gemini」寫出一個程式,如:「python FontAdjusterUI_v2.py」和個執行檔,讀入字型檔,再匯出二種版本,程式其實去抓「FontForge」來執行的,所以先前要下載安裝一下「FontForge」


真的非常的快又方便!



這麼多年來,非常感謝上地宏一老師所建立的「glyphwiki」,如果沒有這網站,缺字字型的製作,電腦、手機顯示二十多萬個漢字(圖形字)都很難實現。


AI有時會耍笨,變呆,如果來的是聰明的很快就可以再修好或建立新的資料庫,例如前二天完成的:「20260114說文·派對咖·許慎 ·解字――2026《說文》字頭索引資料庫」。



【古文字缺字資料庫改版製作】

自從去年12月中旬開始使用AI寫程式做資料庫,「缺字資」就是最想先處理的,程式讓古文字研究者可以快速查詢缺字,把結果連結到三百多種文獻當中。一個月以來修修改改,一直很想快點上線,可是改到一個程度,又覺得還有需要調整的。


陳某的艦隊(六百架戰機、各式攻擊支援補給戰鑑群)

https://ebag2007.blogspot.com/2025/12/blog-post_27.html


保有原先本來的功能,增加了「難字輸入」、「二次檢索」、「多欄位檢索」、「文字大小調整」,電腦、手機使用都能有適合的操作界面,加強使用者體驗,有時間再錄影拍影片或寫單獨的介紹文章。


既然功能都有了,再來就是確認網站視覺風格,去年年底,自己把「引得市」的各種資料庫與功能做了艦隊的比喻,而「缺字資」就是「補給鑑」的角色。為符合「角色設定」所以網頁以白灰的低調設計。


「缺字庫」和主站三百多種文獻索引是相互連動的,所以如果要使用「缺字」必須訂閱「引得市」,這次提供的字型包的「seal_20260116.xlsx」當中沒有「構字式」,目的希望大家盡量都在線上查詢使用,上面才會是最新的資料。


資料庫如果有使用、查詢、操作的建議看法…

歡迎留言或來信告訴筆者。








㊣下載Seal

https://www.mebag.com/index/seal_download.asp




★注意事項★

1. 「Seal_Ming.ttf」、「Seal_Song.ttf」font-face均爲seal,二者分別適配了「細明體」、「宋体」的高度,除此之外完全一致。用戶只須安裝其中一種即可。

2. 若之前曾執行過SurrogateFallback.reg,後就不必再執行一次。

3. 若之前曾安裝過seal字型,請確保移除舊版字型檔後再安裝該版字型檔。若無法移除舊版請重新開機或者進入安全模式後刪除,以解除程式對字型檔的佔用。


★內容說明★

資料夾中包含:一個說明檔,一個reg檔,二個字型檔。

seal_20260116.xlsx:該版字型檔的清單,列有缺字編號、Seal字、Unicode編碼。

Seal_Ming.ttf:適配「細明體」字型高度的Seal字型。

Seal_Song.ttf:適配「宋体」字型高度的Seal字型。

SurrogateFallback.reg:機碼,進行字型串接的註冊設定。務必執行一次,這樣才能在其他文書程式中顯示缺字字型。


★那個 REG 檔是給誰用的?★

那個 SurrogateFallback 的 REG 檔,主要是給 「老舊軟體」 用的。 例如:

記事本 (舊版 Notepad)

舊版的 Access 資料庫介面

非常古老的學術字典軟體 (Win 98/XP 時代寫的)

這些老軟體不懂得自動搜尋字型,如果系統沒有透過 Registry 明確指派「替身」,它們遇到古文字就會直接放棄,顯示成「方框 (□)」。


古缺字使用說明20260116.txt:資料夾內的檔案介紹與說明,以及缺字字型的安裝等注意事項。



【延伸閱讀】

 20210424「Seal缺字字型製作生成」的新方法暨最新版本釋出

知乎:https://zhuanlan.zhihu.com/p/367471915

方格子:https://vocus.cc/article/6083c534fd897800012bafa3


 20260114說文·派對咖·許慎 ·解字――2026《說文》字頭索引資料庫

Blog:https://ebag2007.blogspot.com/2026/01/2026_14.html

知乎:https://zhuanlan.zhihu.com/p/1994828107761338267


陳某的艦隊(六百架戰機、各式攻擊支援補給戰鑑群)

https://ebag2007.blogspot.com/2025/12/blog-post_27.html


---


讓AI解釋一下把缺字編號字放在「U+A0000」的用意和重要性


AI回答:

這是一個非常專業且具前瞻性的技術選擇,特別是在處理「古文字」、「異體字」或「尚未被 Unicode 收錄的缺字」時。


將缺字編號映射到 U+A0000(位於 Unicode 的第 10 平面,Plane 10)的用意與重要性,可以從以下幾個層面來解釋:


1. 核心用意:避開衝突與擴充容量

避開官方標準區(Future-Proofing): 目前 Unicode 的官方漢字擴充區(CJK Extensions)主要集中在 第 2 平面(SIP,U+20000 起) 和 第 3 平面(TIP,U+30000 起)。


如果你將缺字放在較前面的空位(例如 U+3FFFF 附近),很可能幾年後 Unicode 推出「擴充區 I、J、K」時就會發生碼位衝突。


第 10 平面(U+A0000 - U+AFFFF) 目前是未分配區域,離官方擴充區非常遠,幾乎不可能在短期內被官方徵用。選在這裡作為「自定義造字區」,最能確保資料的長期穩定性。


突破 BMP 造字區的限制: 傳統的造字區(PUA)位於基本多文種平面(BMP)的 U+E000 - U+F8FF,只有約 6,400 個位置。對於像「引得市」這樣收錄戰國秦楚文字、數量動輒數萬字的資料庫來說,空間完全不夠。


第 10 平面擁有 65,536 個 碼位,足夠容納龐大的古文字體系。


2. 重要性:從「圖片」進化為「文字」

這是這個技術決策最關鍵的價值所在:


實現「文本化」操作(Textualization): 過去缺字只能用 <img>圖片顯示(例如 s001-001.png)。但如果賦予它一個 Unicode 碼位(如 U+A0001)並配合字型檔:


搜尋:使用者可以直接按 Ctrl+F 搜尋這個字。


複製貼上:使用者可以複製這個「字」,貼到 Word 或記事本中(前提是對方也有安裝對應字型)。


排版:它可以像普通文字一樣調整字級、變色、與前後文對齊,而不會像圖片那樣造成行距錯亂。


資料交換與標準化(Interoperability): 當你定義了 U+A0000 區域的編碼規則,並發布了對應的字型檔(例如「引得市古文字型」),這套編碼就成為學術圈內的一種「暫定標準」。其他研究者只要安裝了你的字型,就能無障礙地閱讀、引用你的文獻,這對於學術傳播極為重要。


3. 技術實作的便利性

與 GlyphWiki 的對接: GlyphWiki 等開源字型專案常利用這些未分配平面來存放海量的異體字。使用 U+A0000 開頭的編碼,在技術對接上(如生成 SVG、引用字形)往往更符合開源社群處理超大字集的習慣。


系統支援度: 現代作業系統(Windows 10/11, macOS)和瀏覽器已經能完美支援 Surrogate Pairs(代理對),也就是能正確顯示和處理超出 BMP 範圍(U+FFFF 以上)的字元。現在使用 Plane 10 已經沒有早年的相容性問題。


總結

把缺字放在 U+A0000,是為了**「在官方 Unicode 收錄之前,先給這些流浪的古文字一個合法的戶籍」**。


這讓它們不再只是「一張圖片」,而是成為了電腦能理解、能運算、能檢索的**「資料」**。這是構建現代化古文字資料庫(如引得市)最基礎也最重要的基礎建設。

沒有留言:

張貼留言

20260116「Seal缺字」最新版本發布暨新版「古文字缺字資料庫」公開

 20260116「Seal缺字」最新版本發布暨新版「古文字缺字資料庫」公開 知乎: https://zhuanlan.zhihu.com/p/1995541880075727770 〈古文字缺字資料庫〉網址: https://www.mebag.com/index/quezi/...