From 39f2c755909047258bdb5cdeda04f7a8c2232761 Mon Sep 17 00:00:00 2001 From: Takuji Tanaka Date: Mon, 29 Apr 2024 07:41:24 +0000 Subject: dvipdfm-x: Fix segfaults git-svn-id: svn://tug.org/texlive/trunk@71116 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/ChangeLog | 8 ++++++++ Build/source/texk/dvipdfm-x/configure | 22 +++++++++++----------- Build/source/texk/dvipdfm-x/configure.ac | 2 +- Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test | 2 +- Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H | 6 +++++- Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V | 6 +++++- Build/source/texk/dvipdfm-x/tests/upjf-hara.map | 8 ++++---- Build/source/texk/dvipdfm-x/tfm.c | 12 ++++++++++++ 8 files changed, 47 insertions(+), 19 deletions(-) diff --git a/Build/source/texk/dvipdfm-x/ChangeLog b/Build/source/texk/dvipdfm-x/ChangeLog index 8703afe734a..3204d3243f1 100644 --- a/Build/source/texk/dvipdfm-x/ChangeLog +++ b/Build/source/texk/dvipdfm-x/ChangeLog @@ -1,3 +1,11 @@ +2024-04-29 TANAKA Takuji + + * tfm.c: Fix segfaults. + * dvipdfmx-upjf2.test, tests/UPJF-UTF16-{H,V}, + tests/upjf-hara.map: Update tests. + https://github.com/texjporg/tex-jp-build/issues/46 + * configure.ac: version 20240427. + 2024-04-27 TANAKA Takuji * tfm.{c,h}, vf.c: Support upTeX new encoding diff --git a/Build/source/texk/dvipdfm-x/configure b/Build/source/texk/dvipdfm-x/configure index 36ae8711079..da957c5acbb 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) 20240427. +# Generated by GNU Autoconf 2.72 for dvipdfm-x (TeX Live) 20240429. # # Report bugs to . # @@ -614,8 +614,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='dvipdfm-x (TeX Live)' PACKAGE_TARNAME='dvipdfm-x--tex-live-' -PACKAGE_VERSION='20240427' -PACKAGE_STRING='dvipdfm-x (TeX Live) 20240427' +PACKAGE_VERSION='20240429' +PACKAGE_STRING='dvipdfm-x (TeX Live) 20240429' PACKAGE_BUGREPORT='dvipdfmx@tug.org' PACKAGE_URL='' @@ -1383,7 +1383,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) 20240427 to adapt to many kinds of systems. +'configure' configures dvipdfm-x (TeX Live) 20240429 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1455,7 +1455,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20240427:";; + short | recursive ) echo "Configuration of dvipdfm-x (TeX Live) 20240429:";; esac cat <<\_ACEOF @@ -1586,7 +1586,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -dvipdfm-x (TeX Live) configure 20240427 +dvipdfm-x (TeX Live) configure 20240429 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -2367,7 +2367,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 20240427, which was +It was created by dvipdfm-x (TeX Live) $as_me 20240429, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -9080,7 +9080,7 @@ fi # Define the identity of the package. PACKAGE='dvipdfm-x--tex-live-' - VERSION='20240427' + VERSION='20240429' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -16159,7 +16159,7 @@ Usage: $0 [OPTIONS] Report bugs to ." lt_cl_version="\ -dvipdfm-x (TeX Live) config.lt 20240427 +dvipdfm-x (TeX Live) config.lt 20240429 configured by $0, generated by GNU Autoconf 2.72. Copyright (C) 2011 Free Software Foundation, Inc. @@ -18102,7 +18102,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 20240427, which was +This file was extended by dvipdfm-x (TeX Live) $as_me 20240429, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18174,7 +18174,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 20240427 +dvipdfm-x (TeX Live) config.status 20240429 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 87ddbc11dbe..4307906b5d8 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)], [20240427], [dvipdfmx@tug.org]) +AC_INIT([dvipdfm-x (TeX Live)], [20240429], [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-upjf2.test b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test index cc5a49b9acc..6c2229ec2cc 100755 --- a/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test +++ b/Build/source/texk/dvipdfm-x/dvipdfmx-upjf2.test @@ -28,7 +28,7 @@ otfpath=`$_kpsewhich HaranoAjiMincho-Regular.otf` || exit 77 OPENTYPEFONTS=`echo $otfpath | sed -e 's,HaranoAjiMincho-Regular\.otf,,' -e 's,/fonts/opentype/.*$,/fonts/opentype//,'` export OPENTYPEFONTS -rm -f upjf.vf upjv.vf +rm -f upjf.vf upjv.vf upjf-r.ofm upjv-r.ofm echo "*** dvipdfmx: test for upjf2_full-hara.pdf" && echo \ && cp $srcdir/tests/upjf2_full.vf ./upjf.vf \ diff --git a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H index a63768ab58a..8bb6cda848b 100644 --- a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H +++ b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-H @@ -39,10 +39,14 @@ endcodespacerange <0000> <001f> 1 endnotdefrange -3 begincidchar +7 begincidchar +<31f7> 16243 +<537f> 1698 <6674> 2646 <96ea> 2695 + 636 13803 + 13719 endcidchar 14 begincidrange diff --git a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V index 1365d9d5fe4..6ead175556d 100644 --- a/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V +++ b/Build/source/texk/dvipdfm-x/tests/UPJF-UTF16-V @@ -39,10 +39,14 @@ endcodespacerange <0000> <001f> 1 endnotdefrange -3 begincidchar +7 begincidchar +<31f7> 16340 +<537f> 1698 <6674> 2646 <96ea> 2695 + 8268 13803 + 13719 endcidchar 14 begincidrange diff --git a/Build/source/texk/dvipdfm-x/tests/upjf-hara.map b/Build/source/texk/dvipdfm-x/tests/upjf-hara.map index 578602dbc8d..f83c1a1ff75 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 UniJIS-UTF16-H HaranoAjiMincho-Regular.otf -upjf-g UniJIS-UTF16-H HaranoAjiGothic-Regular.otf +upjf-r UPJF-UTF16-H HaranoAjiMincho-Regular.otf +upjf-g UPJF-UTF16-H HaranoAjiGothic-Regular.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-r UPJF-UTF16-V HaranoAjiMincho-Regular.otf +upjv-g UPJF-UTF16-V HaranoAjiGothic-Regular.otf upjv-c Identity-V HaranoAjiMincho-Regular.otf %upjf-r UniJIS-UTF16-H !Ryumin-Light diff --git a/Build/source/texk/dvipdfm-x/tfm.c b/Build/source/texk/dvipdfm-x/tfm.c index efc637083f8..ef092348a91 100644 --- a/Build/source/texk/dvipdfm-x/tfm.c +++ b/Build/source/texk/dvipdfm-x/tfm.c @@ -1030,6 +1030,10 @@ tfm_get_fw_width (int font_id, int32_t ch) default: idx = ch; } +#ifndef WITHOUT_ASCII_PTEX + } else if (ch > fm->lastchar && ch <= JFM_LASTCHAR) { + idx = 0; +#endif /* !WITHOUT_ASCII_PTEX */ } else { ERROR("Invalid char: %ld\n", ch); } @@ -1061,6 +1065,10 @@ tfm_get_fw_height (int font_id, int32_t ch) default: idx = ch; } +#ifndef WITHOUT_ASCII_PTEX + } else if (ch > fm->lastchar && ch <= JFM_LASTCHAR) { + idx = 0; +#endif /* !WITHOUT_ASCII_PTEX */ } else { ERROR("Invalid char: %ld\n", ch); } @@ -1092,6 +1100,10 @@ tfm_get_fw_depth (int font_id, int32_t ch) default: idx = ch; } +#ifndef WITHOUT_ASCII_PTEX + } else if (ch > fm->lastchar && ch <= JFM_LASTCHAR) { + idx = 0; +#endif /* !WITHOUT_ASCII_PTEX */ } else { ERROR("Invalid char: %ld\n", ch); } -- cgit v1.2.3