漢字記述言語

漢字記述言語は、漢字（CJKV漢字）と、その構成要素の一覧、筆画（基本筆画・複合筆画）の一覧、筆順、方形のマス目中に各筆画が配される位置といった漢字の情報を、正確かつ完全に記述する目的で提案されているさまざまな言語である。ビットマップによる記述ではその性質上失われる情報が出てくるため、それを補うように設計されている。この付加情報は、UnicodeやISO/IEC 10646で同一コードポイントに包摂された異体字を区別したり、またUnicodeやISO/IEC 10646には規格化された符号化方法がない稀少字に対して他の形の符号化方法を与えたりするのに用いることができる。多くは楷書体および明朝体を対象とし、また、字の内部構成と類似字の相互参照情報を付与することによって、文字の検索をより簡単に行える、字の内部構造情報を与えることを狙いとしている。
CDL.
CDL（Chinese Character Description Language; 漢字字形記述言語）はTom BishopとRichard Cookが文林研究所のために共同開発した、XMLに基づくフォント技術であり、あらゆるCJK漢字を記述するために設計されているが、どんなグリフの記述にも適している。
このXMLベース宣言型言語で実際に定義されるのは、各部品（≒部首）の筆順のほか、より複雑な字の組み立てに使用する、定義済み部品の組み合わせである。この部品はそれ自体で文字であるものが多く、さらに組み立て要素としての機能ももつ。
背景は各辺128ピクセルの正方形をしている。その背景に、以下のように文字が定義される。
このようにして、50ほどの筆画によって1,000以上の部品を組み立てることができ、そしてそれが今度は数万の漢字の記述の中に埋め込まれる。基本の50の筆画の一つに対して形の変更を加えると、それはその筆画を含む各字の中にも暗黙に適用される。同様に、部品に対する変更は、構成にその部品を使用している各文字の中にも暗黙に適用される。
T. BishopとR. Cookは以下のように説明している。
2003年春の時点で、すでに五万を超える漢字がCDLで記述できていた。2013年2月時点でCDLで記述できる漢字の数は8万6416文字である。
HanGlyph.
特殊な場合のみに使う漢字（外字など）を表現するための記述言語。マークアップとして文章に設定しておくと、自動的に文字を切り替える。この言語自体は、筆画の方法などだけを表したシンプルなものである。試験的に実装されたソフトウェアは、MetaPostを使って文字を描画し、LaTeX文章に埋め込むことで実装している。この言語は1997年にWai Wongが発表し、2003年のTeXユーザーによる会議の中で、MetaPostによる実装方法が公開された。
漢字構成記述文字列 (IDS).
Unicode仕様書第12章には、漢字構成記述文字(Ideographic Description Character)を用いた漢字構成記述文字列(Ideographic Description Sequence; IDS)の構文が定義されており、これは当該規格に含まれていない漢字を、すでに符号位置のある部品の組み合わせによって記述することを目的とする。U+2FF0からU+2FFBの領域にある12の特殊文字は前置演算子として働き、これにより他の漢字もしくは記述文字を組み合わせてより大きな字を構成する。
例えば、「」という字は「⿰書史」と記述できる。
この記述文字列は他の記述用の言語と比べ、筆画の位置や形状に関する詳しい情報は含んでいないという点で異なる。それ自体には、その記述する文字を実際に描画するのに必要な情報は示されていないのである。
しかし、使用するフォントにない、もしくはUnicode規格に存在しないといった理由で直接表示することができない漢字を読み手に説明するには、この記述文字列は有用である。
また偶然ではあるが、検索語を入れて結果を得る簡易的なインプットメソッドのような、文字検索の目的にも有用といえるだろう。
Unicodeのこれらの記述文字列の仕様は、以前のGBK規格に定められていた文字と構文に基づいている。
Matthew Skalaによるフリーソフトウェアパッケージ、IDSgrepは、UnicodeのIDS構文を拡張し、文字検索用に追加機能を入れている。またKanjiVGのデータベースをIDSgrepの拡張IDSフォーマットに変換したり、関連ソフトウェア「作りましょう」のフォントファミリーによって生成されたEIDSファイルを検索したりする機能ももつ。
KanjiVG.
KanjiVGは、フリー（CC・表示・継承）で公開されているSVGベースの日本語記述言語と、そのウィキシステムである。
SCML.
2007年、CDLやHanGlyphのように数値的グリットによって表されていないXMLベースの漢字記述言語に代わるものとして、Structural Character Modeling Language（構造的文字モデリング言語）が提唱された。しかし、公開されたデータベースは原理的な部分のみで、Unicodeにある漢字すべてを表現することはまだできていない。