summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-12-28 08:09:52 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-12-28 08:09:52 +0000
commit41f9a825a28bfaffe5ad58a25dfd215a08b2c716 (patch)
treede21fee457b1291e112272e3662dc38f4c5c1ec8 /Build
parent222b5ce5f56de061328d78f769c59514f49e8b93 (diff)
xetex, pdftex, (u)ptex: add test for filename with wide characters
git-svn-id: svn://tug.org/texlive/trunk@65380 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/ChangeLog6
-rw-r--r--Build/source/texk/web2c/Makefile.in141
-rw-r--r--Build/source/texk/web2c/am/web.am3
-rw-r--r--Build/source/texk/web2c/pdftexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/pdftexdir/am/pdftex.am9
-rwxr-xr-xBuild/source/texk/web2c/pdftexdir/wcfname.test36
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog7
-rw-r--r--Build/source/texk/web2c/ptexdir/am/ptex.am6
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/wcfname.test54
-rw-r--r--Build/source/texk/web2c/tests/fn-euc.txt1
-rwxr-xr-xBuild/source/texk/web2c/tests/fn-generate.perl73
-rw-r--r--Build/source/texk/web2c/tests/fn-sjis.txt1
-rw-r--r--Build/source/texk/web2c/tests/fn-utf8.txt1
-rw-r--r--Build/source/texk/web2c/uptexdir/ChangeLog7
-rw-r--r--Build/source/texk/web2c/uptexdir/am/uptex.am6
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/wcfname.test80
-rw-r--r--Build/source/texk/web2c/xetexdir/ChangeLog5
-rw-r--r--Build/source/texk/web2c/xetexdir/am/xetex.am9
-rwxr-xr-xBuild/source/texk/web2c/xetexdir/wcfname.test35
19 files changed, 408 insertions, 77 deletions
diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog
index ae04242326c..59d5db69082 100644
--- a/Build/source/texk/web2c/ChangeLog
+++ b/Build/source/texk/web2c/ChangeLog
@@ -1,3 +1,9 @@
+2022-12-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tests/fn-generate.perl, tests/fn-{utf8,euc,sjis}.txt,
+ Makefile.in:
+ Tests for file names with wide characters & {pdf,Xe,p,up}TeX.
+
2022-09-28 Karl Berry <karl@freefriends.org>
* tex.ch (halting_on_error_p): new variable, set when we start to
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 8bae51c862e..b6ab8afa83d 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -3238,14 +3238,16 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
tests/bibtex-bigauth.aux tests/bibtex-bigauth.bib \
tests/bibtex-bigauth.tex tests/auxinclude.aux \
tests/auxinclude.bbl tests/auxinclude.bib tests/auxinclude.tex \
- tests/auxinclude2.aux tests/auxinclude2.tex tests/allbib.aux \
- tests/allbib.tex tests/apalike.bst tests/badpl.pl \
- tests/badtfm.tfm tests/badvf.tfm tests/badvf.vf \
- tests/badvpl.vpl tests/batch.tex tests/check.log \
- tests/cmr10.600gf tests/cmr10.pk tests/cmr10.pl \
- tests/cmr10.tfm tests/cmr7.tfm tests/cmr8.tfm tests/cmti10.tfm \
- tests/cmtt10.tfm tests/cmtt8.tfm tests/dict tests/eight.tex \
- tests/end.tex tests/exampl.aux tests/exampl.tex tests/gray.tfm \
+ tests/auxinclude2.aux tests/auxinclude2.tex \
+ tests/fn-generate.perl tests/fn-utf8.txt tests/fn-euc.txt \
+ tests/fn-sjis.txt tests/allbib.aux tests/allbib.tex \
+ tests/apalike.bst tests/badpl.pl tests/badtfm.tfm \
+ tests/badvf.tfm tests/badvf.vf tests/badvpl.vpl \
+ tests/batch.tex tests/check.log tests/cmr10.600gf \
+ tests/cmr10.pk tests/cmr10.pl tests/cmr10.tfm tests/cmr7.tfm \
+ tests/cmr8.tfm tests/cmti10.tfm tests/cmtt10.tfm \
+ tests/cmtt8.tfm tests/dict tests/eight.tex tests/end.tex \
+ tests/exampl.aux tests/exampl.tex tests/gray.tfm \
tests/hello.tex tests/io.mf tests/just.texi tests/label.mp \
tests/label.mpx tests/logo8.tfm tests/longline.aux \
tests/longline.bib tests/longline.tex tests/longtfm.tex \
@@ -3666,57 +3668,58 @@ DISTCLEANFILES = CXXLD.sh tangle.c tangle.h tangle.p tangle-web2c \
$(pweb_programs:=.h) $(pweb_programs:=.p) \
$(pweb_programs:=-web2c) $(pweb_programs:=.web) \
ptests/nissya_bib.* ptests/xexampl.aux ptests/xexampl.bbl \
- ptests/xexampl.blg ptests/xenc*.* ptests/memtest.bib \
- ptests/memtest?.* ptests/xstory.dvityp ptests/xpagenum.typ \
- ptests/xptex[34]*.typ ptests/xcmr10.tfm ptests/xcmr10.pl \
- ptests/xsample*.typ ptests/x*min10.* ptests/xchcode*.* \
- ptests/xskipjfmp.* ptrip.diffs $(nodist_eptex_SOURCES) \
- eptex.web eptex.ch eptex-web2c eptex.p eptex.pool eptex-tangle \
- eptrip.diffs pdfprimitive-eptex.* $(nodist_uptex_SOURCES) \
- uptex.web uptex.ch uptex-web2c uptex.p uptex.pool uptex-tangle \
- $(upweb_programs:=.c) $(upweb_programs:=.h) \
- $(upweb_programs:=.p) $(upweb_programs:=-web2c) \
- $(upweb_programs:=.web) uptests/nissya_bib.* \
- uptests/xexampl.aux uptests/xexampl.bbl uptests/xexampl.blg \
- uptests/xenc*.* uptests/memtest.bib uptests/memtest?.* \
- uptests/xstory.dvityp uptests/xpagenum.typ \
- uptests/x*ptex[34]*.typ uptests/xcmr10.tfm uptests/xcmr10.pl \
- uptests/xsample*.typ uptests/x*min10.* uptests/xchcode*.* \
- uptests/xtestnewu.* uptests/xuparse.* uptests/yuparse.* \
- uptests/ygkhuge*.* uptests/xskipjfmp.* uptrip.diffs \
- $(nodist_euptex_SOURCES) euptex.web euptex.ch euptex-web2c \
- euptex.p euptex.pool euptex-tangle euptrip.diffs \
- pdfprimitive-euptex.* $(nodist_hitex_SOURCES) \
- $(nodist_hishrink_SOURCES) $(nodist_histretch_SOURCES) \
- hiformat-tangle hitex-tangle hello.log rule.log \
- $(nodist_pdftex_SOURCES) pdftex-final.ch pdftex-web2c pdftex.p \
- pdftex.pool pdftex-tangle pwprob.log pwprob.tex pdfimage.fmt \
- pdfimage.log pdfimage.pdf expanded.log cnfline.log \
- partoken-ok.log partoken-xfail.log postV3.afm postV7.afm \
- test-13.pdf test-13.xref test-15.pdf test-15.xref \
- $(nodist_libluatex_sources) luaimage.* luajitimage.* \
- $(nodist_xetex_SOURCES) xetex.web xetex-final.ch xetex-web2c \
- xetex.p xetex.pool xetex-tangle bug73.fmt bug73.log bug73.out \
- bug73.tex filedump.log filedump.out filedump.tex \
- $(omegaware_programs:=.c) $(omegaware_programs:=.h) \
- $(omegaware_programs:=.p) $(omegaware_programs:=-web2c) \
- ofm2opl.web opl2ofm.web ovf2ovp.web ovp2ovf.web \
- omegaware/bad*.* omegaware/tests/charwdr.* \
- omegaware/tests/charwdv.* omegaware/tests/xcheck* \
- omegaware/tests/xlevel1.* omegaware/tests/xlig*.* ofont*vf \
- omegaware/tests/xpagenum.* omegaware/tests/xofont* \
- omegaware/tests/Cherokee.tfm omegaware/tests/OCherokee.ofm \
- omegaware/tests/OCherokee.opl omegaware/tests/OCherokee.ovf \
- omegaware/tests/xCherokee.* omegaware/tests/xOCherokee.* \
- ocftest.* omegaware/tests/xinbmp* omegaware/tests/xoverbmp* \
- omegaware/tests/xrealnum.* omegaware/tests/xrepeated.* \
- omegaware/tests/sample*.ofm omegaware/tests/sample*.ovf \
- omegaware/tests/sample1-h.opl omegaware/tests/xsample*.out \
- omegaware/tests/shortend.* omegaware/tests/specialhex.ofm \
- omegaware/tests/specialhex.opl omegaware/tests/specialhex.ovf \
- omegaware/tests/xspecialhex.* omegaware/tests/yrepeat* \
- omegaware/tests/*yarabic* $(nodist_aleph_SOURCES) aleph.web \
- aleph.ch aleph-web2c aleph.p aleph.pool aleph-tangle
+ ptests/xexampl.blg ptests/xenc*.* ptests/fn*.* \
+ ptests/memtest.bib ptests/memtest?.* ptests/xstory.dvityp \
+ ptests/xpagenum.typ ptests/xptex[34]*.typ ptests/xcmr10.tfm \
+ ptests/xcmr10.pl ptests/xsample*.typ ptests/x*min10.* \
+ ptests/xchcode*.* ptests/xskipjfmp.* ptrip.diffs \
+ $(nodist_eptex_SOURCES) eptex.web eptex.ch eptex-web2c eptex.p \
+ eptex.pool eptex-tangle eptrip.diffs pdfprimitive-eptex.* \
+ $(nodist_uptex_SOURCES) uptex.web uptex.ch uptex-web2c uptex.p \
+ uptex.pool uptex-tangle $(upweb_programs:=.c) \
+ $(upweb_programs:=.h) $(upweb_programs:=.p) \
+ $(upweb_programs:=-web2c) $(upweb_programs:=.web) \
+ uptests/nissya_bib.* uptests/xexampl.aux uptests/xexampl.bbl \
+ uptests/xexampl.blg uptests/xenc*.* uptests/fn*.* \
+ uptests/memtest.bib uptests/memtest?.* uptests/xstory.dvityp \
+ uptests/xpagenum.typ uptests/x*ptex[34]*.typ \
+ uptests/xcmr10.tfm uptests/xcmr10.pl uptests/xsample*.typ \
+ uptests/x*min10.* uptests/xchcode*.* uptests/xtestnewu.* \
+ uptests/xuparse.* uptests/yuparse.* uptests/ygkhuge*.* \
+ uptests/xskipjfmp.* uptrip.diffs $(nodist_euptex_SOURCES) \
+ euptex.web euptex.ch euptex-web2c euptex.p euptex.pool \
+ euptex-tangle euptrip.diffs pdfprimitive-euptex.* \
+ $(nodist_hitex_SOURCES) $(nodist_hishrink_SOURCES) \
+ $(nodist_histretch_SOURCES) hiformat-tangle hitex-tangle \
+ hello.log rule.log $(nodist_pdftex_SOURCES) pdftex-final.ch \
+ pdftex-web2c pdftex.p pdftex.pool pdftex-tangle pwprob.log \
+ pwprob.tex pdfimage.fmt pdfimage.log pdfimage.pdf expanded.log \
+ cnfline.log partoken-ok.log partoken-xfail.log pdftests/fn*.* \
+ postV3.afm postV7.afm test-13.pdf test-13.xref test-15.pdf \
+ test-15.xref $(nodist_libluatex_sources) luaimage.* \
+ luajitimage.* $(nodist_xetex_SOURCES) xetex.web xetex-final.ch \
+ xetex-web2c xetex.p xetex.pool xetex-tangle bug73.fmt \
+ bug73.log bug73.out bug73.tex filedump.log filedump.out \
+ filedump.tex xetests/fn*.* $(omegaware_programs:=.c) \
+ $(omegaware_programs:=.h) $(omegaware_programs:=.p) \
+ $(omegaware_programs:=-web2c) ofm2opl.web opl2ofm.web \
+ ovf2ovp.web ovp2ovf.web omegaware/bad*.* \
+ omegaware/tests/charwdr.* omegaware/tests/charwdv.* \
+ omegaware/tests/xcheck* omegaware/tests/xlevel1.* \
+ omegaware/tests/xlig*.* ofont*vf omegaware/tests/xpagenum.* \
+ omegaware/tests/xofont* omegaware/tests/Cherokee.tfm \
+ omegaware/tests/OCherokee.ofm omegaware/tests/OCherokee.opl \
+ omegaware/tests/OCherokee.ovf omegaware/tests/xCherokee.* \
+ omegaware/tests/xOCherokee.* ocftest.* omegaware/tests/xinbmp* \
+ omegaware/tests/xoverbmp* omegaware/tests/xrealnum.* \
+ omegaware/tests/xrepeated.* omegaware/tests/sample*.ofm \
+ omegaware/tests/sample*.ovf omegaware/tests/sample1-h.opl \
+ omegaware/tests/xsample*.out omegaware/tests/shortend.* \
+ omegaware/tests/specialhex.ofm omegaware/tests/specialhex.opl \
+ omegaware/tests/specialhex.ovf omegaware/tests/xspecialhex.* \
+ omegaware/tests/yrepeat* omegaware/tests/*yarabic* \
+ $(nodist_aleph_SOURCES) aleph.web aleph.ch aleph-web2c aleph.p \
+ aleph.pool aleph-tangle
CLEANFILES = $(EXTRA_PROGRAMS) $(EXTRA_LIBRARIES) $(EXTRA_LTLIBRARIES)
TRIPTRAP_CLEAN = $(am__append_8) $(am__append_18) $(am__append_27) \
$(am__append_36) $(am__append_44) $(am__append_60) \
@@ -4499,7 +4502,7 @@ ptex_ch_srcs = \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test ptexdir/wcfname.test
eptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) -I$(srcdir)/libmd5 \
$(ZLIB_INCLUDES) $(am__append_144)
@@ -4602,7 +4605,7 @@ uptftopl_LDADD = $(uptex_ldadd)
uptftopl_DEPENDENCIES = $(uptex_dependencies)
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test
+uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test uptexdir/wcfname.test
# uppPLtoTF/upTFtoPL
upweb_tests = uptexdir/upbibtex.test uptexdir/updvitype.test \
uptexdir/uppltotf.test uptexdir/uptftopl.test \
@@ -4792,7 +4795,8 @@ pdftex_ch_srcs = \
#
pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
pdftexdir/pdfimage.test pdftexdir/expanded.test \
- pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test
+ pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test \
+ pdftexdir/wcfname.test
ttf2afm_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/pdftexdir
ttf2afm_SOURCES = pdftexdir/ttf2afm.c
@@ -5507,7 +5511,8 @@ libxetex_prereq = xetexd.h $(xetex_dependencies)
xetex_tests = \
xetexdir/xetex-filedump.test \
xetexdir/xetex-bug73.test \
- xetexdir/xetex.test
+ xetexdir/xetex.test \
+ xetexdir/wcfname.test
omegaware_programs = odvicopy odvitype otangle wofm2opl wopl2ofm wovf2ovp wovp2ovf
ow_tangle = WEBINPUTS=$(srcdir)/omegaware $(buildenv) $(TANGLE)
@@ -22078,7 +22083,7 @@ ptex.web: tie$(EXEEXT) $(ptex_web_srcs)
ptex.ch: tie$(EXEEXT) ptex.web $(ptex_ch_srcs)
$(tie_c) ptex.web $(ptex_ch_srcs)
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-ptexdir/pver.log: ptex$(EXEEXT)
+ptexdir/pver.log ptexdir/wcfname.log: ptex$(EXEEXT)
#pweb_tests = \
# ptexdir/pbibtex.test \
# ptexdir/pdvitype.test \
@@ -22206,7 +22211,7 @@ uptftopl.p: tangle$(EXEEXT) uptftopl.web uptexdir/uptftopl.ch
uptftopl.web: tie$(EXEEXT) tftopl.web tftopl.ch
$(tie_m) tftopl.web tftopl.ch
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log uptexdir/upkcat.log: uptex$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log uptexdir/wcfname.log: uptex$(EXEEXT)
uptexdir/upbibtex.log: upbibtex$(EXEEXT)
uptexdir/updvitype.log: updvitype$(EXEEXT)
uptexdir/uppltotf.log: uppltotf$(EXEEXT)
@@ -22324,7 +22329,8 @@ pdftex.tex: $(srcdir)/pdftexdir/pdftex.web
pdftexdir/wprob.log pdftexdir/pdftex.log \
pdftexdir/pdfimage.log pdftexdir/expanded.log \
- pdftexdir/tests/cnfline.log pdftexdir/tests/partoken.log: pdftex$(EXEEXT)
+ pdftexdir/tests/cnfline.log pdftexdir/tests/partoken.log \
+ pdftexdir/wcfname.log: pdftex$(EXEEXT)
# (end of pdftex.am)
pdftexdir/ttf2afm.log: ttf2afm$(EXEEXT)
@@ -22467,7 +22473,8 @@ $(srcdir)/xetexdir/xetex_version.h: @MAINTAINER_MODE_TRUE@ xetexdir/xetex.web
xetex-final.ch: tie$(EXEEXT) $(xetex_ch_srcs)
$(tie_c) $(xetex_ch_srcs)
$(libxetex_a_OBJECTS): $(libxetex_prereq)
-xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
+xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log \
+ xetexdir/wcfname.log: xetex$(EXEEXT)
# (end of xetex.am)
odvicopy.c odvicopy.h: odvicopy-web2c
diff --git a/Build/source/texk/web2c/am/web.am b/Build/source/texk/web2c/am/web.am
index 1aac496c7da..8ab12e6d737 100644
--- a/Build/source/texk/web2c/am/web.am
+++ b/Build/source/texk/web2c/am/web.am
@@ -237,6 +237,9 @@ DISTCLEANFILES += badvf.* tests/xptmr*.vpl
DISTCLEANFILES += badvpl.* tests/yptmr*.*
## weave.test
DISTCLEANFILES += pooltype.tex
+## {pdftexdir,xetexdir,ptexdir,uptexdir}/wcfname.test
+EXTRA_DIST += tests/fn-generate.perl
+EXTRA_DIST += tests/fn-utf8.txt tests/fn-euc.txt tests/fn-sjis.txt
## Test data
##
diff --git a/Build/source/texk/web2c/pdftexdir/ChangeLog b/Build/source/texk/web2c/pdftexdir/ChangeLog
index ff765b02004..87c0b274901 100644
--- a/Build/source/texk/web2c/pdftexdir/ChangeLog
+++ b/Build/source/texk/web2c/pdftexdir/ChangeLog
@@ -1,3 +1,8 @@
+2022-12-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * wcfname.test, am/pdftex.am:
+ Add tests for file names with UTF-8 characters.
+
2022-12-21 Thanh Han The <hanthethanh@gmail.com>
* pdftex.web (pdf_omit_info_procset_code),
diff --git a/Build/source/texk/web2c/pdftexdir/am/pdftex.am b/Build/source/texk/web2c/pdftexdir/am/pdftex.am
index 58d51fa06da..ac081b952de 100644
--- a/Build/source/texk/web2c/pdftexdir/am/pdftex.am
+++ b/Build/source/texk/web2c/pdftexdir/am/pdftex.am
@@ -105,11 +105,13 @@ EXTRA_DIST += \
#
pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
pdftexdir/pdfimage.test pdftexdir/expanded.test \
- pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test
+ pdftexdir/tests/cnfline.test pdftexdir/tests/partoken.test \
+ pdftexdir/wcfname.test
pdftexdir/wprob.log pdftexdir/pdftex.log \
pdftexdir/pdfimage.log pdftexdir/expanded.log \
- pdftexdir/tests/cnfline.log pdftexdir/tests/partoken.log: pdftex$(EXEEXT)
+ pdftexdir/tests/cnfline.log pdftexdir/tests/partoken.log \
+ pdftexdir/wcfname.log: pdftex$(EXEEXT)
EXTRA_DIST += $(pdftex_tests)
@@ -138,4 +140,7 @@ DISTCLEANFILES += cnfline.log
EXTRA_DIST += tests/partoken-ok.tex tests/partoken-xfail.tex
DISTCLEANFILES += partoken-ok.log partoken-xfail.log
+## wcfname.test
+DISTCLEANFILES += pdftests/fn*.*
+
# (end of pdftex.am)
diff --git a/Build/source/texk/web2c/pdftexdir/wcfname.test b/Build/source/texk/web2c/pdftexdir/wcfname.test
new file mode 100755
index 00000000000..4e775e2b031
--- /dev/null
+++ b/Build/source/texk/web2c/pdftexdir/wcfname.test
@@ -0,0 +1,36 @@
+#! /bin/sh -vx
+#
+# Copyright 2022 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d pdftests || mkdir -p pdftests
+rm -f pdftests/fn*.log pdftests/fn*.txt pdftests/fn*.tex fn*.tex
+
+rc=0
+
+TEXMFCNF=$srcdir/../kpathsea
+TEXINPUTS=pdftests:.
+export TEXMFCNF TEXINPUTS
+
+perl $srcdir/tests/fn-generate.perl || exit 128
+mv fn*-utf8.tex pdftests/; rm -f fn*.tex
+
+if [ "$COMSPEC" != "" ]; then
+ echo "*** We guess OS is Windows."
+ command_line_encoding=utf8
+ export command_line_encoding
+fi
+
+fenc="utf8"
+for doc in fn-$fenc fn£¥µÆÇñß-$fenc fnさざ波-$fenc; do
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc
+ ./pdftex -ini -interaction nonstopmode -jobname=$doc --shell-escape $doc.tex >pdftests/$doc-term.log || rc=1
+ mv $doc.txt $doc.log $doc-tmp.tex pdftests/
+## It does not work.
+## diff pdftests/$doc.txt $srcdir/tests/fn-$enc.txt || rc=2
+
+done
+
+
+exit $rc
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index 74e3464d84e..cae06e7e27e 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -1,3 +1,10 @@
+2022-12-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * wcfname.test, am/ptex.am:
+ Add tests for file names with JIS X 0208 characters
+ in `ptex --kanji-internal={euc,sjis}`.
+ https://github.com/texjporg/tex-jp-build/issues/136
+
2022-12-22 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* ptex-base.ch, ptex.defines, kanji.h, am/ptex.am:
diff --git a/Build/source/texk/web2c/ptexdir/am/ptex.am b/Build/source/texk/web2c/ptexdir/am/ptex.am
index 9f030a00ffe..d107f217022 100644
--- a/Build/source/texk/web2c/ptexdir/am/ptex.am
+++ b/Build/source/texk/web2c/ptexdir/am/ptex.am
@@ -171,9 +171,9 @@ EXTRA_DIST += \
# pTeX Tests
#
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test ptexdir/wcfname.test
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-ptexdir/pver.log: ptex$(EXEEXT)
+ptexdir/pver.log ptexdir/wcfname.log: ptex$(EXEEXT)
#pweb_tests = \
# ptexdir/pbibtex.test \
# ptexdir/pdvitype.test \
@@ -224,7 +224,7 @@ EXTRA_DIST += tests/testfield.bst tests/enc-asc.bib tests/enc-jis.bib tests/enc-
tests/enc.aux tests/enc-e.aux tests/enc-s.aux tests/enc-u.aux \
tests/enc-p.bbl tests/enc-ep.bbl tests/enc-sp.bbl tests/enc-up.bbl
DISTCLEANFILES += ptests/xexampl.aux ptests/xexampl.bbl ptests/xexampl.blg \
- ptests/xenc*.*
+ ptests/xenc*.* ptests/fn*.*
## ptexdir/pbibtex-mem.test
EXTRA_DIST += tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst
DISTCLEANFILES += ptests/memtest.bib ptests/memtest?.*
diff --git a/Build/source/texk/web2c/ptexdir/wcfname.test b/Build/source/texk/web2c/ptexdir/wcfname.test
new file mode 100755
index 00000000000..a9e39ece985
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/wcfname.test
@@ -0,0 +1,54 @@
+#! /bin/sh -vx
+#
+# Copyright 2022 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d ptests || mkdir -p ptests
+rm -f ptests/fn*.log ptests/fn*.txt ptests/fn*.tex fn*.tex
+
+rc=0
+
+TEXMFCNF=$srcdir/../kpathsea
+TEXINPUTS=ptests:.
+export TEXMFCNF TEXINPUTS
+
+perl $srcdir/tests/fn-generate.perl || exit 128
+mv fn*.tex ptests/
+
+# pTeX internal encoding
+fenc="utf8"
+for ienc in euc sjis; do
+for doc in fn-$fenc fnさざ波-$fenc; do
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc
+ ./ptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >ptests/$doc-$ienc-term.log || rc=1
+ mv $doc-$ienc.txt $doc-$ienc.log $doc-tmp.tex ptests/
+ diff ptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=2
+
+done
+done
+
+
+# pTeX, regacy encoding
+for fenc in sjis euc; do
+for doc in fnさざ波-$fenc; do
+
+ ienc=$fenc
+ if [ "$COMSPEC" != "" ]; then
+ echo "*** We guess OS is Windows."
+ if [ $fenc != euc ]; then ienc="sjis"; fi
+ else
+ echo "*** We guess OS is not Windows."
+ if [ $fenc != sjis ]; then ienc="euc"; fi
+ fi
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc
+ ./ptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >ptests/$doc-$fenc-term.log || rc=3
+ mv $doc-$ienc.txt $doc-$ienc.log $doc-tmp.tex ptests/
+ diff ptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=4
+
+done
+done
+
+
+exit $rc
diff --git a/Build/source/texk/web2c/tests/fn-euc.txt b/Build/source/texk/web2c/tests/fn-euc.txt
new file mode 100644
index 00000000000..69708afd687
--- /dev/null
+++ b/Build/source/texk/web2c/tests/fn-euc.txt
@@ -0,0 +1 @@
+abc ¦ ѧҧ ŷϿ
diff --git a/Build/source/texk/web2c/tests/fn-generate.perl b/Build/source/texk/web2c/tests/fn-generate.perl
new file mode 100755
index 00000000000..7e1e3793664
--- /dev/null
+++ b/Build/source/texk/web2c/tests/fn-generate.perl
@@ -0,0 +1,73 @@
+#!/usr/bin/env perl
+#
+# Copyright 2022 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+use strict;
+use warnings;
+use 5.010;
+use Encode;
+
+foreach $_ (<DATA>) {
+ chomp;
+ my ($encname, $fname0, $fname1) = split ' ', $_;
+
+ my $src = &make_str($encname, $fname0, $fname1);
+
+ open(my $ofh, '>', $fname0) or die "Cannot open $fname0:$!";
+ print $ofh $src;
+}
+
+
+sub make_str ($$;$) {
+ my ($encname, $fname0, $fname1) = @_;
+ my ($src);
+
+ my ($fnameT) = $fname0;
+ $fnameT =~ s/\.tex$/-tmp.tex/;
+
+$src = <<END;
+\% $fname0
+\% $encname encoding
+\\catcode`\\{=1
+\\catcode`\\}=2
+
+\\immediate\\write16{JOB[\\jobname] :: We are in $fname0}
+
+\\immediate\\openout0=\\jobname.txt
+\\immediate\\write0{abc αβγ абв あア※¥ 天地人}
+\\immediate\\closeout0
+
+\\immediate\\openout1=$fnameT
+\\immediate\\write1{\\relax}
+\\immediate\\closeout1
+
+% current directory
+\\input "|cat $fnameT"
+\\input $fnameT
+END
+
+$src .= <<END if $fname1;
+
+% vir kpathsearch
+\\immediate\\write16{JOB[\\jobname] :: Search $fname1}
+\\input $fname1
+END
+
+$src .= <<END;
+
+\\relax\\end
+END
+
+ Encode::from_to($src, 'utf8', $encname) if ($encname !~ /UTF.*8/i);
+ return ($src);
+
+}
+
+__DATA__
+UTF-8 fn±×÷§¶-utf8.tex
+UTF-8 fn-utf8.tex fn±×÷§¶-utf8.tex
+UTF-8 fn£¥µÆÇñß-utf8.tex fn±×÷§¶-utf8.tex
+UTF-8 fnさざ波-utf8.tex fn±×÷§¶-utf8.tex
+EUC-JP fnさざ波-euc.tex fn±×÷§¶-utf8.tex
+Shift_JIS fnさざ波-sjis.tex fn±×÷§¶-utf8.tex
diff --git a/Build/source/texk/web2c/tests/fn-sjis.txt b/Build/source/texk/web2c/tests/fn-sjis.txt
new file mode 100644
index 00000000000..d07128a2af2
--- /dev/null
+++ b/Build/source/texk/web2c/tests/fn-sjis.txt
@@ -0,0 +1 @@
+abc pqr A Vnl
diff --git a/Build/source/texk/web2c/tests/fn-utf8.txt b/Build/source/texk/web2c/tests/fn-utf8.txt
new file mode 100644
index 00000000000..12357a2e656
--- /dev/null
+++ b/Build/source/texk/web2c/tests/fn-utf8.txt
@@ -0,0 +1 @@
+abc αβγ абв あア※¥ 天地人
diff --git a/Build/source/texk/web2c/uptexdir/ChangeLog b/Build/source/texk/web2c/uptexdir/ChangeLog
index b25f9d6de81..05c7c154041 100644
--- a/Build/source/texk/web2c/uptexdir/ChangeLog
+++ b/Build/source/texk/web2c/uptexdir/ChangeLog
@@ -1,3 +1,10 @@
+2022-12-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * wcfname.test, am/uptex.am:
+ Add tests for file names with JIS X 0208 & UTF-8 characters
+ in `uptex --kanji-internal={euc,sjis,uptex}`.
+ https://github.com/texjporg/tex-jp-build/issues/136
+
2022-12-22 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp>
* uptex.defines, kanji.h, am/uptex.am:
diff --git a/Build/source/texk/web2c/uptexdir/am/uptex.am b/Build/source/texk/web2c/uptexdir/am/uptex.am
index b3f1f8f3807..f60bdf48a7e 100644
--- a/Build/source/texk/web2c/uptexdir/am/uptex.am
+++ b/Build/source/texk/web2c/uptexdir/am/uptex.am
@@ -165,9 +165,9 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test
+uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test uptexdir/wcfname.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log uptexdir/upkcat.log: uptex$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log uptexdir/wcfname.log: uptex$(EXEEXT)
upweb_tests = \
uptexdir/upbibtex.test \
uptexdir/updvitype.test \
@@ -214,7 +214,7 @@ DISTCLEANFILES += uptests/nissya_bib.*
## uptexdir/upbibtex.test
EXTRA_DIST += tests/enc-u.bbl tests/enc-eu.bbl tests/enc-su.bbl tests/enc-uu.bbl
DISTCLEANFILES += uptests/xexampl.aux uptests/xexampl.bbl uptests/xexampl.blg \
- uptests/xenc*.*
+ uptests/xenc*.* uptests/fn*.*
## uptexdir/upbibtex-mem.test
DISTCLEANFILES += uptests/memtest.bib uptests/memtest?.*
## uptexdir/updvitype.test
diff --git a/Build/source/texk/web2c/uptexdir/wcfname.test b/Build/source/texk/web2c/uptexdir/wcfname.test
new file mode 100755
index 00000000000..ed7b26f8559
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/wcfname.test
@@ -0,0 +1,80 @@
+#! /bin/sh -vx
+#
+# Copyright 2022 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d uptests || mkdir -p uptests
+rm -f uptests/fn*.log uptests/fn*.txt uptests/fn*.tex fn*.tex
+
+rc=0
+
+TEXMFCNF=$srcdir/../kpathsea
+TEXINPUTS=uptests:.
+export TEXMFCNF TEXINPUTS
+
+perl $srcdir/tests/fn-generate.perl || exit 128
+mv fn*.tex uptests/
+
+# upTeX internal encoding
+fenc="utf8"
+for ienc in euc sjis uptex; do
+for doc in fn-$fenc fnさざ波-$fenc fn£¥µÆÇñß-$fenc; do
+
+ if [ $ienc != uptex -a $doc = fn£¥µÆÇñß-$fenc ]; then
+ continue
+ fi
+
+ if [ "$COMSPEC" != "" ]; then
+ echo "*** We guess OS is Windows."
+ if [ $ienc = uptex ]; then
+ command_line_encoding=utf8
+ export command_line_encoding
+ else
+ command_line_encoding=none
+ export command_line_encoding
+ fi
+ fi
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc
+ ./uptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >uptests/$doc-$ienc-term.log || rc=1
+ mv $doc-$ienc.txt $doc-$ienc.log $doc-tmp.tex uptests/
+ diff uptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=2
+
+done
+done
+
+
+# pTeX compatible mode, regacy encoding
+for fenc in sjis euc; do
+for doc in fnさざ波-$fenc; do
+
+ ienc=$fenc
+ if [ "$COMSPEC" != "" ]; then
+ echo "*** We guess OS is Windows."
+ if [ $fenc != euc ]; then ienc="sjis"; fi
+ if [ $ienc = uptex ]; then
+ command_line_encoding=utf8
+ export command_line_encoding
+ else
+ command_line_encoding=none
+ export command_line_encoding
+ fi
+ else
+ echo "*** We guess OS is not Windows."
+ if [ $fenc != sjis ]; then ienc="euc"; fi
+ fi
+ if [ $ienc != uptex ]; then
+ guess_input_kanji_encoding=1
+ export guess_input_kanji_encoding
+ fi
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc ' Internal Encoding:'$ienc
+ ./uptex -ini -interaction nonstopmode -jobname=$doc-$ienc -kanji=$fenc --kanji-internal=$ienc --shell-escape $doc.tex >uptests/$doc-$fenc-term.log || rc=3
+ mv $doc-$ienc.txt $doc-$ienc.log $doc-tmp.tex uptests/
+ diff uptests/$doc-$ienc.txt $srcdir/tests/fn-$fenc.txt || rc=4
+
+done
+done
+
+
+exit $rc
diff --git a/Build/source/texk/web2c/xetexdir/ChangeLog b/Build/source/texk/web2c/xetexdir/ChangeLog
index 8f00e246372..9e0ad2868b1 100644
--- a/Build/source/texk/web2c/xetexdir/ChangeLog
+++ b/Build/source/texk/web2c/xetexdir/ChangeLog
@@ -1,3 +1,8 @@
+2022-12-28 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * wcfname.test, am/xetex.am:
+ Add tests for file names with UTF-8 characters.
+
2022-03-21 Karl Berry <karl@tug.org>
* TL'22 release.
diff --git a/Build/source/texk/web2c/xetexdir/am/xetex.am b/Build/source/texk/web2c/xetexdir/am/xetex.am
index 6a1b76b9672..dec7b04e9b4 100644
--- a/Build/source/texk/web2c/xetexdir/am/xetex.am
+++ b/Build/source/texk/web2c/xetexdir/am/xetex.am
@@ -204,8 +204,10 @@ EXTRA_DIST += \
xetex_tests = \
xetexdir/xetex-filedump.test \
xetexdir/xetex-bug73.test \
- xetexdir/xetex.test
-xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
+ xetexdir/xetex.test \
+ xetexdir/wcfname.test
+xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log \
+ xetexdir/wcfname.log: xetex$(EXEEXT)
EXTRA_DIST += $(xetex_tests)
@@ -221,4 +223,7 @@ DISTCLEANFILES += bug73.fmt bug73.log bug73.out bug73.tex
EXTRA_DIST += xetexdir/tests/filedump.log xetexdir/tests/filedump.tex
DISTCLEANFILES += filedump.log filedump.out filedump.tex
+## wcfname.test
+DISTCLEANFILES += xetests/fn*.*
+
# (end of xetex.am)
diff --git a/Build/source/texk/web2c/xetexdir/wcfname.test b/Build/source/texk/web2c/xetexdir/wcfname.test
new file mode 100755
index 00000000000..f90ef000913
--- /dev/null
+++ b/Build/source/texk/web2c/xetexdir/wcfname.test
@@ -0,0 +1,35 @@
+#! /bin/sh -vx
+#
+# Copyright 2022 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d xetests || mkdir -p xetests
+rm -f xetests/fn*.log xetests/fn*.txt xetests/fn*.tex fn*.tex
+
+rc=0
+
+TEXMFCNF=$srcdir/../kpathsea
+TEXINPUTS=xetests:.
+export TEXMFCNF TEXINPUTS
+
+perl $srcdir/tests/fn-generate.perl || exit 128
+mv fn*-utf8.tex xetests/; rm -f fn*.tex
+
+if [ "$COMSPEC" != "" ]; then
+ echo "*** We guess OS is Windows."
+ command_line_encoding=utf8
+ export command_line_encoding
+fi
+
+fenc="utf8"
+for doc in fn-$fenc fn£¥µÆÇñß-$fenc fnさざ波-$fenc; do
+
+ echo '>>> Document:'$doc ' File Encoding:'$fenc
+ ./xetex -ini -interaction nonstopmode -jobname=$doc --shell-escape $doc.tex >xetests/$doc-term.log || rc=1
+ mv $doc.txt $doc.log $doc-tmp.tex xetests/
+ diff xetests/$doc.txt $srcdir/tests/fn-utf8.txt || rc=2
+
+done
+
+
+exit $rc