-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
upTeX の \if と \ifcat #68
Comments
メーリスを見ていない方のために参考まで:
|
ご指摘ありがとうございます。 より自然な仕様が考えられ、それに沿って実装を提案していただけるのなら取り入れたいです。 |
すみません,最初の質問の
は間違っていますね。確か
の行で,ここで 18 が返ってしまうのがミスリーディングだと見なすべきですかね。 edit: 一方で,この挙動には意味があるようにも思えますね。というのも「 |
https://twitter.com/zr_tex8r/status/1119966520321265664 upTeX の \if について,「文字コード256 (U+0100) の “Ā” を和文扱いにした文字トークンが,\if による比較で制御綴と同一視されてしまう」という問題があります。(∵ tex.web によると,\if は制御綴に便宜上「文字コード256」を与えるため。) |
たぶん,uptex-m.ch で |
@h-kitagawa さんの修正案 bdfba95 では ptex-base.ch の方も 256 を |
pTeX だと和文の文字コードが 256 になることはない(と思う)のですが,「文字コードは原理的にこの値にはなりえない」値に統一したほうがわかりやすいだろう,という考えからです. ……と思って今 XeTeX のコードを見直したら,
や
のように他にも 256 → |
upTeXエンジンで問題があるがpTeXエンジンで無問題の場合、方針として
の2つの方針が考えられると思いますが、2の方針でよいでしょうか? |
私もこの 2. でよいと思います。 |
ブランチ ifcat_cs をここの master にマージしTeX Live svn にコミットしました。(r51021) |
\ifcat の比較対象について,気になることがあります。
\ifcat (文字1)(文字2) と書いた時,pTeX の場合は「その文字が和文ならば \kcatcode,欧文ならば \catcode」を見比べるようです。
upTeX についてもほぼ同様なのですが,\kcatcode を 15 にした場合に違和感があります。
ここで真になるということは,両方の文字の \catcode を比べていると思われます。ここで
^^c0
は non-CJK 文字トークンなので「12」のはずですが,一方^^b0
は CJK 文字トークンなので,\catcode は特に意味を持たないはずです。にもかかわらず,上記のように CJK 文字トークンから \catcode が読み出されるのは,直感に反すると思います。The text was updated successfully, but these errors were encountered: