dvisvgm のデフォルトでは,現在の場合必要な
font map file が読めません。 dvisvgm のコマンドライン
が
dvisvgm --fontmap=+kanjix.map dvifilename
となるようにすると,成功するでしょう。
Akira Kakuto 様
ありがとうございます、大変助かりました。
もう一点お聞きしたいことがあります.
以下のようなドキュメント部が平仮名 (例として "あいうえお") のみでできている tex ファイルを uplatex で dvi に変換し、それをさらに dvisvgm により svg に変換することはできました.
====================
\documentclass[uplatex]{standalone}
\begin{document}
あいうえお
\end{document}
\begin{document}
あいうえお
\end{document}
====================
しかし以下のようにドキュメント部に漢字が含まれていると、同じ手順を踏んでもうまく svg に変換できませんでした(文字化けのようなことが起きてしまいました).
====================
\documentclass[uplatex]{standalone}
\begin{document}
漢字
\end{document}
\begin{document}
漢字
\end{document}
====================
これはどのような原因によるものなのでしょうか?初心者の質問で申し訳ありませんが, よろしくお願いいたします.

> しかし以下のようにドキュメント部に漢字が含まれていると、
> 同じ手順を踏んでもうまく svg に変換できませんでした
> (文字化けのようなことが起きてしまいました)
まさかと思いましたが本当ですね。おそらく dvisvgm が encoding
を取り扱う際に何かの不完全性があるのだと思われます。
uplatex ではなくて,platex を使用すると大丈夫のようです。
なお,dvisvgm のコマンドラインは
dvisvgm --fontmap==kanjix.map dvifilename
のほうが良いでしょう。= が二つあることに注意して下さい。
> 同じ手順を踏んでもうまく svg に変換できませんでした
> (文字化けのようなことが起きてしまいました)
まさかと思いましたが本当ですね。おそらく dvisvgm が encoding
を取り扱う際に何かの不完全性があるのだと思われます。
uplatex ではなくて,platex を使用すると大丈夫のようです。
なお,dvisvgm のコマンドラインは
dvisvgm --fontmap==kanjix.map dvifilename
のほうが良いでしょう。= が二つあることに注意して下さい。
> まさかと思いましたが本当ですね。おそらく dvisvgm が encoding
> を取り扱う際に何かの不完全性があるのだと思われます。
> uplatex ではなくて,platex を使用すると大丈夫のようです。
uplatex を使う場合,
%%uprml-h UniJIS-UTF16-H ipaexm.ttf %!PS IPAexMincho
uprml-h UniJIS-UCS2-H ipaexm.ttf %!PS IPAexMincho
なる2行だけのファイル test.map をカレントディレクトリに置き,
dvisvgm --fontmap==kanjix.map,=test.map dvifilename
とすると,OK になります。
test.map は,kanjix.map に置ける encoding UniJIS-UTF16-H
を UniJIS-UCS2-H に変更するものです。
よく理解していませんが,dvisvgm の場合,UniJIS-UTF16-H では
うまく行かないが,UniJIS-UCS2-H ではうまく行くようです。
> を取り扱う際に何かの不完全性があるのだと思われます。
> uplatex ではなくて,platex を使用すると大丈夫のようです。
uplatex を使う場合,
%%uprml-h UniJIS-UTF16-H ipaexm.ttf %!PS IPAexMincho
uprml-h UniJIS-UCS2-H ipaexm.ttf %!PS IPAexMincho
なる2行だけのファイル test.map をカレントディレクトリに置き,
dvisvgm --fontmap==kanjix.map,=test.map dvifilename
とすると,OK になります。
test.map は,kanjix.map に置ける encoding UniJIS-UTF16-H
を UniJIS-UCS2-H に変更するものです。
よく理解していませんが,dvisvgm の場合,UniJIS-UTF16-H では
うまく行かないが,UniJIS-UCS2-H ではうまく行くようです。
Akira Kakuto 様
uplatex の場合の解決法まで調べてくださり, 本当にありがとうございました.
私が抱える問題が解決され, 大変助かりました.
後学のために少しお聞きしたいのですが, たとえばここで uprml-h 以外の日本語フォントを uplatex で用いようとするとどうなるでしょうか?
初心者の私だと欧文フォントや数式フォントの変更等による影響も dvisvgm にはありえるのかな, と心配になってしまいます.
その時にはおそらく test.map も変更が必要になると思うので, この機会にぜひお聞きしたいです.
お手数のかからない範囲で良いので, 教えていただけると幸いです. よろしくお願いいたします.
dvisvgm はデフォルトで ps2pk.map, pdftex.map, dvipdfm.map, psfonts.map
を読みます。欧文フォントについては,おそらく問題が起きることは
殆ど無いのではないかと思います。
日本語フォントについては,--fontmap==kanjix.map で失敗する部分
は test.map で UniJIS-UTF16 --> UniJIS-UCS2,
--fontmap==kanjix.map,=test.map
などでテストして見て下さい。なお kanjix.map は TeX Live の場合
$TEXMFDIST/fonts/map/dvipdfmx/updmap
にあると思います。
を読みます。欧文フォントについては,おそらく問題が起きることは
殆ど無いのではないかと思います。
日本語フォントについては,--fontmap==kanjix.map で失敗する部分
は test.map で UniJIS-UTF16 --> UniJIS-UCS2,
--fontmap==kanjix.map,=test.map
などでテストして見て下さい。なお kanjix.map は TeX Live の場合
$TEXMFDIST/fonts/map/dvipdfmx/updmap
にあると思います。