tgifで描いた図をepsで出力
↓
texのソースにpsfragを用いて文字の変換などを記述
↓
ターミナルで「platex filename」と打ってreturnキー
↓
出来上がったdviファイルをターミナルで「dvips filename」と打ってreturenキー
↓
変換して出来たpsファイルをプレビューで表示
以上の手順でやりました。
プレビューで表示した時、postscript変換エラーで「IPAMincho-H not found, using Courier.」と出て、確認すると日本語に変換しようとした箇所で文字化けが起きました。
psファイルをのせるので、文字化けの確認と解決策をご教授ください。
tgif が出力する eps には tgif で設定した日本語フォント指定が書き込まれます。
これを TeX で処理して dvips で出力したps ファイルには、TeX で設定した日本語
フォントとtgifで設定した日本語フォントの両方の指定が書き込まれます。
TeX用にフォント設定されたGhostscriptに、tgifのフォントが設定されていない
のかも知れません。
%% とは言え「IPA明朝が表示できない」ってのも変ですね。
(確認) tgif の図に直接日本語を記入しませんでしたか?
たとえ英文しか記入されていないように見えても、入力時の最初に日本語モードに
なっていて、それを英語に切り替えて英文を記入したときには、出力されたepsには
日本語のフォント指定が残ってしまいます。
tgifのepsに日本語指定を一切残さず、日本語はすべて psfrag 経由の置換で行なうと
文字化けしないかも知れません。
これを TeX で処理して dvips で出力したps ファイルには、TeX で設定した日本語
フォントとtgifで設定した日本語フォントの両方の指定が書き込まれます。
TeX用にフォント設定されたGhostscriptに、tgifのフォントが設定されていない
のかも知れません。
%% とは言え「IPA明朝が表示できない」ってのも変ですね。
(確認) tgif の図に直接日本語を記入しませんでしたか?
たとえ英文しか記入されていないように見えても、入力時の最初に日本語モードに
なっていて、それを英語に切り替えて英文を記入したときには、出力されたepsには
日本語のフォント指定が残ってしまいます。
tgifのepsに日本語指定を一切残さず、日本語はすべて psfrag 経由の置換で行なうと
文字化けしないかも知れません。
またまた追記です。
ghostscriptのps2pdfで変換を試みてみました。
$ ps2pdf filename
でpsをpdfに変換したところ、見事に文字化けしていました。
Linuxでは正しく表示されたということなので、おそらくpsをpdfに変換する際にエラーが起きているものと思われます。
他の手段はないのでしょうか。
psfragという名の通りpsに変換する際に強引に文字を置き換える手法なので、dviから直接pdfに変換するdvipdfmxを使っても無意味ですし、今のところ手詰まりです。
ghostscriptのps2pdfで変換を試みてみました。
$ ps2pdf filename
でpsをpdfに変換したところ、見事に文字化けしていました。
Linuxでは正しく表示されたということなので、おそらくpsをpdfに変換する際にエラーが起きているものと思われます。
他の手段はないのでしょうか。
psfragという名の通りpsに変換する際に強引に文字を置き換える手法なので、dviから直接pdfに変換するdvipdfmxを使っても無意味ですし、今のところ手詰まりです。
大体の理由が分かったかもしれません。
そもそもですが、「IPAMincho-H」なんてフォントを私は持っていませんから文字化けするはずです。
IPA明朝ならありますが、Hタイプのは以下のサイトでも配布されていませんからフォントをインストールできません。
http://ipafont.ipa.go.jp/ipafont/download.html
もしかすると、これはpsfrag.styに問題があるのでしょうか?
それ以外でも解決策があればお願いします。
追記
psファイルをテキストエディットで開いてみると、IPAMincho-Hと書かれた項目がありました。
なので、dviからpsに変換する際に文字を「IPAMincho-H」に指定されたのかもしれません。
この指定を変えることが出来ればいけそうなのですが・・・
そもそもですが、「IPAMincho-H」なんてフォントを私は持っていませんから文字化けするはずです。
IPA明朝ならありますが、Hタイプのは以下のサイトでも配布されていませんからフォントをインストールできません。
http://ipafont.ipa.go.jp/ipafont/download.html
もしかすると、これはpsfrag.styに問題があるのでしょうか?
それ以外でも解決策があればお願いします。
追記
psファイルをテキストエディットで開いてみると、IPAMincho-Hと書かれた項目がありました。
なので、dviからpsに変換する際に文字を「IPAMincho-H」に指定されたのかもしれません。
この指定を変えることが出来ればいけそうなのですが・・・
IPAMincho-H の「-H」は CMapテーブルの指定で、フォント名の一部ではありません。
ですので普通のIPA明朝がインストールされていれば、表示は可能です。
ps2pdf は ghostscript を用いた変換スクリプトですので、まずは角藤先生の添付された
ghostscriptの設定例を試してみることをお勧めします。
ただ私は「psfragを使用しなければ日本語が表示できていた」という事実が気になります。
この表示できていたときのpsの日本語フォント指定も、 grep -i documentfont などで
調べてみた方が良いと思います。また tgifの生成した eps も調べてみて下さい。
ですので普通のIPA明朝がインストールされていれば、表示は可能です。
ps2pdf は ghostscript を用いた変換スクリプトですので、まずは角藤先生の添付された
ghostscriptの設定例を試してみることをお勧めします。
ただ私は「psfragを使用しなければ日本語が表示できていた」という事実が気になります。
この表示できていたときのpsの日本語フォント指定も、 grep -i documentfont などで
調べてみた方が良いと思います。また tgifの生成した eps も調べてみて下さい。
私は普段Texworksを使っており、そのためタイプセットをすると自然にdviを作ってpdfを出力してくれるので、いちいちターミナルでplatex→dvips→ps2pdfないし、platex→dvipdfmxをしたりしていませんでした。
そこで過去に作った書類をいつもの手順と違うplatex→dvips→ps2pdfのやり方でやってみました。
すると、ps2pdfの手順でターミナルにエラーメッセージが表示されました。
一応出来上がったpdfをみると、日本語が全て文字化けしていました。
いままで気づかなかったのですが、結構異常です。
このときはps自体をプレビューで開けませんでしたが、texソースのプリアンブルに、
usepackage[dvipdfmx]{graphicx}
と書いていたので、オプションを[dvips]に変えてplatexを実行すると、psファイルをプレビューで見ることが出来ました。
しかしこのときも日本語が文字化けしていましたから、すいません嘘言っていました。
いつもtexworksの「command + t」でタイプセットをやっていたので気づきませんでした。
原因はplatexのときに日本語がIPAMincho-Hに設定されているものだと思われます。
私はこのフォントをどうやっても表示できないので、ヒラギノで表示したいと思います。
駄文ですが、やり方があれば教えてください。
そこで過去に作った書類をいつもの手順と違うplatex→dvips→ps2pdfのやり方でやってみました。
すると、ps2pdfの手順でターミナルにエラーメッセージが表示されました。
一応出来上がったpdfをみると、日本語が全て文字化けしていました。
いままで気づかなかったのですが、結構異常です。
このときはps自体をプレビューで開けませんでしたが、texソースのプリアンブルに、
usepackage[dvipdfmx]{graphicx}
と書いていたので、オプションを[dvips]に変えてplatexを実行すると、psファイルをプレビューで見ることが出来ました。
しかしこのときも日本語が文字化けしていましたから、すいません嘘言っていました。
いつもtexworksの「command + t」でタイプセットをやっていたので気づきませんでした。
原因はplatexのときに日本語がIPAMincho-Hに設定されているものだと思われます。
私はこのフォントをどうやっても表示できないので、ヒラギノで表示したいと思います。
駄文ですが、やり方があれば教えてください。
[1] これまでの環境で出力するなら
普段 dvipdfmx をお使いになっているのに dvips が必要になるのは
psfrag が dvipdfmx に対応していないからですよね。ならば
(1) psfrag.sty の代りに overpic.sty を用いる。奥村先生の
http://oku.edu.mie-u.ac.jp/~okumura/documents/texconf11.pdf
の77ページから説明があります。
(2) tgif の図はPDFで出力する。既存の図はPDFに変換する。
[2] dvips による出力環境も整備するなら、ヒラギノを利用可能にする。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Mac#i9febc9b
普段 dvipdfmx をお使いになっているのに dvips が必要になるのは
psfrag が dvipdfmx に対応していないからですよね。ならば
(1) psfrag.sty の代りに overpic.sty を用いる。奥村先生の
http://oku.edu.mie-u.ac.jp/~okumura/documents/texconf11.pdf
の77ページから説明があります。
(2) tgif の図はPDFで出力する。既存の図はPDFに変換する。
[2] dvips による出力環境も整備するなら、ヒラギノを利用可能にする。
http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?Mac#i9febc9b
TeXの側からはちゃんと認識されていますね。
過去に類似のスレがありました。これも解決していませんね。
https://okumuralab.org/tex/mod/forum/discuss.php?d=933
結局つぎのような事でしょう。
(1) dvips での日本語フォントの「埋め込み」は、フォント自体を埋め込んでいるのではなく
Ryuminなどの仮のフォント名を実際に用いるフォント名に置き換えているだけ。
なので ps のインタプリタがそのフォントを探し出せねばならない。
(2) ghotscript の設定なら、先の角藤先生の投稿を参考にすればよい。
これで ghostscript でプレビューすることはできるはずです。
あるいは ps2pdf でPDFにしてからプレビューできる。
(3) Mac のプレビュアーについては、すみません、私にはわかりません。
ただおそらく、このプレビュアーの設定で解決すると思われます。
# もしかしたら「非埋め込み」にすれば、Ryuminなどからの代替を
# やってくれるかも
とりあえず(2)が出来るようにしてみては如何でしょう。
過去に類似のスレがありました。これも解決していませんね。
https://okumuralab.org/tex/mod/forum/discuss.php?d=933
結局つぎのような事でしょう。
(1) dvips での日本語フォントの「埋め込み」は、フォント自体を埋め込んでいるのではなく
Ryuminなどの仮のフォント名を実際に用いるフォント名に置き換えているだけ。
なので ps のインタプリタがそのフォントを探し出せねばならない。
(2) ghotscript の設定なら、先の角藤先生の投稿を参考にすればよい。
これで ghostscript でプレビューすることはできるはずです。
あるいは ps2pdf でPDFにしてからプレビューできる。
(3) Mac のプレビュアーについては、すみません、私にはわかりません。
ただおそらく、このプレビュアーの設定で解決すると思われます。
# もしかしたら「非埋め込み」にすれば、Ryuminなどからの代替を
# やってくれるかも
とりあえず(2)が出来るようにしてみては如何でしょう。
プレビューが Ghostscript に関係しているとは思いませんが,参考までに。
Ghostscript で OpenType フォントを使うには,かなりの準備が必要です:
(1) Resource/CIDFont/ に PostScript 名でフォントを置く
(2) Resource/Font に HiraMinProN-W3-H なる名前で
内容が /HiraMinProN-W3-H /H [/HiraMinProN-W3] composefont pop
のようなファイルをそれぞれのフォントに対して置く。
W32TeX の場合は ps2otfps.exe を使うことにより,(2) は不要に
なっています。
Ghostscript で OpenType フォントを使うには,かなりの準備が必要です:
(1) Resource/CIDFont/ に PostScript 名でフォントを置く
(2) Resource/Font に HiraMinProN-W3-H なる名前で
内容が /HiraMinProN-W3-H /H [/HiraMinProN-W3] composefont pop
のようなファイルをそれぞれのフォントに対して置く。
W32TeX の場合は ps2otfps.exe を使うことにより,(2) は不要に
なっています。
Mac にもそのための ports があるようです。
https://okumuralab.org/tex/mod/forum/discuss.php?d=665
の下の方。 ちょっと情報が古いですが…
https://okumuralab.org/tex/mod/forum/discuss.php?d=665
の下の方。 ちょっと情報が古いですが…
日本語化されたGhostscriptにならありますが、MacTeX標準搭載のGhostscriptにはないようです。
遅くなりましたが、問題が解決しました。
まずIPAMincho-Hというのが何なのかが当初分からずフォントの名前なのかと思っていました。
ですが実際は「どのフォントを使うかを指定したテキスト」であったことが分かりました。
IPAMincho-Hと言うからにはipam.ttfを使うべきですが、私はヒラギノ(HiraMinPro-W3)を使うように設定しました。
添付テキストに書いてある通りです。
これをGhostscriptのResourceに置いてps2pdfを使うと文字化けせずに出力されました。
ただ、psをpdfに変換する際になぜ「IPAMincho-H」を使うように設定されてあるのかは不明です。
皆さんありがとうございました。
遅くなりましたが、問題が解決しました。
まずIPAMincho-Hというのが何なのかが当初分からずフォントの名前なのかと思っていました。
ですが実際は「どのフォントを使うかを指定したテキスト」であったことが分かりました。
IPAMincho-Hと言うからにはipam.ttfを使うべきですが、私はヒラギノ(HiraMinPro-W3)を使うように設定しました。
添付テキストに書いてある通りです。
これをGhostscriptのResourceに置いてps2pdfを使うと文字化けせずに出力されました。
ただ、psをpdfに変換する際になぜ「IPAMincho-H」を使うように設定されてあるのかは不明です。
皆さんありがとうございました。
ようやく今日になって事情が呑み込めた気がするのですが;
TeX システムで,代表的なDVIウェアに対する日本語フォント設定が,IPAフォント埋込みになるような設定をどこかでされていませんか?
たとえば,
kanji-config-updmap-sys ipa
といったコマンドを過去に実行していた,など.
PSファイルの時点で /IPAMincho-H が書かれているならば,PSを解釈するソフト(Ghostscript 本体やそれを使う ps2pdf, Ghostscript とは関係ないMacのプレビューなど)が,/IPAMincho-H を解釈できるようにしてあげないといけないわけですね.
TeX システムで,代表的なDVIウェアに対する日本語フォント設定が,IPAフォント埋込みになるような設定をどこかでされていませんか?
たとえば,
kanji-config-updmap-sys ipa
といったコマンドを過去に実行していた,など.
PSファイルの時点で /IPAMincho-H が書かれているならば,PSを解釈するソフト(Ghostscript 本体やそれを使う ps2pdf, Ghostscript とは関係ないMacのプレビューなど)が,/IPAMincho-H を解釈できるようにしてあげないといけないわけですね.
勘違いしておられるのではないかと思いますが、あなたのおっしゃる「Tgif の日本語化」と
はメニューの日本語化のことではないでしょうか。Tgif.SquareDoubleByteFont とは、
メニューの日本語化とは関係ありません。私よりもっと説明のうまい人が説明すればいい
のだと思いますが、一応説明します。
Tgif の図の中であなたが日本語を書いたときに、その日本語に PostScript フォント名
が割り当てられ、PS や EPS ファイルとして出力するときに、その文字列にそのフォント
名が割り付けられて出力されているのですが、Tgif の中でその日本語用のフォント名を
決めているのが、Tgif.SquareDoubleByteFont というリソースです。
Tgif で日本語を入力するときに、「あ」とかいうものを選んでフォントを日本語にしてから
入力していると思いますが、多分そのときに PostScript フォント名も Tgif の右上、ある
いは下の方に表示されると思います。その設定があなたの場合は IPAMincho-H にな
っているんでしょう。だから tgif はそういうフォント名を含むPSファイルを作るわけです。
PS ファイルに含まれる IPAMincho-H をなんとかそのまま使えるようにしたいなら、gs
や dvips などの設定を修正することになりますが、元々 tgif が出力してしまう
IPAMincho-H とかいう PSフォント名を、もっとより普遍的な Ryumin-Light-H とか
いう名前に変えたいなら、tgif の設定を変えることになります。
ちなみに、Tgif は、IPAMincho-H という設定がされていれば、そのようなフォントがある
かどうか、そのフォント名が正しいかどうか、などは全く考えずに、日本語に対してそういう
名前の PS フォント名を出力します。
あなたが自分の ~/.Xdefaults を変更してないのであれば、システムのデフォルトの
X のリソースファイルか、Tgif 用のデフォルトのリソースファイルでそう設定されているの
でしょう。しかし多分あなたの~/.Xdefaults に設定をすれば、それがシステムの設定を
上書きしてくれるのではないかと思います。詳しいやり方については、あなたのシステムに
関する X のリソースの変更方法の説明をインターネットなどで探してください。
私は Mac は使いませんので、状況は詳しくは知りません。xrdb や sed は、そちらの
環境での説明としては不適切だったのかもしれません。どうもすみません。
はメニューの日本語化のことではないでしょうか。Tgif.SquareDoubleByteFont とは、
メニューの日本語化とは関係ありません。私よりもっと説明のうまい人が説明すればいい
のだと思いますが、一応説明します。
Tgif の図の中であなたが日本語を書いたときに、その日本語に PostScript フォント名
が割り当てられ、PS や EPS ファイルとして出力するときに、その文字列にそのフォント
名が割り付けられて出力されているのですが、Tgif の中でその日本語用のフォント名を
決めているのが、Tgif.SquareDoubleByteFont というリソースです。
Tgif で日本語を入力するときに、「あ」とかいうものを選んでフォントを日本語にしてから
入力していると思いますが、多分そのときに PostScript フォント名も Tgif の右上、ある
いは下の方に表示されると思います。その設定があなたの場合は IPAMincho-H にな
っているんでしょう。だから tgif はそういうフォント名を含むPSファイルを作るわけです。
PS ファイルに含まれる IPAMincho-H をなんとかそのまま使えるようにしたいなら、gs
や dvips などの設定を修正することになりますが、元々 tgif が出力してしまう
IPAMincho-H とかいう PSフォント名を、もっとより普遍的な Ryumin-Light-H とか
いう名前に変えたいなら、tgif の設定を変えることになります。
ちなみに、Tgif は、IPAMincho-H という設定がされていれば、そのようなフォントがある
かどうか、そのフォント名が正しいかどうか、などは全く考えずに、日本語に対してそういう
名前の PS フォント名を出力します。
あなたが自分の ~/.Xdefaults を変更してないのであれば、システムのデフォルトの
X のリソースファイルか、Tgif 用のデフォルトのリソースファイルでそう設定されているの
でしょう。しかし多分あなたの~/.Xdefaults に設定をすれば、それがシステムの設定を
上書きしてくれるのではないかと思います。詳しいやり方については、あなたのシステムに
関する X のリソースの変更方法の説明をインターネットなどで探してください。
私は Mac は使いませんので、状況は詳しくは知りません。xrdb や sed は、そちらの
環境での説明としては不適切だったのかもしれません。どうもすみません。