diff options
Diffstat (limited to 'Build/source/texk/web2c/ptexdir/tests/control-symbol.tex')
-rw-r--r-- | Build/source/texk/web2c/ptexdir/tests/control-symbol.tex | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/ptexdir/tests/control-symbol.tex b/Build/source/texk/web2c/ptexdir/tests/control-symbol.tex new file mode 100644 index 00000000000..b9e34054443 --- /dev/null +++ b/Build/source/texk/web2c/ptexdir/tests/control-symbol.tex @@ -0,0 +1,80 @@ +\scrollmode +% plain TeX ソース +\def\+{A} +\def\+{A} +\def\X{\+} +\def\Y{\+} + +\message{■control symbol} +% 記号類扱いの単文字命令 → control symbol +% (この時の和文文字の挙動が tex-jp-build#37 の問題) +\ifx\kanjiskip\undefined + \catcode`\+=12 + \catcode`\+=12 +\else + \catcode`\+=12 + \kcatcode`+=18 +\fi +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} + +\message{■control word} +% 普通の文字扱いの単文字命令 → control word +\ifx\kanjiskip\undefined + \catcode`\+=11 + \catcode`\+=11 +\else + \catcode`\+=11 + \kcatcode`+=17 +\fi +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} + +\message{■control word} +% 複数文字命令 → control word +\def\ABC{A} +\def\あいう{A} +\def\X{\ABC} +\def\Y{\あいう} +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} + +% csname +\ifx\protected\undefined\else +\catcode`\:=12 +\ifx\kanjiskip\undefined\else +\kcatcode`!=18 +\fi +\message{■csname} +\protected\expandafter\def\csname :AB\endcsname{A} +\protected\expandafter\def\csname !あい\endcsname{A} +\edef\X{\csname :AB\endcsname} +\edef\Y{\csname !あい\endcsname} +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} + +\protected\expandafter\def\csname AB:\endcsname{A} +\protected\expandafter\def\csname あい!\endcsname{A} +\edef\X{\csname AB:\endcsname} +\edef\Y{\csname あい!\endcsname} +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} + +\ifx\ucs\undefined\else +\message{■not_cjk} +\kcatcode`ア=15 +\kcatcode`!=15 +\catcode"8A=12\relax +\protected\expandafter\def\csname ア\endcsname{A} +\protected\expandafter\def\csname !\endcsname{A} +\edef\X{\csname ア\endcsname} +\edef\Y{\csname !\endcsname} +\show\X\relax\message{(\meaning\X)} +\show\Y\relax\message{(\meaning\Y)} +\fi +\fi + + +\end + + |