texlive[73756] Build/source/texk/web2c/uptexdir: uptex: Enable
commits+takuji at tug.org
commits+takuji at tug.org
Fri Feb 7 15:20:24 CET 2025
Revision: 73756
https://tug.org/svn/texlive?view=revision&revision=73756
Author: takuji
Date: 2025-02-07 15:20:24 +0100 (Fri, 07 Feb 2025)
Log Message:
-----------
uptex: Enable mac_param for 16bit latin character
Modified Paths:
--------------
trunk/Build/source/texk/web2c/uptexdir/ChangeLog
trunk/Build/source/texk/web2c/uptexdir/tests/catcd.tex
trunk/Build/source/texk/web2c/uptexdir/tests/up-cat.log
trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch
Modified: trunk/Build/source/texk/web2c/uptexdir/ChangeLog
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/ChangeLog 2025-02-07 14:20:19 UTC (rev 73755)
+++ trunk/Build/source/texk/web2c/uptexdir/ChangeLog 2025-02-07 14:20:24 UTC (rev 73756)
@@ -1,3 +1,10 @@
+2025-02-07 TANAKA Takuji <ttk at t-lab.opal.ne.jp>
+
+ * uptex-m.ch: Enable catcode mac_param(6) for
+ 16bit latin character.
+ * tests/catcd.tex, tests/up-cat.log: Update tests.
+ https://github.com/texjporg/tex-jp-build/issues/170
+
2025-02-02 TANAKA Takuji <ttk at t-lab.opal.ne.jp>
* uptex-m.ch: Improve treatment for catcode of
Modified: trunk/Build/source/texk/web2c/uptexdir/tests/catcd.tex
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/tests/catcd.tex 2025-02-07 14:20:19 UTC (rev 73755)
+++ trunk/Build/source/texk/web2c/uptexdir/tests/catcd.tex 2025-02-07 14:20:24 UTC (rev 73756)
@@ -7,6 +7,8 @@
% for (e)upTeX
\kcatcode"C0=14 % Latin-1 Supplement
\kcatcode"100=14 % Latin Extended-A
+ \kcatcode"1E00=14 % Latin Extended Additional
+ \kcatcode"2010=14 % General Punctuation
\fi
\ifx\ocp\undefined\else
% for aleph
@@ -56,13 +58,35 @@
\immediate\write16{\meaning Ĉ.}% the letter
\immediate\write16{\meaning ĉ.}% the characer
+% Latin Extended Additional
+\catcode"1E01=1
+\catcode"1E02=2
+\catcode"1E03=3
+\catcode"1E04=4
+\catcode"1E05=6
+\catcode"1E06=7
+\catcode"1E07=8
+\catcode"1E08=11
+\catcode"1E09=12
+\immediate\write16{\meaning ḁ; % begin-group character
+ \meaning Ḃ.}% end-group character
+\immediate\write16{\meaning ḃ.}% math shift character
+\immediate\write16{\meaning Ḅ.}% alignment tab character
+\immediate\write16{\meaning ḅ.}% macro parameter character
+\immediate\write16{\meaning Ḇ.}% superscript character
+\immediate\write16{\meaning ḇ.}% subscript character
+\immediate\write16{\meaning Ḉ.}% the letter
+\immediate\write16{\meaning ḉ.}% the characer
+
% catcode 1,2 : begin-group, end-group character
\catcode"F2=1 % ò
\catcode"F3=2 % ó
\catcode"102=1 % Ă
\catcode"103=2 % ă
-òabcó Ădefă {ghió òjkl} {mnoă Ăpqr}
+\catcode"2039=1 % ‹
+\catcode"203A=2 % ›
+òabcó Ădefă {ghió òjkl} {mnoă Ăpqr} {stu› ‹vwx}
% catcode 11,12 : the letter, the characer
\catcode"F2=11
@@ -69,15 +93,19 @@
\catcode"F3=12
\catcode"102=11
\catcode"103=12
-òabcó Ădefă {ghió òjkl} {mnoă Ăpqr}
+\catcode"2039=11 % ‹
+\catcode"203A=12 % ›
+òabcó Ădefă {ghió òjkl} {mnoă Ăpqr} {stu› ‹vwx}
% catcode 3 : math shift character
\catcode"FC=3 % ü
\catcode"10C=3 % Č
+\catcode"1E0C=3 % Ḍ
\immediate\write16{\meaning ü.}% math shift character
\immediate\write16{\meaning Č.}% math shift character
+\immediate\write16{\meaning Ḍ.}% math shift character
% Setting for math fonts is required.
-%$d^nx/dt^n$ $d^nx/dt^nü Čd^nx/dt^n$ üd^nx/dt^nČ
+%$d^nx/dt^n$ $d^nx/dt^nü Čd^nx/dt^n$ üd^nx/dt^nČ Ḍd^nx/dt^nḌ
% catcode 7,8 : superscript, subscript character
\catcode"FE=7 % þ
@@ -84,25 +112,28 @@
\catcode"FF=8 % ÿ
\catcode"10E=7 % Ď
\catcode"10F=8 % ď
-\immediate\write16{\meaning þ.}% math shift character
-\immediate\write16{\meaning ÿ.}% math shift character
+\catcode"1E0E=7 % Ḏ
+\catcode"1E0F=8 % ḏ
+\immediate\write16{\meaning þ; \meaning ÿ.}% superscript, subscript character
+\immediate\write16{\meaning Ď; \meaning ď.}% superscript, subscript character
+\immediate\write16{\meaning Ḏ; \meaning ḏ.}% superscript, subscript character
% Setting for math fonts is required.
-%$a_nx^m$ $aÿnxþm$ $aďnxĎm$
+%$a_nx^m$ $aÿnxþm$ $aďnxĎm$ $aḏnxḎm$
% catcode 4 : alignment tab character
\catcode"F4=4 % ô
\catcode"104=4 % Ą
+\catcode"1E04=4 % Ḅ
\halign{# & # & # \cr
aaa & bbb & ccc \cr
ddd ô eee ô fff \cr
- ggg Ą hhh Ą iii \cr}
+ ggg Ą hhh Ą iii \cr
+ jjj Ḅ kkk Ḅ lll \cr}
-% (e)uptex makes erros for following.
-\ifx\kcatcode\undefined\else\end\fi
-
% catcode 6 : macro parameter character
\catcode"F5=6 % õ
\catcode"105=6 % ą
+\catcode"1E05=6 % ḅ
\def\oWz#1{o{#1}z}\relax
\oWz{r}
\def\oXzõ1{o{õ1}z}\relax
@@ -109,6 +140,8 @@
\oXz{r}
\def\oYzą1{o{ą1}z}\relax
\oYz{r}
+\def\oZzḅ1{o{ḅ1}z}\relax
+\oZz{r}
\end
Modified: trunk/Build/source/texk/web2c/uptexdir/tests/up-cat.log
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/tests/up-cat.log 2025-02-07 14:20:19 UTC (rev 73755)
+++ trunk/Build/source/texk/web2c/uptexdir/tests/up-cat.log 2025-02-07 14:20:24 UTC (rev 73756)
@@ -18,10 +18,19 @@
subscript character ć.
the letter Ĉ.
the character ĉ.
+begin-group character ḁ; end-group character Ḃ.
+math shift character ḃ.
+alignment tab character Ḅ.
+macro parameter character ḅ.
+superscript character Ḇ.
+subscript character ḇ.
+the letter Ḉ.
+the character ḉ.
math shift character ü.
math shift character Č.
-superscript character þ.
-subscript character ÿ.
+math shift character Ḍ.
+superscript character þ; subscript character ÿ.
+superscript character Ď; subscript character ď.
+superscript character Ḏ; subscript character ḏ.
[1] )
-(\end occurred when \ifx on line 101 was incomplete)
-Output written on up-cat.dvi (1 page, 372 bytes).
+Output written on up-cat.dvi (1 page, 440 bytes).
Modified: trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch
===================================================================
--- trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch 2025-02-07 14:20:19 UTC (rev 73755)
+++ trunk/Build/source/texk/web2c/uptexdir/uptex-m.ch 2025-02-07 14:20:24 UTC (rev 73756)
@@ -797,7 +797,10 @@
@y
until not((cat=letter)or(cat=kanji)or(cat=kana)or(cat=hangul)or(cat=modifier))or(k>limit);
{@@<If an expanded...@@>;}
-if not((cat=letter)or(cat=kanji)or(cat=kana)or(cat=hangul)or(cat=modifier)) then decr(k);
+if not((cat=letter)or(cat=kanji)or(cat=kana)or(cat=hangul)or(cat=modifier)) then begin
+ if (cat=mac_param)and(buffer2[k-1])and(multilenbuffchar(cur_chr)>1) then k:=k-multilenbuffchar(cur_chr)
+ else decr(k);
+ end;
if cat=other_kchar then k:=k-multilenbuffchar(cur_chr)+1; {now |k| points to first nonletter}
@z
@@ -901,6 +904,12 @@
@z
@x
+if (info(r)>match_token+255)or(info(r)<match_token) then s:=null
+ at y
+if (info(r)>=match_token+max_latin_val)or(info(r)<match_token) then s:=null
+ at z
+
+ at x
char_given,math_given: scanned_result(cur_chr)(int_val);
@y
kchar_given,
More information about the tex-live-commits
mailing list.