diff options
Diffstat (limited to 'Build/source/texk/dvipdfm-x')
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 Binary files differnew file mode 100644 index 00000000000..0f62dc7b33c --- /dev/null +++ b/Build/source/texk/dvipdfm-x/tests/lmr0-al.dvi diff --git a/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi b/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi Binary files differnew file mode 100644 index 00000000000..8b4d67ace3e --- /dev/null +++ b/Build/source/texk/dvipdfm-x/tests/lmr0-up.dvi 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 Binary files differindex 96706a51616..a6d30588aaf 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjf1_full.vf 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 Binary files differindex 512d29ec205..1647f385fd8 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjf1_omit.vf 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 Binary files differindex fd29f21d56c..0cf7145cab7 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjf2_full.vf 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 Binary files differindex 342ea0fdc38..9b3fba8585c 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjf_full.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjf_full.vf 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 Binary files differindex e9bbe6ea2fb..269edee3bfd 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjf_omit.vf diff --git a/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf b/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf Binary files differindex dffc889b5c8..29b8536902b 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjv2_full.vf 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 Binary files differindex 927e8053a53..17cb8f139bc 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjv_full.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjv_full.vf diff --git a/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf b/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf Binary files differindex 716b7fafb9c..9fd6e38c848 100644 --- a/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf +++ b/Build/source/texk/dvipdfm-x/tests/upjv_omit.vf 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; |