epsをきれいなemfに変換する

TeXとかで普通使われるベクタイメージはepsですが、Wordとかではemfが使われます。
この2つを変換する方法はいろいろなところで紹介されていますが、ひどい出来になったりフォントが変わったりフォントがラスタライズされたりと、いまいちな物が多い印象です。

今回、epsからemfに綺麗なベクタイメージのまま変換する方法が分かったので書きます。
必要なものはGhostScriptとInkscapeです。
Inkscapeは普通の最新版はバグがあるのでPortable版がいいです。
(参考:http://inkscape.paix.jp/manual/overview/known-problems/)
GhostScriptのgswin32cが実行できるようにpathを通しておいてください。
(C:\Program Files\gs\gs9.10\bin とか)

  1. 以下の内容をoutline.batとかいう名前で保存する

gswin32c -dNOPAUSE -dBATCH -dNOCACHE -sDEVICE=epswrite -sOutputFile=%~n1_outline.eps %1
gswin32c -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -dEPSCrop -sOutputFile=%~n1_outline.pdf %~n1_outline.eps

  1. 「outline.bat epsファイル名」でepsをアウトライン化してpdfにする
  2. 生成されたpdfをInkscapeで開く
  3. Inkscapeでemf保存

これでフォントを含めアウトライン化された、元のepsと遜色ないemfが出来上がります。
batファイル内の-dNOCACHEが大事で、これがないとeps中の文字がラスタライズされてしまうみたいです。