summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/dvipdfm-x')
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog25
-rw-r--r--Build/source/texk/dvipdfm-x/Makefile.am7
-rw-r--r--Build/source/texk/dvipdfm-x/Makefile.in12
-rwxr-xr-xBuild/source/texk/dvipdfm-x/configure22
-rw-r--r--Build/source/texk/dvipdfm-x/configure.ac2
-rwxr-xr-xBuild/source/texk/dvipdfm-x/dvipdfmx-lmr0.test45
-rwxr-xr-xBuild/source/texk/dvipdfm-x/dvipdfmx-lmr1.test69
-rwxr-xr-xBuild/source/texk/dvipdfm-x/dvipdfmx-upjf.test2
-rwxr-xr-xBuild/source/texk/dvipdfm-x/dvipdfmx-upjf2.test31
-rwxr-xr-xBuild/source/texk/dvipdfm-x/dvipdfmx-upjf3.test47
-rw-r--r--Build/source/texk/dvipdfm-x/tests/Makefile_upjf4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H9
-rw-r--r--Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V5
-rw-r--r--Build/source/texk/dvipdfm-x/tests/lm.map1
-rw-r--r--Build/source/texk/dvipdfm-x/tests/lmr0-al.dvibin0 -> 848 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/lmr0-up.dvibin0 -> 688 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/lmr0.tex107
-rw-r--r--Build/source/texk/dvipdfm-x/tests/psfonts.map4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf-hara.map4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf-ipa.map4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf-noto.map4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf.map4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf.tex4
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf1_full.vfbin7008 -> 7108 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf1_full.zvp051
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf1_omit.vfbin6940 -> 7032 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf1_omit.zvp044
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf2_full.vfbin7168 -> 7268 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf2_full.zvp051
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf_full.cnf5
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf_full.vfbin7008 -> 7136 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf_omit.cnf5
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjf_omit.vfbin6972 -> 7084 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjv2_full.vfbin7168 -> 7268 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjv2_full.zvp051
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjv_full.vfbin7008 -> 7136 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tests/upjv_omit.vfbin6972 -> 7084 bytes
-rw-r--r--Build/source/texk/dvipdfm-x/tfm.c13
38 files changed, 577 insertions, 55 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index 178ae093195..7310ba63b32 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,28 @@
+2024-10-20 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * dvipdfmx-lmr{0,1}.test, tests/UPJF-UTF16-{H,V},
+ tests/lm.map, tests/psfonts.map,
+ tests/lmr0.tex, tests/lmr0-{al,up}.dvi,
+ upjf_{full,omit}.{cnf,vf}, upjf1_{full,omit}.{vf,zvp0},
+ upjf2_full.{vf,zvp0}, upjv_{full,omit}.vf, Makefile.am:
+ Add tests for upTeX and OFM.
+ https://github.com/texjporg/tex-jp-build/issues/170
+
+2024-10-19 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * dvipdfmx-upjf{,2,3}.test, tests/upjf.tex,
+ tests/upjf{,-{hara,ipa,noto}}.map, tests/Makefike_upjf:
+ Update tests. Search system texmf for tfm/otf fonts
+ if kpathsearch is installed in the system.
+
+2024-09-22 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tfm.c: More strict check to interpret OFM FONTDIR
+ as pTeX vertical writing.
+ https://github.com/texjporg/tex-jp-build/issues/170#issuecomment-2295037307
+ https://github.com/texjporg/tex-jp-build/issues/99
+ * configure.ac: version 20240922.
+
2024-05-18 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
* dvi.c: Remove obsolete comments.
diff --git a/Build/source/texk/dvipdfm-x/Makefile.am b/Build/source/texk/dvipdfm-x/Makefile.am
index 62ad374421c..e98693cbf24 100644
--- a/Build/source/texk/dvipdfm-x/Makefile.am
+++ b/Build/source/texk/dvipdfm-x/Makefile.am
@@ -250,10 +250,12 @@ TESTS = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bad.test xdvipdfm-bb.test
TESTS += xdvipdfm-bkm.test xdvipdfm-psz.test xdvipdfm-ptx.test xdvipdfm-res.test
TESTS += xdvipdfm-rev.test xdvipdfm-ttc.test
TESTS += dvipdfmx-upjf.test dvipdfmx-upjf2.test dvipdfmx-upjf3.test dvipdfmx-incl.test
+TESTS += dvipdfmx-lmr0.test dvipdfmx-lmr1.test
xdvipdfmx.log xdvipdfm-ann.log xdvipdfm-bad.log xdvipdfm-bb.log \
xdvipdfm-bkm.log xdvipdfm-psz.log xdvipdfm-ptx.log xdvipdfm-res.log \
xdvipdfm-rev.log xdvipdfm-ttc.log \
- dvipdfmx-upjf.log dvipdfmx-upjf2.log dvipdfmx-upjf3.log dvipdfmx-incl.log: \
+ dvipdfmx-upjf.log dvipdfmx-upjf2.log dvipdfmx-upjf3.log dvipdfmx-incl.log \
+ dvipdfmx-lmr0.log dvipdfmx-lmr1.log: \
xdvipdfmx$(EXEEXT)
EXTRA_DIST = $(TESTS)
## xdvipdfmx.test
@@ -328,5 +330,8 @@ DISTCLEANFILES += upjf3_*.pdf
## dvipdfmx-incl.test
EXTRA_DIST += tests/multi_incl.dvi tests/multi_incl.tex tests/sue-mp.pdf
DISTCLEANFILES += multi_incl.pdf
+## dvipdfmx-lmr0.test, dvipdfmx-lmr1.test
+EXTRA_DIST += tests/lmr0.tex tests/lmr0-al.dvi tests/lmr0-up.dvi
+DISTCLEANFILES += lmr0-*.pdf
##
EXTRA_DIST += tests/fullmap.dvi tests/fullmap.tex
diff --git a/Build/source/texk/dvipdfm-x/Makefile.in b/Build/source/texk/dvipdfm-x/Makefile.in
index ed090183b67..42c4c4a9649 100644
--- a/Build/source/texk/dvipdfm-x/Makefile.in
+++ b/Build/source/texk/dvipdfm-x/Makefile.in
@@ -833,12 +833,14 @@ dist_cmapdata_DATA = data/EUC-UCS2
DISTCLEANFILES = config.force image*.pdf xbmc*.pdf annot*.pdf pic*.* \
bookm*.pdf paper*.pdf ptex*.pdf resrc*.pdf reverse.pdf \
ttc*.pdf upjf.vf upjv.vf upjf-*.ofm upjv-*.ofm upjf-*.tfm \
- upjf_*.pdf upjf1_*.pdf upjf2_*.pdf upjf3_*.pdf multi_incl.pdf
+ upjf_*.pdf upjf1_*.pdf upjf2_*.pdf upjf3_*.pdf multi_incl.pdf \
+ lmr0-*.pdf
TESTS = xdvipdfmx.test xdvipdfm-ann.test xdvipdfm-bad.test \
xdvipdfm-bb.test xdvipdfm-bkm.test xdvipdfm-psz.test \
xdvipdfm-ptx.test xdvipdfm-res.test xdvipdfm-rev.test \
xdvipdfm-ttc.test dvipdfmx-upjf.test dvipdfmx-upjf2.test \
- dvipdfmx-upjf3.test dvipdfmx-incl.test
+ dvipdfmx-upjf3.test dvipdfmx-incl.test dvipdfmx-lmr0.test \
+ dvipdfmx-lmr1.test
EXTRA_DIST = $(TESTS) tests/dvipdfmx.cfg tests/psfonts.map \
tests/cmr10.pfb tests/cmr10.tfm tests/image.dvi \
tests/image.tex tests/xbmc.dvi tests/xbmc.tex \
@@ -874,7 +876,8 @@ EXTRA_DIST = $(TESTS) tests/dvipdfmx.cfg tests/psfonts.map \
tests/upjv4_full.zvp0 tests/upjv4_full.vf tests/upjf-hu.tfm \
tests/upjf-hi.tfm tests/upjv-hu.tfm tests/upjv-hi.tfm \
tests/upjf-noto.map tests/upjf-ipa.map tests/multi_incl.dvi \
- tests/multi_incl.tex tests/sue-mp.pdf tests/fullmap.dvi \
+ tests/multi_incl.tex tests/sue-mp.pdf tests/lmr0.tex \
+ tests/lmr0-al.dvi tests/lmr0-up.dvi tests/fullmap.dvi \
tests/fullmap.tex
all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
@@ -2062,7 +2065,8 @@ config.force: $(ZLIB_DEPEND) $(LIBPNG_DEPEND) $(KPATHSEA_DEPEND) $(LIBPAPER_DEPE
xdvipdfmx.log xdvipdfm-ann.log xdvipdfm-bad.log xdvipdfm-bb.log \
xdvipdfm-bkm.log xdvipdfm-psz.log xdvipdfm-ptx.log xdvipdfm-res.log \
xdvipdfm-rev.log xdvipdfm-ttc.log \
- dvipdfmx-upjf.log dvipdfmx-upjf2.log dvipdfmx-upjf3.log dvipdfmx-incl.log: \
+ dvipdfmx-upjf.log dvipdfmx-upjf2.log dvipdfmx-upjf3.log dvipdfmx-incl.log \
+ dvipdfmx-lmr0.log dvipdfmx-lmr1.log: \
xdvipdfmx$(EXEEXT)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure
index 1f40a26118c..6e37f0112ea 100755
--- a/Build/source/texk/dvipdfm-x/configure
+++ b/Build/source/texk/dvipdfm-x/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for dvipdfm-x (TeX Live) 20240511.
+# Generated by GNU Autoconf 2.72 for dvipdfm-x (TeX Live) 20240922.
#
# Report bugs to <dvipdfmx@tug.org>.
#
@@ -614,8 +614,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dvipdfm-x (TeX Live)'
PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20240511'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20240511'
+PACKAGE_VERSION='20240922'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20240922'
PACKAGE_BUGREPORT='dvipdfmx@tug.org'
PACKAGE_URL=''
@@ -1385,7 +1385,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-'configure' configures dvipdfm-x (TeX Live) 20240511 to adapt to many kinds of systems.
+'configure' configures dvipdfm-x (TeX Live) 20240922 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1457,7 +1457,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20240511:";;
+ short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20240922:";;
esac
cat <<\_ACEOF
@@ -1588,7 +1588,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20240511
+dvipdfm-x (TeX Live) configure 20240922
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -2369,7 +2369,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by dvipdfm-x (TeX Live) $as_me 20240511, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20240922, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -9263,7 +9263,7 @@ fi
# Define the identity of the package.
PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20240511'
+ VERSION='20240922'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -16305,7 +16305,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20240511
+dvipdfm-x (TeX Live) config.lt 20240922
configured by $0, generated by GNU Autoconf 2.72.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -18260,7 +18260,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by dvipdfm-x (TeX Live) $as_me 20240511, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20240922, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18332,7 +18332,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20240511
+dvipdfm-x (TeX Live) config.status 20240922
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dvipdfm-x/configure.ac b/Build/source/texk/dvipdfm-x/configure.ac
index 64ace3a92ff..73472f349fe 100644
--- a/Build/source/texk/dvipdfm-x/configure.ac
+++ b/Build/source/texk/dvipdfm-x/configure.ac
@@ -8,7 +8,7 @@ dnl This file is free software; the copyright holder
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl
-AC_INIT([dvipdfm-x (TeX Live)], [20240511], [dvipdfmx@tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20240922], [dvipdfmx@tug.org])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([agl.c])
AC_CONFIG_AUX_DIR([../../build-aux])
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx-lmr0.test b/Build/source/texk/dvipdfm-x/dvipdfmx-lmr0.test
new file mode 100755
index 00000000000..5c46fe50ee3
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx-lmr0.test
@@ -0,0 +1,45 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+KpsDir=${KpsDir:-../kpathsea}
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_kpsewhich=$KpsDir/kpsewhich$ExeExt
+_xdvipdfmx=$BinDir/xdvipdfmx$ExeExt
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=".;$srcdir/tests;$srcdir/data;$srcdir/../web2c/tests"
+T1FONTS="$srcdir/tests;$srcdir/data;$srcdir/../web2c/tests"
+TEXFONTMAPS="$srcdir/tests;$srcdir/data"
+DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data"
+TEXPICTS=$srcdir/tests
+TEXFONTS="./tmp100;$srcdir/tests;$srcdir/../web2c/tests"
+SOURCE_DATE_EPOCH=1588474800
+export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS TEXFONTS SOURCE_DATE_EPOCH
+
+failed=
+
+test -d tmp100 || mkdir -p tmp100
+
+rm -f ./tmp100/eu3-lmr10*.ovf ./tmp100/eu3-lmr10*.ofm
+
+echo "*** dvipdfmx: test for lmr0-al-8bit.pdf" && echo \
+ && cp $srcdir/../web2c/tests/eu3-lmr10.ovf ./tmp100/eu3-lmr10.ovf \
+ && cp $srcdir/../web2c/tests/eu3-lmr10.ofm ./tmp100/eu3-lmr10.ofm \
+ && $_xdvipdfmx --dvipdfmx -vv -o lmr0-al-8bit.pdf $srcdir/tests/lmr0-al.dvi \
+ && echo && echo "dvipdfmx-lmr0-al-8bit tests OK" && echo \
+ || failed="$failed dvipdfmx-lmr0-al-8bit"
+
+echo "*** dvipdfmx: test for lmr0-up-8bit.pdf" && echo \
+ && cp $srcdir/tests/upjf_omit.vf ./tmp100/upjf.vf \
+ && $_xdvipdfmx --dvipdfmx -vv -f upjf.map -o lmr0-up-8bit.pdf $srcdir/tests/lmr0-up.dvi \
+ && echo && echo "dvipdfmx-lmr0-up-8bit tests OK" && echo \
+ || failed="$failed dvipdfmx-lmr0-up-8bit"
+
+
+test -z "$failed" && exit 0
+echo
+echo "failed tests:$failed"
+exit 1
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx-lmr1.test b/Build/source/texk/dvipdfm-x/dvipdfmx-lmr1.test
new file mode 100755
index 00000000000..35a72349fa4
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx-lmr1.test
@@ -0,0 +1,69 @@
+#! /bin/sh -vx
+# $Id$
+# Copyright 2024 Japanese TeX Development Community <issue@texjp.org>
+# You may freely use, modify and/or distribute this file.
+
+KpsDir=${KpsDir:-../kpathsea}
+BinDir=${BinDir:-.}
+ExeExt=${ExeExt:-}
+_kpsewhich=$KpsDir/kpsewhich$ExeExt
+_xdvipdfmx=$BinDir/xdvipdfmx$ExeExt
+
+if type kpsewhich > /dev/null 2>&1; then
+ otfpath=".//;"`kpsewhich -show-path='opentype fonts'`
+ otfpath=`echo $otfpath | sed -e 's,!!,,g'`
+fi
+
+TEXMFCNF=$srcdir/../kpathsea
+TFMFONTS=".;$srcdir/tests;$srcdir/data;$srcdir/../web2c/tests"
+T1FONTS="$srcdir/tests;$srcdir/data;$srcdir/../web2c/tests"
+TEXFONTMAPS="$srcdir/tests;$srcdir/data"
+DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data"
+TEXPICTS=$srcdir/tests
+TEXFONTS="./tmp101;$srcdir/tests;$srcdir/../web2c/tests"
+SOURCE_DATE_EPOCH=1588474800
+export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS TEXFONTS SOURCE_DATE_EPOCH
+
+if type kpsewhich > /dev/null 2>&1; then
+ echo $otfpath
+else
+ otfpath=".//;"`$_kpsewhich -show-path='opentype fonts'`
+ echo $otfpath
+fi
+OPENTYPEFONTS=`$_kpsewhich "--cnf-line=OPENTYPEFONTS=$otfpath" -show-path='opentype fonts'`
+export OPENTYPEFONTS
+echo "OPENTYPEFONTS::" $OPENTYPEFONTS
+
+failed=
+
+test -d tmp101 || mkdir -p tmp101
+
+rm -f ./tmp101/eu3-lmr10*.ovf ./tmp101/eu3-lmr10*.ofm
+
+##### following tests require Latin Modern OpenType fonts #####
+
+$_kpsewhich lmroman10-regular.otf || exit 77
+
+echo "*** dvipdfmx: test for lmr0-al-ucs.pdf" && echo \
+ && cp $srcdir/../web2c/tests/eu3-lmr10.ovf ./tmp101/eu3-lmr10.ovf \
+ && cp $srcdir/../web2c/tests/eu3-lmr10.ofm ./tmp101/eu3-lmr10.ofm \
+ && cp $srcdir/tests/upjf_omit.vf ./tmp101/upjf.vf \
+ && $_xdvipdfmx --dvipdfmx -vv -f lm.map -o lmr0-al-ucs.pdf $srcdir/tests/lmr0-al.dvi \
+ && echo && echo "dvipdfmx-lmr0-al-ucs tests OK" && echo \
+ || failed="$failed dvipdfmx-lmr0-al-ucs"
+
+##### following tests require HaranoAji fonts #####
+
+$_kpsewhich HaranoAjiMincho-Regular.otf || exit 77
+$_kpsewhich HaranoAjiGothic-Normal.otf || exit 77
+
+echo "*** dvipdfmx: test for lmr0-up-ucs.pdf" && echo \
+ && $_xdvipdfmx --dvipdfmx -vv -f lm.map -f upjf-hara.map -o lmr0-up-ucs.pdf $srcdir/tests/lmr0-up.dvi \
+ && echo && echo "dvipdfmx-lmr0-up-ucs tests OK" && echo \
+ || failed="$failed dvipdfmx-lmr0-up-ucs"
+
+
+test -z "$failed" && exit 0
+echo
+echo "failed tests:$failed"
+exit 1
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf.test b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf.test
index a543d9bbdb1..46e734999d5 100755
--- a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf.test
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf.test
@@ -85,6 +85,8 @@ echo "*** dvipdfmx: test for upjf1_omit2.pdf" && echo \
cmp ./upjf1_full.pdf ./upjf1_omit2.pdf || failed="$failed dvipdfmx-upjf1-cmp2"
+rm -f upjf-r.ofm upjv-r.ofm
+
test -z "$failed" && exit 0
echo
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test
index 6c2229ec2cc..eebbf191c37 100755
--- a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test
@@ -9,30 +9,45 @@ ExeExt=${ExeExt:-}
_kpsewhich=$KpsDir/kpsewhich$ExeExt
_xdvipdfmx=$BinDir/xdvipdfmx$ExeExt
+if type kpsewhich > /dev/null 2>&1; then
+ otfpath=".//;"`kpsewhich -show-path='opentype fonts'`
+ otfpath=`echo $otfpath | sed -e 's,!!,,g'`
+fi
+
TEXMFCNF=$srcdir/../kpathsea
TFMFONTS=".;$srcdir/tests;$srcdir/data"
T1FONTS="$srcdir/tests;$srcdir/data"
TEXFONTMAPS="$srcdir/tests;$srcdir/data"
DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data"
TEXPICTS=$srcdir/tests
-TEXFONTS=".;$srcdir/tests"
+TEXFONTS="./tmp001;$srcdir/tests"
SOURCE_DATE_EPOCH=1588474800
export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS TEXFONTS SOURCE_DATE_EPOCH
+if type kpsewhich > /dev/null 2>&1; then
+ echo $otfpath
+else
+ otfpath=".//;"`$_kpsewhich -show-path='opentype fonts'`
+ echo $otfpath
+fi
+OPENTYPEFONTS=`$_kpsewhich "--cnf-line=OPENTYPEFONTS=$otfpath" -show-path='opentype fonts'`
+export OPENTYPEFONTS
+echo "OPENTYPEFONTS::" $OPENTYPEFONTS
+
failed=
+test -d tmp001 || mkdir -p tmp001
+
##### following tests require HaranoAji fonts #####
-$_kpsewhich HaranoAjiMincho-Regular.otf
-otfpath=`$_kpsewhich HaranoAjiMincho-Regular.otf` || exit 77
-OPENTYPEFONTS=`echo $otfpath | sed -e 's,HaranoAjiMincho-Regular\.otf,,' -e 's,/fonts/opentype/.*$,/fonts/opentype//,'`
-export OPENTYPEFONTS
+$_kpsewhich HaranoAjiMincho-Regular.otf || exit 77
+$_kpsewhich HaranoAjiGothic-Normal.otf || exit 77
-rm -f upjf.vf upjv.vf upjf-r.ofm upjv-r.ofm
+rm -f ./tmp001/upjf.vf ./tmp001/upjv.vf
echo "*** dvipdfmx: test for upjf2_full-hara.pdf" && echo \
- && cp $srcdir/tests/upjf2_full.vf ./upjf.vf \
- && cp $srcdir/tests/upjv2_full.vf ./upjv.vf \
+ && cp $srcdir/tests/upjf2_full.vf ./tmp001/upjf.vf \
+ && cp $srcdir/tests/upjv2_full.vf ./tmp001/upjv.vf \
&& $_xdvipdfmx --dvipdfmx -vv --pdfm-str-utf8 -f upjf-hara.map -o upjf2.pdf $srcdir/tests/upjf2.dvi \
&& mv ./upjf2.pdf ./upjf2_full-hara.pdf \
&& echo && echo "dvipdfmx-upjf2-vf_full-hara tests OK" && echo \
diff --git a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf3.test b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf3.test
index f721a070727..aa3a409668c 100755
--- a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf3.test
+++ b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf3.test
@@ -9,35 +9,54 @@ ExeExt=${ExeExt:-}
_kpsewhich=$KpsDir/kpsewhich$ExeExt
_xdvipdfmx=$BinDir/xdvipdfmx$ExeExt
+if type kpsewhich > /dev/null 2>&1; then
+ otfpath=".//;"`kpsewhich -show-path='opentype fonts'`
+ otfpath=`echo $otfpath | sed -e 's,!!,,g'`
+fi
+
TEXMFCNF=$srcdir/../kpathsea
TFMFONTS=".;$srcdir/tests;$srcdir/data"
T1FONTS="$srcdir/tests;$srcdir/data"
TEXFONTMAPS="$srcdir/tests;$srcdir/data"
DVIPDFMXINPUTS="$srcdir/tests;$srcdir/data"
TEXPICTS=$srcdir/tests
-TEXFONTS=".;$srcdir/tests"
+TEXFONTS="./tmp002;$srcdir/tests"
SOURCE_DATE_EPOCH=1588474800
export TEXMFCNF TFMFONTS T1FONTS TEXFONTMAPS DVIPDFMXINPUTS TEXPICTS TEXFONTS SOURCE_DATE_EPOCH
+if type kpsewhich > /dev/null 2>&1; then
+ echo $otfpath
+else
+ otfpath=".//;"`$_kpsewhich -show-path='opentype fonts'`
+ echo $otfpath
+fi
+OPENTYPEFONTS=`$_kpsewhich "--cnf-line=OPENTYPEFONTS=$otfpath" -show-path='opentype fonts'`
+export OPENTYPEFONTS
+echo "OPENTYPEFONTS::" $OPENTYPEFONTS
+
+TTFONTS=".//"
+echo $TTFONTS
+export TTFONTS
+
failed=
+test -d tmp002 || mkdir -p tmp002
+
##### following tests require HaranoAji fonts and Noto Hentaigana font #####
-$_kpsewhich HaranoAjiMincho-Regular.otf
-otfpath=`$_kpsewhich HaranoAjiMincho-Regular.otf` || exit 77
-OPENTYPEFONTS=`echo $otfpath | sed -e 's,HaranoAjiMincho-Regular\.otf,,' -e 's,/fonts/opentype/.*$,/fonts/opentype//,'`
-export OPENTYPEFONTS
+$_kpsewhich HaranoAjiMincho-Regular.otf || exit 77
+$_kpsewhich HaranoAjiGothic-Normal.otf || exit 77
-$_kpsewhich NotoSerifHentaigana-Regular.ttf
-ttfpath=`$_kpsewhich NotoSerifHentaigana-Regular.ttf` || exit 77
-TTFONTS=`echo $ttfpath | sed -e 's,NotoSerifHentaigana-Regular\.ttf,,' -e 's,/fonts/truetype/.*$,/fonts/truetype//,'`
-export TTFONTS
+#$_kpsewhich NotoSerifHentaigana-Regular.ttf
+#ttfpath=`$_kpsewhich NotoSerifHentaigana-Regular.ttf` || exit 77
+#TTFONTS=`echo $ttfpath | sed -e 's,NotoSerifHentaigana-Regular\.ttf,,' -e 's,/fonts/truetype/.*$,/fonts/truetype//,'`
+#export TTFONTS
-rm -f upjf.vf upjv.vf upjf-r.ofm upjv-r.ofm upjf-g.ofm upjv-g.ofm
+rm -f ./tmp002/upjf.vf ./tmp002/upjv.vf
echo "*** dvipdfmx: test for upjf3_full-noto.pdf" && echo \
- && cp $srcdir/tests/upjf3_full.vf ./upjf.vf \
- && cp $srcdir/tests/upjv3_full.vf ./upjv.vf \
+ && cp $srcdir/tests/upjf3_full.vf ./tmp002/upjf.vf \
+ && cp $srcdir/tests/upjv3_full.vf ./tmp002/upjv.vf \
&& $_xdvipdfmx --dvipdfmx -vv --pdfm-str-utf8 -f upjf-noto.map -o upjf3.pdf $srcdir/tests/upjf3.dvi \
&& mv ./upjf3.pdf ./upjf3_full-noto.pdf \
&& echo && echo "dvipdfmx-upjf3-vf_full-noto tests OK" && echo \
@@ -48,8 +67,8 @@ echo "*** dvipdfmx: test for upjf3_full-noto.pdf" && echo \
$_kpsewhich ipamjm.ttf || exit 77
echo "*** dvipdfmx: test for upjf3_full-ipa.pdf" && echo \
- && cp $srcdir/tests/upjf4_full.vf ./upjf.vf \
- && cp $srcdir/tests/upjv4_full.vf ./upjv.vf \
+ && cp $srcdir/tests/upjf4_full.vf ./tmp002/upjf.vf \
+ && cp $srcdir/tests/upjv4_full.vf ./tmp002/upjv.vf \
&& $_xdvipdfmx --dvipdfmx -vv --pdfm-str-utf8 -f upjf-ipa.map -o upjf3.pdf $srcdir/tests/upjf3.dvi \
&& mv ./upjf3.pdf ./upjf3_full-ipa.pdf \
&& echo && echo "dvipdfmx-upjf3-vf_full-ipa tests OK" && echo \
diff --git a/Build/source/texk/dvipdfm-x/tests/Makefile_upjf b/Build/source/texk/dvipdfm-x/tests/Makefile_upjf
index b3a6b9664dd..6fe66638e19 100644
--- a/Build/source/texk/dvipdfm-x/tests/Makefile_upjf
+++ b/Build/source/texk/dvipdfm-x/tests/Makefile_upjf
@@ -41,24 +41,28 @@ upjv-r00.ofm:
upjf1-r.tfm:
uppltotf upjf1-r.pl
+# test for different mapping
upjf1_full.vf: upjf1_full.zvp0
jfmutil zvp02vf upjf1_full.zvp0
upjf1_omit.vf: upjf1_omit.zvp0
jfmutil zvp02vf upjf1_omit.zvp0
+# test for variation selector, compound character
upjf2_full.vf: upjf2_full.zvp0
jfmutil zvp02vf upjf2_full.zvp0
upjv2_full.vf: upjv2_full.zvp0
jfmutil zvp02vf upjv2_full.zvp0
+# test for hentaigana with noto font
upjf3_full.vf: upjf3_full.zvp0
jfmutil zvp02vf upjf3_full.zvp0
upjv3_full.vf: upjv3_full.zvp0
jfmutil zvp02vf upjv3_full.zvp0
+# test for hentaigana with IPA MJ Mincho
upjf4_full.vf: upjf4_full.zvp0
jfmutil zvp02vf upjf4_full.zvp0
diff --git a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H
index 8bb6cda848b..35a47143803 100644
--- a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H
+++ b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H
@@ -39,7 +39,10 @@ endcodespacerange
<0000> <001f> 1
endnotdefrange
-7 begincidchar
+10 begincidchar
+<00a7> 720
+<00d7> 695
+<00f7> 696
<31f7> 16243
<537f> 1698
<6674> 2646
@@ -49,7 +52,9 @@ endnotdefrange
<d87edc33> 13719
endcidchar
-14 begincidrange
+16 begincidrange
+<2018> <2019> 670
+<201C> <201D> 672
<2600> <2603> 8215
<3000> <3002> 633
<3005> <3007> 657
diff --git a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V
index 6ead175556d..bfe46cf1912 100644
--- a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V
+++ b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V
@@ -39,7 +39,10 @@ endcodespacerange
<0000> <001f> 1
endnotdefrange
-7 begincidchar
+10 begincidchar
+<00a7> 720
+<00d7> 695
+<00f7> 696
<31f7> 16340
<537f> 1698
<6674> 2646
diff --git a/Build/source/texk/dvipdfm-x/tests/lm.map b/Build/source/texk/dvipdfm-x/tests/lm.map
new file mode 100644
index 00000000000..92218ff2ea6
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tests/lm.map
@@ -0,0 +1 @@
+eu3-lmr10_ucs unicode lmroman10-regular.otf
diff --git a/Build/source/texk/dvipdfm-x/tests/lmr0-al.dvi b/Build/source/texk/dvipdfm-x/tests/lmr0-al.dvi
new file mode 100644
index 00000000000..0f62dc7b33c
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tests/lmr0-al.dvi
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi b/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi
new file mode 100644
index 00000000000..8b4d67ace3e
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/lmr0.tex b/Build/source/texk/dvipdfm-x/tests/lmr0.tex
new file mode 100644
index 00000000000..6591a53082a
--- /dev/null
+++ b/Build/source/texk/dvipdfm-x/tests/lmr0.tex
@@ -0,0 +1,107 @@
+%% plain Aleph or plain upTeX
+% You may freely use, modify and/or distribute this file.
+%
+\parindent=0pt
+
+\font\eulmr=eu3-lmr10
+\font\eclmr=ec-lmr10
+\font\lylmr=texnansi-lmr10
+
+% for aleph
+\ifx\ocp\undefined\else
+ \ocp\ORGin=inutf8
+ \InputTranslation currentfile \ORGin
+\fi
+
+% for {,e}uptex
+\ifx\kcatcode\undefined\else
+ \kcatcode"C6=14
+ \kcatcode"110=14
+ \kcatcode"152=14
+ \kcatcode"237=14
+ \kcatcode"2039=14
+ \kcatcode"2423=14
+ \kcatcode"AB=14
+\fi
+
+\catcode"C6=11 % Æ
+\catcode"E6=11 % æ
+\catcode"152=11 % Œ
+\catcode"153=11 % œ
+\catcode"131=11 % ı
+\catcode"132=11 % IJ
+\catcode"133=11 % ij
+\catcode"237=11 % ȷ
+\catcode"D0=11 % Ð
+\catcode"F0=11 % ð
+\catcode"110=11 % Đ
+\catcode"111=11 % đ
+\catcode"2018=12 % ‘
+\catcode"2019=12 % ’
+\catcode"201C=12 % “
+\catcode"201D=12 % ”
+\catcode"2039=12 % ‹
+\catcode"203A=12 % ›
+\catcode"AB=12 % «
+\catcode"BB=12 % »
+\catcode"2423=12 % ␣
+
+\eulmr
+
+Ææ Œœ IJij ıȷ
+
+dh:Ðð dj:Đđ
+
+ff fi fl ffi ffl ``'' `' !`! ?`?
+
+‹› «» ␣
+
+{
+\eclmr
+
+^^c6^^e6 ^^d7^^f7 ^^9c^^bc ^^19^^1a
+
+dh:^^d0^^f0 dj:^^d0^^9e
+
+ff fi fl ffi ffl ``'' `' !`! ?`?
+
+^^0e^^0f ^^13^^14 %
+\catcode"20=12 ^^20
+}
+
+% for {,e}uptex
+\ifx\kcatcode\undefined\else
+ \kcatcode"86=14
+ \kcatcode"A5=14
+ \kcatcode"192=14
+\fi
+
+\catcode"A2=12 % ¢
+\catcode"A5=12 % ¥
+\catcode"A7=12 % §
+\catcode"D7=12 % ×
+\catcode"F7=12 % ÷
+\catcode"192=12 % ƒ
+\catcode"2020=12 % †
+\catcode"2021=12 % ‡
+
+×÷§ ¢¥ƒ †‡
+
+{
+\lylmr
+
+^^d7^^f7^^a7 ^^a2^^a5^^83 ^^86^^87
+}
+
+\ifx\kcatcode\undefined\else
+ \font\upjf=upjf at 10pt
+ \upjf
+
+ \kcatcode"86=18
+ \kcatcode"A5=18
+ \kcatcode"2018=18
+
+ ×÷§ “” ‘’
+\fi
+
+\bye
diff --git a/Build/source/texk/dvipdfm-x/tests/psfonts.map b/Build/source/texk/dvipdfm-x/tests/psfonts.map
index 2a799870993..2dd5da8a0f9 100644
--- a/Build/source/texk/dvipdfm-x/tests/psfonts.map
+++ b/Build/source/texk/dvipdfm-x/tests/psfonts.map
@@ -1 +1,5 @@
cmr10 CMR10 <cmr10.pfb
+
+ec-lmr10 LMRoman10-Regular "enclmec ReEncodeFont" <lm-ec.enc <lmr10.pfb
+texnansi-lmr10 LMRoman10-Regular "enclmtexnansi ReEncodeFont" <lm-texnansi.enc <lmr10.pfb
+
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf-hara.map b/Build/source/texk/dvipdfm-x/tests/upjf-hara.map
index f83c1a1ff75..61b3912ec43 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf-hara.map
+++ b/Build/source/texk/dvipdfm-x/tests/upjf-hara.map
@@ -1,8 +1,8 @@
upjf-r UPJF-UTF16-H HaranoAjiMincho-Regular.otf
-upjf-g UPJF-UTF16-H HaranoAjiGothic-Regular.otf
+upjf-g UPJF-UTF16-H HaranoAjiGothic-Normal.otf
upjf-c Identity-H HaranoAjiMincho-Regular.otf
upjv-r UPJF-UTF16-V HaranoAjiMincho-Regular.otf
-upjv-g UPJF-UTF16-V HaranoAjiGothic-Regular.otf
+upjv-g UPJF-UTF16-V HaranoAjiGothic-Normal.otf
upjv-c Identity-V HaranoAjiMincho-Regular.otf
%upjf-r UniJIS-UTF16-H !Ryumin-Light
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf-ipa.map b/Build/source/texk/dvipdfm-x/tests/upjf-ipa.map
index 6ccbfa97d3b..0094d470ba7 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf-ipa.map
+++ b/Build/source/texk/dvipdfm-x/tests/upjf-ipa.map
@@ -1,10 +1,10 @@
upjf-r unicode ipamjm.ttf
-upjf-g unicode HaranoAjiGothic-Regular.otf
+upjf-g unicode HaranoAjiGothic-Normal.otf
upjf-c Identity-H HaranoAjiMincho-Regular.otf
upjf-hu unicode ipamjm.ttf
upjf-hi Identity-H ipamjm.ttf
upjv-r unicode ipamjm.ttf -w 1
-upjv-g unicode HaranoAjiGothic-Regular.otf -w 1
+upjv-g unicode HaranoAjiGothic-Normal.otf -w 1
upjv-c Identity-V HaranoAjiMincho-Regular.otf
upjv-hu unicode ipamjm.ttf -w 1
upjv-hi Identity-V ipamjm.ttf
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf-noto.map b/Build/source/texk/dvipdfm-x/tests/upjf-noto.map
index ec9700a7f4d..965f6fdd312 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf-noto.map
+++ b/Build/source/texk/dvipdfm-x/tests/upjf-noto.map
@@ -1,10 +1,10 @@
upjf-r unicode HaranoAjiMincho-Regular.otf
-upjf-g unicode HaranoAjiGothic-Regular.otf
+upjf-g unicode HaranoAjiGothic-Normal.otf
upjf-c Identity-H HaranoAjiMincho-Regular.otf
upjf-hu unicode NotoSerifHentaigana-Regular.ttf
upjf-hi Identity-H NotoSerifHentaigana-Regular.ttf
upjv-r unicode HaranoAjiMincho-Regular.otf -w 1
-upjv-g unicode HaranoAjiGothic-Regular.otf -w 1
+upjv-g unicode HaranoAjiGothic-Normal.otf -w 1
upjv-c Identity-V HaranoAjiMincho-Regular.otf
upjv-hu unicode NotoSerifHentaigana-Regular.ttf -w 1
upjv-hi Identity-V NotoSerifHentaigana-Regular.ttf
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf.map b/Build/source/texk/dvipdfm-x/tests/upjf.map
index 355e4d713ca..0242ccc3e6c 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf.map
+++ b/Build/source/texk/dvipdfm-x/tests/upjf.map
@@ -1,8 +1,8 @@
%upjf-r UniJIS-UTF16-H HaranoAjiMincho-Regular.otf
-%upjf-g UniJIS-UTF16-H HaranoAjiGothic-Regular.otf
+%upjf-g UniJIS-UTF16-H HaranoAjiGothic-Normal.otf
%upjf-c Identity-H HaranoAjiMincho-Regular.otf
%upjv-r UniJIS-UTF16-V HaranoAjiMincho-Regular.otf
-%upjv-g UniJIS-UTF16-V HaranoAjiGothic-Regular.otf
+%upjv-g UniJIS-UTF16-V HaranoAjiGothic-Normal.otf
%upjv-c Identity-V HaranoAjiMincho-Regular.otf
%upjf-r UniJIS-UTF16-H !Ryumin-Light
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf.tex b/Build/source/texk/dvipdfm-x/tests/upjf.tex
index 493e4b23d8c..07392aadb2c 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf.tex
+++ b/Build/source/texk/dvipdfm-x/tests/upjf.tex
@@ -7,9 +7,9 @@
% for dvipdfmx
%\AtBeginDvi{\special{pdf:mapline upjf-r UniJIS-UTF16-H HaranoAjiMincho-Regular.otf}}
-%\AtBeginDvi{\special{pdf:mapline upjf-g UniJIS-UTF16-H HaranoAjiGothic-Regular.otf}}
+%\AtBeginDvi{\special{pdf:mapline upjf-g UniJIS-UTF16-H HaranoAjiGothic-Normal.otf}}
%\AtBeginDvi{\special{pdf:mapline upjv-r UniJIS-UTF16-V HaranoAjiMincho-Regular.otf}}
-%\AtBeginDvi{\special{pdf:mapline upjv-g UniJIS-UTF16-V HaranoAjiGothic-Regular.otf}}
+%\AtBeginDvi{\special{pdf:mapline upjv-g UniJIS-UTF16-V HaranoAjiGothic-Normal.otf}}
%\AtBeginDvi{\special{pdf:mapline upjf-r UniJIS-UTF16-H !Ryumin-Light}}
%\AtBeginDvi{\special{pdf:mapline upjf-g UniJIS-UTF16-H !GothicBBB-Medium}}
%\AtBeginDvi{\special{pdf:mapline upjv-r UniJIS-UTF16-V !Ryumin-Light}}
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf b/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf
index 96706a51616..a6d30588aaf 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf1_full.zvp0 b/Build/source/texk/dvipdfm-x/tests/upjf1_full.zvp0
index aa79b237887..4e1ec3f47ab 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf1_full.zvp0
+++ b/Build/source/texk/dvipdfm-x/tests/upjf1_full.zvp0
@@ -13,6 +13,57 @@
(FONTAT R 1.0)
(FONTDSIZE R 10.0)
)
+(CHARACTER H A7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H A7)
+ )
+ )
+(CHARACTER H D7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H D7)
+ )
+ )
+(CHARACTER H F7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H F7)
+ )
+ )
+(CHARACTER H 2018
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 0)
+ (SETCHAR H 2018)
+ )
+ )
+(CHARACTER H 2019
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H 2019)
+ )
+ )
+(CHARACTER H 201C
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 0)
+ (SETCHAR H 201C)
+ )
+ )
+(CHARACTER H 201D
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H 201D)
+ )
+ )
(CHARACTER H 2600
(CHARWD R 1.0)
(MAP
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf b/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf
index 512d29ec205..1647f385fd8 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf1_omit.zvp0 b/Build/source/texk/dvipdfm-x/tests/upjf1_omit.zvp0
index 99c790b7844..555ce724d18 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf1_omit.zvp0
+++ b/Build/source/texk/dvipdfm-x/tests/upjf1_omit.zvp0
@@ -13,6 +13,50 @@
(FONTAT R 1.0)
(FONTDSIZE R 10.0)
)
+(CHARACTER H D7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H D7)
+ )
+ )
+(CHARACTER H F7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H F7)
+ )
+ )
+(CHARACTER H 2018
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 0)
+ (SETCHAR H 2018)
+ )
+ )
+(CHARACTER H 2019
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H 2019)
+ )
+ )
+(CHARACTER H 201C
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 0)
+ (SETCHAR H 201C)
+ )
+ )
+(CHARACTER H 201D
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H 201D)
+ )
+ )
(CHARACTER H 2600
(CHARWD R 1.0)
(MAP
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf b/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf
index fd29f21d56c..0cf7145cab7 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf2_full.zvp0 b/Build/source/texk/dvipdfm-x/tests/upjf2_full.zvp0
index 5b5820d6161..c570b16b47d 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf2_full.zvp0
+++ b/Build/source/texk/dvipdfm-x/tests/upjf2_full.zvp0
@@ -19,6 +19,57 @@
(FONTAT R 1.0)
(FONTDSIZE R 10.0)
)
+(CHARACTER H A7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H A7)
+ )
+ )
+(CHARACTER H D7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H D7)
+ )
+ )
+(CHARACTER H F7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H F7)
+ )
+ )
+(CHARACTER H 2018
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 2)
+ (SETCHAR H 29E)
+ )
+ )
+(CHARACTER H 2019
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 29F)
+ )
+ )
+(CHARACTER H 201C
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 2)
+ (SETCHAR H 2A0)
+ )
+ )
+(CHARACTER H 201D
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 2A1)
+ )
+ )
(CHARACTER H 2600
(CHARWD R 1.0)
(MAP
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf_full.cnf b/Build/source/texk/dvipdfm-x/tests/upjf_full.cnf
index 5ba8a501631..77865e95029 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf_full.cnf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf_full.cnf
@@ -2,6 +2,11 @@
% You may freely use, modify and/or distribute this file.
CHARSET %
++ 00A7,% §
++ 00D7,% ×
++ 00F7,% ÷
++ 2018..2019,% ‘’
++ 201C..201D,% “”
+ 2600,% ☀
+ 2603,% ☃
+ 3000..303F,% CJK Symbols and Punctuation
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf_full.vf b/Build/source/texk/dvipdfm-x/tests/upjf_full.vf
index 342ea0fdc38..9b3fba8585c 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf_full.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf_full.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf_omit.cnf b/Build/source/texk/dvipdfm-x/tests/upjf_omit.cnf
index dbb1af7ffc2..6a325a9ad1b 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf_omit.cnf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf_omit.cnf
@@ -2,6 +2,11 @@
% You may freely use, modify and/or distribute this file.
CHARSET %
+%+ 00A7,% §
++ 00D7,% ×
++ 00F7,% ÷
++ 2018..2019,% ‘’
++ 201C..201D,% “”
+ 2600,% ☀
+ 2603,% ☃
+ 3000..303F,% CJK Symbols and Punctuation
diff --git a/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf b/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf
index e9bbe6ea2fb..269edee3bfd 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf b/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf
index dffc889b5c8..29b8536902b 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjv2_full.zvp0 b/Build/source/texk/dvipdfm-x/tests/upjv2_full.zvp0
index 09d33779be9..b36d2e66196 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjv2_full.zvp0
+++ b/Build/source/texk/dvipdfm-x/tests/upjv2_full.zvp0
@@ -19,6 +19,57 @@
(FONTAT R 1.0)
(FONTDSIZE R 10.0)
)
+(CHARACTER H A7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 0)
+ (SETCHAR H A7)
+ )
+ )
+(CHARACTER H D7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H D7)
+ )
+ )
+(CHARACTER H F7
+ (CHARWD R 1.0)
+ (MAP
+ (SELECTFONT D 1)
+ (SETCHAR H F7)
+ )
+ )
+(CHARACTER H 2018
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 2)
+ (SETCHAR H 2059)
+ )
+ )
+(CHARACTER H 2019
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 205A)
+ )
+ )
+(CHARACTER H 201C
+ (CHARWD R 0.5)
+ (MAP
+ (MOVERIGHT R -0.5)
+ (SELECTFONT D 2)
+ (SETCHAR H 2057)
+ )
+ )
+(CHARACTER H 201D
+ (CHARWD R 0.5)
+ (MAP
+ (SELECTFONT D 2)
+ (SETCHAR H 2058)
+ )
+ )
(CHARACTER H 2600
(CHARWD R 1.0)
(MAP
diff --git a/Build/source/texk/dvipdfm-x/tests/upjv_full.vf b/Build/source/texk/dvipdfm-x/tests/upjv_full.vf
index 927e8053a53..17cb8f139bc 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjv_full.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjv_full.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf b/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf
index 716b7fafb9c..9fd6e38c848 100644
--- a/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf
+++ b/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf
Binary files differ
diff --git a/Build/source/texk/dvipdfm-x/tfm.c b/Build/source/texk/dvipdfm-x/tfm.c
index ef092348a91..0f633d67811 100644
--- a/Build/source/texk/dvipdfm-x/tfm.c
+++ b/Build/source/texk/dvipdfm-x/tfm.c
@@ -56,6 +56,8 @@
#define CHARACTER_INDEX(i) ((i))
#endif
+#define IS_WIDE_CHAR(i) (((i)>=0x2E80 && !(0xFB00<=(i) && (i)<=0xFB06)))
+
/*
* TFM Record structure:
* Multiple TFM's may be read in at once.
@@ -77,7 +79,7 @@ struct tfm_font
uint32_t nitcor, nlig, nkern, nextens;
uint32_t nfonparm;
#ifndef WITHOUT_OMEGA
- uint32_t fontdir;
+ uint32_t fontdir, iswide;
uint32_t nco, ncw, npc;
#endif /* !WITHOUT_OMEGA */
fixword *header;
@@ -105,6 +107,7 @@ tfm_font_init (struct tfm_font *tfm)
#ifndef WITHOUT_OMEGA
tfm->level = 0;
tfm->fontdir = 0;
+ tfm->iswide = 0;
tfm->nco = tfm->ncw = tfm->npc = 0;
#endif
tfm->char_info = NULL;
@@ -263,7 +266,7 @@ struct font_metric
fixword designsize;
char *codingscheme;
- int level, fontdir;
+ int level, fontdir, iswide;
int firstchar, lastchar;
fixword *widths;
@@ -742,6 +745,9 @@ ofm_do_char_info_one (FILE *tfm_file, struct tfm_font *tfm)
tfm->height_index[i+j+1] = tfm->height_index[i];
tfm->depth_index [i+j+1] = tfm->depth_index [i];
}
+ if (IS_WIDE_CHAR(i) || IS_WIDE_CHAR(i+repeats)) {
+ tfm->iswide = 1;
+ }
/* Skip ahead because we have already handled repeats */
i += repeats;
}
@@ -804,6 +810,7 @@ read_ofm (struct font_metric *fm, FILE *ofm_file, off_t ofm_file_size)
fm->lastchar = tfm.ec;
fm->level = tfm.level;
fm->source = SOURCE_TYPE_OFM;
+ fm->iswide = tfm.iswide;
tfm_font_clear(&tfm);
@@ -1266,7 +1273,7 @@ tfm_is_jfm (int font_id)
if (fms[font_id].source == SOURCE_TYPE_JFM) is_jfm = 1;
#ifndef WITHOUT_OMEGA
if (fms[font_id].source == SOURCE_TYPE_OFM
- && fms[font_id].level == 1 && fms[font_id].lastchar >= 0x2E00) is_jfm = 2;
+ && fms[font_id].level == 1 && fms[font_id].iswide == 1) is_jfm = 2;
#endif
return is_jfm;