doraTeX / TeX2img

TeX2img for macOS
https://tex2img.tech
Other
26 stars 2 forks source link

Ghostscript 9.18 での変化への対応 #67

Closed doraTeX closed 8 years ago

doraTeX commented 8 years ago

ようやく Ghostscript 9.18 を試してみました。

52 でも話題になっていたように,gs 9.18 では,eps2write のデフォルト仕様が 9.16 から変更になっているようです。

確かに,9.16 では -dCompressPages=true -dASCII85EncodePages=false がデフォルトになっていて,バイナリ形式EPSを出力していたのに対し,9.18 では -dCompressPages=false -dASCII85EncodePages=true がデフォルトになって,デフォルトで「読めるテキストEPS」を出力するように戻ったようです。

Word 2011 へのEPS貼り付けの結果をまとめてみました。

というわけで,「テキスト形式EPS」がOFFのときの gs によるEPS生成は,eps2write に -dCompressPages=true を付けておくのがよさそうです。 「テキスト形式EPSがOFF」というUIと呼応させると,そのときは -dASCII85EncodePages=false も指定して gs 9.16 のときと同様にバイナリEPSを吐き出した方がよいかもしれません。

aminophen commented 8 years ago

9.16 では -dCompressPages=true -dASCII85EncodePages=false がデフォルトになっていて,バイナリ形式EPSを出力していたのに対し,9.18 では -dCompressPages=false -dASCII85EncodePages=true がデフォルトになって

私は 9.16 では -dCompressPages=true -dASCII85EncodePages=true だと思っていました。かすかな記憶では、gs9.16 のときは

だったのが、gs9.18 になったときに

のだと解釈していました。勘違いでしょうか?

あまり試したことがないので間違っていそう…

doraTeX commented 8 years ago

今改めて gs 9.16 で実験してみました。

よって,gs 9.16 ではやはり -dCompressPages=true -dASCII85EncodePages=false がデフォルトであったのだと思います。-dASCII85EncodePages は末尾のバイナリ部の吐き出し方に影響を与えています。

かつて末尾に少しだけ存在した明らかな本物の LZW バイナリは吐かなくなったが、依然 ASCII85Encode されたにすぎないテキストがある(これ)

こちらの環境では,gs 9.18 のデフォルトでは,「末尾まで完全に読めるテキストEPS」を出力しています。

aminophen commented 8 years ago

ありがとうございます。

gs 9.18 のデフォルトでは,「末尾まで完全に読めるテキストEPS」を出力しています。

gs9.19PRE ではまた状況が違うのかもしれませんね… しかも Word2011 だと gs9.18 のデフォルト(末尾まで完全に読めるテキストEPS)はぼやけて、-dCompressPages=true -dASCII85EncodePages=false だと綺麗ということは:「内容は同じはずなのに圧縮有無で見え方が違う」不思議です…

doraTeX commented 8 years ago

gs 9.16 と 9.18 を比較したテストファイルと結果一式はこちらです。

9.19 でまた状況が変わる予定となると,引き続き状況を注視してゆく必要があって危険ですね……。

バージョンによってこれだけ仕様がコロコロ変わるとなると,-dCompressPages-dASCII85EncodePages のパラメータ値はデフォルトに任せず,明示的に指定して固定した方が無難そうです。

もうすぐ Word 2016 が手に入る(会社で一括導入)予定なので,導入次第そちらでも状況をテストしてみます。 そちらでももし -dCompressPages=true -dASCII85EncodePages=false しておくことで綺麗に張り込めるという状況が同じであれば,eps2write 使用時はそれを明示指定するようにしましょう。

doraTeX commented 8 years ago

Office 2016 を入手したので試してみました。 Office 2016 は,どうもEPS全般を苦手にしているようで,不安定挙動を示します。

といった感じで,Office 2016 でEPS貼り付けはしない方がよさそうです。

2015-12-07 18 12 04

PDF貼り付け,EMF貼り付けは大丈夫です。

aminophen commented 8 years ago

Office 2016 の検証、ありがとうございます。PDF が貼り付けられるので安心しました。EMF も破線を綺麗に描けるようになりましたし、EPS を貼る必要は全くないと思います。