2008/12/26

a2ps で作ったpsファイルを AcrobatDistiller でPDF化する(英語のみ)


1. english 環境で a2ps を実行する。
csh なら
$ eng a2ps ....
とやればOK


2. できた ps ファイルを編集。

/reentrant の定義後半 (153〜171行目)
163行目に dup を、167行目に pop を追加。(赤字部分)


...
currentdict /FontInfo known {
FontInfo

dup /UnderlinePosition known {
dup /UnderlinePosition get
0 exch FontMatrix transform exch pop
/UnderlinePosition exch def
} if

dup /UnderlineThickness known {
dup /UnderlineThickness get
0 exch FontMatrix transform exch pop
/UnderlineThickness exch def
} if
pop
} if
currentdict
end
} bind def
...

意味:
前のままだと、dup \UnderlineThickness known { ... } if で
{...}内を実行したときと、しなかったときで、スタックに積まれている要素が違ってきてしまっていた。{...}内を実行している分には何の支障もないが、実行しないと余分な要素がスタックに残ってしまう。ということで、{...}内を通るときも1つ残しておいて、出たらpopするようにしました。


意味的には以下のようにしてもOKかな。
ま、一つ上のifと同じようにしておいた方がきれいな気がするけど。

dup /UnderlineThickness known {
/UnderlineThickness get
0 exch FontMatrix transform exch pop
/UnderlineThickness exch def
} { pop } ifelse
参考ページ:
PostScript command summary
How to edit postscript
(日本語)
Postscript実習マニュアル (PDF・日本語)

2008/12/15

xdvi がアボートして落ちる

$ xdvi paper
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+0/600 --dpi 600 min10
mktexpk: don't know how to create bitmap font for min10.
kpathsea: Appending font creation commands to missfont.log.
xdvi: Error: Can't find font min10; using cmr10 instead. Expect ugly output.
xdvi-xaw3d.bin 22.84.10 j1.35 (Xaw toolkit): events.c:4144: Shouldn't happen: Segmentation fault - trying to clean up and aborting ...
アボート (coreを出力しました)

となってしまう。。。
フォント関係の何かがたりないのだろうけど、何がたりないのかがわからない。
似たような環境で、ちゃんと動いている環境と比べると、
/usr/share/texmf/fonts/vf/ptex/min10.vf
がないのが原因らしい。
てか、/usr/share/texmf/fonts/vf/ptex/ 以下にあるファイルが少なすぎ。。。

で、足りなかったのは、jvf という日本語仮想フォントのパッケージでした。
ってことで、下記を実行したら、解決しました。

# apt-get install jvf


追記:

てか、英語の文章のはずなのに、なぜに日本語フォントが必要なのだろう?
と思って調べてみたら、1つピリオド「.」が全角のピリオド「.」になってました。。。
気づいてよかった〜。