summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/euptexdir
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2025-01-02 12:27:29 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2025-01-02 12:27:29 +0000
commit484f1ec6700a206007ec0f4c5b9c3d62b9c641b0 (patch)
tree55d8b31739101eeba8990e2eb1393bd4f53ae3e2 /Build/source/texk/web2c/euptexdir
parent247052214bcf1eb5c2af95a685c3a988eaa44fab (diff)
{,e}uptex: Accept extended upTeX internal encoding also in pTeX-compatible EUC/SJIS mode
git-svn-id: svn://tug.org/texlive/trunk@73271 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/euptexdir')
-rw-r--r--Build/source/texk/web2c/euptexdir/COPYRIGHT4
-rw-r--r--Build/source/texk/web2c/euptexdir/ChangeLog9
-rw-r--r--Build/source/texk/web2c/euptexdir/am/euptex.am19
-rwxr-xr-xBuild/source/texk/web2c/euptexdir/euptex-widow.test32
-rw-r--r--Build/source/texk/web2c/euptexdir/tests/eup-jchwidow.log910
-rwxr-xr-xBuild/source/texk/web2c/euptexdir/upkcat.test18
6 files changed, 978 insertions, 14 deletions
diff --git a/Build/source/texk/web2c/euptexdir/COPYRIGHT b/Build/source/texk/web2c/euptexdir/COPYRIGHT
index 88d900edbde..3d1d815f99f 100644
--- a/Build/source/texk/web2c/euptexdir/COPYRIGHT
+++ b/Build/source/texk/web2c/euptexdir/COPYRIGHT
@@ -1,6 +1,6 @@
Copyright (C) 2009 ASCII MEDIA WORKS.
-Copyright (C) 2007-2024 Takuji Tanaka
-Copyright (C) 2010-2024 Japanese TeX Development Community
+Copyright (C) 2007-2025 Takuji Tanaka
+Copyright (C) 2010-2025 Japanese TeX Development Community
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/Build/source/texk/web2c/euptexdir/ChangeLog b/Build/source/texk/web2c/euptexdir/ChangeLog
index cf904b7dbd1..684601c9fd7 100644
--- a/Build/source/texk/web2c/euptexdir/ChangeLog
+++ b/Build/source/texk/web2c/euptexdir/ChangeLog
@@ -1,3 +1,12 @@
+2025-01-02 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * upkcat.test: Update tests.
+ * euptex-widow.test, tests/eup-jchwidow.log,
+ am/euptex.am: Add new tests for widow penalty originally
+ written by Kitagawa-san.
+ https://github.com/texjporg/tex-jp-build/issues/103
+ * COPYRIGHT: copyright year.
+
2024-10-20 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* eptex.ech, etex.ch{0,1}, fam256,ch,
diff --git a/Build/source/texk/web2c/euptexdir/am/euptex.am b/Build/source/texk/web2c/euptexdir/am/euptex.am
index f03d4270d2e..f9579d78d3b 100644
--- a/Build/source/texk/web2c/euptexdir/am/euptex.am
+++ b/Build/source/texk/web2c/euptexdir/am/euptex.am
@@ -105,7 +105,7 @@ euptex_tests = \
euptexdir/euptex-prntknj.test \
euptexdir/euptex-kinsoku.test \
euptexdir/euptex-ofm.test euptexdir/euptex-prim.test \
- euptexdir/euptex-ucs.test
+ euptexdir/euptex-ucs.test euptexdir/euptex-widow.test
euptexdir/euptriptest.log euptexdir/eptriptest.log: \
euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
@@ -114,7 +114,7 @@ euptexdir/eupver.log euptexdir/upkcat.log \
euptexdir/euptex-ctrlsym.log euptexdir/euptex-prntknj.log \
euptexdir/euptex-kinsoku.log \
euptexdir/euptex-ofm.log euptexdir/euptex-prim.log \
- euptexdir/euptex-ucs.log: euptex$(EXEEXT)
+ euptexdir/euptex-ucs.log euptexdir/euptex-widow.log: euptex$(EXEEXT)
EXTRA_DIST += $(euptex_tests)
@@ -140,20 +140,20 @@ EXTRA_DIST += \
euptexdir/tests/pdfprimitive-euptex.log
DISTCLEANFILES += pdfprimitive-euptex.*
-## euptex-ctrlsym.test
+## euptexdir/euptex-ctrlsym.test
EXTRA_DIST += euptexdir/tests/ctrlsym.tex euptexdir/tests/ctrlsym.log \
euptexdir/tests/endlinechar.tex euptexdir/tests/endline.log \
euptexdir/tests/control-symbol.tex euptexdir/tests/jctrlsym.log \
euptexdir/tests/eup-endlinea.typ euptexdir/tests/eup-jctrlsyma.typ
DISTCLEANFILES += eup-ctrlsym.log eup-ctrlsym.out eup-ctrlsym.tex \
eup-endline*.* eup-jctrlsym*.*
-## euptex-prntknj.test
+## euptexdir/euptex-prntknj.test
EXTRA_DIST += euptexdir/tests/printkanji.tex euptexdir/tests/pknj-s.log \
euptexdir/tests/pknj-e.log euptexdir/tests/pknj-u.log \
euptexdir/tests/eup-pknj-sa.typ euptexdir/tests/eup-pknj-ea.typ \
euptexdir/tests/eup-pknj-ua.typ
DISTCLEANFILES += eup-pknj-*.*
-## euptex-kinsoku.test
+## euptexdir/euptex-kinsoku.test
EXTRA_DIST += euptexdir/tests/postpena.tex euptexdir/tests/postpena.log \
euptexdir/tests/free_ixsp.tex euptexdir/tests/free_ixsp.log \
euptexdir/tests/free_pena.tex euptexdir/tests/free_pena.log \
@@ -161,16 +161,19 @@ EXTRA_DIST += euptexdir/tests/postpena.tex euptexdir/tests/postpena.log \
euptexdir/tests/kinsoku-table.tex euptexdir/tests/kinsoku-table.log \
euptexdir/tests/kinsoku-search.tex euptexdir/tests/kinsoku-search.log
DISTCLEANFILES += eup-postpena*.* eup-free_*.* eup-inhibitglue*.* eup-kinsoku*.*
-## euptex-ofm.test
+## euptexdir/euptex-ofm.test
EXTRA_DIST += euptexdir/tests/eup-ofm.tex euptexdir/tests/eup-ofm.log
DISTCLEANFILES += eup-ofm.*
-## euptex-prim.test
+## euptexdir/euptex-prim.test
EXTRA_DIST += euptexdir/tests/eup-prim.tex euptexdir/tests/eup-prim.log
DISTCLEANFILES += eup-prim.*
-## euptex-ucs.test
+## euptexdir/euptex-ucs.test
EXTRA_DIST += euptexdir/tests/ucs.tex euptexdir/tests/ucs-s.log \
euptexdir/tests/ucs-e.log euptexdir/tests/ucs-u.log
DISTCLEANFILES += eup-ucs*.*
+## euptexdir/euptex-widow.test
+EXTRA_DIST += euptexdir/tests/eup-jchwidow.log
+DISTCLEANFILES += eup-jchwidow.*
euptrip.diffs: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
$(triptrap_diffs) $@
diff --git a/Build/source/texk/web2c/euptexdir/euptex-widow.test b/Build/source/texk/web2c/euptexdir/euptex-widow.test
new file mode 100755
index 00000000000..1faa53683db
--- /dev/null
+++ b/Build/source/texk/web2c/euptexdir/euptex-widow.test
@@ -0,0 +1,32 @@
+#! /bin/sh -vx
+# Copyright 2025 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_euptex=$BinDir/euptex$ExeExt
+
+LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
+
+TEXMFCNF=$srcdir/../kpathsea;export TEXMFCNF
+TEXINPUTS=".;$srcdir/tests"; export TEXINPUTS
+TEXFONTS=".;$srcdir//tests"; export TEXFONTS
+TEXFORMATS=.; export TEXFORMATS
+
+# get same filename in log
+rm -f eup-jchwidow.*
+$LN_S $srcdir/uptexdir/tests/jchwidow.tex ./eup-jchwidow.tex
+
+if test ! -f ./eup-basic.tex; then
+ cp $srcdir/tests/dump-basic.tex ./eup-basic.tex
+fi
+if test ! -f ./eup-basic.fmt; then
+ $_euptex -ini -etex eup-basic || exit 1
+fi
+
+$_euptex -fmt=eup-basic -interaction=batchmode eup-jchwidow || :
+
+sed 1d eup-jchwidow.log >eup-jchwidow.out
+
+diff $srcdir/euptexdir/tests/eup-jchwidow.log eup-jchwidow.out || exit 3
+
diff --git a/Build/source/texk/web2c/euptexdir/tests/eup-jchwidow.log b/Build/source/texk/web2c/euptexdir/tests/eup-jchwidow.log
new file mode 100644
index 00000000000..97e03168843
--- /dev/null
+++ b/Build/source/texk/web2c/euptexdir/tests/eup-jchwidow.log
@@ -0,0 +1,910 @@
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**eup-jchwidow
+(./eup-jchwidow.tex TEST
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 378.1154fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\jpy す
+..\glue(refer from jfm) 4.58203 minus 2.291
+..\jpy 「
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.19 \TEST{す{\kcatcode`す=18 す}「。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.20 \TEST{\CR。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.22 \TEST{\Ucharcat`す 16。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.23 \TEST{\Ucharcat`す 17。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.24 \TEST{\Ucharcat`す 18。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.25 \TEST{\Ucharcat`す 19。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.28 \TEST{す。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.29 \TEST{す\char\kuten"0103}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.31 \TEST{す\kchar\kuten"0103}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.34 \TEST{\char\kuten"0419。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.35 \TEST{\char\kuten"0419\char\kuten"0103}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.37 \TEST{\char\kuten"0419\kchar\kuten"0103}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.40 \TEST{\KR。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.41 \TEST{\kchar\kuten"0419。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.42 \TEST{\kchar\kuten"0419\char\kuten"0103}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.84087fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy す
+..\kern-0.48114
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.43 \TEST{\kchar\kuten"0419\kchar\kuten"0103}
+
+
+KCHAR"3B1, kcatcode=15
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.50 \TEST{い\kchar"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.51 \TEST{\kchar"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.52 \TEST{\relax\kchar"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 396.95973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\rule(*+*)x0.4
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.53 \TEST{\vrule\kchar"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 391.80415fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\glue(\xkanjiskip) 0.0
+..\cmr b
+..\glue(\xkanjiskip) 0.0
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.54 \TEST{b\kchar"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.55 \TEST{い\S。}
+
+
+CHAR"3B1, kcatcode=15
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.60 \TEST{い\char"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.61 \TEST{\char"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.62 \TEST{\relax\char"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 396.95973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\rule(*+*)x0.4
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.63 \TEST{\vrule\char"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 391.80415fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\glue(\xkanjiskip) 0.0
+..\cmr b
+..\glue(\xkanjiskip) 0.0
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.64 \TEST{b\char"03B1。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.65 \TEST{い\S。}
+
+
+KCHARDEF"3B1, kcatcode=15
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.70 \TEST{い\KA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.71 \TEST{\KA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.72 \TEST{\relax\KA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 396.95973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\rule(*+*)x0.4
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.73 \TEST{\vrule\KA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 391.80415fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\glue(\xkanjiskip) 0.0
+..\cmr b
+..\glue(\xkanjiskip) 0.0
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.74 \TEST{b\KA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.75 \TEST{い\S。}
+
+
+CHARDEF"3B1, kcatcode=15
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 387.73756fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy い
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.80 \TEST{い\CA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.81 \TEST{\CA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 397.35973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.82 \TEST{\relax\CA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 396.95973fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\rule(*+*)x0.4
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.83 \TEST{\vrule\CA 。}
+
+
+> \box0=
+\vbox(7.77588+1.38855)x469.75499, yoko direction
+.\hbox(7.77588+1.38855)x469.75499, glue set 391.80415fil
+..\displace 0.0
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\jpy あ
+..\glue(\xkanjiskip) 0.0
+..\cmr b
+..\glue(\xkanjiskip) 0.0
+..\jpy α
+..\jpy 。
+..\penalty 10000
+..\glue(\parfillskip) 0.0 plus 1.0fil
+..\glue(\rightskip) 0.0
+
+! OK.
+<to be read again>
+ }
+l.84 \TEST{b\CA 。}
+
+
+ )
+No pages of output.
diff --git a/Build/source/texk/web2c/euptexdir/upkcat.test b/Build/source/texk/web2c/euptexdir/upkcat.test
index 602c1e5b422..3d229136606 100755
--- a/Build/source/texk/web2c/euptexdir/upkcat.test
+++ b/Build/source/texk/web2c/euptexdir/upkcat.test
@@ -1,6 +1,6 @@
#! /bin/sh -vx
# $Id$
-# Copyright 2022 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+# Copyright 2022-2025 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
# You may freely use, modify and/or distribute this file.
BinDir=${BinDir:-.}
@@ -12,8 +12,18 @@ LC_ALL=C; export LC_ALL; LANGUAGE=C; export LANGUAGE
TEXMFCNF=$srcdir/../kpathsea; export TEXMFCNF
TEXINPUTS="$srcdir/uptexdir/tests;."; export TEXINPUTS
-$_euptex -ini -etex -interaction batchmode -jobname upkcat-log kcat.tex || exit 1
-grep '::' upkcat-log.log > upkcat-log_ed.log \
- && diff upkcat-log_ed.log $srcdir/uptexdir/tests/upkcat.txt || exit 2
+rm -f eupkcat*log*.log
+
+$_euptex -ini -etex -interaction batchmode -jobname eupkcat-log kcat.tex || exit 1
+grep '::' eupkcat-log.log > eupkcat-log_ed.log \
+ && diff eupkcat-log_ed.log $srcdir/uptexdir/tests/upkcat.txt || exit 2
+
+$_euptex -ini -etex -interaction batchmode -jobname eupkcat-e-log -kanji-internal=euc kcat.tex || exit 3
+grep '::' eupkcat-e-log.log > eupkcat-e-log_ed.log \
+ && diff eupkcat-e-log_ed.log $srcdir/uptexdir/tests/upkcat-e.txt || exit 4
+
+$_euptex -ini -etex -interaction batchmode -jobname eupkcat-s-log -kanji-internal=sjis kcat.tex || exit 5
+grep '::' eupkcat-s-log.log > eupkcat-s-log_ed.log \
+ && diff eupkcat-s-log_ed.log $srcdir/uptexdir/tests/upkcat-s.txt || exit 6
exit 0