この話,W32TeXでは大丈夫になったようだ.実行するとこんな感じ.
>eptex sample.tex This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (sjis) (TeX Live 2016/W32TeX/dev) (preloaded format=eptex) restricted \write18 enabled. entering extended mode (./sample.tex (./1.tex (./2.tex (./3.tex (./4.tex (./5.tex (./6.tex (./7.tex (./8.tex (./9.tex (./10.tex (./11.tex (./12.tex (./13.tex (./14.tex (./15.tex (./16.tex (./17.tex (./18.tex (./19.tex (./20.tex (./21.tex (./22.tex (./23.tex (./24.tex (./25.tex (./26.tex (./27.tex (./28.tex (./29.tex (./30.tex (./31.tex (./32.tex (./33.tex (./34.tex (./35.tex (./36.tex (./37.tex (./38.tex (./39.tex (./40.tex (./41.tex (./42.tex (./43.tex (./44.tex (./45.tex (./46.tex (./47.tex (./48.tex (./49.tex (./50.tex)))))))))))))))))))))))))))))))))))))))))))))))))) [1] ) Output written on sample.dvi (1 page, 744 bytes). Transcript written on sample.log.
結果も正常.TeX Liveにもttkさんが同じ修正を施したようです.
ptexenc内にはinfile_enc[fileno(fp)]みたいにアクセスしている箇所があって,このinfile_encは(OPEN_MAXが定義されていない環境だと)長さ24の配列.なのでfilenoの返す値が24を越えるとバッファオーバーランしていた.たとえばやってみた例だとShift_JISを表す3がどっかに書き込まれちゃうことになる.前回のテストだとたまたま出力文字にあたって,それでΛが出たのでしょう(OT1エンコーディングでの3はΛ).とりあえず24を132にしたみたい.ちなみにmax_in_openは127を越えられないのでこれで大丈夫なんだと思う.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です