Distiller を使って PDF を作成していますが,変換に失敗する PS ファ
イルがあります.なんとか変換したいので,御助言をお願い致します.
PDF の作成手順は以下の通りです.
1.epsf.sty で EPS file を読み込む jLaTeX 2.09 ソース
↓
2.jLaTeX 2.09にて作成した dvi ファイル
↓
3.dvipsk 5.78 p1.4c で変換した PS ファイル
↓
4.Adobe Distiller 4.0 で変換した PDF ファイル
手順3までは,問題なく作成できています
(ghostview で確認し,EPS も問題なく表示されます).
しかし,最後の Adobe Distiller 4.0 での変換が,時々失敗に終りま
す.その時のエラー表示は以下のようになっています.
=============================================
%%[ Error: rangecheck; OffendingCommand: get ]%%
Stack:
1
[[-170 -331 1024 903]]
0
0
/descender
[(6IB&C<;R)]
-save-
-save-
%%[ Flushing: rest of job (to end-of-file) will be ignored ]%%
%%[ Warning: PostScript error. No PDF file produced. ] %%
=============================================
エラーの中に出てくる "/descender" は読み込む EPS ファイルの中で
定義されています.大抵の EPS ファイルは tgif で作成したもので,
"%!PS-Adobe-2.0 EPSF-1.2" のヘッダがついています.同時に gnuplot
で作成した EPS ファイルも読み込まれていますが,こちらでは問題は
出ていません(/descender なし).
変換に失敗した PS に含まれていた /descender 付きの EPS ファイル
は,単体で Distiller にかけても変換に失敗し,gnuplot で作成した
/descender なしの EPS ファイルは,単体でも PDF に変換されました.
/descender を含む EPS ファイルは 100% エラーを出すかは,まだ,
確認していません.
問題の出た EPS ファイルから /descender が出てくる部分を抜き出し
たのが,以下の部分です.そっくり除去すると,後で ishow が未定義
だというエラーが出ます.
=============================================
/xdescender {
begin 0
FontType 0 eq
{ FDepVector dup length 1 sub get xdescender }
{ [FontBBox] 1 get } ifelse
FontMatrix transform exch pop end
} def
/ishow {
0 begin
gsave
fgred fggreen fgblue setrgbcolor
WhiteBg eq /drawBg exch def
/fontDict printFont findfont printSize scalefont dup setfont def
/descender fontDict xdescender def
/vertoffset 0 descender sub printSize sub printFont /Courier ne
printFont /Courier-Bold ne and { 1 add } if def {
drawBg {
newpath 0 vertoffset descender add moveto
dup stringwidth pop dup 0 rlineto
0 printSize rlineto 0 exch sub 0 rlineto
closepath currentgray 1 setgray fill setgray } if
0 vertoffset moveto show
/vertoffset vertoffset printSize sub def
} forall
grestore
end
} dup 0 4 dict put def
=============================================
ps2pdf を使えば PDF ファイルはできますが,ファイルサイズが大きく
なる(over 4Mbyte)のと,頻繁に出てくる数式が汚くなるので,できる
だけ Distiller を使いたいのです.
エラーを回避して,PDF ファイルを作成する方法はないでしょうか.