Type 3 フォントが埋め込まれた古い PostScript データになっている論文をそこそこ綺麗な PDF にする

これを使う。CTAN: Package pkfix

以下利用例(論文ではないけれど)

$ pkfix-helper Lions\ -\ 1977\ -\ Lions\'\ Commentary\ on\ UNIX®\ 6th\ Edition.ps lions-helper.ps
Reading Lions - 1977 - Lions' Commentary on UNIX® 6th Edition.ps ... done.
Total number of Type 3 fonts encountered: 16
Bitmapped fonts are typeset at 300 DPI.
Finding character widths ... done.
Reading TFM files ... done (103 TFMs in 193 scaling variations).
Matching fonts:
    Processing Fn ... done (cmsl10 @ 1X, mismatch=0.53898).
    Processing Ff ... done (cmtt10 @ 1X, mismatch=0.19819).
    Processing Fg ... done (cmbx12 @ 1X, mismatch=0.36583).
    Processing Fi ... done (cmbx10 @ 1X, mismatch=0.42627).
    Processing Fk ... done (cmti10 @ 1X, mismatch=0.20169).
    Processing Fj ... done (cmbx12 @ 1.2X, mismatch=3.41283).
pkfix-helper: Best match for Fj is rather poor
    Processing Fe ... done (cmssi10 @ 1X, mismatch=0.37342).
    Processing Fo ... done (cmr17 @ 1X, mismatch=0.12955).
    Processing Fb ... done (cmsl10 @ 1.2X, mismatch=0.10469).
    Processing Fm ... done (cmr10 @ 1X, mismatch=0.20941).
    Processing Fp ... done (cmbx12 @ 2.0733X, mismatch=4.04419).
pkfix-helper: Best match for Fp is rather poor
    Processing Fc ... done (cmr12 @ 1.2X, mismatch=0.25500).
    Processing Fl ... done (cmsy10 @ 1X, mismatch=0.06818).
    Processing Fh ... done (cmmi10 @ 1X, mismatch=0.06707).
    Processing Fa ... done (cmtt12 @ 1.7283X, mismatch=1.23894).
pkfix-helper: Best match for Fa is rather poor
    Processing Fd ... done (cmmi7 @ 1X, mismatch=0.00003).
$ pkfix lions-helper.ps ../lions-fixed.ps
PKFIX 1.7, 2012/04/18 - Copyright (c) 2001, 2005, 2007, 2009, 2011, 2012 by Heiko Oberdiek.
*** Font conversion: `cmtt12' -> `CMTT12'.
*** Font conversion: `cmsl10' -> `CMSL10'.
*** Font conversion: `cmr12' -> `CMR12'.
*** Font conversion: `cmmi7' -> `CMMI7'.
*** Font conversion: `cmssi10' -> `CMSSI10'.
*** Font conversion: `cmtt10' -> `CMTT10'.
*** Font conversion: `cmbx12' -> `CMBX12'.
*** Font conversion: `cmmi10' -> `CMMI10'.
*** Font conversion: `cmbx10' -> `CMBX10'.
*** Font conversion: `cmbx12' -> `CMBX12'.
*** Font conversion: `cmti10' -> `CMTI10'.
*** Font conversion: `cmsy10' -> `CMSY10'.
*** Font conversion: `cmr10' -> `CMR10'.
*** Font conversion: `cmsl10' -> `CMSL10'.
*** Font conversion: `cmr17' -> `CMR17'.
*** Font conversion: `cmbx12' -> `CMBX12'.
*** Merging font `CMSL10' (2).
*** Merging font `CMBX12' (3).
==> 16 converted fonts.
==> 2 merged fonts.
$ ps2pdf lions-fixed.ps lions.pdf

利用したデータはこちらより > Commentary on the Sixth Edition UNIX Operating System

ここで配布している PDF はビットマップフォントが埋め込まれているのでちょっと悲しい。まあ LaTeX ソースも配布しているのでここから PDF 作るので十分なのですが、ほかにも Mach や L4 あたりの 90 年代の論文とかけっこう PostScript しかデータがないやつがいるので、それをビットマップで読むのはなにか悲しかったのでこういう方法を探していたとさ。