こちらでも検証してみました。
[テスト用文書ソース]
%\special{pdf:tounicode UTF8-UTF16}% ToUnicode 有無を切り替える Here's the \special{pdf:dest <E29883> [@thispage /XYZ @xpos @ypos null]}% SNOWMAN (UTF-8). \bigskip Here's the \special{pdf:dest <FEFF3020> [@thispage /XYZ @xpos @ypos null]}% POSTAL-FACE (UTF-16). \special{pdf:docview << /PageMode /UseOutlines >>} \special{pdf:outline [-] 1 % SNOWMAN, UTF-8 << /Title <E29883> /A << /S /GoTo /D <E29883> >> >>} \special{pdf:outline [-] 1 % SNOWMAN, UTF-16 << /Title <FEFF2603> /A << /S /GoTo /D <FEFF2603> >> >>} \special{pdf:outline [-] 1 % POSTAL-FACE, UTF-8 << /Title <E380A0> /A << /S /GoTo /D <E380A0> >> >>} \special{pdf:outline [-] 1 % POSTAL-FACE, UTF-16 << /Title <FEFF3020> /A << /S /GoTo /D <FEFF3020> >> >>} \bye
結果:
リンク元 | リンク先 | ① dvi ToUni有 |
② 旧xdv ToUni無 |
③ 旧xdv ToUni有 |
④ 新xdv ToUni無 |
⑤ 新xdv ToUni有 |
---|---|---|---|---|---|---|
UTF-8 | UTF-8 | ○ | ○ | × | × | ○ |
UTF-16 | UTF-8 | × | ○ | ○ | × | × |
UTF-8 | UTF-16 | × | ○ | × | ○ | × |
UTF-16 | UTF-16 | ○ | ○ | ○ | ○ | ○ |
dvi: uptex + dvipdfmx
旧xdv: xetex + xdvipdfmx(TeX Live 最新)
新xdv: xetex + xdvipdfmx(W32TeX 最新)
修正の目的は、「①と⑤を同じにすること」であり、確かにそれは実現できています。しかし、(少なくとも自分の感覚としては)XeTeX では ToUnicode を指定することは一般的でなく、②と④(そしてその中でも最初のパターン「UTF-8・UTF-8」)が“最も自然な使い方”でしょう。その観点から見ると、残念ながら劣化していることになります。