InDesign CS4におけるIVSとOpenTypeタグのあやしい関係

  • InDesign CS4はUnicodeのIVS(異体字シーケンス)をサポートしている。IVSは、親字に続けてU+E0100などの特殊な文字(異体字セレクタ)を入力することで、たとえば下図のようにグリフを指定するメカニズムである。


  • 同様のグリフ指定は、もちろんOpenTypeタグでも可能である(下図)。


  • では、1つの文字にIVSとOpenTypeタグで競合する指定を行ったらどうなるのだろう。U+990C「餌」を例として試してみた結果が、下図。横軸がIVS、縦軸がOpenTypeタグ。IVSの指定が顕在化しているものを青地、OpenTypeタグの指定が顕在化しているものを緑地で示した。白地は両者の指定が一致しているもの。


  • この例では、異体字セレクタがU+E0101またはU+E0102ならIVS優先、そうでなければOpenTypeタグ優先、というように見える。しかしInDesign CS4は、IVSとOpenTypeタグのどちらか一方を優先しているわけではない。ロジックとしては、まずIVSの指示にしたがった置換を行い、その結果に対してさらにOpenTypeタグを適用している(下図)。


  • 「餌」の例でU+E0101またはU+E0102による指定が顕在化しているのは、IVSによる置換結果であるCID+7643またはCID+13413が'jp90'などのタグの置換ターゲットではないため。
  • などと書きながら思うのだが、ここまで複雑化したものをまともに運用することが可能なのだろうか。ちなみにaaltタグがからむと、さらにややこしいことになる。その話は後日。