名前: SHIMA 日時: 2006-03-07 20:27:01 IPアドレス: 221.191.205.*
>>41847 dvioutは,previewer として高速に動作しなくてはならないので,中間ファイルの形で 取り込み画像を保存しておき,再度その画像を使う場合に,可能ならそれを再利用しま す(別のページを表示して戻ってきた場合など). 中間ファイルは,指定したフォルダ(たとえば,dviファイルがある場所)に作成され ます. foo.eps から foo.pbm が中間ファイルとして作成されるとすると,もとの foo.eps が 異なるフォルダにあっても,同じ名前のファイル foo.pbm が作成されることになります. その foo.pbm が,求めるものかどうかは, 1. foo.pbm のタイムスタンプが foo.eps より新しい. 2. 取り込み画像サイズに合致したサイズの foo.pbm であるか. 3. 回転を行っていない. (pbm ファイルから読み取れる情報は,ファイル名と画像ファイルサイズ程度しかないこ とに注意) ということを確かめて,もしこのチェックにパスしなかったなら,新たに中間ファイル を作成します.しかしながら,そのページで foo.pbm を既に使っていれば,tmpps*.pbm というファイル名にして,重ならないようにします(そのページを解釈中には中間ファ イルを作成しますが,それをメモリー内には取り込みませんので,ディスク上に置いて おく必要があります.そのページの解釈が終了後,Windows API を使って全てを張り込 みます). まったく同じ foo.eps から,1ページ内でサイズを取り替えて(あるいは取り替えな いで)複数取り込む場合などに対処するためです. なお,tmpps*.pbm の形の中間ファイルは,そのページを表示中のみ有効で,別のページ に移るとそれは無視され,必要なら新たに(上書きされて)番号の最初から順に作られ ます. よって,同じファイル名の異なるepsファイルが異なったフォルダにあって,同じサイズ で回転なしに取り込むと混乱が起こると思われます.勿論,全てテンポラリファイルと していつも再生成していればより簡単で,このような混乱は起こりませんが,previewer としてはオーバーヘッドが大きすぎるので,上のような仕様になっています.
この書き込みへの返事: