Re: uptex-0.11

名前: ZR
日時: 2007-08-13 17:52:19
IPアドレス: 59.140.98.*

>>48977 (>>49069 の続き) >>>48893 >0x80〜0xFF を \xspcode"80=3 のように入れましたが、 >0x7F 以下は変えていません。 >>>48897 > とりあえず「最も標準的な欧文エンコーディング」は T1 なので、T1 > に合わせた設定を既定としておいて、 というような観点で、もっといい既定値があるのでしょうか? 私の感覚では、上述のものが「上手くいく場合が多い」という観点で よいと思います。jsarticle に倣うという点もあります。 >その他、vfの軽量化をしました。 これは、扱う文字の集合を小さくしているのだと思いますが、どういう 集合なのでしょうか。(AJ1-6 と Unicode の共通部分?) ---- 以下、uptex-0.11 (ptetex3 版) で見つかった疑問点です。 1. コントロールワードと和文文字 <「> の kcatcode が 18 の時にソース文字列 "\inhibitglue「" を読むと "\inhibitglue^^e3" "^^80" "^^8c" の 3 トークンになってしまいます。 (<「> の UTF-8 表現が E3 80 8C。なお、この挙動は "E3 の catcode には 依存しない。) %<test1.tex;in UTF-8> % for plain upTeX % <「>(U+300C) = E3 80 8C (in UTF-8) \kcatcode`「=18 %(既定値) \catcode"E3=14 % この設定は無関係 \def\test{\inhibitglue「} \catcode"E3=11 \def\inhibitglue^^e3#1#2{% \message{<<\number`#1/\number`#2>>}} \test\bye %<EOF> # 出力メッセージ中に "<<128/140>>" が現れるはずです。 2. jsclasses での段落頭の開き括弧の処理 jsclasses では、段落頭の開き括弧が全角下がり(括弧の前に \inhibitglue が入る)になるように細工がなされていますが、upLaTeX だとこれが失敗 します。これは前述の 1. が原因だと思われるので、恐らく 1. が解決すれ ばこちらも解決されるでしょう。 # この処理の対象である開き括弧は 「『([ の 4 つです。括弧類は他に # もあるのに何故この 4 つだけを扱っているのでしょうか…。 3. Unicode へのマップ: CP932 vs JIS X 0208 例えば「波ダッシュ」を例にとると、 CP932 の波ダッシュを Unicode に変換すると U+FF5E JIS X 0208 の波ダッシュを Unicode に変換すると U+301C となっています。さて、kinsoku.tex には \inhibitxspcode`〜=0 の記述があり、ukinsoku.tex でこれに対応する行の <〜> の文字の符号 位置は U+301C です。しかし、CP932 の影響で、UTF-8 の TeX ソース中の 波ダッシュが U+FF5E で表されることが頻出するので、"FF5E の方も inhibitxspcode を設定する必要があるでしょう。この「多対一対応」の 問題は色々な場面で現れるので再検討する必要があるでしょう。 # ちなみに \jis"2141 は 65374("FF5E) を返します :-)

この書き込みへの返事:

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