[19] Unicode の 表意文字的記述ブロックの 12 の符号位置の表意文字的記述文字 (IDC) は、漢字などの構造を記述するためのものです。
[15] IDS は、 Unicodeにない漢字を記述するものです。 >>4
[17] Unicode に含まれる漢字の分析のための記述に使うこともできます。 >>4
[13] Unicode に含まれる漢字の代替図形表現を交換する手段として使うべきではありません。 >>4
[39]
IDS は通常の漢字の列に溶け込んで
「漢⿱宀子列」
のようにして外字の記述に使われます。
厳密な意味の解釈においては、
これは漢字3文字の列を表しているのか、
漢字1文字、IDSによる漢字の構造1組、漢字1文字の3組の列を表しているのか明らかではありません。
そのような厳密さが必要な場合には、
マーク付け言語の機能で
「漢<gaiji>⿱宀子</gaiji>列
」
のように記述するなど、
アプリケーション依存の方法でもう1工夫必要となります。
[57] 漢字以外の表現に流用されることもあります。 例えば単位を表すラテン文字や片仮名の合字の記述に使われることがあります。
[20] IDC を使って表意文字的なものを記述する文字列を 表意文字的記述列 (IDS) といいます。
[21] IDS
は、
Ideographic
,
Radical
,
CJK_Stroke
,
私用,
U+FF1F
か、
IDS_BinaryOperator
に IDS
が2つ続くものか、
IDS_TrinaryOperator
に IDS
が3つ続くものです。
>>4
[148]
また、
IDS_Unary_Operator
に
IDS
が1つ続くものです。
[87]
この IDS の構文定義だと、 IDS の直後に結合文字や ZWJ
や ZWNJ
が続くとき、
IDS
の一部ではないのに IDS または IDS
の最後の符号点と書記素クラスターを構成することになるのですかね?
[14] 同じ漢字を複数の異なる IDS で表現できるかもしれませんが、 等価性は規定されていません。 自然な分割で最短の表現とすることが好ましいですが、 要件とはなっていません。 ただ可能な限り最短の表現を使うのが好ましいとは注文されています。 >>4 分析目的の場合のように、逆に出来得る限り細かく分解する場合もあるようです。
[85] IDC は前置演算子で、引数となる後続の文字の数は IDC ごとに違います。
[149]
IDS_Unary_Operator
は、
U+2FFE
と
U+2FFF
です。
>>143
[22] IDS_BinaryOperator
は、
U+2FF0
, U+2FF1
,
[ U+2FF4
, U+2FFB
] の10文字 >>4 と、
U+2FFC
, U+2FFD
,
U+31EF
です。
>>143
[27] U+2FFB
は重ね合わせを表します。例えば
「⿻工从
」は「巫
」を表します >>4。
[23] IDS_TrinaryOperator
は、
U+2FF2
と U+2FF3
です。 >>4
[29] IDS の前に
U+303E
IDEOGRAPHIC VARIATION INDICATOR
(〾
, IVI) を置くことで、 IDS が近似であることを示せます。
>>4
[137] しかしながら、 IVI は IDS の一部ではないとされています。 >>135 IDS 全体の前に IVI を置いて全体が近似であることは示せますが、 IDS の中に IVI を入れて IDS の一部が近似であることは示せません。
[150] Unicode 15.1 の演算子の追加 (>>138) があるまで、 いくつか非標準の演算子が使われていました。
[75]
>>73 は
↔
,
↷
,
⊖
の独自の演算子を使っています。
[154] GlyphWiki / CHISE にはいくつか独自の演算子があります。
U+2FFD
U+2FFC
[198] 代用表記 (新・新しい日本語を作る会) にもいくつか拡張があります。
[30] IDS の IDC 以外の文字 (operand) の一覧は次の通りです。
[18] IDS は漢字だけでなく、同様の構造を持つ周辺の文字にも適用できます。 >>4
[25] 異なる用字系の混在は正式な構文上禁止されていませんが、 好ましくありません。 >>4
[28] U+FF1F
FULLWIDTH QUESTION MARK
もなぜか認められています。不明を表すのでしょうか。説明はありません。
なぜ敢えて全角形のみ認めているのか不明です。
[76] >>73 はこれを「記述不能」に使っています。
他の IDS データベースも明記せずこれを使っていることがあります。
UAX #45 は半角の ?
を使っています。
他に 〓
を使った例や、
文字化けかもしれませんが U+FFFD
を使った例も見られます。
[32] 漢字でありながら CJK統合漢字外のものとして、例えば「〇」 は認められていますが、「々」はなぜか認められていません。
[33] IVS を使う需要はありそうですが、なぜか認められていません。
[34] 仮名、ハングル、ラテン文字を部品とする漢字の例が知られますが、 認められていないため IDS で表現できません。
[48] なぜか私用文字が認められています。 相互運用性に貢献しなそうで謎です。
[52] 実際に流通している IDS や IDS データベースでは、 必要に応じて表意文字以外や IVS が使われることも珍しくありません。 CJK互換漢字, 部首, CJK筆画, 仮名が使われることもあります。
[53] CHISE の IDS データベース >>3 では CHISE文字参照が使われています。 現行漢字の他に、甲骨文字や篆書にも利用されているようです。
[56]
漢字データベースプロジェクトの IDS データベースには
CDP外字が使われています。
CDP外字なしの版もあり、
記述できない部品はかわりに画数を①②のように丸付き数字で記述しています。
部品として
α
,
ℓ
,
△
も使われています。
[113] GlyphWiki は 「当面の間」 CDP外字とCJK互換漢字を認めています。 >>112
[74] BabelStone の IDS (>>100) は Unicode にない文字部品を {1}, {2} のように記述しています。 ファイル内の他に >>108 にも例示があります。
[90] IRG はSGMLの文字参照風の構文で Unicode にない文字部品を表しています。 >>89
[91]
UAX #45 は IRG 方式を踏襲していますが、
区切子として
&
, ;
のかわりに
[
, ]
を使います。
>>89
[98] IRGN2225 >>97, >>99: IRG が使う Unicode にない漢字部品。 符号、 字形、 文字の名前、 CDP との対応などが示されている。
[105] HKSCS の IDS では Unicode にない漢字部品が3,4桁の英数字列 (区切子なし) で表されています。 >>104 の2つめのファイルに一覧があります。
[107] >>106 は IRG, HKSCS, CDP, BabelStone に加えて GF1997, GF2009, UCV から漢字部品を選んで連番を振っています。
[129] >>50, >>119 は独特の構文を導入しています。
#(...)
: Unicode で表せない文字部品と思われます。⿻[...]
: 重ね方と思われます。⿴[n]
,
⿶[n]
,
⿷[n]
,
⿹[n]
: 不明。[s]
で地域字形を表すと書かれていますが、現在のデータには出現しません。↔s
,
↷s
[128] >>79 は Unicode で表せない構成要素を {...}
と表しています。
[41] IDC は、 IDS として以外の用法は定められていません。 しかし任意の入力を受信する実装 (文字列を処理するほとんどの実装) は、 IDS の構文に合致しない IDC を与えられた時にも適切に処理できる必要があります。
[7] IDC は制御文字でも結合文字でもありません。 >>4
[12] IDC は制御文字ではないので、 IDC の有無でレンダリングは違わなければなりません。 >>4
[8] 文字境界や語境界に影響しなければならないという要件はありません >>4 (が影響させることは禁止もされていません)。
[9] 個別の文字の並びとしてレンダリングしても構いませんし、 IDS を解釈した結果をレンダリングしても構いません。 >>4
[10] 後者の場合、 hit test、カーソル移動その他利用者インターフェイス関係では合字として扱うべきです。 >>4
[43]
IDC
のうち
「⿻
」
だけは、
機械的に合成してレンダリングすることが困難です。
[44] それ以外は機械的に合成可能ですが、 構成要素の幅を適切に決めて美しくレンダリングするのは中々に難しそうです。
[11] 不適切な IDS の扱いは明記されていませんが、後者の実装方法の場合でも前者の方法とするべきでしょう。
[83] IPSJ-MGN601107.pdf, , https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=199699&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8#page=5
IDS を ccmp
で実装した Source Han の事例。
[36] 漢字は基底文字になり得るので、次に結合文字が来ることが認められています。 では IDS の後に結合文字が来たときどうなるのでしょうか。 IDS を1つにまとめてレンダリングするなら、 それ全体が基底扱いになるのでしょうか。 IDS の一部分ではないので、IDS を構成する最後の漢字に結合するのはおかしい気がします。
[47]
IDS 内部に
ZWJ
,
ZWNJ
を挿入することは構文的にできません。
前後に挿入することはできますが、
効果の程は不透明です。
[59] Webページや SNS で IDS の形を取らずに構造を説明するために使われることがたまにあるようです。 (例えば偏と旁で横並びであることを「⿰」で表すような。)
[58] http://www.nomfoundation.org/nom-tools/Tu-Dien-Chu-Nom-Dan_Giai/Arrangement-of-Entries?uiLang=en
ここでは中置記法で使われています。
[199] 代用表記 (新・新しい日本語を作る会) は IDS を拡張した独自の構文を定めています。
[200] XユーザーのCLOUT COLLECTION ™️さん: 「『 ⿻ 』ᴄʟᴏᴜᴛ ᴄᴏʟʟᴇᴄᴛɪᴏɴ ™️ Dip-Dye Distressed Cable Knit Sweater https://t.co/KpuhHJYI3R https://t.co/oV2l9lmLMv」 / X, , https://x.com/cloutcollection/status/1847225360175476814
[71] その他:
[51] 漢字構造記述は古来いろいろな方法が試されてきました。
[6] GBK を出典に Unicode に追加されました。 >>4
[37] IDS + OpenType: Pseudo-encoding Unencoded Glyphs () https://blogs.adobe.com/CCJKType/2014/03/ids-opentype.html
[60] jj11.pdf, https://jaet.sakura.ne.jp/?plugin=attach&refer=%E5%87%BA%E7%89%88%E7%89%A9%2F%E3%80%8E%E6%BC%A2%E6%83%85%E7%A0%94%E3%80%8F%E7%AC%AC11%E5%8F%B7&openfile=jj11.pdf#page=14
[138] の Unicode 15.1 で新しい IDC が追加されました >>139, >>140。
[144]
従来の IDC のブロックの空きを埋める形で
[ U+2FFC
, U+2FFF
]
の4文字が >>140、
CJK Strokes
ブロックの末尾に
U+31EF
の1文字が >>139 追加されました。
[145] The Unicode Standard は大版が繰り上がるときに規格本体が改正され、 小版のみの改正では UCD や符号表などのみが改正されることになっています。 従って Unicode 15.1 は Unicode 15.0 の規格本体等と Unicode 15.1 の改正差分の UCD, 符号表 等で構成されています。
[146] ところで IDS の構文と意味は規格本体で規定されています >>135。 そのため Unicode 15.0 に改正前の規定がありますが、 Unicode 15.1 に改正後の規定は見当たりません。 符号表と UCD で文字の情報は増えているのに、 その使い方は定義されないままになっているのです。
[147] 改正概要にに
- There are 5 new ideographic description characters. These extend the syntax of ideographic description sequences.
- Two of the new ideographic description characters function as unary operators, which necessitated introduction of a new binary property: IDS_Unary_Operator.
... とあり >>142、確かに UCD には追加後の定義が含まれます >>143 が、 その 「extend the syntax」 に相当する規定が見当たりません。
[49] (, ) https://www.unicode.org/L2/L2021/21118-kids-preliminary.pdf
[55] L2/22-247 (CJK & Unihan Group Recommendations for UTC #173 Meeting) - 22247-cjk-unihan-group-utc173.pdf, , https://www.unicode.org/L2/L2022/22247-cjk-unihan-group-utc173.pdf#page=45
[197] Xユーザーの白砂沙帆さん: 「⿻質問募集中⿻ 愛原ありさ・白砂沙帆への質問をハッシュタグ 【 #ありさほ質問 】で募集します…!個人でも2人でも…!ぜひ何個でも沢山ポストしてくださると助かります! こちらは明日のトークイベントのコーナーで使わせていただきます✨️明日の夜暇だなって方もぜひふらっといかがですか🤭🌙*.」 / X, , https://x.com/sahoshirasu/status/1837811313948742136