gs9.15 and gs9.10

gs9.15 and gs9.10

- Akira Kakuto の投稿
返信数: 4
Ghostscript 9.15 にすると,XeTeX 上での
PSTricks がさっぱりだめになると思います。
Ghostsctipt 9.10 なら大丈夫です。
Akira Kakuto への返信

Re: gs9.15 and gs9.10

- 匿 名 の投稿
なんだかよく分からないのですが:

テスト.ps という名前の PS ファイルを作り、
以下の内容の a.ps

(テスト.ps) run

を UTF-8 で保存して

rungs a.ps

すると良くて、同じ内容のものを Shift-JIS で b.ps に保存して

rungs b.ps

すると

Error: /ioerror in --run--

で xelatex + PSTricks のときと同じエラーになります。

私のところではユーザー名に日本語を使っていて、ここで引っかかるようでした。日本語名ではない別のユーザーでログインすると大丈夫のようでしたが、いかがでしょう?
匿 名 への返信

Re: gs9.15 and gs9.10

- 匿 名 の投稿
生成された PDF を見てみると意図したように表示されませんでした(真っ白)。そういうことだったんですね。失礼しました。
Akira Kakuto への返信

Re: gs9.15 and gs9.10

- 匿 名 の投稿
いろいろと調べてみると、gs9.15 の場合は

 0 0 moveto 100 100 lineto stroke

のみのファイルを ps2pdf で変換すると何も表示されない
PDF が生成されるようです。

0 0 moveto 100 100 lineto stroke showpage

だとちゃんと線が表示されます。gs9.10 の場合は showpage
がなくとも OK ですね。XeTeX + PSTricks が出力する一時
ファイルを見てみると上記の部分が絡んでいるようです。

正しいか分かりませんが、とりあえず

--- spc_dvips.c.orig 2014-10-04 21:40:18 +0900
+++ spc_dvips.c 2014-10-04 21:40:39 +0900
@@ -651,7 +651,7 @@

fprintf(fp, "\nsave\n");
fwrite(args->curptr, 1, args->endptr - args->curptr, fp);
- fprintf(fp, "\ncount 1 sub {pop} repeat restore\n");
+ fprintf(fp, "\ncount 1 sub {pop} repeat restore showpage\n");

if (check_next_obj((const unsigned char*)args->endptr)) {
fclose(fp);

あたりの変更が必要なんでしょうか。
匿 名 への返信

Re: gs9.15 and gs9.10

- Akira Kakuto の投稿
> あたりの変更が必要なんでしょうか。

ありがとうございます。そこでは駄目ですが
dpx_file_apply_filter() に渡す直前に
書き込んでおいてやると ok になるようです。
ソースをこのように変更しておきます。
どうもありがとうございました。