summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-11-27 06:52:11 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2022-11-27 06:52:11 +0000
commitceed678ddb71c600877bc341854908b499367df6 (patch)
treee8f2066fb478fe440c376236414dc10618fd0e9a
parent3a49f0bb7ff1f7e0b6cdd798b9cca65c525c6ed2 (diff)
(u)ptex: Add tests for pTeX compatible mode of tools for upTeX
git-svn-id: svn://tug.org/texlive/trunk@65115 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Build/source/texk/web2c/Makefile.in137
-rw-r--r--Build/source/texk/web2c/ptexdir/ChangeLog8
-rw-r--r--Build/source/texk/web2c/ptexdir/am/ptex.am41
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/nissya.test1
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/pdvitype.test14
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode-euc.pl80
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode-jis.pl80
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode-sjis.pl80
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode-utf8.pl80
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode.pl80
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/chcode.tfmbin0 -> 296 bytes
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/nissya_bib.bbl77
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex3.dvibin0 -> 308 bytes
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex3.tex8
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex3a-jis.typ74
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex3a-utf8.typ74
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex4.dvibin0 -> 320 bytes
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex4.tex9
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex4a-jis.typ77
-rw-r--r--Build/source/texk/web2c/ptexdir/tests/ptex4a-utf8.typ77
-rwxr-xr-xBuild/source/texk/web2c/ptexdir/yokotate.test30
-rw-r--r--Build/source/texk/web2c/uptexdir/ChangeLog12
-rw-r--r--Build/source/texk/web2c/uptexdir/am/uptex.am46
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/nissya.test23
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/sample.test23
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/skipjfmp.test22
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex3.dvibin0 -> 312 bytes
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex3.tex8
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex3a.typ74
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex4.dvibin0 -> 320 bytes
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex4.tex9
-rw-r--r--Build/source/texk/web2c/uptexdir/tests/uptex4a.typ77
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/upbibtex-longline-test.pl37
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/upbibtex-mem.test70
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/upbibtex-openout-test.pl22
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/updvitype.test20
-rwxr-xr-xBuild/source/texk/web2c/uptexdir/yokotate.test33
37 files changed, 1406 insertions, 97 deletions
diff --git a/Build/source/texk/web2c/Makefile.in b/Build/source/texk/web2c/Makefile.in
index 8a38b466bcc..d385d953ee9 100644
--- a/Build/source/texk/web2c/Makefile.in
+++ b/Build/source/texk/web2c/Makefile.in
@@ -3275,24 +3275,32 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
ptexdir/Changes.txt ptexdir/INSTALL.txt ptexdir/README.txt \
$(ptex_tests) $(pweb_tests) ptexdir/tests/nissya_bib.aux \
ptexdir/tests/nissya.bst ptexdir/tests/sample.bib \
- tests/testfield.bst tests/enc-asc.bib tests/enc-jis.bib \
- tests/enc-sjis.bib tests/enc-euc.bib tests/enc-utf8.bib \
- tests/enc-utf8a.bib tests/enc-utf8b.bib tests/enc-amb0.bib \
- tests/enc-amb1.bib tests/enc-amb2.bib 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 tests/memdata1.bst tests/memdata2.bst \
- tests/memdata3.bst ptexdir/tests/goth10.tfm \
- ptexdir/tests/sample.dvi ptexdir/tests/samplea.typ \
- ptexdir/tests/min10.pl ptexdir/tests/min10.tfm \
- ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm \
- ptexdir/tests/skipjfmp.pl ptexdir/tests/skipjfmp.tfm \
- ptexdir/ptrip/ptrip.diffs ptexdir/ptrip/texmf.cnf \
- $(eptex_web_srcs) $(eptex_ch_srcs) eptexdir/eptex.defines \
- eptexdir/ChangeLog eptexdir/Changes.txt eptexdir/README.txt \
- $(eptex_tests) eptexdir/eptrip/eptrip.diffs \
- eptexdir/eptrip/eptrip.log eptexdir/eptrip/eptrip.tex \
- eptexdir/eptrip/texmf.cnf eptexdir/pdfprimitive.test \
+ ptexdir/tests/nissya_bib.bbl tests/testfield.bst \
+ tests/enc-asc.bib tests/enc-jis.bib tests/enc-sjis.bib \
+ tests/enc-euc.bib tests/enc-utf8.bib tests/enc-utf8a.bib \
+ tests/enc-utf8b.bib tests/enc-amb0.bib tests/enc-amb1.bib \
+ tests/enc-amb2.bib 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 \
+ tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst \
+ ptexdir/tests/ptex3.tex ptexdir/tests/ptex3.dvi \
+ ptexdir/tests/ptex4.tex ptexdir/tests/ptex4.dvi \
+ ptexdir/tests/ptex3a-jis.typ ptexdir/tests/ptex3a-utf8.typ \
+ ptexdir/tests/ptex4a-jis.typ ptexdir/tests/ptex4a-utf8.typ \
+ ptexdir/tests/goth10.tfm ptexdir/tests/sample.dvi \
+ ptexdir/tests/samplea.typ ptexdir/tests/min10.pl \
+ ptexdir/tests/min10.tfm ptexdir/tests/tmin10.pl \
+ ptexdir/tests/tmin10.tfm ptexdir/tests/chcode.pl \
+ ptexdir/tests/chcode-jis.pl ptexdir/tests/chcode.tfm \
+ ptexdir/tests/chcode-utf8.pl ptexdir/tests/chcode-euc.pl \
+ ptexdir/tests/chcode-sjis.pl ptexdir/tests/skipjfmp.pl \
+ ptexdir/tests/skipjfmp.tfm ptexdir/ptrip/ptrip.diffs \
+ ptexdir/ptrip/texmf.cnf $(eptex_web_srcs) $(eptex_ch_srcs) \
+ eptexdir/eptex.defines eptexdir/ChangeLog eptexdir/Changes.txt \
+ eptexdir/README.txt $(eptex_tests) \
+ eptexdir/eptrip/eptrip.diffs eptexdir/eptrip/eptrip.log \
+ eptexdir/eptrip/eptrip.tex eptexdir/eptrip/texmf.cnf \
+ eptexdir/pdfprimitive.test \
eptexdir/tests/pdfprimitive-test.tex \
eptexdir/tests/pdfprimitive-eptex.log $(uptex_web_srcs) \
$(uptex_ch_srcs) uptexdir/uptex.defines ptexdir/pbibtex.ch \
@@ -3301,7 +3309,10 @@ EXTRA_DIST = PROJECTS cftests cpascal.h help.h w2c/config.h \
uptexdir/uptftopl.ch uptexdir/COPYRIGHT uptexdir/COPYRIGHT.jis \
uptexdir/ChangeLog $(uptex_tests) $(upweb_tests) \
tests/enc-u.bbl tests/enc-eu.bbl tests/enc-su.bbl \
- tests/enc-uu.bbl uptexdir/tests/umin10.pl \
+ tests/enc-uu.bbl uptexdir/tests/uptex3.tex \
+ uptexdir/tests/uptex3.dvi uptexdir/tests/uptex4.tex \
+ uptexdir/tests/uptex4.dvi uptexdir/tests/uptex3a.typ \
+ uptexdir/tests/uptex4a.typ uptexdir/tests/umin10.pl \
uptexdir/tests/umin10.tfm uptexdir/tests/utmin10.pl \
uptexdir/tests/utmin10.tfm uptexdir/tests/testnewu.pl \
uptexdir/tests/testnewu.tfm uptexdir/tests/uparse.pl \
@@ -3625,28 +3636,32 @@ DISTCLEANFILES = CXXLD.sh tangle.c tangle.h tangle.p tangle-web2c \
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/xcmr10.tfm ptests/xcmr10.pl ptests/xsample.typ \
- ptests/x*min10.* 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) \
+ 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/xstory.dvityp uptests/xpagenum.typ \
- uptests/xcmr10.tfm uptests/xcmr10.pl uptests/x*min10.* \
+ 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*.* 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 \
+ 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 \
@@ -4466,6 +4481,7 @@ ptftopl_DEPENDENCIES = $(ptex_dependencies)
# pTeX Tests
#
ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
+# ppPLtoTF/pTFtoPL
pweb_tests = ptexdir/pbibtex.test ptexdir/pdvitype.test \
ptexdir/ppltotf.test ptexdir/ptftopl.test \
ptexdir/pbibtex-openout-test.pl \
@@ -4574,18 +4590,15 @@ uptftopl_LDADD = $(uptex_ldadd)
uptftopl_DEPENDENCIES = $(uptex_dependencies)
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
-upweb_tests = \
- uptexdir/upbibtex.test \
- uptexdir/updvitype.test \
- uptexdir/uppltotf.test \
- uptexdir/uptftopl.test \
- uptexdir/yokotate.test \
- uptexdir/newjfm.test \
- uptexdir/uparse.test \
- uptexdir/gkhuge.test \
- uptexdir/upkcat.test
-
+uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test
+# uppPLtoTF/upTFtoPL
+upweb_tests = uptexdir/upbibtex.test uptexdir/updvitype.test \
+ uptexdir/uppltotf.test uptexdir/uptftopl.test \
+ uptexdir/upbibtex-openout-test.pl \
+ uptexdir/upbibtex-longline-test.pl uptexdir/upbibtex-mem.test \
+ uptexdir/nissya.test uptexdir/sample.test \
+ uptexdir/yokotate.test uptexdir/skipjfmp.test \
+ uptexdir/newjfm.test uptexdir/uparse.test uptexdir/gkhuge.test
euptex_CPPFLAGS = $(PTEXENC_INCLUDES) $(AM_CPPFLAGS) \
-I$(srcdir)/libmd5 $(ZLIB_INCLUDES) $(am__append_149)
@@ -22170,13 +22183,14 @@ ptftopl.web: tie$(EXEEXT) tftopl.web tftopl.ch
$(tie_m) tftopl.web tftopl.ch
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
ptexdir/pver.log: ptex$(EXEEXT)
-ptexdir/pbibtex.log ptexdir/pbibtex-openout-test.log ptexdir/pbibtex-longline-test.log \
- ptexdir/pbibtex-mem.log ptexdir/nissya.log: pbibtex$(EXEEXT)
-ptexdir/pdvitype.log ptexdir/sample.log: pdvitype$(EXEEXT)
+ptexdir/pbibtex.log: pbibtex$(EXEEXT)
+ptexdir/pdvitype.log: pdvitype$(EXEEXT)
ptexdir/ppltotf.log: ppltotf$(EXEEXT)
ptexdir/ptftopl.log: ptftopl$(EXEEXT)
-ptexdir/yokotate.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
-ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
+ptexdir/pbibtex-openout-test.log ptexdir/pbibtex-longline-test.log \
+ ptexdir/pbibtex-mem.log ptexdir/nissya.log: pbibtex$(EXEEXT)
+ptexdir/sample.log: pdvitype$(EXEEXT)
+ptexdir/yokotate.log ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
ptrip.diffs: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
$(triptrap_diffs) $@
.PHONY: ptrip-clean
@@ -22283,15 +22297,16 @@ uptftopl.p: tangle$(EXEEXT) uptftopl.web uptexdir/uptftopl.ch
uptftopl.web: tie$(EXEEXT) tftopl.web tftopl.ch ptexdir/ptftopl.ch
$(tie_m) tftopl.web tftopl.ch ptexdir/ptftopl.ch
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log: uptex$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log: uptex$(EXEEXT)
uptexdir/upbibtex.log: upbibtex$(EXEEXT)
uptexdir/updvitype.log: updvitype$(EXEEXT)
uptexdir/uppltotf.log: uppltotf$(EXEEXT)
uptexdir/uptftopl.log: uptftopl$(EXEEXT)
-uptexdir/yokotate.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/newjfm.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/uparse.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
+uptexdir/upbibtex-openout-test.log uptexdir/upbibtex-longline-test.log \
+ uptexdir/upbibtex-mem.log uptexdir/nissya.log: upbibtex$(EXEEXT)
+uptexdir/sample.log: pdvitype$(EXEEXT)
+uptexdir/yokotate.log uptexdir/skipjfmp.log \
+ uptexdir/newjfm.log uptexdir/uparse.log uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
uptrip.diffs: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
$(triptrap_diffs) $@
.PHONY: uptrip-clean
diff --git a/Build/source/texk/web2c/ptexdir/ChangeLog b/Build/source/texk/web2c/ptexdir/ChangeLog
index 7ba87f4cf22..bba97385b34 100644
--- a/Build/source/texk/web2c/ptexdir/ChangeLog
+++ b/Build/source/texk/web2c/ptexdir/ChangeLog
@@ -1,3 +1,11 @@
+2022-11-27 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tests/{nissya,pdvitype,yokotate}.test, tests/nissya_bib.bbl,
+ tests/chcode.pl, tests/chcode-{jis,utf8,euc,sjis}.pl, tests/chcode.tfm,
+ tests/ptex[34].{tex,dvi}, tests/ptex[34]a-{jis,utf8}.typ, am/ptex.am:
+ Add tests for pTeX compatible mode of tools for upTeX.
+ https://github.com/texjporg/tex-jp-build/issues/32
+
2022-11-03 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
* ptex-base.ch: Increase max_quarterword to 0xFFFF on pTeX.
diff --git a/Build/source/texk/web2c/ptexdir/am/ptex.am b/Build/source/texk/web2c/ptexdir/am/ptex.am
index a6545d1a896..d0efb4c6f33 100644
--- a/Build/source/texk/web2c/ptexdir/am/ptex.am
+++ b/Build/source/texk/web2c/ptexdir/am/ptex.am
@@ -179,18 +179,24 @@ pweb_tests = \
ptexdir/pdvitype.test \
ptexdir/ppltotf.test \
ptexdir/ptftopl.test
-pweb_tests += ptexdir/pbibtex-openout-test.pl ptexdir/pbibtex-longline-test.pl
-pweb_tests += ptexdir/pbibtex-mem.test ptexdir/nissya.test
-pweb_tests += ptexdir/sample.test
-pweb_tests += ptexdir/yokotate.test
-pweb_tests += ptexdir/skipjfmp.test
-ptexdir/pbibtex.log ptexdir/pbibtex-openout-test.log ptexdir/pbibtex-longline-test.log \
- ptexdir/pbibtex-mem.log ptexdir/nissya.log: pbibtex$(EXEEXT)
-ptexdir/pdvitype.log ptexdir/sample.log: pdvitype$(EXEEXT)
+## pBibTeX
+pweb_tests += \
+ ptexdir/pbibtex-openout-test.pl ptexdir/pbibtex-longline-test.pl \
+ ptexdir/pbibtex-mem.test ptexdir/nissya.test
+## pDviType
+pweb_tests += \
+ ptexdir/sample.test
+# ppPLtoTF/pTFtoPL
+pweb_tests += \
+ ptexdir/yokotate.test ptexdir/skipjfmp.test
+ptexdir/pbibtex.log: pbibtex$(EXEEXT)
+ptexdir/pdvitype.log: pdvitype$(EXEEXT)
ptexdir/ppltotf.log: ppltotf$(EXEEXT)
ptexdir/ptftopl.log: ptftopl$(EXEEXT)
-ptexdir/yokotate.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
-ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
+ptexdir/pbibtex-openout-test.log ptexdir/pbibtex-longline-test.log \
+ ptexdir/pbibtex-mem.log ptexdir/nissya.log: pbibtex$(EXEEXT)
+ptexdir/sample.log: pdvitype$(EXEEXT)
+ptexdir/yokotate.log ptexdir/skipjfmp.log: ppltotf$(EXEEXT) ptftopl$(EXEEXT)
EXTRA_DIST += $(ptex_tests) $(pweb_tests)
DISTCLEANFILES += $(pweb_programs:=.c) $(pweb_programs:=.h) \
@@ -208,7 +214,8 @@ endif PWEB
## Test data and results
##
## ptexdir/nissya.test
-EXTRA_DIST += ptexdir/tests/nissya_bib.aux ptexdir/tests/nissya.bst ptexdir/tests/sample.bib
+EXTRA_DIST += ptexdir/tests/nissya_bib.aux ptexdir/tests/nissya.bst ptexdir/tests/sample.bib \
+ ptexdir/tests/nissya_bib.bbl
DISTCLEANFILES += ptests/nissya_bib.*
## ptexdir/pbibtex.test
EXTRA_DIST += tests/testfield.bst tests/enc-asc.bib tests/enc-jis.bib tests/enc-sjis.bib \
@@ -222,18 +229,24 @@ DISTCLEANFILES += ptests/xexampl.aux ptests/xexampl.bbl ptests/xexampl.blg \
EXTRA_DIST += tests/memdata1.bst tests/memdata2.bst tests/memdata3.bst
DISTCLEANFILES += ptests/memtest.bib ptests/memtest?.*
## ptexdir/pdvitype.test
-DISTCLEANFILES += ptests/xstory.dvityp ptests/xpagenum.typ
+EXTRA_DIST += ptexdir/tests/ptex3.tex ptexdir/tests/ptex3.dvi \
+ ptexdir/tests/ptex4.tex ptexdir/tests/ptex4.dvi \
+ ptexdir/tests/ptex3a-jis.typ ptexdir/tests/ptex3a-utf8.typ \
+ ptexdir/tests/ptex4a-jis.typ ptexdir/tests/ptex4a-utf8.typ
+DISTCLEANFILES += ptests/xstory.dvityp ptests/xpagenum.typ ptests/xptex[34]*.typ
## ptexdir/ppltotf.test
DISTCLEANFILES += ptests/xcmr10.tfm
## ptexdir/ptftopl.test
DISTCLEANFILES += ptests/xcmr10.pl
## ptexdir/sample.test
EXTRA_DIST += ptexdir/tests/goth10.tfm ptexdir/tests/sample.dvi ptexdir/tests/samplea.typ
-DISTCLEANFILES += ptests/xsample.typ
+DISTCLEANFILES += ptests/xsample*.typ
## ptexdir/yokotate.test
EXTRA_DIST += ptexdir/tests/min10.pl ptexdir/tests/min10.tfm
EXTRA_DIST += ptexdir/tests/tmin10.pl ptexdir/tests/tmin10.tfm
-DISTCLEANFILES += ptests/x*min10.*
+EXTRA_DIST += ptexdir/tests/chcode.pl ptexdir/tests/chcode-jis.pl ptexdir/tests/chcode.tfm \
+ ptexdir/tests/chcode-utf8.pl ptexdir/tests/chcode-euc.pl ptexdir/tests/chcode-sjis.pl
+DISTCLEANFILES += ptests/x*min10.* ptests/xchcode*.*
## ptexdir/skipjfmp.test
EXTRA_DIST += ptexdir/tests/skipjfmp.pl ptexdir/tests/skipjfmp.tfm
DISTCLEANFILES += ptests/xskipjfmp.*
diff --git a/Build/source/texk/web2c/ptexdir/nissya.test b/Build/source/texk/web2c/ptexdir/nissya.test
index 2fdbb63933f..9c36af75528 100755
--- a/Build/source/texk/web2c/ptexdir/nissya.test
+++ b/Build/source/texk/web2c/ptexdir/nissya.test
@@ -14,4 +14,5 @@ TEXMFCNF=$srcdir/../kpathsea \
BSTINPUTS=$srcdir/ptexdir/tests \
BIBINPUTS=$srcdir/ptexdir/tests \
./pbibtex ptests/nissya_bib || exit 1
+ diff $srcdir/ptexdir/tests/nissya_bib.bbl ptests/nissya_bib.bbl || exit 2
diff --git a/Build/source/texk/web2c/ptexdir/pdvitype.test b/Build/source/texk/web2c/ptexdir/pdvitype.test
index 321dde07967..341a290e919 100755
--- a/Build/source/texk/web2c/ptexdir/pdvitype.test
+++ b/Build/source/texk/web2c/ptexdir/pdvitype.test
@@ -16,5 +16,17 @@ fi
TEXMFCNF=$srcdir/../kpathsea \
TFMFONTS=$srcdir/tests \
- ./pdvitype --p=\*.\*.2 $srcdir/tests/pagenum.dvi >ptests/xpagenum.typ || exit 1
+ ./pdvitype --p=\*.\*.2 $srcdir/tests/pagenum.dvi >ptests/xpagenum.typ || exit 2
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=$srcdir/ptexdir/tests:$srcdir/tests
+export TEXMFCNF TFMFONTS
+
+for enc in utf8 jis; do
+for doc in ptex3 ptex4; do
+ ./pdvitype -kanji=$enc $srcdir/ptexdir/tests/$doc.dvi >ptests/x$doc-$enc.typ || exit 3
+ sed 1d ptests/x$doc-$enc.typ >ptests/x${doc}a-$enc.typ
+ diff $srcdir/ptexdir/tests/${doc}a-$enc.typ ptests/x${doc}a-$enc.typ || exit 4
+done
+done
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode-euc.pl b/Build/source/texk/web2c/ptexdir/tests/chcode-euc.pl
new file mode 100644
index 00000000000..fa5b083c85d
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode-euc.pl
@@ -0,0 +1,80 @@
+(COMMENT THIS IS A KANJI FORMAT FILE)
+(FAMILY JIS KANJI)
+(FACE F MRR)
+(CODINGSCHEME TEX KANJI TEXT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ (EXTRASPACE R 0.25)
+ (EXTRASTRETCH R 0.2)
+ (EXTRASHRINK R 0.125)
+ )
+(GLUEKERN
+ (LABEL O 0)
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ (STOP)
+ )
+(CHARSINTYPE O 1
+
+ )
+(CHARSINTYPE O 2
+
+ )
+(CHARSINTYPE O 3
+
+ )
+(CHARSINTYPE O 4
+
+ )
+(CHARSINTYPE O 5
+
+ )
+(TYPE O 0
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ (COMMENT
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ )
+ )
+(TYPE O 1
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 2
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 3
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 4
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 5
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode-jis.pl b/Build/source/texk/web2c/ptexdir/tests/chcode-jis.pl
new file mode 100644
index 00000000000..4d749657438
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode-jis.pl
@@ -0,0 +1,80 @@
+(COMMENT THIS IS A KANJI FORMAT FILE)
+(FAMILY JIS KANJI)
+(FACE F MRR)
+(CODINGSCHEME TEX KANJI TEXT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ (EXTRASPACE R 0.25)
+ (EXTRASTRETCH R 0.2)
+ (EXTRASHRINK R 0.125)
+ )
+(GLUEKERN
+ (LABEL O 0)
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ (STOP)
+ )
+(CHARSINTYPE O 1
+ $B!!(B $B!~(B
+ )
+(CHARSINTYPE O 2
+ $B(!(B $B(@(B
+ )
+(CHARSINTYPE O 3
+ $B0!(B $B0~(B
+ )
+(CHARSINTYPE O 4
+ $Bt!(B $Bt&(B
+ )
+(CHARSINTYPE O 5
+ $B!1(B $B!=(B $B!A(B $B!B(B $B!D(B $B!](B $B!o(B $B!q(B $B!r(B $B"L(B
+ )
+(TYPE O 0
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ (COMMENT
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ )
+ )
+(TYPE O 1
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 2
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 3
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 4
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 5
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode-sjis.pl b/Build/source/texk/web2c/ptexdir/tests/chcode-sjis.pl
new file mode 100644
index 00000000000..240c1d01f53
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode-sjis.pl
@@ -0,0 +1,80 @@
+(COMMENT THIS IS A KANJI FORMAT FILE)
+(FAMILY JIS KANJI)
+(FACE F MRR)
+(CODINGSCHEME TEX KANJI TEXT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ (EXTRASPACE R 0.25)
+ (EXTRASTRETCH R 0.2)
+ (EXTRASHRINK R 0.125)
+ )
+(GLUEKERN
+ (LABEL O 0)
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ (STOP)
+ )
+(CHARSINTYPE O 1
+ @
+ )
+(CHARSINTYPE O 2
+
+ )
+(CHARSINTYPE O 3
+
+ )
+(CHARSINTYPE O 4
+
+ )
+(CHARSINTYPE O 5
+ P \ ` a c |
+ )
+(TYPE O 0
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ (COMMENT
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ )
+ )
+(TYPE O 1
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 2
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 3
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 4
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 5
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode-utf8.pl b/Build/source/texk/web2c/ptexdir/tests/chcode-utf8.pl
new file mode 100644
index 00000000000..8173219c90a
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode-utf8.pl
@@ -0,0 +1,80 @@
+(COMMENT THIS IS A KANJI FORMAT FILE)
+(FAMILY JIS KANJI)
+(FACE F MRR)
+(CODINGSCHEME TEX KANJI TEXT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ (EXTRASPACE R 0.25)
+ (EXTRASTRETCH R 0.2)
+ (EXTRASHRINK R 0.125)
+ )
+(GLUEKERN
+ (LABEL O 0)
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ (STOP)
+ )
+(CHARSINTYPE O 1
+   ◇
+ )
+(CHARSINTYPE O 2
+ ─ ╂
+ )
+(CHARSINTYPE O 3
+ 亜 蔭
+ )
+(CHARSINTYPE O 4
+ 堯 熙
+ )
+(CHARSINTYPE O 5
+  ̄ — 〜 ‖ … − ¥ ¢ £ ¬
+ )
+(TYPE O 0
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ (COMMENT
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ )
+ )
+(TYPE O 1
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 2
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 3
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 4
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 5
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode.pl b/Build/source/texk/web2c/ptexdir/tests/chcode.pl
new file mode 100644
index 00000000000..af14b7de95e
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode.pl
@@ -0,0 +1,80 @@
+(COMMENT THIS IS A KANJI FORMAT FILE)
+(FAMILY JIS KANJI)
+(FACE F MRR)
+(CODINGSCHEME TEX KANJI TEXT)
+(DESIGNSIZE R 10.0)
+(COMMENT DESIGNSIZE IS IN POINTS)
+(COMMENT OTHER SIZES ARE MULTIPLES OF DESIGNSIZE)
+(CHECKSUM O 0)
+(FONTDIMEN
+ (SLANT R 0.0)
+ (SPACE R 0.0)
+ (STRETCH R 0.1)
+ (SHRINK R 0.0)
+ (XHEIGHT R 1.0)
+ (QUAD R 1.0)
+ (EXTRASPACE R 0.25)
+ (EXTRASTRETCH R 0.2)
+ (EXTRASHRINK R 0.125)
+ )
+(GLUEKERN
+ (LABEL O 0)
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ (STOP)
+ )
+(CHARSINTYPE O 1
+ J 2121 J 217E
+ )
+(CHARSINTYPE O 2
+ J 2821 J 2840
+ )
+(CHARSINTYPE O 3
+ J 3021 J 307E
+ )
+(CHARSINTYPE O 4
+ J 7421 J 7426
+ )
+(CHARSINTYPE O 5
+ J 2131 J 213D J 2141 J 2142 J 2144 J 215D J 216F J 2171 J 2172 J 224C
+ )
+(TYPE O 0
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ (COMMENT
+ (GLUE O 1 R 0.25 R 0.0 R 0.5)
+ (GLUE O 2 R 0.25 R 0.0 R 0.5)
+ (GLUE O 3 R 0.25 R 0.0 R 0.5)
+ (GLUE O 4 R 0.25 R 0.0 R 0.5)
+ (GLUE O 5 R 0.25 R 0.0 R 0.5)
+ )
+ )
+(TYPE O 1
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 2
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 3
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 4
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
+(TYPE O 5
+ (CHARWD R 1.0)
+ (CHARHT R 0.88)
+ (CHARDP R 0.12)
+ )
diff --git a/Build/source/texk/web2c/ptexdir/tests/chcode.tfm b/Build/source/texk/web2c/ptexdir/tests/chcode.tfm
new file mode 100644
index 00000000000..76de180edc5
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/chcode.tfm
Binary files differ
diff --git a/Build/source/texk/web2c/ptexdir/tests/nissya_bib.bbl b/Build/source/texk/web2c/ptexdir/tests/nissya_bib.bbl
new file mode 100644
index 00000000000..c33399af06f
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/nissya_bib.bbl
@@ -0,0 +1,77 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% This bbl file is created through nissya.bst
+% nissya.bst is available at
+% <http://hey.to/KO-ichi>
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\ifx\undefined\bysame
+\newcommand{\bysame}{\rule[.5ex]{4zw}{.15pt}}
+\fi
+
+\begin{thebibliography}{xx}
+
+\nissyaitem[Fischer]{C S Fischer}{Fischer,~C.~S.}{C.~S.
+ Fischer}{1992=2000}{fschr92j}
+Fischer,~C.~S.,\hspace{.3em}1992, {\em America Calling: A Social History of the
+ Telephone to 1940,} California: University of California Press.(=2000,
+ 吉見俊哉・松田美佐・片岡みい子訳『電話するアメリカ』NTT出版.~)
+
+\nissyaitem[Granovetter]{M S Granovetter}{Granovetter,~M.~S.}{M.~S.
+ Granovetter}{1973}{gms1}
+Granovetter,~M.~S.,\hspace{.3em}1973, ``The Strength of Weak Ties,'' {\em
+ American Journal of Sociology,} 78: 1360--80.
+
+\nissyaitem[樋口]{樋口耕一}{樋口耕一}{樋口耕一}{2001}{hgc1}
+樋口耕一, ~2001,
+ 「電子コミュニティにおけるメディア特性の影響 ---同期メディアと非同期メディア」『年報人間科学』22:
+ 91--106.
+
+\nissyaitem[樋口]{樋口耕一}{樋口耕一}{樋口耕一}{2003}{hgc3}
+\bysame , ~2003, 「コンピュータ・コーディングの実践」『年報人間科学』24:
+ 193--214.
+
+\nissyaitem[川端]{川端亮}{川端亮}{川端亮}{2001a}{kwbt1}
+川端亮, ~2001a,
+ 「コンピュータ・コーディングによる宗教的ライフヒストリーの記述」『宗教と社会』7:
+ 133--54.
+
+\nissyaitem[川端]{川端亮}{川端亮}{川端亮}{2001b}{kwbt}
+\bysame , ~2001b,
+ 「コンピューターを用いた自由回答のコーティング」『社会情報』10(1): 135--48.
+
+\nissyaitem[川端編]{川端亮}{川端亮編}{川端亮編}{1999}{kwbt99}
+川端亮編著, ~1999,
+ 『非定型データのコーディング・システムとその利用』平成8年度~10年度科学研究費補助金(基盤研究(A)(1))(課題番号 08551003)研究成果報告書,\hspace{.6em}大阪大学.
+
+\nissyaitem[川端・樋口]{川端亮・樋口耕一}{川端亮・樋口耕一}{川端亮・樋口耕一}{2003}{kh2003}
+川端亮・樋口耕一, ~2003,
+ 「インターネットに対する人々の意識 ---自由回答の分析から」『大阪大学大学院人間科学研究科紀要』29:
+ 163--81.
+
+\nissyaitem[Lonkila]{M Lonkila}{Lonkila,~M.}{M.~Lonkila}{1995}{Lonkila1995}
+Lonkila,~M.,\hspace{.3em}1995, ``Grounded Theory as an Emerging Paradigm for
+ Computer-Assisted Qualitative Data Analysis,'' U.~Kelle ed., {\em
+ Computer-Aided Qualitative Analysis,} London: Sage, 41--51.
+
+\nissyaitem[直井ほか]{直井優}{直井優ほか}{直井優ほか}{2003}{nsi2003}
+直井優・菅野剛・岩渕亜希子, ~2003,
+ 「情報化社会に関する全国調査(JIS2001)の概要」『大阪大学大学院人間科学研究科紀要』29:
+ 23--66.
+
+\nissyaitem[日本社会学会編集委員会]{日本社会学会編集委員会}{日本社会学会編集委員会}{日本社会学会編集委員会}{1999}{jsrstyle}
+日本社会学会編集委員会, ~1999,
+ 「社会学評論スタイルガイド」( http://wwwsoc.nii.ac.jp/jss/\\JSRstyle/JSRstyle.html
+ \ 2003.6.27).
+
+\nissyaitem[Wellman]{B Wellman}{Wellman,~B.}{B.~Wellman}{1998}{cmcjdb44}
+Wellman,~B.,\hspace{.3em}1998, ``A Computer Network is a Social Network,''
+ {\em SIGGROUP Bulletin,} 19(3): 41--8.
+
+\nissyaitem[Wellman \& Hampton]{B Wellman K N Hampton}{Wellman,~B. \&
+ Hampton,~K.~N.}{B.~Wellman \& K.~N. Hampton}{1999}{netville2}
+Wellman,~B. \& K.~N. Hampton,\hspace{.3em}1999, ``Living Networked On and
+ Offline,'' {\em Contemporary Sociology,} 28(6): 648--55.
+
+\end{thebibliography}
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex3.dvi b/Build/source/texk/web2c/ptexdir/tests/ptex3.dvi
new file mode 100644
index 00000000000..e3692bb636f
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex3.dvi
Binary files differ
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex3.tex b/Build/source/texk/web2c/ptexdir/tests/ptex3.tex
new file mode 100644
index 00000000000..f04ee546c52
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex3.tex
@@ -0,0 +1,8 @@
+%#!ptex
+
+\font\jpy=min10
+\jpy
+雪の朝\par
+二の字二の字の\par
+下駄の跡
+\bye
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex3a-jis.typ b/Build/source/texk/web2c/ptexdir/tests/ptex3a-jis.typ
new file mode 100644
index 00000000000..e25d893135a
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex3a-jis.typ
@@ -0,0 +1,74 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2000'
+Postamble starts at byte 227.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 50: min10 (JFM)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-58
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=2670
+98: push
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+99: down4 -41497562 v:=42152922-41497562=655360, vv:=42
+104: push
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+105: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+109: fntdef1 50: min10
+130: fntnum50 current font is min10
+131: set2 16483("4063) type=0 h:=1310720+630598=1941318, hh:=123
+134: set2 9294("244E) type=0 h:=1941318+630598=2571916, hh:=163
+137: set2 17451("442B) type=0 h:=2571916+630598=3202514, hh:=203
+[$B@c$ND+(B]
+140: pop
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+141: y3 786432 v:=655360+786432=1441792, vv:=91
+145: push
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+146: right3 1310720 h:=0+1310720=1310720, hh:=83
+150: set2 18035("4673) type=0 h:=1310720+630598=1941318, hh:=123
+153: set2 9294("244E) type=0 h:=1941318+630598=2571916, hh:=163
+156: set2 15226("3B7A) type=0 h:=2571916+630598=3202514, hh:=203
+159: set2 18035("4673) type=0 h:=3202514+630598=3833112, hh:=243
+162: set2 9294("244E) type=0 h:=3833112+630598=4463710, hh:=283
+165: set2 15226("3B7A) type=0 h:=4463710+630598=5094308, hh:=323
+168: set2 9294("244E) type=0 h:=5094308+630598=5724906, hh:=363
+[ $BFs$N;zFs$N;z$N(B]
+171: pop
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+172: y0 786432 v:=1441792+786432=2228224, vv:=141
+173: push
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+174: right3 1310720 h:=0+1310720=1310720, hh:=83
+178: set2 12860("323C) type=0 h:=1310720+630598=1941318, hh:=123
+181: set2 16972("424C) type=0 h:=1941318+630598=2571916, hh:=163
+184: set2 9294("244E) type=0 h:=2571916+630598=3202514, hh:=203
+187: set2 16471("4057) type=0 h:=3202514+630598=3833112, hh:=243
+[ $B2<BL$N@W(B]
+190: pop
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+191: pop
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+192: down3 1572864 v:=42152922+1572864=43725786, vv:=2770
+196: push
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+197: right4 15229091 h:=0+15229091=15229091, hh:=965
+[ ]
+202: fntdef1 0: cmr10
+223: fntnum0 current font is cmr10
+224: setchar49 ("31) h:=15229091+327681=15556772, hh:=986
+[1]
+225: pop
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+226: eop
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex3a-utf8.typ b/Build/source/texk/web2c/ptexdir/tests/ptex3a-utf8.typ
new file mode 100644
index 00000000000..cfffa90c9b5
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex3a-utf8.typ
@@ -0,0 +1,74 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2000'
+Postamble starts at byte 227.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 50: min10 (JFM)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-58
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=2670
+98: push
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+99: down4 -41497562 v:=42152922-41497562=655360, vv:=42
+104: push
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+105: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+109: fntdef1 50: min10
+130: fntnum50 current font is min10
+131: set2 16483("4063) type=0 h:=1310720+630598=1941318, hh:=123
+134: set2 9294("244E) type=0 h:=1941318+630598=2571916, hh:=163
+137: set2 17451("442B) type=0 h:=2571916+630598=3202514, hh:=203
+[雪の朝]
+140: pop
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+141: y3 786432 v:=655360+786432=1441792, vv:=91
+145: push
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+146: right3 1310720 h:=0+1310720=1310720, hh:=83
+150: set2 18035("4673) type=0 h:=1310720+630598=1941318, hh:=123
+153: set2 9294("244E) type=0 h:=1941318+630598=2571916, hh:=163
+156: set2 15226("3B7A) type=0 h:=2571916+630598=3202514, hh:=203
+159: set2 18035("4673) type=0 h:=3202514+630598=3833112, hh:=243
+162: set2 9294("244E) type=0 h:=3833112+630598=4463710, hh:=283
+165: set2 15226("3B7A) type=0 h:=4463710+630598=5094308, hh:=323
+168: set2 9294("244E) type=0 h:=5094308+630598=5724906, hh:=363
+[ 二の字二の字の]
+171: pop
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+172: y0 786432 v:=1441792+786432=2228224, vv:=141
+173: push
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+174: right3 1310720 h:=0+1310720=1310720, hh:=83
+178: set2 12860("323C) type=0 h:=1310720+630598=1941318, hh:=123
+181: set2 16972("424C) type=0 h:=1941318+630598=2571916, hh:=163
+184: set2 9294("244E) type=0 h:=2571916+630598=3202514, hh:=203
+187: set2 16471("4057) type=0 h:=3202514+630598=3833112, hh:=243
+[ 下駄の跡]
+190: pop
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+191: pop
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+192: down3 1572864 v:=42152922+1572864=43725786, vv:=2770
+196: push
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+197: right4 15229091 h:=0+15229091=15229091, hh:=965
+[ ]
+202: fntdef1 0: cmr10
+223: fntnum0 current font is cmr10
+224: setchar49 ("31) h:=15229091+327681=15556772, hh:=986
+[1]
+225: pop
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+226: eop
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex4.dvi b/Build/source/texk/web2c/ptexdir/tests/ptex4.dvi
new file mode 100644
index 00000000000..4107b5644f3
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex4.dvi
Binary files differ
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex4.tex b/Build/source/texk/web2c/ptexdir/tests/ptex4.tex
new file mode 100644
index 00000000000..c4b02e47510
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex4.tex
@@ -0,0 +1,9 @@
+%#!ptex
+
+\tate
+\font\jpt=tmin10
+\jpt
+雪の朝\par
+二の字二の字の\par
+下駄の跡
+\bye
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex4a-jis.typ b/Build/source/texk/web2c/ptexdir/tests/ptex4a-jis.typ
new file mode 100644
index 00000000000..387bc05cc98
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex4a-jis.typ
@@ -0,0 +1,77 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2002'
+Postamble starts at byte 235.
+maxv=30785863, maxh=43725786, maxstackdepth=2, totalpages=1
+pTeX DVI (id=3)
+Font 62: tmin10 (JFM tate)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: dir 1
+89: down4 -43725786 h:=0+43725786=43725786, hh:=2770
+94: push
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+95: down3 -917504 h:=43725786+917504=44643290, hh:=2828 warning: |h|>43725786!
+99: pop
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+100: down4 42152922 h:=43725786-42152922=1572864, hh:=100
+105: push
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+106: down4 -41497562 h:=1572864+41497562=43070426, hh:=2728
+111: push
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+112: right3 1310720 v:=0+1310720=1310720, vv:=83
+[ ]
+116: fntdef1 62: tmin10
+138: fntnum62 current font is tmin10
+139: set2 16483("4063) type=0 v:=1310720+630598=1941318, vv:=123
+142: set2 9294("244E) type=0 v:=1941318+630598=2571916, vv:=163
+145: set2 17451("442B) type=0 v:=2571916+630598=3202514, vv:=203
+[$B@c$ND+(B]
+148: pop
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+149: y3 786432 h:=43070426-786432=42283994, hh:=2678
+153: push
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+154: right3 1310720 v:=0+1310720=1310720, vv:=83
+158: set2 18035("4673) type=0 v:=1310720+630598=1941318, vv:=123
+161: set2 9294("244E) type=0 v:=1941318+630598=2571916, vv:=163
+164: set2 15226("3B7A) type=0 v:=2571916+630598=3202514, vv:=203
+167: set2 18035("4673) type=0 v:=3202514+630598=3833112, vv:=243
+170: set2 9294("244E) type=0 v:=3833112+630598=4463710, vv:=283
+173: set2 15226("3B7A) type=0 v:=4463710+630598=5094308, vv:=323
+176: set2 9294("244E) type=0 v:=5094308+630598=5724906, vv:=363
+[ $BFs$N;zFs$N;z$N(B]
+179: pop
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+180: y0 786432 h:=42283994-786432=41497562, hh:=2628
+181: push
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+182: right3 1310720 v:=0+1310720=1310720, vv:=83
+186: set2 12860("323C) type=0 v:=1310720+630598=1941318, vv:=123
+189: set2 16972("424C) type=0 v:=1941318+630598=2571916, vv:=163
+192: set2 9294("244E) type=0 v:=2571916+630598=3202514, vv:=203
+195: set2 16471("4057) type=0 v:=3202514+630598=3833112, vv:=243
+[ $B2<BL$N@W(B]
+198: pop
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+199: pop
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+200: down3 1572864 h:=1572864-1572864=0, hh:=0
+204: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+205: right4 15229091 v:=0+15229091=15229091, vv:=965
+[ ]
+210: fntdef1 0: cmr10
+231: fntnum0 current font is cmr10
+232: setchar49 ("31) v:=15229091+327681=15556772, vv:=986
+[1]
+233: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+234: eop
diff --git a/Build/source/texk/web2c/ptexdir/tests/ptex4a-utf8.typ b/Build/source/texk/web2c/ptexdir/tests/ptex4a-utf8.typ
new file mode 100644
index 00000000000..fdbca9c5d88
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/tests/ptex4a-utf8.typ
@@ -0,0 +1,77 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2002'
+Postamble starts at byte 235.
+maxv=30785863, maxh=43725786, maxstackdepth=2, totalpages=1
+pTeX DVI (id=3)
+Font 62: tmin10 (JFM tate)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: dir 1
+89: down4 -43725786 h:=0+43725786=43725786, hh:=2770
+94: push
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+95: down3 -917504 h:=43725786+917504=44643290, hh:=2828 warning: |h|>43725786!
+99: pop
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+100: down4 42152922 h:=43725786-42152922=1572864, hh:=100
+105: push
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+106: down4 -41497562 h:=1572864+41497562=43070426, hh:=2728
+111: push
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+112: right3 1310720 v:=0+1310720=1310720, vv:=83
+[ ]
+116: fntdef1 62: tmin10
+138: fntnum62 current font is tmin10
+139: set2 16483("4063) type=0 v:=1310720+630598=1941318, vv:=123
+142: set2 9294("244E) type=0 v:=1941318+630598=2571916, vv:=163
+145: set2 17451("442B) type=0 v:=2571916+630598=3202514, vv:=203
+[雪の朝]
+148: pop
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+149: y3 786432 h:=43070426-786432=42283994, hh:=2678
+153: push
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+154: right3 1310720 v:=0+1310720=1310720, vv:=83
+158: set2 18035("4673) type=0 v:=1310720+630598=1941318, vv:=123
+161: set2 9294("244E) type=0 v:=1941318+630598=2571916, vv:=163
+164: set2 15226("3B7A) type=0 v:=2571916+630598=3202514, vv:=203
+167: set2 18035("4673) type=0 v:=3202514+630598=3833112, vv:=243
+170: set2 9294("244E) type=0 v:=3833112+630598=4463710, vv:=283
+173: set2 15226("3B7A) type=0 v:=4463710+630598=5094308, vv:=323
+176: set2 9294("244E) type=0 v:=5094308+630598=5724906, vv:=363
+[ 二の字二の字の]
+179: pop
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+180: y0 786432 h:=42283994-786432=41497562, hh:=2628
+181: push
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+182: right3 1310720 v:=0+1310720=1310720, vv:=83
+186: set2 12860("323C) type=0 v:=1310720+630598=1941318, vv:=123
+189: set2 16972("424C) type=0 v:=1941318+630598=2571916, vv:=163
+192: set2 9294("244E) type=0 v:=2571916+630598=3202514, vv:=203
+195: set2 16471("4057) type=0 v:=3202514+630598=3833112, vv:=243
+[ 下駄の跡]
+198: pop
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+199: pop
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+200: down3 1572864 h:=1572864-1572864=0, hh:=0
+204: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+205: right4 15229091 v:=0+15229091=15229091, vv:=965
+[ ]
+210: fntdef1 0: cmr10
+231: fntnum0 current font is cmr10
+232: setchar49 ("31) v:=15229091+327681=15556772, vv:=986
+[1]
+233: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+234: eop
diff --git a/Build/source/texk/web2c/ptexdir/yokotate.test b/Build/source/texk/web2c/ptexdir/yokotate.test
index 7429c797833..380fa4cc623 100755
--- a/Build/source/texk/web2c/ptexdir/yokotate.test
+++ b/Build/source/texk/web2c/ptexdir/yokotate.test
@@ -6,6 +6,9 @@
test -d ptests || mkdir -p ptests
+TEXMFCNF=$srcdir/../kpathsea
+export TEXMFCNF
+
# Test inputs
testdir=$srcdir/ptexdir/tests
@@ -15,9 +18,30 @@ for font in min10 tmin10; do
./ppltotf -verbose $testdir/$font.pl ptests/x$font.tfm && \
cmp $testdir/$font.tfm ptests/x$font.tfm && echo || exit 1
- TEXMFCNF=$srcdir/../kpathsea \
- ./ptftopl -charcode-format octal -verbose $testdir/$font.tfm ptests/x$font.pl && \
- diff $testdir/$font.pl ptests/x$font.pl && echo || exit 1
+ ./ptftopl -charcode-format octal -verbose $testdir/$font.tfm ptests/x$font.pl && \
+ diff $testdir/$font.pl ptests/x$font.pl && echo || exit 2
done
+
+# Testing pPLtoTF/pTFtoPL for character range & encoding.
+for font in chcode; do
+
+ ./ppltotf $testdir/$font.pl ptests/x$font.tfm && \
+ cmp $testdir/$font.tfm ptests/x$font.tfm && echo || exit 3
+
+ ./ptftopl -charcode-format octal $testdir/$font.tfm ptests/x$font.pl && \
+ diff $testdir/$font.pl ptests/x$font.pl && echo || exit 4
+
+for enc in utf8 euc sjis jis; do
+
+ ./ppltotf -kanji=$enc $testdir/$font-$enc.pl ptests/x$font-$enc.tfm && \
+ cmp $testdir/$font.tfm ptests/x$font-$enc.tfm && echo || exit 5
+
+ ./ptftopl -kanji=$enc $testdir/$font.tfm ptests/x$font-$enc.pl && \
+ if [ $enc = utf8 ]; then \
+ sed -i".bak" -e "y/―~∥-¢£¬/—〜‖−¢£¬/" ptests/x$font-$enc.pl; fi && \
+ diff $testdir/$font-$enc.pl ptests/x$font-$enc.pl && echo || exit 6
+
+done
+done
diff --git a/Build/source/texk/web2c/uptexdir/ChangeLog b/Build/source/texk/web2c/uptexdir/ChangeLog
index 07d1a01c056..07ea884d7a7 100644
--- a/Build/source/texk/web2c/uptexdir/ChangeLog
+++ b/Build/source/texk/web2c/uptexdir/ChangeLog
@@ -1,3 +1,15 @@
+2022-11-27 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tests/{nissya,sample,skipjfmp,upbibtex-mem,updvitype,yokotate}.test,
+ upbibtex-{longline,openout}-test.pl,
+ tests/uptex[34].{tex,dvi}, tests/uptex[34]a.typ, am/uptex.am:
+ Add tests for pTeX compatible mode of tools for upTeX.
+ upbibtex -kanji=internal=euc :: pbibtex compatible
+ updvitype -kanji=utf8 :: pdvitype compatible
+ uppltotf -kanji=utf8 :: ppltotf compatible
+ uptftopl -kanji=utf8 :: ptftopl compatible
+ https://github.com/texjporg/tex-jp-build/issues/32
+
2022-11-03 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
* uptex-m.ch: Adapt to ptex-base.ch.
diff --git a/Build/source/texk/web2c/uptexdir/am/uptex.am b/Build/source/texk/web2c/uptexdir/am/uptex.am
index c7a58d14b9c..2d6d0f5bc39 100644
--- a/Build/source/texk/web2c/uptexdir/am/uptex.am
+++ b/Build/source/texk/web2c/uptexdir/am/uptex.am
@@ -161,27 +161,34 @@ EXTRA_DIST += \
uptexdir/ChangeLog
# upTeX Tests
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
+uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test uptexdir/upkcat.test
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
-uptexdir/upver.log: uptex$(EXEEXT)
+uptexdir/upver.log uptexdir/upkcat.log: uptex$(EXEEXT)
upweb_tests = \
uptexdir/upbibtex.test \
uptexdir/updvitype.test \
uptexdir/uppltotf.test \
- uptexdir/uptftopl.test \
- uptexdir/yokotate.test \
- uptexdir/newjfm.test \
- uptexdir/uparse.test \
- uptexdir/gkhuge.test \
- uptexdir/upkcat.test
+ uptexdir/uptftopl.test
+## upBibTeX
+upweb_tests += \
+ uptexdir/upbibtex-openout-test.pl uptexdir/upbibtex-longline-test.pl \
+ uptexdir/upbibtex-mem.test uptexdir/nissya.test
+## upDviType
+upweb_tests += \
+ uptexdir/sample.test
+# uppPLtoTF/upTFtoPL
+upweb_tests += \
+ uptexdir/yokotate.test uptexdir/skipjfmp.test \
+ uptexdir/newjfm.test uptexdir/uparse.test uptexdir/gkhuge.test
uptexdir/upbibtex.log: upbibtex$(EXEEXT)
uptexdir/updvitype.log: updvitype$(EXEEXT)
uptexdir/uppltotf.log: uppltotf$(EXEEXT)
uptexdir/uptftopl.log: uptftopl$(EXEEXT)
-uptexdir/yokotate.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/newjfm.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/uparse.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
-uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
+uptexdir/upbibtex-openout-test.log uptexdir/upbibtex-longline-test.log \
+ uptexdir/upbibtex-mem.log uptexdir/nissya.log: upbibtex$(EXEEXT)
+uptexdir/sample.log: pdvitype$(EXEEXT)
+uptexdir/yokotate.log uptexdir/skipjfmp.log \
+ uptexdir/newjfm.log uptexdir/uparse.log uptexdir/gkhuge.log: uppltotf$(EXEEXT) uptftopl$(EXEEXT)
EXTRA_DIST += $(uptex_tests) $(upweb_tests)
DISTCLEANFILES += $(upweb_programs:=.c) $(upweb_programs:=.h) \
@@ -198,20 +205,29 @@ endif UPWEB
## Test data and results
##
+## uptexdir/nissya.test
+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*.*
+## uptexdir/upbibtex-mem.test
+DISTCLEANFILES += uptests/memtest.bib uptests/memtest?.*
## uptexdir/updvitype.test
-DISTCLEANFILES += uptests/xstory.dvityp uptests/xpagenum.typ
+EXTRA_DIST += uptexdir/tests/uptex3.tex uptexdir/tests/uptex3.dvi \
+ uptexdir/tests/uptex4.tex uptexdir/tests/uptex4.dvi \
+ uptexdir/tests/uptex3a.typ uptexdir/tests/uptex4a.typ
+DISTCLEANFILES += uptests/xstory.dvityp uptests/xpagenum.typ uptests/x*ptex[34]*.typ
## uptexdir/uppltotf.test
DISTCLEANFILES += uptests/xcmr10.tfm
## uptexdir/uptftopl.test
DISTCLEANFILES += uptests/xcmr10.pl
+## ptexdir/sample.test
+DISTCLEANFILES += uptests/xsample*.typ
## uptexdir/yokotate.test
EXTRA_DIST += uptexdir/tests/umin10.pl uptexdir/tests/umin10.tfm
EXTRA_DIST += uptexdir/tests/utmin10.pl uptexdir/tests/utmin10.tfm
-DISTCLEANFILES += uptests/x*min10.*
+DISTCLEANFILES += uptests/x*min10.* uptests/xchcode*.*
## uptexdir/newjfm.test
EXTRA_DIST += uptexdir/tests/testnewu.pl uptexdir/tests/testnewu.tfm
DISTCLEANFILES += uptests/xtestnewu.*
@@ -221,6 +237,8 @@ DISTCLEANFILES += uptests/xuparse.* uptests/yuparse.*
## uptexdir/gkhuge.test
EXTRA_DIST += uptexdir/tests/gkhugeok.tfm uptexdir/tests/gkhugeng.tfm uptexdir/tests/gkhugeng.err
DISTCLEANFILES += uptests/ygkhuge*.*
+## uptexdir/skipjfmp.test
+DISTCLEANFILES += uptests/xskipjfmp.*
## uptexdir/uptriptest
EXTRA_DIST += uptexdir/uptrip/uptrip.diffs uptexdir/uptrip/texmf.cnf
uptrip.diffs: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
diff --git a/Build/source/texk/web2c/uptexdir/nissya.test b/Build/source/texk/web2c/uptexdir/nissya.test
new file mode 100755
index 00000000000..749450276b3
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/nissya.test
@@ -0,0 +1,23 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2017 Karl Berry <tex-live@tug.org>
+# Copyright 2010-2013 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+# Using data sent by Akira Kakuto <kakuto@fuk.kindai.ac.jp>
+
+test -d uptests || mkdir -p uptests
+
+cp $srcdir/ptexdir/tests/nissya_bib.aux uptests/nissya_bib.aux
+
+TEXMFCNF=$srcdir/../kpathsea \
+ BSTINPUTS=$srcdir/ptexdir/tests \
+ BIBINPUTS=$srcdir/ptexdir/tests \
+ ./upbibtex -kanji-internal=euc uptests/nissya_bib || exit 1
+ diff $srcdir/ptexdir/tests/nissya_bib.bbl uptests/nissya_bib.bbl || exit 2
+
+TEXMFCNF=$srcdir/../kpathsea \
+ BSTINPUTS=$srcdir/ptexdir/tests \
+ BIBINPUTS=$srcdir/ptexdir/tests \
+ ./upbibtex uptests/nissya_bib || exit 3
+
diff --git a/Build/source/texk/web2c/uptexdir/sample.test b/Build/source/texk/web2c/uptexdir/sample.test
new file mode 100755
index 00000000000..295ef8302b4
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/sample.test
@@ -0,0 +1,23 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2017-2020 Karl Berry <tex-live@tug.org>
+# Copyright 2010-2013 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d uptests || mkdir -p uptests
+
+tfmpath=`$KPSEWHICH cmbx10.tfm` || exit 77
+
+tfmparent=`dirname "$tfmpath"`
+tfmgrandparent=`dirname "$tfmparent"`
+
+# Test inputs
+testdir=$srcdir/ptexdir/tests
+
+TEXMFCNF=$srcdir/../kpathsea \
+ TFMFONTS=$testdir:`dirname "$tfmgrandparent"`// \
+ ./updvitype -kanji=utf8 -show-opcodes $testdir/sample >uptests/xsample.typ || exit 1
+
+sed 1d uptests/xsample.typ >uptests/xsamplea.typ
+diff $testdir/samplea.typ uptests/xsamplea.typ || exit 1
+
diff --git a/Build/source/texk/web2c/uptexdir/skipjfmp.test b/Build/source/texk/web2c/uptexdir/skipjfmp.test
new file mode 100755
index 00000000000..42b11e70aab
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/skipjfmp.test
@@ -0,0 +1,22 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2018 Karl Berry <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+test -d uptests || mkdir -p uptests
+
+# Test inputs
+testdir=$srcdir/ptexdir/tests
+
+# Testing pPLtoTF/pTFtoPL compatible mode for SKIP property in GLUEKERN.
+for font in skipjfmp; do
+
+ ./uppltotf -kanji=utf8 -verbose $testdir/$font.pl uptests/x$font.tfm && \
+ cmp $testdir/$font.tfm uptests/x$font.tfm && echo || exit 1
+
+ TEXMFCNF=$srcdir/../kpathsea \
+ ./uptftopl -kanji=utf8 -charcode-format octal -verbose $testdir/$font.tfm uptests/x$font.pl && \
+ diff $testdir/$font.pl uptests/x$font.pl && echo || exit 1
+
+done
+
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex3.dvi b/Build/source/texk/web2c/uptexdir/tests/uptex3.dvi
new file mode 100644
index 00000000000..2c4d4087002
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex3.dvi
Binary files differ
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex3.tex b/Build/source/texk/web2c/uptexdir/tests/uptex3.tex
new file mode 100644
index 00000000000..73e5b470566
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex3.tex
@@ -0,0 +1,8 @@
+%#!uptex
+
+\font\jpy=umin10
+\jpy
+☃の朝\par
+二の字二の字の\par
+下駄の跡
+\bye
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex3a.typ b/Build/source/texk/web2c/uptexdir/tests/uptex3a.typ
new file mode 100644
index 00000000000..4adac16e26e
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex3a.typ
@@ -0,0 +1,74 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2006'
+Postamble starts at byte 228.
+maxv=43725786, maxh=30785863, maxstackdepth=2, totalpages=1
+Font 62: umin10 (JFM)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+88: down3 -917504 v:=0-917504=-917504, vv:=-58
+92: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,hh=0,vv=0)
+93: down4 42152922 v:=0+42152922=42152922, vv:=2670
+98: push
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+99: down4 -41497562 v:=42152922-41497562=655360, vv:=42
+104: push
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+105: right3 1310720 h:=0+1310720=1310720, hh:=83
+[ ]
+109: fntdef1 62: umin10
+131: fntnum62 current font is umin10
+132: set2 9731("2603) type=0 h:=1310720+630598=1941318, hh:=123
+135: set2 12398("306E) type=0 h:=1941318+630598=2571916, hh:=163
+138: set2 26397("671D) type=0 h:=2571916+630598=3202514, hh:=203
+[☃の朝]
+141: pop
+level 1:(h=0,v=655360,w=0,x=0,y=0,z=0,hh=0,vv=42)
+142: y3 786432 v:=655360+786432=1441792, vv:=91
+146: push
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+147: right3 1310720 h:=0+1310720=1310720, hh:=83
+151: set2 20108("4E8C) type=0 h:=1310720+630598=1941318, hh:=123
+154: set2 12398("306E) type=0 h:=1941318+630598=2571916, hh:=163
+157: set2 23383("5B57) type=0 h:=2571916+630598=3202514, hh:=203
+160: set2 20108("4E8C) type=0 h:=3202514+630598=3833112, hh:=243
+163: set2 12398("306E) type=0 h:=3833112+630598=4463710, hh:=283
+166: set2 23383("5B57) type=0 h:=4463710+630598=5094308, hh:=323
+169: set2 12398("306E) type=0 h:=5094308+630598=5724906, hh:=363
+[ 二の字二の字の]
+172: pop
+level 1:(h=0,v=1441792,w=0,x=0,y=786432,z=0,hh=0,vv=91)
+173: y0 786432 v:=1441792+786432=2228224, vv:=141
+174: push
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+175: right3 1310720 h:=0+1310720=1310720, hh:=83
+179: set2 19979("4E0B) type=0 h:=1310720+630598=1941318, hh:=123
+182: set2 39364("99C4) type=0 h:=1941318+630598=2571916, hh:=163
+185: set2 12398("306E) type=0 h:=2571916+630598=3202514, hh:=203
+188: set2 36321("8DE1) type=0 h:=3202514+630598=3833112, hh:=243
+[ 下駄の跡]
+191: pop
+level 1:(h=0,v=2228224,w=0,x=0,y=786432,z=0,hh=0,vv=141)
+192: pop
+level 0:(h=0,v=42152922,w=0,x=0,y=0,z=0,hh=0,vv=2670)
+193: down3 1572864 v:=42152922+1572864=43725786, vv:=2770
+197: push
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+198: right4 15229091 h:=0+15229091=15229091, hh:=965
+[ ]
+203: fntdef1 0: cmr10
+224: fntnum0 current font is cmr10
+225: setchar49 ("31) h:=15229091+327681=15556772, hh:=986
+[1]
+226: pop
+level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770)
+227: eop
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex4.dvi b/Build/source/texk/web2c/uptexdir/tests/uptex4.dvi
new file mode 100644
index 00000000000..f94ce026811
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex4.dvi
Binary files differ
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex4.tex b/Build/source/texk/web2c/uptexdir/tests/uptex4.tex
new file mode 100644
index 00000000000..cb90a9f57c2
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex4.tex
@@ -0,0 +1,9 @@
+%#!uptex
+
+\tate
+\font\jpt=utmin10
+\jpt
+☃の朝\par
+二の字二の字の\par
+下駄の跡
+\bye
diff --git a/Build/source/texk/web2c/uptexdir/tests/uptex4a.typ b/Build/source/texk/web2c/uptexdir/tests/uptex4a.typ
new file mode 100644
index 00000000000..af68d72cc9b
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/tests/uptex4a.typ
@@ -0,0 +1,77 @@
+Options selected:
+ Starting page = *
+ Maximum number of pages = 1000000
+ Output level = 4 (the works)
+ Resolution = 300.00000000 pixels per inch
+numerator/denominator=25400000/473628672
+magnification=1000; 0.00006334 pixels per DVI unit
+' TeX output 2022.11.23:2006'
+Postamble starts at byte 236.
+maxv=30785863, maxh=43725786, maxstackdepth=2, totalpages=1
+pTeX DVI (id=3)
+Font 62: utmin10 (JFM tate)---loaded at size 655360 DVI units
+Font 0: cmr10---loaded at size 655360 DVI units
+
+42: beginning of page 1
+87: dir 1
+89: down4 -43725786 h:=0+43725786=43725786, hh:=2770
+94: push
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+95: down3 -917504 h:=43725786+917504=44643290, hh:=2828 warning: |h|>43725786!
+99: pop
+level 0:(h=43725786,v=0,w=0,x=0,y=0,z=0,d=1,hh=2770,vv=0)
+100: down4 42152922 h:=43725786-42152922=1572864, hh:=100
+105: push
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+106: down4 -41497562 h:=1572864+41497562=43070426, hh:=2728
+111: push
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+112: right3 1310720 v:=0+1310720=1310720, vv:=83
+[ ]
+116: fntdef1 62: utmin10
+139: fntnum62 current font is utmin10
+140: set2 9731("2603) type=0 v:=1310720+630598=1941318, vv:=123
+143: set2 12398("306E) type=0 v:=1941318+630598=2571916, vv:=163
+146: set2 26397("671D) type=0 v:=2571916+630598=3202514, vv:=203
+[☃の朝]
+149: pop
+level 1:(h=43070426,v=0,w=0,x=0,y=0,z=0,d=1,hh=2728,vv=0)
+150: y3 786432 h:=43070426-786432=42283994, hh:=2678
+154: push
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+155: right3 1310720 v:=0+1310720=1310720, vv:=83
+159: set2 20108("4E8C) type=0 v:=1310720+630598=1941318, vv:=123
+162: set2 12398("306E) type=0 v:=1941318+630598=2571916, vv:=163
+165: set2 23383("5B57) type=0 v:=2571916+630598=3202514, vv:=203
+168: set2 20108("4E8C) type=0 v:=3202514+630598=3833112, vv:=243
+171: set2 12398("306E) type=0 v:=3833112+630598=4463710, vv:=283
+174: set2 23383("5B57) type=0 v:=4463710+630598=5094308, vv:=323
+177: set2 12398("306E) type=0 v:=5094308+630598=5724906, vv:=363
+[ 二の字二の字の]
+180: pop
+level 1:(h=42283994,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2678,vv=0)
+181: y0 786432 h:=42283994-786432=41497562, hh:=2628
+182: push
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+183: right3 1310720 v:=0+1310720=1310720, vv:=83
+187: set2 19979("4E0B) type=0 v:=1310720+630598=1941318, vv:=123
+190: set2 39364("99C4) type=0 v:=1941318+630598=2571916, vv:=163
+193: set2 12398("306E) type=0 v:=2571916+630598=3202514, vv:=203
+196: set2 36321("8DE1) type=0 v:=3202514+630598=3833112, vv:=243
+[ 下駄の跡]
+199: pop
+level 1:(h=41497562,v=0,w=0,x=0,y=786432,z=0,d=1,hh=2628,vv=0)
+200: pop
+level 0:(h=1572864,v=0,w=0,x=0,y=0,z=0,d=1,hh=100,vv=0)
+201: down3 1572864 h:=1572864-1572864=0, hh:=0
+205: push
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+206: right4 15229091 v:=0+15229091=15229091, vv:=965
+[ ]
+211: fntdef1 0: cmr10
+232: fntnum0 current font is cmr10
+233: setchar49 ("31) v:=15229091+327681=15556772, vv:=986
+[1]
+234: pop
+level 0:(h=0,v=0,w=0,x=0,y=0,z=0,d=1,hh=0,vv=0)
+235: eop
diff --git a/Build/source/texk/web2c/uptexdir/upbibtex-longline-test.pl b/Build/source/texk/web2c/uptexdir/upbibtex-longline-test.pl
new file mode 100755
index 00000000000..00bab9496cf
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/upbibtex-longline-test.pl
@@ -0,0 +1,37 @@
+#!/usr/bin/env perl
+#
+# Public domain. Originally written 2010, Karl Berry.
+# Check that upbibtex does not break long strings (change in 2010).
+
+# srcdir = web2c (in the source tree)
+BEGIN { chomp ($srcdir = $ENV{"srcdir"} || `cd \`dirname $0\`/.. && pwd`); }
+require "$srcdir/../tests/common-test.pl";
+
+exit (&main ());
+
+sub main
+{
+ # The blg and bbl file names are based on the aux name and cannot be
+ # overridden. We can't write to the aux (source) directory, though,
+ # because that's an absolute path and openout_any=p. Therefore, copy
+ # the input aux file to our working directory and rename it to avoid
+ # spurious parallel test failures.
+ &test_file_copy ("$srcdir/tests/longline.aux", "./uplongline.aux");
+
+ # Run upBibTeX, quit if it fails.
+ my $ret = &test_run ("./upbibtex", "./uplongline.aux");
+ return 1 if $ret != 0;
+
+ # There should be lines longer than 80 chars in the output.
+ # (In older versions of upBibTeX, they are forcibly split, with a %.)
+ local *IN;
+ $IN = "uplongline.bbl";
+ open (IN) || die "open($IN) failed: $!";
+ while (<IN>) {
+ last if length ($_) >= 80;
+ }
+
+ # We failed if all lines were < 80.
+ my $bad = ! (length $_ >= 80);
+ return $bad;
+}
diff --git a/Build/source/texk/web2c/uptexdir/upbibtex-mem.test b/Build/source/texk/web2c/uptexdir/upbibtex-mem.test
new file mode 100755
index 00000000000..70473cd59c9
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/upbibtex-mem.test
@@ -0,0 +1,70 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2017 Karl Berry <tex-live@tug.org>
+# Copyright 2010-2013 Peter Breitenlohner <tex-live@tug.org>
+# You may freely use, modify and/or distribute this file.
+
+# Using test data from Philipp Lehman <lehman@gmx.net>
+
+test -d uptests || mkdir -p uptests
+
+# Create bib data
+mk_bib () {
+ for i
+ do
+ for j in 0 1 2 3 4 5 6 7 8 9; do
+ for k in 0 1 2 3 4 5 6 7 8 9; do
+ for l in 0 1 2 3 4 5 6 7 8 9; do
+ cat <<EOF
+@Type{key$i$j$k$l,
+ field001 = {Value 001},
+ field002 = {Value 002},
+ field003 = {Value 003},
+ field004 = {Value 004},
+ field005 = {Value 005},
+ field006 = {Value 006},
+ field007 = {Value 007},
+ field008 = {Value 008},
+ field009 = {Value 009},
+ field010 = {Value 010}
+}
+
+EOF
+ done
+ done
+ done
+ done
+}
+
+# Create aux data
+mk_aux () {
+ cat <<EOF
+\relax
+\citation{*}
+\bibstyle{$1}
+\bibdata{memtest}
+EOF
+}
+
+for t in 1 2 3; do
+
+ mk_aux memdata$t >uptests/memtest$t.aux
+
+ env=
+
+ case $t in
+ 1) mk_bib 0 >uptests/memtest.bib;;
+ 2) mk_bib 1 >>uptests/memtest.bib;;
+ 3) env='ent_str_size=2000 glob_str_size=2000';;
+ esac
+
+ echo "Running memtest$t ..."
+
+ eval $env \
+ TEXMFCNF=$srcdir/../kpathsea \
+ BSTINPUTS=$srcdir/tests \
+ BIBINPUTS=./uptests \
+ ./upbibtex uptests/memtest$t || exit 1
+
+done
+
diff --git a/Build/source/texk/web2c/uptexdir/upbibtex-openout-test.pl b/Build/source/texk/web2c/uptexdir/upbibtex-openout-test.pl
new file mode 100755
index 00000000000..cb0b7f3ef9b
--- /dev/null
+++ b/Build/source/texk/web2c/uptexdir/upbibtex-openout-test.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+#
+# Public domain. Originally written 2010, Karl Berry.
+# Check that upbibtex respects openout_any.
+
+# srcdir = web2c (in the source tree)
+BEGIN { chomp ($srcdir = $ENV{"srcdir"} || `cd \`dirname $0\`/.. && pwd`); }
+require "$srcdir/../tests/common-test.pl";
+
+exit (&main ());
+
+sub main
+{
+ $ENV{"openout_any"} = "p"; # should already be in texmf.cnf, but ...
+
+ # .blg open of abs path should fail:
+ my $ret = &test_run ("./upbibtex", "$srcdir/tests/exampl.aux");
+
+ # The test fails if the program succeeded. Could also check the output.
+ my $bad = ($ret == 0);
+ return $bad;
+}
diff --git a/Build/source/texk/web2c/uptexdir/updvitype.test b/Build/source/texk/web2c/uptexdir/updvitype.test
index 191b01eca15..2db8ef4c7e3 100755
--- a/Build/source/texk/web2c/uptexdir/updvitype.test
+++ b/Build/source/texk/web2c/uptexdir/updvitype.test
@@ -16,5 +16,23 @@ fi
TEXMFCNF=$srcdir/../kpathsea \
TFMFONTS=$srcdir/tests \
- ./updvitype --p=\*.\*.2 $srcdir/tests/pagenum.dvi >uptests/xpagenum.typ || exit 1
+ ./updvitype --p=\*.\*.2 $srcdir/tests/pagenum.dvi >uptests/xpagenum.typ || exit 2
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=$srcdir/ptexdir/tests:$srcdir/uptexdir/tests:$srcdir/tests
+export TEXMFCNF TFMFONTS
+
+for enc in utf8 jis; do
+for doc in ptex3 ptex4; do
+ ./updvitype -kanji=$enc $srcdir/ptexdir/tests/$doc.dvi >uptests/x$doc-$enc.typ || exit 3
+ sed 1d uptests/x$doc-$enc.typ >uptests/x${doc}a-$enc.typ
+ diff $srcdir/ptexdir/tests/${doc}a-$enc.typ uptests/x${doc}a-$enc.typ || exit 4
+done
+done
+
+for doc in uptex3 uptex4; do
+ ./updvitype $srcdir/uptexdir/tests/$doc.dvi >uptests/x$doc.typ || exit 5
+ sed 1d uptests/x$doc.typ >uptests/x${doc}a.typ
+ diff $srcdir/uptexdir/tests/${doc}a.typ uptests/x${doc}a.typ || exit 6
+done
diff --git a/Build/source/texk/web2c/uptexdir/yokotate.test b/Build/source/texk/web2c/uptexdir/yokotate.test
index 82fce7d0c60..87f32eb1ea6 100755
--- a/Build/source/texk/web2c/uptexdir/yokotate.test
+++ b/Build/source/texk/web2c/uptexdir/yokotate.test
@@ -6,6 +6,9 @@
test -d uptests || mkdir -p uptests
+TEXMFCNF=$srcdir/../kpathsea
+export TEXMFCNF
+
# Test inputs
testdir=$srcdir/uptexdir/tests
@@ -15,9 +18,33 @@ for font in umin10 utmin10; do
./uppltotf -verbose $testdir/$font.pl uptests/x$font.tfm && \
cmp $testdir/$font.tfm uptests/x$font.tfm && echo || exit 1
- TEXMFCNF=$srcdir/../kpathsea \
- ./uptftopl -charcode-format octal -verbose $testdir/$font.tfm uptests/x$font.pl && \
- diff $testdir/$font.pl uptests/x$font.pl && echo || exit 1
+ ./uptftopl -charcode-format octal -verbose $testdir/$font.tfm uptests/x$font.pl && \
+ diff $testdir/$font.pl uptests/x$font.pl && echo || exit 2
done
+
+# Test inputs
+testdir=$srcdir/ptexdir/tests
+
+# Testing pPLtoTF/pTFtoPL compatible mode for character range & encoding.
+for font in chcode; do
+
+ ./uppltotf -kanji=utf8 $testdir/$font.pl uptests/x$font.tfm && \
+ cmp $testdir/$font.tfm uptests/x$font.tfm && echo || exit 3
+
+ ./uptftopl -kanji=utf8 -charcode-format octal $testdir/$font.tfm uptests/x$font.pl && \
+ diff $testdir/$font.pl uptests/x$font.pl && echo || exit 4
+
+for enc in utf8 euc sjis jis; do
+
+ ./uppltotf -kanji=$enc $testdir/$font-$enc.pl uptests/x$font-$enc.tfm && \
+ cmp $testdir/$font.tfm uptests/x$font-$enc.tfm && echo || exit 5
+
+ ./uptftopl -kanji=$enc $testdir/$font.tfm uptests/x$font-$enc.pl && \
+ if [ $enc = utf8 ]; then \
+ sed -i".bak" -e "y/―~∥-¢£¬/—〜‖−¢£¬/" uptests/x$font-$enc.pl; fi && \
+ diff $testdir/$font-$enc.pl uptests/x$font-$enc.pl && echo || exit 6
+
+done
+done