わお。そのファイルにはナンセンスがたくさんあります。同じフォントを何度も何度も再エンコードする。0 0 translate
. 1.00000000 1.00000000 scale
. wxWindows PostScript レンダラーと code::blocks のどちらが原因なのかわかりませんが、これは悪いPostScriptコードです。
回避策を作成しましたが、実際には修正されていません。責任者のいずれかがこれを読んでいる場合は、これを行わないでください。修正されたと考えてください。壊れてます。
とはいえ、このコードを直後に挿入する%%BeginProlog
と、はるかに良い結果が得られるようです。テキストの配置でスペース文字のサイズが間違っているようですので、すべてのフォントを少し縮小すると見栄えがよくなります。
/shrinkfont {
dup dup findfont dup length dict begin {
1 index /FID ne {
1 index /FontMatrix ne {
def
}{
.0008 exch .0008 exch
dup length array copy
scale def
} ifelse
} { pop pop } ifelse
} forall
currentdict end definefont pop pop
} def
/Courier shrinkfont
/Courier-Bold shrinkfont
/Courier-Oblique shrinkfont
AWK スクリプトとしてパッケージ化:
#shrinkfont.awk
!/%%BeginProlog/{print}
/%%BeginProlog/{
print "%%BeginProlog"
print " % modification by shrinkfont.awk"
print " /shrinkfont {"
print " dup dup findfont dup length dict begin"
print " {"
print " 1 index /FID ne {"
print " 1 index /FontMatrix ne {"
print " def"
print " }{"
print " .0008 exch .0008 exch"
print " dup length array copy"
print " scale def"
print " } ifelse"
print " } { pop pop } ifelse"
print " } forall"
print " currentdict end definefont pop pop"
print " } def"
print " /Courier shrinkfont"
print " /Courier-Bold shrinkfont"
print " /Courier-Oblique shrinkfont"
print " % end modification"
}
呼び出し:
awk -f shrinkfonts.awk postscripttest.txt > postscripttest.ps