名前: ttk 日時: 2007-08-25 23:07:03 IPアドレス: 61.210.211.*
>>49225 >>> 2. --kanji-internal=sjis/euc の時の \kcatcode の動作は? >>土村さんのpTeX+ptexenc版と同じになっていると思います。 >これは、和文トークンは kcatcode を持たないということですか? そっちの質問でしたか。内部的には全然違います。 (1) 欧文TeX(pTeX,upTeXの欧文)とupTeXの和文では、ファイルからの読み込み時に 文字コード表→(k)catcode表を見て(k)catcodeをトークン毎に振ります。 トークンは文字コード+(k)catcodeで管理され、 トークンを解釈するとき振られた(k)catcodeを使います。 (2) pTeXの和文では、トークンは文字コードで管理され、 トークンを解釈するとき文字コード表→kcatcode表を見てそのkcatcodeを使います。 しかし、通常のpTeXの使い方ではkcatcodeを切り替えないだろうから、 同様の使用法をした場合には、動作的にはupTeXはpTeXと変わらないはずです。 変わらない、という前回の発言は、こういう意味でした。 この事情はupTeXの内部euc,sjisの場合でも一緒です。 (2)は、16bitの壁ゆえの工夫だったと思いますが、 16bitの壁を破ったupTeXにとっては、 「分かりにくい仕様の捨てるべきしがらみだ」と判断し、こうしました。 (こうしないと内部Unicode時のU+0FFF以下の和文(欧文トークンとバッティングする)が 扱いづらい、という事情もあります。) 欧文と和文の対称性が向上し、ソースは読みやすくなりました。 その反面pTeXとの距離を拡大してしまった難点もあります。 (widow処理のバグもこれ関連でした。バグが心配…) > - upTeX の既定値は --kanji=utf8 --kanji-internal=uptex である。 > - --kanji=uptex は実は --kanji=utf8 と同じ。 この通りだと思います。 > - --kanji=uptex -kanji-internal=sjis は? > → --kanji=utf8 -kanji-internal=sjis としたのと同じ。 現状そうなっているかもしれませんが、 --kanji=uptex -kanji-internal=sjis は推奨すべきでない書き方だと思います。 > - --kanji=sjis -kanji-internal=uptex は? > → 通常の upTeX の動作(内部 UNicode)だが、入力は sjis/jis として > 解釈する。(--kanji=sjis だけでも同じ。) 該当部分の動作は、おそらくそうだと思います(未確認)が、 入力のファイルを全てsjis/jisに統一する必要があります。 事実上、広い文字コード領域も、ukinsoku.texなども使えなくなります。 実用的な価値は無いと思います。
この書き込みへの返事: