Re: upTeX における kcatcode と禁則処理の連動

名前: ZR
日時: 2010-01-11 10:47:30
IPアドレス: 122.18.134.*

>>54324 私が考えたことをまとめておきます。今持っている結論は 変更するとするならば、全角英数字のみを別ブロック扱いとする というものです。 1. >>53892 (文字ウィドウ処理)の話を考慮すると、和文句読点が含まれる (a) U+FF00--FFEF Halfwidth and Fullwidth Forms (b) U+3000--303F CJK Symbols and Punctuation のブロックの kcatcode は 18 から変えられない。 2. 従って、これらのブロックで「kcatcode を 18 以外にしたい」文字が あるが、ここでも upTeX の最大の特長である「pTeX との互換性」を 重視する。つまり、 pTeX だと可能であったが upTeX では不可能 という事態を可能ならば避けたい。 ※ 例えば \点々 とかいうマクロ名が使えたら便利かも知れないが、 pTeX でも <々>(1区) の kcatcode は(1 の観点で)変えられなかった のだから必要性は薄い。 3. 従って、(a)(b) で「pTeX での kcatcode が 18 以外」である文字を探す と、(b) の中の英数字全角形(pTeX では 3 区、kcatcode は 17)が該当 する。残りは 1〜2 区なのでやはり「pTeX でも 18 から変えられない」。 4. 以上より、もしブロック再分割を行うのであれば、 ((b) ブロックと JIS X 0208 の 3 区の共通部分である)英数字全角形 を別扱いにするのが、分割方法の根拠が明確であるという点を考えて、 最も妥当と思われる。 5. 分割したブロックの kcatcode 既定値は現在と同じ 18 とする。 6. この変更によるデメリットを考える。非互換性についてはあまり問題に ならないようである。稀に問題になったとしても、対処は kcatcode 変更 を追加するだけなので容易である。その他の点については - 実装自体にコストがかかる - そういえば、kcatcode の変更を支援するパッケージを公開している人 にも対応のためのコストがかかる ;-) くらいであろうか。 7. 半角カナについては - 全角英数字と同じブロックにはすべきでない - 取りあえず、今は対処の必要がない ので考慮しなくてよいと思う。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)