upLaTeX + dvipdfmx で波ダッシュ「〜」(U+301C) が 全角チルダ「~」(U+FF5E) で表示される

upLaTeX + dvipdfmx で波ダッシュ「〜」(U+301C) が 全角チルダ「~」(U+FF5E) で表示される

- 匿 名 の投稿
返信数: 2

W32TeX [2014-01-15] を使用しています.
以下の様な wave_dash.tex を upLaTeX + dvipdfmx で処理しようとすると
波ダッシュ「〜」(U+301C) が 全角チルダ「~」(U+FF5E) で表示されます.

\ifdefined\kanjiskip
  \ifdefined\ucs
    \documentclass[uplatex]{jsarticle}
  \else
    \documentclass{jsarticle}
  \fi
\else
  \ifdefined\directlua
    \documentclass{ltjsarticle}
    \usepackage[ms]{luatexja-preset}
  \else
    \documentclass[xelatex]{bxjsarticle}
    \usepackage{zxjatype}
    \setjamainfont{MS Mincho}
  \fi
\fi
\begin{document}

波ダッシュ「〜」(U+301C)

全角チルダ「~」(U+FF5E)

\end{document}

以下のように uplatex でタイプセットして dvipdfmx で処理するときに MS-Mincho を埋め込みました.

uplatex wave_dash.tex
dvipdfmx -f msmingoth.map wave_dash.dvi

upLaTeX で出力された DVI ファイルを dviout で表示してみると波ダッシュは正しく表示されているようです.
pLaTeX で出力された DVI ファイルは dviout で表示してみると波ダッシュが全角チルダで表示されていました.
XeLaTeX, LuaLaTeX で出力された PDF ファイルは波ダッシュが正しく表示されました.
upLaTeX + dvipdfmx で波ダッシュを表示するにはどのようにしたらいいのでしょうか?
よろしくお願いします.

匿 名 への返信

Re: upLaTeX + dvipdfmx で波ダッシュ「〜」(U+301C) が 全角チルダ「~」(U+FF5E) で表示される

- Akira Kakuto の投稿
UniJIS-UTF16-H を見てみると,
U+301C も U+FF5E も同じ CID 665 にマップされて
いるのが理由だと思います。
Akira Kakuto への返信

Re: upLaTeX + dvipdfmx で波ダッシュ「〜」(U+301C) が 全角チルダ「~」(U+FF5E) で表示される

- 匿 名 の投稿

Kakuto さん返信ありがとうございます.

> kpsewhich -format=cmap UniJIS-UTF16-H
c:/w32tex/share/texmf-dist/fonts/cmap/adobemapping/aj16/CMap/UniJIS-UTF16-H

で UniJIS-UTF16-H の場所を確認してファイルの中を見ると
U+301C も U+FF5E も同じ CID 665 にマップされていました.
ZR さんの解説
を参考にして msmingoth.map の

uprml-h UniJIS-UTF16-H  :0:msmincho.ttc

uprml-h unicode :0:msmincho.ttc

に修正した msmingoth_wave_dash.map を作成して

dvipdfmx -f msmingoth_wave_dash.map wave_dash.dvi

を実行したところ波ダッシュが表示されました.
Kakuto さん,ZR さん,わかりやすい解説ありがとうございました.