マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

XeTeX は IVS(Unicode 異体字セレクタ)に対応したようだが?

参考→以前の記事

また IVS が流行っているようだが……。

  • Support for variation selectors.

キタコレ!

…なので試してみた。(IPAex明朝における IVS の対応状況については以前の記事を参照。)

% 文字コードUTF-8; plain XeTeX 文書
\font\fIpaexm="IPAexMincho" \fIpaexm
% 最初の<葛>はIVS無し, 次はU+E0100付き, 最後はU+E0101付き
葛藤 / 奈良県葛󠄀城市 / 東京都葛󠄁飾区
\bye

わーい!!

補足
  • IVSの文字(U+E0100 等)を ^^^^^e0100 のように TeX エスケープ表記にしてもよい(以前の記事を参照)。何らかの理由で IVS を現物でなくマクロにした方がよい場合はこれを利用できる。
    \def\ivsA{^^^^^e0100} % VS17
    \def\ivsB{^^^^^e0101} % VS18
    
  • \XeTeXlinebreaklocale を設定していても問題ない。(Unicode の規定に従うと IVS の直前が行分割可能になるはずがないので。)
  • 残念ながら xeCJK では上手くいかない。多分、結合文字の場合と同じで「文字クラスを 256 に設定する」という方法が使えると思うが確かではない。