Adobe-Japan1異体字シーケンス登録の公開レビューに突っ込んでみる
- まず、経緯の大ざっぱな要約。Unicodeには「親字+異体字選択子(Variation Selector)」という文字列によって異体字をプレーン・テキストで表現する仕組みがある(http://www.unicode.org/versions/Unicode5.0.0/ch16.pdf)。そして漢字については、ある集合について異体字シーケンスをデータベースに登録しておくことで、この仕組みを利用可能とする枠組みが策定された(http://www.unicode.org/reports/tr37/)。その後、Adobe-Japan1-6に含まれる漢字を登録する提案が受理され、現在、公開レビューが行われている(http://www.unicode.org/ivd/pri/pri108/index.html)。
- 少し前にも同じテーマで公開レビューが行われていたのだが(http://www.unicode.org/ivd/pri/pri98/index.html)、(本当はやってはいけないことになっている)包摂規準を逸脱したグリフ指定が含まれていたことなどから、仕切り直しとなったのだろうと思われる。
- 今回はけっこうレビュー期間に余裕があるので、「包摂規準から逸脱している例はもう残っていないのか」という点を中心にチェックしてみようと思う。Unicodeの包摂規準についてはUCS漢字の包摂規準(β版)を参考にした。迷う例も多かったが、とりあえず、1画程度の違いであれば包摂可能と見なすこととした。
- 図はすべて、何らかの問題があると思われる例。左側に親字の符号値を掲げ、その右に現在の提案における子グリフを列挙した。少し離して示したグレー地のグリフは、参考であって現在の提案における子グリフではない。以下、「図が先に来て下に説明」とする。
- 包摂規準から逸脱しているのではないかと思う。
- 以前の提案では3文字ともU+5EA7の子グリフとなっていたが、今回の提案ではグレー地のCID=13782のみが外されている。CID=13782を外すならCID=20114も外すのが自然だと思うのだが。
- 包摂規準から逸脱しているのではないかと思う。
- 前回、CID=13747は「肉」のグループにいたが、今回は「舟」のところに来た。しかし、CID=13747はU+2EBD CJK RADICAL MEATである。形状的にも意味的にも、これを「舟」と結びつける理由がわからない。
- 以前から知られている問題だが、UnicodeのCJK互換漢字ブロックに含まれるU+FA20(CID=8612)には「U+8612と正規等価」という不当な属性が与えられている。この属性を前提とする以上、今回の提案でCID=8612とCID=21073がU+8612の子グリフとなっているのは仕方のないことなのだろうが、とりあえず異議を申し立てておきたい。
- 包摂規準から逸脱しているのではないかと思う。
- 現在の提案ではCID=13912がU+9039(CID=6908)の子グリフとなっているが、グレー地で示したU+9054(CID=2913)の子グリフとするのが適切だと思う。
- 包摂規準から逸脱しているのではないかと思う。
- 包摂規準から逸脱しているのではないかと思う。
- CID=1241とCID=20255の「魚」の字体の違いは、JIS X 0208/0213では包摂されるが、Unicodeでは包摂されないはず。
- CID=12869はルビ用グリフである。前回の提案には入っていなかったのが、今回わざわざ追加されているが、ルビ用グリフは異体字シーケンスのスコープ外ではないか。
- Unicodeの包摂規準の矛盾により、非常にわかりにくいことになっている例。UnicodeのCJK互換漢字ブロックに含まれるU+FA15(CID=20307)には「U+51DEと正規等価」という属性が与えられている。U+51DEとU+FA15が包摂関係にあるのなら、グレー地で示したU+20611も包摂されるはずだが、これは新規の符号位置に追加されている。というわけで、Unicodeの正規等価属性を尊重する限り今回の提案のようなグルーピングになってしまうのはわかるのだが、素直に(現実に合致しない正規等価属性を無視して)考えるなら、CID=20307とCID=8542(いずれも「ノ」のない字体)はU+20611の子グリフとするべきだろう。
- 以上、皆さまの突っ込みを待った上で公開レビューへのコメントとしてまとめるつもり。