summaryrefslogtreecommitdiff
path: root/Build/source
diff options
context:
space:
mode:
authorTakuji Tanaka <ttk@t-lab.opal.ne.jp>2020-03-15 03:54:33 +0000
committerTakuji Tanaka <ttk@t-lab.opal.ne.jp>2020-03-15 03:54:33 +0000
commitc159ca7edcb4cf7416a4e1e59e3c6795fcaeb1e3 (patch)
treed593f4e2bf9c977e81d73f084533dcf7cf60b7c8 /Build/source
parentf89ff8afb11f0e837b8a0cc0cb3de6deeb677c2b (diff)
texk/dvipdfm-x: Fallback multibyte character in VF for (u)pTeX
git-svn-id: svn://tug.org/texlive/trunk@54319 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source')
-rw-r--r--Build/source/texk/dvipdfm-x/ChangeLog6
-rwxr-xr-xBuild/source/texk/dvipdfm-x/configure22
-rw-r--r--Build/source/texk/dvipdfm-x/configure.ac2
-rw-r--r--Build/source/texk/dvipdfm-x/tfm.c16
-rw-r--r--Build/source/texk/dvipdfm-x/tfm.h1
-rw-r--r--Build/source/texk/dvipdfm-x/vf.c10
6 files changed, 45 insertions, 12 deletions
diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog
index a3c1c0bc828..4c4c01b2fd7 100644
--- a/Build/source/texk/dvipdfm-x/ChangeLog
+++ b/Build/source/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,9 @@
+2020-03-15 TANAKA Takuji <ttk@t-lab.opal.ne.jp>
+
+ * tfm.c, tfm.h, vf.c: Fallback multibyte character
+ in virtual font for (u)pTeX.
+ * configure.ac: version 20200315.
+
2020-02-29 Hironobu Yamashita <h.y.acetaminophen@gmail.com>
* pdfdev.c: Revert the commit on 2019-06-30: see
diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure
index 9c59eaeed24..4f4a26269c3 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.69 for dvipdfm-x (TeX Live) 20200116.
+# Generated by GNU Autoconf 2.69 for dvipdfm-x (TeX Live) 20200315.
#
# Report bugs to <dvipdfmx@tug.org>.
#
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='dvipdfm-x (TeX Live)'
PACKAGE_TARNAME='dvipdfm-x--tex-live-'
-PACKAGE_VERSION='20200116'
-PACKAGE_STRING='dvipdfm-x (TeX Live) 20200116'
+PACKAGE_VERSION='20200315'
+PACKAGE_STRING='dvipdfm-x (TeX Live) 20200315'
PACKAGE_BUGREPORT='dvipdfmx@tug.org'
PACKAGE_URL=''
@@ -1350,7 +1350,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) 20200116 to adapt to many kinds of systems.
+\`configure' configures dvipdfm-x (TeX Live) 20200315 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1421,7 +1421,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20200116:";;
+ short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20200315:";;
esac
cat <<\_ACEOF
@@ -1551,7 +1551,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-dvipdfm-x (TeX Live) configure 20200116
+dvipdfm-x (TeX Live) configure 20200315
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2390,7 +2390,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 20200116, which was
+It was created by dvipdfm-x (TeX Live) $as_me 20200315, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -8077,7 +8077,7 @@ fi
# Define the identity of the package.
PACKAGE='dvipdfm-x--tex-live-'
- VERSION='20200116'
+ VERSION='20200315'
cat >>confdefs.h <<_ACEOF
@@ -14746,7 +14746,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-dvipdfm-x (TeX Live) config.lt 20200116
+dvipdfm-x (TeX Live) config.lt 20200315
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -16636,7 +16636,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 20200116, which was
+This file was extended by dvipdfm-x (TeX Live) $as_me 20200315, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16706,7 +16706,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-dvipdfm-x (TeX Live) config.status 20200116
+dvipdfm-x (TeX Live) config.status 20200315
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/dvipdfm-x/configure.ac b/Build/source/texk/dvipdfm-x/configure.ac
index 8991332c9c9..cee07a41e82 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)], [20200116], [dvipdfmx@tug.org])
+AC_INIT([dvipdfm-x (TeX Live)], [20200315], [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/tfm.c b/Build/source/texk/dvipdfm-x/tfm.c
index cf432501bb7..d76d0d5adec 100644
--- a/Build/source/texk/dvipdfm-x/tfm.c
+++ b/Build/source/texk/dvipdfm-x/tfm.c
@@ -1209,6 +1209,22 @@ tfm_is_vert (int font_id)
#endif /* !WITHOUT_ASCII_PTEX */
#endif
+#ifndef WITHOUT_ASCII_PTEX
+int
+tfm_is_jfm (int font_id)
+{
+ CHECK_ID(font_id);
+
+ return (fms[font_id].source == SOURCE_TYPE_JFM) ? 1 : 0;
+}
+#else /* WITHOUT_ASCII_PTEX */
+int
+tfm_is_jfm (int font_id)
+{
+ return 0;
+}
+#endif /* !WITHOUT_ASCII_PTEX */
+
int
tfm_exists (const char *tfm_name)
{
diff --git a/Build/source/texk/dvipdfm-x/tfm.h b/Build/source/texk/dvipdfm-x/tfm.h
index 3f3b2379492..59b49a1d9fa 100644
--- a/Build/source/texk/dvipdfm-x/tfm.h
+++ b/Build/source/texk/dvipdfm-x/tfm.h
@@ -50,6 +50,7 @@ extern double tfm_get_design_size (int font_id);
extern char *tfm_get_codingscheme (int font_id);
extern int tfm_is_vert (int font_id);
#endif
+extern int tfm_is_jfm (int font_id);
extern int tfm_exists (const char *tfm_name);
diff --git a/Build/source/texk/dvipdfm-x/vf.c b/Build/source/texk/dvipdfm-x/vf.c
index b046b665b56..a6361715494 100644
--- a/Build/source/texk/dvipdfm-x/vf.c
+++ b/Build/source/texk/dvipdfm-x/vf.c
@@ -413,6 +413,16 @@ void vf_set_char(int32_t ch, int vf_font)
dvi_vf_init (default_font);
if (ch >= vf_fonts[vf_font].num_chars ||
!(start = (vf_fonts[vf_font].ch_pkt)[ch])) {
+ if (tfm_is_jfm((vf_fonts[vf_font].dev_fonts[0]).tfm_id) &&
+ ch < 0x1000000 && dpx_conf.compat_mode != dpx_mode_xdv_mode) {
+ /* fallback multibyte character for (u)pTeX */
+ if (dpx_conf.verbose_level > 0)
+ WARN ("Fallback multibyte character in virtual font: name=%s char=0x%06x(%d)",
+ vf_fonts[vf_font].tex_name, ch, ch);
+ dvi_set (ch);
+ dvi_vf_finish();
+ return;
+ }
fprintf (stderr, "\nchar=0x%x(%d)\n", ch, ch);
fprintf (stderr, "Tried to set a nonexistent character in a virtual font");
start = end = NULL;