DOS EPS Binary 形式のファイルを通常の? EPS 形式に変換する備忘録です.
EPS形式 というのは,Encapsulated PostScript の略で,詳しくは,
Encapsulated PostScript - Wikipedia
辺りを見て頂くと良いと思いますが,まぁ,要するに昔から使われている文字情報を含む画像を取り扱うための形式です.
ところがこれ,主に改行(CRLF と LF の違い)の取り扱いが原因なんだと思いますが,Windows で作った場合と Unix/MacOS の場合で違ったフォーマットのものが出力されます.と言うことで,この Windows 環境で作った EPS ファイルを Unix/MacOS 環境で作られる EPS 形式に変換したかった.
で,結論は,
今のところ,Ghostscript に付属する,eps2eps を使うのが良さそう
です.
実際の変換例(Ubuntu on WSL での実行例)は以下の通り.
$ file a.eps a.eps: DOS EPS Binary File Postscript starts at byte 30 length 46701 TIFF starts at byte 46731 length 18384 $ eps2eps a.eps b.eps $ file b.eps b.eps: PostScript document text conforming DSC level 3.0, type EPS, Level 2
imagemagick とかでも変換できますが,どうもフォント等の情報が置き換えられてしまうようで,非常に汚い図に変換されてしまい,使い物になりません.
なお,eps2eps というのは,
$ man eps2eps PS2PS(1) Ghostscript Tools PS2PS(1) NAME ps2ps, eps2eps - Ghostscript PostScript "distiller" SYNOPSIS ps2ps [ options ] input output.ps eps2eps [ options ] input output.eps DESCRIPTION ps2ps uses gs(1) to convert PostScript(tm) or PDF(tm) file "input" to simpler, normalized and (usually) faster PostScript in "output.ps". The output is level 2 DSC 3.0 conforming PostScript. eps2eps performs the equivalent optimization, creating Encapsulated PostScript (EPS) files. NB, despite the name, the input need not be an EPS file, PostScript or indeed PDF files are equally acceptable. Both accept any general Ghostscript command line options, and options specific to the ps2write and eps2write devices. FILES Run "gs -h" to find the location of Ghostscript documentation on your system, from which you can get more details. SEE ALSO ps2pdf(1), ps2ascii(1), ps2epsi(1) VERSION This document was last revised for Ghostscript version 9.26. AUTHOR Artifex Software, Inc. are the primary maintainers of Ghostscript.
だそうで,要するに最適化した EPS ファイルを最適化するために用意されているプログラムで,こういう変換のためのプログラムではありませんが,最適化のついでにフォーマットもきちんと整えられるということみたいですね.
以上!