InDesignの漢字のワイルドカード

InDesignの検索には漢字のワイルドカードがあります。通常の検索では「^K」、正規表現検索では「~K」となります。

当初からマッチしない漢字があまりに多すぎて、使いものにならず、長年そのまま放置されてきました。
参考:InDesign CS3の漢字のメタ文字「~K」を検証する

それが2023のv18.2で、やっと抜本的に修正されました。実はまだ一部の漢字がマッチしないのですが、かなりマシになっています。ここではどの漢字がまだマッチしないのかを書いておきます。

Unicodeの漢字

InDesignはUnicodeベースなので、漢字はイコール「Unicodeの漢字」を意味します。下記でマッチするかどうか確かめました。

  • 2E80..2EFF CJK部首補助
  • 2F00..2FDF 康熙部首
  • 3005 々(漢字の踊り字)
  • 3007 〇(漢数字のゼロ)
  • 303B 〻(漢字の踊り字)
  • 3400..4DBF CJK統合漢字拡張A
  • 4E00..9FFF CJK統合漢字
  • F900..FAFF CJK互換漢字
  • 20000..2A6DF CJK統合漢字拡張B
  • 2A700..2B738 CJK統合漢字拡張C
  • 2B740..2B81D CJK統合漢字拡張D
  • 2B820..2CEA1 CJK統合漢字拡張E
  • 2CEB0..2EBE0 CJK統合漢字拡張F
  • 2F800..2FA1F CJK互換漢字補助
  • 30000..3134A CJK統合漢字拡張G
  • 31350..323AF CJK統合漢字拡張H

ダウンロード:漢字検索の検証-2023-v18.2.zip

CJK統合漢字拡張H

まず、「^K」「~K」ともにCJK統合漢字拡張Hのブロックがマッチしません。これは不具合ではなく仕様です。

InDesignのワイルドカードやメタ文字は、特定のUnicodeバージョンに準拠しており、2023(v18)が準拠しているのはUnicodeバージョン14です。CJK統合漢字拡張Hはバージョン15で追加されたブロックなので、そこにマッチしないのは仕様といえます。2024(v19)でバージョン15準拠となればマッチするようになるでしょう。

なお、Adobe-Japan1では、2023年1月18日リリースのCMapでCJK統合漢字拡張HのU+31350を追加しています。この文字にはまだマッチしません。

通常の検索「^K」

CJK部首補助の2E9Aと2EF4~2EFF、康煕部首の2FD6~2FDFがマッチしません。ここはUnicodeで文字が割り当てられていない箇所なのでマッチしなくても問題ないでしょう。

漢字の踊り字「々〻」の2文字がマッチしません。ここはマッチしてほしいところです、

正規表現検索「~K」

CJK部首補助と康熙部首のブロックが丸ごとマッチしません。「^K」でマッチしているので、ここもマッチしてほしいところです。

漢字の踊り字「々〻」と漢数字のゼロ「〇」の3文字がマッチしません。とくに漢数字のゼロがマッチしないのは不具合といってよいでしょう。

マッチしない箇所を含めて正規表現でマッチさせるには、このようにするよいでしょう。
[\x{2E80}-\x{2FDF}々〇〻~K\x{30000}-\x{3FFFF}]

まとめ

InDesign 2023 v18.2で改善された漢字のワイルドカードは、これまでと比べるとかなりの精度でマッチするようになっています。漢字の踊り字「々〻」と漢数字のゼロ「〇」の3文字には注意を要するものの、実用に耐えられると評価してよいでしょう。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です