InDesign CS3の漢字のメタ文字「~K」を検証する

  • 個人的に期待する動作は、CJK統合漢字、CJK統合漢字拡張A、CJK統合漢字拡張B、CJK互換漢字、CJK互換漢字追加にヒットすること。それ以外の漢字と見なせる文字については、ヒットしてもしなくても(一貫性さえあれば)どちらでもいい。
  • まず、基本となる(拡張AやBではない)CJK統合漢字に、メタ文字「~K」はヒットする。細かく言うと、Unicode 4.1(2005年3月)で追加された22文字(図では符号位置を青字で表現)まではヒットし、Unicode 5.1(2008年3月)で追加された8文字(図では符号位置を赤字で表現)にはヒットしない。これはリリース時期を考えると当然だろう。以下の図では、「~K」がヒットする文字を黄色地で、ヒットしない文字をグレー地で示す。また、ヒラギノ角ゴProNでUnicodeマッピングのない文字は図ではゲタとするが、以下の図に示す符号位置には(Unicodeの規格自体には)すべて文字の割り当てが存在し、検索の対象となる。


  • CJK統合漢字拡張AはU+3400..U+4DB5だが、「~K」はこのうちU+3400..U+40B5にヒットし、それ以降にはヒットしない(下図)。CJK統合漢字拡張Aブロック中で文字の割り当てられている最後の符号位置U+4DB5の「D」を誰かが「0」と見間違った結果ではないかという気がしないでもない。いずれにせよバグだろう。


  • CJK互換漢字のうちKS X 1001ソースの文字とBig 5ソースの文字については、「~K」はすべてにヒットする(下図)。


  • CJK互換漢字のうちIBMソースの32文字では、「~K」は「互換漢字という名の統合漢字」12文字にヒットしない(下図)。これは明らかにバグ。


  • CJK互換漢字のうちJIS X 0213ソースの文字については、「~K」はすべてにヒットする(下図)。


  • CJK互換漢字のうちDPRKソースの部分については、「~K」はほとんどの文字にヒットするが、U+FACF..U+FAD1の3文字にはヒットしない(下図)。理由は謎。DPRKソースのCJK互換漢字は、Unicode 4.1で追加されたものである。CJK統合漢字およびCJK互換漢字のサポート状況から、「~K」の実装においてはUnicode 4.1または5.0を参照しているものと考えられる。


  • ところが「~K」は、Unicode 3.1(2001年3月)で追加されたCJK統合漢字拡張Bに、まったくヒットしない(下図)。


  • 同じくUnicode 3.1で追加されたCJK互換漢字追加にも、まったくヒットしない(下図)。


  • 「~K」は、丸付き漢字にヒットする(下図)。


  • しかし「~K」は、括弧付き漢字にはヒットしない(下図)。どういうロジックなのか、さっぱりわからない。


  • 「~K」は、康煕部首ブロックの文字にはヒットしない(下図)。


  • 「~K」は、CJK部首補助ブロックの文字にはヒットしない(下図)。


  • 「~K」は、漢文用記号ブロックの漢字にはヒットしない(下図)。