accelon26古籍資料庫閱讀器

說文解字注 swjzz.adb 製作說明

swjzz.adb 是用說文解字注データ(swjz.xml,經韵樓臧版影印本轉錄)重建的段注本資料庫。

2026-10-28 版另做兩件事:用大徐本《說文解字》逐條核對許慎原文(分出 <說文>/<說文異>),

並把說文小篆字型的每個字頭轉成 SVG 放進資料庫,讀者不必安裝字型就看得到篆形。

一眼看資料

項目數值說明
檔案swjzz.adb,19.5 MBdbname swjzz、dbtype 2(詞典庫)
行數60,754一行= <字>/<說文>/<段注> 各一行
卷/部35/542卷=十四篇上下+四篇序;部=部首分節(水部跨兩卷)
字頭10,706<字 id img>,caches/字 同名同長(詞典查詢靠它)
說文/說文異16,824/7,499許慎原文;「異」=在大徐本同字條目裡找不到(段改字或古字)
段注23,934段玉裁注,含 <篆>、<注>、<構形> 等行內標記
小篆字形7,052 個 SVG13.85 MB,佔全檔七成;seal/U4E00.svg 這種命名
詞15,601 種/1,270,941 筆中文逐字索引,可直接搜

一、資料來源

用途來源授權
正文(經+注)swjz.xml(cjkvi-dict/kanji-database,四部叢刊系影印本轉錄)GPL
大徐本說文(核對用)shuowen.org 開放資料,一字一 JSONApache-2.0
小篆字形BeiShiDaShuoWenXiaoZhuan-1.ttf(字型的 cmap 是 Big5 碼)作者提供,公開前請確認
標點(另一顆庫)中华典藏网的現代標點本,只借標點、不借字僅供學習

swjz.xml 本身已有稀疏句讀(「。」「、」),但沒有書名號;補上標點的版本是 swjzzp.adb,目前沒有上架。

二、標記怎麼分

目錄是卷 → 部 → 字三層;左欄另有「字頭」分頁(<樹 s="$字">,10,706 條)與「全文」(*字)。

三、小篆字形:不必安裝 TTF

字型的 cmap 其實是 Big5 碼(platform 3 / encoding 4 裡放 0x8140、0x81A1…),

一般字型工具會直接判「No valid cmap」。所以我們自己讀 cmap/loca/glyf,

把 Unicode 換成 Big5 再查字形,輪廓轉成 SVG path,每個字頭一個 SVG 放進 resources:

<字 id="w0010010" img="001a-01">一</字><圖 n="seal/U4E00.svg"/>

四、怎麼重建

# 0) 大徐本參考表(比對與字形共用)
bun run ts/tools/shiwen-ref.ts <shuowen data> build\shiwen-ref.json

# 1) 字型 → SVG(只做字頭;產生 build/seal2/*.svg 與 seal-manifest.tsv)
bun run ts/tools/seal-svg.ts --ttf BeiShiDaShuoWenXiaoZhuan-1.ttf --big5 big5.tsv \
  --out build\seal2 --chars-from build\heads.txt

# 2) XML → 文字(--ref 分說文/說文異,--seal 插 <圖>)
bun run ts/tools/swjz2adb.ts swjz.xml build\swjz.txt --ref build\shiwen-ref.json --seal build\seal-manifest.tsv

# 3) 打包(第 6 個參數是 resources 目錄)
bun run ts/tools/swjz-pack.ts build\swjz.txt build\swjzz.adb swjzz 說文解字注 build\seal2

完整步驟、踩過的坑與驗收數據見倉庫的 docs/adb/swjzz-steps.md(標記)、

docs/adb/swjzz-seal.md(小篆字形)、docs/adb/pua.md(缺字清單)。

五、限制

要判斷段玉裁到底改了什麼,還是得一條一條看注。

六、這一版