漢字描述語言

**漢字描述語言**是指可以完整且準確地描述漢字字元和資訊的電腦語言，它們包含了字元的組成、（基本和複雜的）筆畫、順序以及位置，旨在克服在使用點陣圖來描述字形時所遇到的資訊缺乏。其所包含的訊息可以來識別字元（統一碼和通用字元集統一為一個碼位）的異體字，或一些統一碼和通用字元集尚未收錄的罕見字。

它們的工作，大多是基於楷書和宋體，來提供字元的內部結構，因而可以藉由索引字元的內部結構和相似字元，從而更容易地尋找字元。

## 字形描述語言

**字形描述語言**（英語：Character Description Language，簡稱：CDL），或稱**字描語**，是基於 XML 的字型技術，由畢曉普（英語：Tom Bishop）和 曲理查（英語：Richard Cook） 為文林研究所所共同建立。其目的在描述任何 CJK 字元，但可用於描述任何字形。

這種基於 XML 的宣告式語言定義了每個組件（字形的一個子單元，類似於部首，但不一定具有真正部首的語意意義）的筆順，以及使用先前定義的組件所構建更複雜的字元。除了用作構建組件之外，這些組件中的許多組件本身就是字元。

背景看起來像一個每邊 128 像素的正方形。在這個背景下：

1. 使用可縮放向量圖形，可繪製 50 個筆畫。
2. 一個基本組件是通過呼叫數個筆畫來組成的。在此組件中，每個筆畫都由其左下角和右上角描述。可以進行轉換（縮小、放大等）。 。有 1,000 多個基本組件。
3. 一個字元是通過呼叫幾個組件組成的。在這個字元中，每個組件都由其左下角和右上角描述。為了使組件適合漢字矩形塊的適當部分，在將部分嵌入構建方塊時，可以轉換（如：水平、重直或放大、縮小）。

因此，一組少於 50 個筆畫允許構建一組大約 1,000 個組件 ，這些組件又可以嵌入到數萬個字元的描述中。 50 個基本筆畫之一的形狀變化隱含在嵌入該筆畫的每個字元中。同樣，對組件的更改隱式應用於其組合使用該組件的每個和所有角色。 

湯姆・畢曉普和 R. Cook 解釋如下：

字元的筆劃數通常跟其它字元的筆劃數是有關的。大部分字元是以多個部件所構建。只要知道了每個部件的筆劃數，那總筆劃數只是單純地部件筆劃數相加。因此，如果有個標準定義了千多個字元的筆劃，它也定義了成千上萬個其它字元。

 

截至 2020 年 (2020-Missing required parameter 1=_month_!)，透過字描語包含了近 10 萬個字元描述，可完整支援統一碼 7.0。

## HanGlyph

用於在文件中提供缺失的罕見字（即外字問題）的漢字描述語言。 文件可以包含缺失字元的標記，這將自動觸發生成小字型以提供字元。語言本身是一個簡單的字尾符號，描述了筆畫和組合它們的方式。原型軟體使用 Metapost 來描給字元並將它們嵌入到 LaTeX 文件中。該語言由 Wai Wong 於 1997 年提出 ，2003 年的 TeX 使用者會議上，則有關於實作的論文。 

## 表意文字描述序列

統一碼第 12 章定義了「表意文字描述序列」(IDS) 的語法，旨在用於描述標準中未包含的字元，即根據具有代碼點的組件組合。 U+2FF0 到 U+2FFB 範圍內的十二個特殊字元充當字首運算子，以組合其他字元或序列以形成更大的字元。

這些序列對於向讀者描述無法直接顯示的字元很有用，因為它在給定字型中不存在，或者完全不存在於統一碼標準中。例如，方塊壯字 字元「」（在中日韓統一表意文字擴充 F 中編碼為 U+2DA21 𭨡），可以描述成「⿰書史」。另一個用途是用於尋找字典，即作為用來輸入查詢的一種簡略輸入法。

這些序列的呈現方式，可以是分別地保留所有字元，或通過解析序列後來繪製目標字元。 它們本身並不能為所有字元提供明確的描繪。例如，序列「⿱十一」代表「土」和「士」。方式

這些序列的統一碼規範基於早期 GBK 標準的字元和語法。

Matthew Skala 提供的自由軟體套件 IDSgrep 擴充了統一碼的表意文字描述序列語法，包括用於字典尋找的附加功能；它能夠將 KanjiVG 的資料庫轉換為它自己的擴充 IDS 格式，或者針對由相關的 Tsukurimashou 字型所生成的 EIDS 檔案來搜尋。

## KanjiVG

KanjiVG 是一種自由 (CC-by-sa-3.0) 日語字元描述語言（旨在最終擴充到中文），它是基於 SVG 和維基編輯系統。

## SCML

2007 年，結構字元建模語言是另一個基於 XML 的漢字描述語言，其定位不像字描語和 HanGlyph 那樣基於數字網格。其資料庫所使用的筆畫、部件是以 SCML 編碼。其資料庫儘用於原理演示，目前沒有已知的嘗試將 SCML 套用在所有的統一碼，為 CJK 字元進行編碼。

## 參見

* 動態組字
* 統一碼
* 說文解字部首列表，徐慎（公元 147 年）在《說文解字》中使用 540 個部首
* 康熙部首，在康熙皇帝時期所編纂的康熙字典（1716）所列出的 214 個部首
* 統一碼部首列表，由統一碼所滙整的 CJK 部首。
* 倉頡輸入法
* 部首
* 筆劃
* 筆畫順序

## 外部連結

**文林學院 CDL 語言**

* Wenlin Institute, Wenlin User's Guide : Character Description Language, 2015 [2021-11-29], （原始內容存檔於 2021-11-29）
* Bishop, Tom; Cook, Richard, CDL specification, [2021-11-29], （原始內容存檔於 2020-05-13）
* Bishop, Tom; Cook, Richard, Character Description Language (CDL): The Set of Basic CJK Unified Stroke Types (PDF), 2003 [2021-11-29], （原始內容存檔 (PDF) 於 2021-10-23）
* Bishop, Tom; Cook, Richard, A Specification for CDL Character Description Language (PDF), 2003-10-31 [2021-11-29], （原始內容存檔 (PDF) 於 2021-10-21） 
  * 2003/12/31 更正：Bishop, Tom; Cook, Richard, Specification for CDL (PDF), 2003-10-31 [2018-01-17], （原始內容 (PDF) 存檔於 2016-04-05）
* Cook, Richard, Chinese Character Description Languages (PDF), 2003 [2021-11-29], （原始內容存檔 (PDF) 於 2021-10-23）
* Bishop, Tom, A character description language for CJK (PDF), Multilingual, #91, Volume 18 Issue 7: 62–8, 2007 [2021-11-29], （原始內容存檔 (PDF) 於 2021-11-18）
* 美國國家人文基金會的數字人文啟動資助 （頁面存檔備份，存於網際網路檔案館）

**SCML**

* Peebles, Daniel G.; Balkcom, Devin (Advisor), SCML: A Structural Representation for Chinese Characters, Technical Report TR2007-592 (PDF), Dartmouth College: 30, 2007-05-29 [August 30, 2009], （原始內容 (PDF) 存檔於 2016-03-10）

**字形**

* HanGlyph – a Chinese Character Description Language - Presentation, [2007-12-11], （原始內容存檔於 2013-01-25）
* HanGlyph – a Chinese Character Description Language - Reference Manual (PDF): 31, 13 September 2003 [11 December 2007], （原始內容 (PDF) 存檔於 2016-03-04）

## 參考資料