2023年2月22日 星期三

《說文解字》字典及全宋體更新

☆ 2023/10/13 累積修正更新,原連結請重新下載。

這部《說文解字》字典,自初始製作開始到今天,一晃眼居然已經快滿十個年頭。自己從中實在獲益不少,習得了不少相關知識,尤其是改版到大、小徐與段注的三合一版之後,更是確立了這部字典的布局、體例,實是深度學習《說文》的稱手工具。三合一版的意義在於橫向的關照,讓三家的短長在對照中益加清晰,這是這部《說文》字典的重點價值。不過個人的能力與時間終究有限,許多已知的缺點也只能邊用邊改,無法一次性地全面修訂。

距離上次更新又快過了一年,這次趁著年假,把自己累積的一些使用想法,化作實際的改版行動,進行了一波整理。

此次的更新主要有幾個項目:

  • 增加小徐本的異篆字頭標示。舊版主要只針對段注本的改篆做了字頭標示;這一版我則參考了施謝捷教授的校記,將小徐本與大徐本相異的篆字也做了較全面的字頭標示,目前合計共標示了 129 處,段注本的改篆標示也增加到 167 處,讓查閱者更能一眼掌握三本的異同。施謝捷教授針對《說文》額外造的五百多個宋體字,我很早就已整理進了全宋體,只是某些字是更符合《說文》精神的專用隸定字,沒把它們標示出來,一般人甚難利用到這些字,這次的標示加強了這個部份。

  • 更換大徐本的代表篆字字圖。舊版的大徐本篆字基本上是取自汲古閣本的截圖,但後來發現汲古閣本、藤花榭本的篆字有不少都根據小徐本做了修訂,也就是說,這兩個版本的篆字是修訂版,與傳統的大徐本是有差距的。若單選一個版本來代表《說文》的話,這兩版是不錯的選擇,但若以我的原始立意來說,要的是三本主要《說文》著作相互對照、考其異同,那這兩版反而不是大徐的原貌了。於是這次我改以較通行的陳昌治本篆字截圖與頁碼做為大徐本的代表,如此較能忠實地呈現大徐本原貌。

  • 並陳四種主要大徐本的篆字。不同版本的大徐本間篆字是有差異的,如果能夠並陳顯示,可以觀察到它們之間改變的脈絡。於是在這一版裏,我將多年來陸續收集到的四種主要大徐本篆字字圖加以整理,把各版字圖吻合在同一字頭之下,方便比對觀察。要將不同版本的篆字字圖相互吻合並不是件很容易的事,各版的字頭數量並不一致,必須一一清理、補缺去冗,這花了我不少時間。目前以較小的縮圖排列在版面右側,點擊這些縮圖則會在上方的資訊欄右側放大顯示。限於版面空間,放大的倍率仍略顯不足,日後再調整改進。
    以截圖的例子來說,可以很清楚的看出,大徐篆字右下从「求」,而小徐、段注本改了,大徐的藤花榭本、汲古閣本應該是認同了修改,所以跟著改了。舊版,大徐用汲古閣本字圖,就完全看不出這些細節脈絡了。

  • 汰換舊版汲古閣本篆字字圖。舊版的汲古閣本字圖得之於網路,是網路上最常見的版本,但這版字圖有個問題,就是它並未忠於底本,而是多有竄改。前面提過,汲古閣本吸取了小徐本的意見做了若干修訂,而現代的字圖整理者又認為汲古閣本字圖不是大徐原貌,再把這些字圖依大徐樣貌修整,結果又成了不是汲古閣本原貌。其實大可不必,要絕對忠於大徐本原貌,本不該用汲古閣本、藤花榭本,孫本、陳本可能是更好的選擇。儘量忠於底本才是上策,這樣改上加改只是亂上添亂,讓原貌更加扭曲。所以這次我把舊版的汲古閣本字圖整個撤掉,換上了較好的版本。當然我還是無法保證它是絕對沒有竄改,只能在使用中繼續觀察。

    以截圖的例子來說,可以很清楚的看出,汲古閣本字圖依小徐本做了修改,但是《說文》網站上的汲古閣本字圖卻被「竄改」,以符合大徐本的釋文,已經不是汲古閣本的原貌。

  • 加強避諱字圖的處理與標示。對於避諱字,舊版字圖的整理者多有逕改,這雖然合理,但何嘗不又是某種程度的「竄改」,讓沒有同時參閱底本的查閱者根本沒意識到有避諱字的存在。這一版我將各版字圖都儘量保持原貌,發現到逕改的都重新截圖復原。遇到缺筆的避諱字,我採用較折衷的做法,就是保持原樣但用淺灰色的「虛筆」補上缺畫。如此既可以知道底本的「原貌」,又能看到該有的「全貌」,兼顧「真」與「善」,我覺得是較好的做法。除此之外,也於主文下加上避諱字的註解,說明避諱字的情況。

  • 大徐、段注本換上精確頁碼。舊版除小徐本有精確頁碼外,其餘頁碼索引都只定位到頁,使用時經常遇到一頁有幾十個篆字頭,便如大海撈針,須得耐心查找;這一版將各版大徐及段注本頁碼都進一步定位到行,找起字頭來更加方便快速。各刻本的頁碼統一改以「說文總目」為第一頁,以利吻合。

  • 原注解與現代註解分色標示。舊版的原書注解與現代註解未分色,不細看難以一眼區分;這一版做了分色處理,原書注解保持用深藍色塊帶頭,而屬於現代整理者的註解全數都改以磚紅色塊帶頭,如此便能條理分明、一目了然。

  • 未編碼的缺字全面造字補齊。舊版仍有百餘個缺字以構字式或「※」符號表示;這一版全數都加以造字補齊,現階段文本已無任何缺字。全宋體與部件檢索、倉頡碼表同步更新,請重新下載。

  • 修訂隸定字、增補異體跳轉。這一版新增了四百六十幾組相關的字頭跳轉連結,讓更多的異體字、相關字都能定位到主字頭之下。

從年假期間即全力在整理,整整忙了月餘,遲至今日才能發布更新,跟大家正式見面,呵呵!當然這部字典仍有許多缺點:文本、句讀都還待進一步校對、修訂。數量龐大的字圖也還有許多雜點、隔線,我也無力一一去修整。只能將就使用。

請參閱一系列四篇「漢字使用環境的建置 ㈠ —— 顯示篇」、「漢字使用環境的建置 ㈡ —— 輸入篇」、「漢字使用環境的建置 ㈢ —— 辭典篇」、「漢字使用環境的建置 ㈣ —— 開卷篇」的說明安裝字型與相關工具,以利完整顯示和輸入查詢。字典中用到了不少目前 Unicode 尚未收錄的漢字【註①】,目前只有配合最新版的全宋體才能完整地顯示。


詞條總數:17958
字頭數目:9866
序跋附錄:1
圖片數目:65908
連結數目:8092
下載連結:說文解字.zip

下載連結:全宋體.zip
下載連結:部件檢索(測試版).7z
下載連結:倉頡碼表.7z (僅保留漢字部分,請自行併入您慣用的碼表)


原連結重新下載即可,樂見學術研究、教育工作、個人閱讀這方面的運用,但請勿用做任何形式的商業營利行為。希望這些寶貴的資料能更方便地被大家運用,也請有使用的朋友能將發現的瑕疵、錯誤反應給我知道,以利我後續的修正。

感謝「字統網」的站長 Bay 兄,指正了十幅小徐本的字圖有重複、錯位的錯誤,我已經一一重新截圖加以修復。感謝好友  Mastameta 兄,持續提供優化後的字形讓我汰換較差的字。感謝 suns99 兄,仍是不離不棄地協助我進行漢字的整理工作。

多年來收集的《說文》相關材料,差不多都已傾注於此,剩下的文本校對、修訂工作我便暫時沒有時間及心力去照顧了。原本還打算參考郭錫良先生編著的《漢字古音手冊》增訂本,把一些資料吻合進《說文》字典做為較可靠的音韻參考,在他書中前言也提到增訂本已將《說文》的九千多字都收了,不過實際吻合的結果,尚有三百餘個字頭查無對應(例如「祆」字),只好作罷。

今年的工作目標,大致上是希望在上半年能完成「漢字構形資料庫2.7版」九萬餘漢字的清理(目前已經在進行中)。下半年則希望繼續回到「CBETA 缺字資料庫」的清理工作上。若能順利完成這些漢字的清理,那麼幾個台灣公開的大型漢字資料庫俱都涵蓋進字庫,透過全宋體便能將這些原本各自獨立、不相關連的漢字資料庫給橫向關聯起來,當可發揮更強大的漢字力量。





【註①】在辭典中若使用了「全宋體」的補充漢字,我一律標示為紅字,以提醒使用者注意。這些補充漢字並非 Unicode 官方訂定的通用標準,故於論文、著作一類的正式場合引用辭典內容時,請特別小心處理、標註,以免參閱者看不見該補充漢字。





16 則留言:

  1. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 作者已經移除這則留言。

      刪除
    2. 感謝指教。我沒參閱過鈴木俊哉先生的研究,我只是個業餘的愛好者,不如先生這般專業,呵呵!

      我調整了一下,把宋本頁碼提出折疊之外,先生當可如舊使用。如此也擴大了放大顯示區,可以把篆字放得更大更清楚,可謂「一舉兩得」。

      現在版面上所有的篆字圖,包含小徐及段注,點擊後都能顯示放大,請重新下載,更新即可。

      至於避諱字,我的用意不在保留,而是儘量忠於刻本,讓查閱者清楚真實的情況。對於某些研究版本的人,避諱字也是項重要資訊,可以佐證成書的時代。做為工具,我只儘量忠實呈現,至於有無意義,就交給使用者自行去評斷。

      刪除
    3. 竟然這麼快就更新了!真不好意思,只能再次說謝謝了!

      刪除
    4. 我的問題太多了,自我肅清一下,呵呵~

      刪除
    5. 先生的指教有其參考價值,何必刪呢,呵呵!

      刪除
  2. 仁兄好,发现一个字字体里面没有收录,就是嘟字,但是在者下面日字的右上角有一个小点。这个字实际上同嘟字,是三民大词典里面收录的字。

    回覆刪除
  3. 你好,發現有3個字在02/23版的全宋體打不出來,請問下一版能否考慮加入呢?
    ⿰穴瓦:宀部-07-10
    ⿰牛芋:牛部-07-11
    ⿱⿱⺾穴⿱人攵:艸部-10-14
    圖片版:https://cloud.freemdict.com/index.php/s/Y3NppGGMng8r39H

    回覆刪除
    回覆
    1. 您好!
      1.[⿰穴瓦]=𡨍,此字不从「穴」,您拆成「穴瓦」所以檢索不到。
      2.[⿰牛芋],應該沒有收錄,不知能否告知此字出處為何?
      3.[⿱⿱⺾穴⿱人攵]=𦶨,同樣地此字亦不从「穴」,所以您檢索不到。

      刪除
    2. 三個字出處皆為教育部異體字典的正字表,分類在罕用字表的待考正字
      網址為:https://dict.variants.moe.edu.tw/variants/rbt/research_required_tiles.rbt?pageId=2982192

      刪除
    3. 《教育部異體字字典》的待考正字應該都尚未有實際詞條,我把它們全部都還原成純文字後,結果便只有這個[⿰牜芋]查無對應。經過一番搜尋查證,證實此字就是「𤙢」字。臺灣的 CNS 標準字形此字誤作[⿰牜芋],而實際上歷代字書均作「⿰牜⺸」。目前 Unicode 的 T 源樣字 T5-334B 已經獲得更正,但全字庫的 CNS 官方頁面仍是錯誤的[⿰牜芋],《教育部異體字字典》同樣未作更正。總之此字無需新增,它就是「𤙢」字。

      刪除
    4. 感謝查證,如此,則不必再造新字。
      原字表資料也只寫說來自73年3月的異體字表,考無文獻,或許是當年就抄錯的。

      刪除
  4. 你好,我製作了「CBETA與WFG全宋體對照表」發現有許多古籍佛典用字未收錄進全宋體,例如「⿰貝蹙」「⿰車奚」「⿱釆異」「⿰卷見」等字全宋體皆未見,由於字數眾多,用留言版一一確認進度太慢,請下載我製作的對照表,希望能幫助全宋體完善缺字。
    字表下載:https://cloud.freemdict.com/index.php/s/gzQYAeAfmNMt7WA
    解壓縮打開 cbeta.html 即為「CBETA與WFG全宋體對照表」
    離線字體包:https://cloud.freemdict.com/index.php/s/nei2GYBZH6C7z9B
    (內為 全字庫楷體、全字庫宋體、WFG全宋體 3個字型,請覆蓋fonts\)

    回覆刪除
    回覆
    1. 您好!我看過您發布的對照表,當時的第一個念頭是:好可惜,重複做工了。如果您對漢字的整理也有興趣,或許大家可以分工合作,針對特定的項目來進行清理,多一個人就能多一份力量。

      在〈中醫藥用字全宋體更新〉一文的「計畫與變化」一節我就提到:「十月中,字頭排查的工作暫告一段落,正式啟動了 CBETA 的缺字清理。老方法,將字圖先做成一個工作字型檔,把待清理的一萬六千字分成四包,每包四千字,煩請 suns99 兄出手幫忙。至十一月中,suns99 兄已完成了初步清理,我則開始進行複驗。」所以 CBETA 的缺字基本上去年我就已經完成初步清理,只是複驗時發現問題較多所以暫時擱置了下來。

      暫時擱置有兩個理由:一是 CBETA 誤收的訛字查證太過耗時;一是 CBETA 提供的缺字圖片品質參差,轉製成字型的效果不算太好。因此我轉而先清理「漢字構形資料庫」的漢字,它有現成的字型、現成的拆分資料可以利用,目前已接近完成,預計年中應該可以發布。「漢字構形資料庫」的漢字會涵蓋到一部分 CBETA 缺字,也就是說這部分可以替代掉由圖片轉製而成的較差字型,將 CBETA 的缺字縮減到最少。等下半年,我應該就會繼續完成 CBETA 的缺字清理。

      您的對照表中,有不少「全宋體」的已收字,您並未對應上來,可能是我的拆分資料尚不夠完善。總之,感謝您願意投入時間與精力協助漢字的整理,希望有機會能進一步的合作,統合力量來有計劃地整理,再次感謝您的留言及提供的相關資料。

      刪除
    2. CBETA由於字圖模糊,完全只能依靠組字式來對應,但其實是我沒找到全宋體的拆分資料表,所以缺字就沒補進CBETA對照表。事實上我也希望能製作全宋體的字表,希望您手上告一段落後可以釋出全宋體的相關資料。(例如:收字來源、構字式、訛字不收等資料)

      至於把缺字字圖做成字型檔我很有興趣,不知可否分享如何製作?我之前嚐試使用 FontForge 把 svg 一張一張拉進去,但數萬張字圖實在沒辦法人力完工,所以才改為製作對照表。

      補全漢字應該是眾人都希望達成的目標,但經之前與您討論「教育部異體字字典」缺字問題後,我發現每個人的字型認定與拆字習慣都不同,混參製作反而會破壞全宋體的精良品質;目前我也還在製作其他的mdx辭典,就暫不加入了。

      再次感謝您製作了全宋體並免費釋出,對古籍文字數位化真的是一大助力。

      刪除
    3. 全宋體的拆分資料就在「部件檢索」裡,都是純文字的資料,直接取用即可。至於收字來源,我也一直在思考該用什麼方式呈現。曾想過做成一個 mdx,涵蓋四大字典及各個收字來源的索引。但字頭的對應我仍在頻繁地勘誤,釋出這樣一個大型 mdx,會造成我維護上的額外負擔,因此還在猶豫之中。

      把缺字字圖做成字型檔的方法,我在〈十五萬漢字粉墨登場〉一文中曾大概提過:「我採用的方法是將掃描的字頭點陣圖片,利用開源的軟體 Potrace 批量轉成 SVG 向量圖檔,再利用開源軟體 FontForge 撰寫 Python script,批量將 SVG 圖檔整合為一個字型,縮放成一致大小並調整居中,讓它們排列整齊。」所以您只差最後一步,數量太大是不可能用手工完成的,要撰寫 Python 程序來操作,網路上應該不難搜到教程,但前提是您得會 Python。

      您說得對,每個人都有不同的認定原則與習慣,但這可以克服。目前大多是由 suns99 兄協助做前期的處理,然後再由我做最後的複驗與統合,為一致性把關。

      大型的漢字資料庫大概都已處理,爾後的目標可能就會是針對特定的「字書」進行字頭的清理,例如《龍龕手鑑》、《四聲篇海》等等,您若是有興趣,隨時歡迎加入幫忙。


      刪除