pdftex[789] branches/stable/source/src: sync from tl r46188
commits+karl at tug.org
commits+karl at tug.org
Tue Jan 2 00:12:21 CET 2018
Revision: 789
http://tug.org/svn/pdftex?view=revision&revision=789
Author: karl
Date: 2018-01-02 00:12:21 +0100 (Tue, 02 Jan 2018)
Log Message:
-----------
sync from tl r46188
Revision Links:
--------------
http://tug.org/svn/pdftex?view=revision&revision=46188
Modified Paths:
--------------
branches/stable/source/src/build-aux/config.guess
branches/stable/source/src/build-aux/texinfo.tex
branches/stable/source/src/libs/README
branches/stable/source/src/texk/kpathsea/ChangeLog
branches/stable/source/src/texk/kpathsea/xbasename.c
branches/stable/source/src/texk/kpathsea/xdirname.c
branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
branches/stable/source/src/texk/web2c/lib/ChangeLog
branches/stable/source/src/texk/web2c/lib/printversion.c
branches/stable/source/src/texk/web2c/pdftexdir/tounicode.c
branches/stable/source/src/utils/README
Modified: branches/stable/source/src/build-aux/config.guess
===================================================================
--- branches/stable/source/src/build-aux/config.guess 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/build-aux/config.guess 2018-01-01 23:12:21 UTC (rev 789)
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2017 Free Software Foundation, Inc.
-timestamp='2017-11-07'
+timestamp='2017-12-17'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -265,6 +265,9 @@
*:Redox:*:*)
echo ${UNAME_MACHINE}-unknown-redox
exit ;;
+ mips:OSF1:*.*)
+ echo mips-dec-osf1
+ exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
Modified: branches/stable/source/src/build-aux/texinfo.tex
===================================================================
--- branches/stable/source/src/build-aux/texinfo.tex 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/build-aux/texinfo.tex 2018-01-01 23:12:21 UTC (rev 789)
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2017-12-01.13}
+\def\texinfoversion{2017-12-26.21}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@@ -2503,25 +2503,13 @@
% In order for the font changes to affect most math symbols and letters,
-% we have to define the \textfont of the standard families.
+% we have to define the \textfont of the standard families. We don't
+% bother to reset \scriptfont and \scriptscriptfont; awaiting user need.
%
\def\resetmathfonts{%
\textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont
\textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont
\textfont\ttfam=\ttfont \textfont\sffam=\sffont
- %
- \scriptfont0=\rmfont \scriptfont1=\ifont \scriptfont2=\syfont
- \scriptfont\itfam=\itfont \scriptfont\slfam=\slfont \scriptfont\bffam=\bffont
- \scriptfont\ttfam=\ttfont \scriptfont\sffam=\sffont
- %
- \scriptscriptfont0=\rmfont
- \scriptscriptfont1=\ifont
- \scriptscriptfont2=\syfont
- \scriptscriptfont\itfam=\itfont
- \scriptscriptfont\slfam=\slfont
- \scriptscriptfont\bffam=\bffont
- \scriptscriptfont\ttfam=\ttfont
- \scriptscriptfont\sffam=\sffont
}
%
@@ -2631,26 +2619,11 @@
% Markup style infrastructure. \defmarkupstylesetup\INITMACRO will
% define and register \INITMACRO to be called on markup style changes.
% \INITMACRO can check \currentmarkupstyle for the innermost
-% style and the set of \ifmarkupSTYLE switches for all styles
-% currently in effect.
-\newif\ifmarkupvar
-\newif\ifmarkupsamp
-\newif\ifmarkupkey
-%\newif\ifmarkupfile % @file == @samp.
-%\newif\ifmarkupoption % @option == @samp.
-\newif\ifmarkupcode
-\newif\ifmarkupkbd
-%\newif\ifmarkupenv % @env == @code.
-%\newif\ifmarkupcommand % @command == @code.
-\newif\ifmarkuptex % @tex (and part of @math, for now).
-\newif\ifmarkupexample
-\newif\ifmarkupverb
-\newif\ifmarkupverbatim
+% style.
\let\currentmarkupstyle\empty
\def\setupmarkupstyle#1{%
- \csname markup#1true\endcsname
\def\currentmarkupstyle{#1}%
\markupstylesetup
}
@@ -2712,11 +2685,15 @@
% lilypond developers report. xpdf does work with the regular 0x27.
%
\def\codequoteright{%
- \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
- \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
- '%
+ \ifmonospace
+ \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax
+ \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax
+ '%
+ \else \char'15 \fi
\else \char'15 \fi
- \else \char'15 \fi
+ \else
+ '%
+ \fi
}
%
% and a similar option for the left quote char vs. a grave accent.
@@ -2724,13 +2701,17 @@
% the code environments to do likewise.
%
\def\codequoteleft{%
- \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
- \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
- % [Knuth] pp. 380,381,391
- % \relax disables Spanish ligatures ?` and !` of \tt font.
- \relax`%
+ \ifmonospace
+ \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax
+ \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax
+ % [Knuth] pp. 380,381,391
+ % \relax disables Spanish ligatures ?` and !` of \tt font.
+ \relax`%
+ \else \char'22 \fi
\else \char'22 \fi
- \else \char'22 \fi
+ \else
+ \relax`%
+ \fi
}
% Commands to set the quote options.
Modified: branches/stable/source/src/libs/README
===================================================================
--- branches/stable/source/src/libs/README 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/libs/README 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,4 +1,4 @@
-$Id: README 46010 2017-12-07 06:44:07Z kakuto $
+$Id: README 46140 2017-12-26 11:50:03Z kakuto $
Public domain. Originally created by Karl Berry, 2005.
Libraries we compile for TeX Live.
@@ -24,7 +24,7 @@
graphite2 1.3.10 - checked 20jun17
http://sourceforge.net/projects/silgraphite/files/graphite2/
-harfbuzz 1.7.2 - checked 05dec17
+harfbuzz 1.7.4 - checked 20dec17
http://www.freedesktop.org/software/harfbuzz/release/
icu 58.2 - checked 13mar17
@@ -43,7 +43,7 @@
luajit 2.1.0-beta2 - checked 09mar16
http://luajit.org/download/LuaJIT-2.1.0-beta1.tar.gz
-mpfr 3.1.6 - checked 08sep17
+mpfr 4.0.0 - checked 26dec17
http://ftp.gnu.org/gnu/mpfr/
pixman 0.34.0 - checked 04feb16
Modified: branches/stable/source/src/texk/kpathsea/ChangeLog
===================================================================
--- branches/stable/source/src/texk/kpathsea/ChangeLog 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/kpathsea/ChangeLog 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,3 +1,10 @@
+2017-12-27 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * xbasename.c, xdirname.c: Remove IS_KANJI test for UNC names,
+ and fix a W32 bug in xdirname.c.
+ Report by Douglas McKenna:
+ http://tug.org/pipermail/tex-k/2017-December/002840.html
+
2017-12-09 Jiang Jiang <gzjjgod at gmail.com>
* tex-glyph.c (try_fallback_resolutions):
Modified: branches/stable/source/src/texk/kpathsea/xbasename.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/xbasename.c 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/kpathsea/xbasename.c 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,6 +1,6 @@
/* xbasename.c: return the last element in a path.
- Copyright 1992, 1994, 1995, 1996, 2008, 2011, 2016 Karl Berry.
+ Copyright 1992, 1994, 1995, 1996, 2008, 2011, 2016, 2017 Karl Berry.
Copyright 2005 Olaf Weber.
This library is free software; you can redistribute it and/or
@@ -38,15 +38,9 @@
unsigned limit;
for (limit = 2; name[limit] && !IS_DIR_SEP (name[limit]); limit++)
-#if defined(WIN32) && defined (KPSE_COMPAT_API)
- if (IS_KANJI(name+limit)) limit++
-#endif
;
if (name[limit++] && name[limit] && !IS_DIR_SEP (name[limit])) {
for (; name[limit] && !IS_DIR_SEP (name[limit]); limit++)
-#if defined(WIN32) && defined (KPSE_COMPAT_API)
- if (IS_KANJI(name+limit)) limit++
-#endif
;
} else
/* malformed UNC name, backup */
Modified: branches/stable/source/src/texk/kpathsea/xdirname.c
===================================================================
--- branches/stable/source/src/texk/kpathsea/xdirname.c 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/kpathsea/xdirname.c 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,6 +1,6 @@
/* xdirname.c: return the directory part of a path.
- Copyright 1999, 2008, 2011, 2016 Karl Berry.
+ Copyright 1999, 2008, 2011, 2016, 2017 Karl Berry.
Copyright 2005 Olaf Weber.
This library is free software; you can redistribute it and/or
@@ -32,7 +32,6 @@
unsigned limit = 0, loc;
#if defined(WIN32)
string p;
- unsigned i, j;
#endif
/* Ignore a NULL name. */
@@ -43,15 +42,9 @@
limit = 2;
} else if (IS_UNC_NAME(name)) {
for (limit = 2; name[limit] && !IS_DIR_SEP (name[limit]); limit++)
-#if defined(WIN32) && defined(KPSE_COMPAT_API)
- if (IS_KANJI(name+limit)) limit++
-#endif
;
if (name[limit++] && name[limit] && !IS_DIR_SEP (name[limit])) {
for (; name[limit] && !IS_DIR_SEP (name[limit]); limit++)
-#if defined(WIN32) && defined(KPSE_COMPAT_API)
- if (IS_KANJI(name+limit)) limit++
-#endif
;
limit--;
} else
@@ -59,20 +52,11 @@
limit = 0;
}
-#if defined(WIN32)
- j = loc = limit;
- if (j > 2) j++;
- for (i = j; name[i]; i++) {
- if (IS_DIR_SEP (name[i])) {
- j = i;
- for (i++; IS_DIR_SEP (name[i]); i++)
- ;
- loc = i + 1;
- }
-#if defined (KPSE_COMPAT_API)
- else if (IS_KANJI(name+i)) i++;
-#endif
- }
+#if defined(WIN32) && defined (KPSE_COMPAT_API)
+ for (loc = strlen (name); loc > limit &&
+ (!IS_DIR_SEP (name[loc-1]) ||
+ (loc > 1 && IS_KANJI(name+loc-2))); loc--)
+ ;
#else
for (loc = strlen (name); loc > limit && !IS_DIR_SEP (name[loc-1]); loc--)
;
@@ -93,9 +77,12 @@
}
} else {
/* If have ///a, must return /, so don't strip off everything. */
-#if defined(WIN32)
- loc = j;
- if (loc == limit && IS_DIR_SEP (name[loc])) loc++;
+#if defined(WIN32) && defined (KPSE_COMPAT_API)
+ while (loc > limit+1 && IS_DIR_SEP (name[loc-1])) {
+ if (loc > 1 && IS_KANJI(name+loc-2))
+ break;
+ loc--;
+ }
#else
while (loc > limit+1 && IS_DIR_SEP (name[loc-1])) {
loc--;
Modified: branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/tests/TeXLive/TLConfig.pm 2018-01-01 23:12:21 UTC (rev 789)
@@ -5,7 +5,7 @@
package TeXLive::TLConfig;
-my $svnrev = '$Revision: 44018 $';
+my $svnrev = '$Revision: 45617 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -107,6 +107,7 @@
our $DefaultContainerExtension = "tar.$DefaultContainerFormat";
# archive (not user) settings.
+# these can be overriden by putting them into 00texlive.config.tlpsrc
our %TLPDBConfigs = (
"container_split_src_files" => 1,
"container_split_doc_files" => 1,
@@ -113,6 +114,7 @@
"container_format" => $DefaultContainerFormat,
"minrelease" => $MinRelease,
"release" => $ReleaseYear,
+ "frozen" => 0,
);
# definition of the option strings and their value types
Modified: branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm
===================================================================
--- branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/tests/TeXLive/TLUtils.pm 2018-01-01 23:12:21 UTC (rev 789)
@@ -5,7 +5,7 @@
package TeXLive::TLUtils;
-my $svnrev = '$Revision: 44872 $';
+my $svnrev = '$Revision: 46045 $';
my $_modulerevision = ($svnrev =~ m/: ([0-9]+) /) ? $1 : "unknown";
sub module_revision { return $_modulerevision; }
@@ -98,7 +98,14 @@
TeXLive::TLUtils::mktexupd();
TeXLive::TLUtils::setup_sys_user_mode($optsref,$tmfc, $tmfsc, $tmfv, $tmfsv);
TeXLive::TLUtils::prepend_own_path();
+ TeXLive::TLUtils::repository_to_array($str);
+=head2 JSON
+
+ TeXLive::TLUtils::encode_json($ref);
+ TeXLive::TLUtils::True();
+ TeXLive::TLUtils::False();
+
=head1 DESCRIPTION
=cut
@@ -112,6 +119,7 @@
$TeXLive::TLDownload::net_lib_avail
$::checksum_method $::gui_mode $::machinereadable $::no_execute_actions
$::regenerate_all_formats
+ $JSON::false $JSON::true
);
BEGIN {
@@ -185,6 +193,10 @@
&nulldev
&get_full_line
&sort_archs
+ &repository_to_array
+ &encode_json
+ &True
+ &False
);
@EXPORT = qw(setup_programs download_file process_logging_options
tldie tlwarn info log debug ddebug dddebug debug_hash
@@ -1933,7 +1945,7 @@
# man
my $top_man_dir = "$Master/texmf-dist/doc/man";
debug("$mode symlinks for man pages to $sys_man from $top_man_dir\n");
- if (! -d $top_man_dir && $mode eq "add") {
+ if (! -d $top_man_dir) {
; # better to be silent?
#info("skipping add of man symlinks, no source directory $top_man_dir\n");
} else {
@@ -3187,7 +3199,7 @@
sub debug {
my $str = "D:" . join("", @_);
return if ($::opt_verbosity < 1);
- logit(\*STDOUT, 1, $str);
+ logit(\*STDERR, 1, $str);
for my $i (@::debug_hook) {
&{$i}($str);
}
@@ -3209,7 +3221,7 @@
sub ddebug {
my $str = "DD:" . join("", @_);
return if ($::opt_verbosity < 2);
- logit(\*STDOUT, 2, $str);
+ logit(\*STDERR, 2, $str);
for my $i (@::ddebug_hook) {
&{$i}($str);
}
@@ -3231,7 +3243,7 @@
sub dddebug {
my $str = "DDD:" . join("", @_);
return if ($::opt_verbosity < 3);
- logit(\*STDOUT, 3, $str);
+ logit(\*STDERR, 3, $str);
for my $i (@::dddebug_hook) {
&{$i}($str);
}
@@ -4128,8 +4140,207 @@
}
+sub repository_to_array {
+ my $r = shift;
+ my %r;
+ my @repos = split ' ', $r;
+ if ($#repos == 0) {
+ # only one repo, this is the main one!
+ $r{'main'} = $repos[0];
+ return %r;
+ }
+ for my $rr (@repos) {
+ my $tag;
+ my $url;
+ # decode spaces and % in reverse order
+ $rr =~ s/%20/ /g;
+ $rr =~ s/%25/%/g;
+ $tag = $url = $rr;
+ if ($rr =~ m/^([^#]+)#(.*)$/) {
+ $tag = $2;
+ $url = $1;
+ }
+ $r{$tag} = $url;
+ }
+ return %r;
+}
+
+=item C<encode_json($ref)>
+
+Returns the JSON representation of the object C<$ref> is pointing at.
+This tries to load the C<JSON> Perl module, and uses it if available,
+otherwise falls back to module internal conversion.
+
+The used backend can be selected by setting the environment variable
+C<TL_JSONMODE> to either C<json> or C<texlive> (all other values are
+ignored). If C<json> is requested and the C<JSON> module cannot be loaded
+the program terminates.
+
+=cut
+
+my $TLTrueValue = 1;
+my $TLFalseValue = 0;
+my $TLTrue = \$TLTrueValue;
+my $TLFalse = \$TLFalseValue;
+bless $TLTrue, 'TLBOOLEAN';
+bless $TLFalse, 'TLBOOLEAN';
+
+our $jsonmode = "";
+
+=item C<True()>
+=item C<False()>
+
+these two function must be used to get proper JSON C<true> and C<false>
+in the output independent of the backend used.
+
+=cut
+
+sub True {
+ ensure_json_available();
+ if ($jsonmode eq "json") {
+ return($JSON::true);
+ } else {
+ return($TLTrue);
+ }
+}
+sub False {
+ ensure_json_available();
+ if ($jsonmode eq "json") {
+ return($JSON::false);
+ } else {
+ return($TLFalse);
+ }
+}
+
+sub ensure_json_available {
+ return if ($jsonmode);
+ # check the environment for mode to use:
+ # $ENV{'TL_JSONMODE'} = texlive | json
+ my $envdefined = 0;
+ if ($ENV{'TL_JSONMODE'}) {
+ $envdefined = 1;
+ if ($ENV{'TL_JSONMODE'} eq "texlive") {
+ $jsonmode = "texlive";
+ debug("texlive json module used!\n");
+ return;
+ } elsif ($ENV{'TL_JSONMODE'} eq "json") {
+ # nothing to do
+ } else {
+ tlwarn("Unsupported mode \'$ENV{TL_JSONMODE}\' set in TL_JSONMODE, ignoring it!");
+ $envdefined = 0;
+ }
+ }
+ return if ($jsonmode); # was set to texlive
+ eval { require JSON; };
+ if ($@) {
+ # that didn't work out, use home-grown json
+ if ($envdefined) {
+ # environment asks for JSON but cannot be loaded, die!
+ tldie("env variable TL_JSONMODE request JSON module but cannot be load!\n");
+ }
+ $jsonmode = "texlive";
+ debug("texlive json module used!\n");
+ } else {
+ $jsonmode = "json";
+ my $json = JSON->new;
+ debug("JSON " . $json->backend . " used!\n");
+ }
+}
+
+sub encode_json {
+ my $val = shift;
+ ensure_json_available();
+ if ($jsonmode eq "json") {
+ my $utf8_encoded_json_text = JSON::encode_json($val);
+ return $utf8_encoded_json_text;
+ } else {
+ my $type = ref($val);
+ if ($type eq "") {
+ tldie("encode_json: accept only refs: $val");
+ } elsif ($type eq 'SCALAR') {
+ return(scalar_to_json($$val));
+ } elsif ($type eq 'ARRAY') {
+ return(array_to_json($val));
+ } elsif ($type eq 'HASH') {
+ return(hash_to_json($val));
+ } elsif ($type eq 'REF') {
+ return(encode_json($$val));
+ } elsif (Scalar::Util::blessed($val)) {
+ if ($type eq "TLBOOLEAN") {
+ return($$val ? "true" : "false");
+ } else {
+ tldie("encode_json: unsupported blessed object");
+ }
+ } else {
+ tldie("encode_json: unsupported format $type");
+ }
+ }
+}
+
+sub scalar_to_json {
+ sub looks_like_numeric {
+ # code from JSON/backportPP.pm
+ my $value = shift;
+ no warnings 'numeric';
+ # detect numbers
+ # string & "" -> ""
+ # number & "" -> 0 (with warning)
+ # nan and inf can detect as numbers, so check with * 0
+ return unless length((my $dummy = "") & $value);
+ return unless 0 + $value eq $value;
+ return 1 if $value * 0 == 0;
+ return -1; # inf/nan
+ }
+ my $val = shift;
+ if (defined($val)) {
+ if (looks_like_numeric($val)) {
+ return("$val");
+ } else {
+ return(string_to_json($val));
+ }
+ } else {
+ return("null");
+ }
+}
+
+sub string_to_json {
+ my $val = shift;
+ my %esc = (
+ "\n" => '\n',
+ "\r" => '\r',
+ "\t" => '\t',
+ "\f" => '\f',
+ "\b" => '\b',
+ "\"" => '\"',
+ "\\" => '\\\\',
+ "\'" => '\\\'',
+ );
+ $val =~ s/([\x22\x5c\n\r\t\f\b])/$esc{$1}/g;
+ return("\"$val\"");
+}
+
+sub hash_to_json {
+ my $hr = shift;
+ my @retvals;
+ for my $k (keys(%$hr)) {
+ my $val = $hr->{$k};
+ push @retvals, "\"$k\":" . encode_json(\$val);
+ }
+ my $ret = "{" . join(",", @retvals) . "}";
+ return($ret);
+}
+
+sub array_to_json {
+ my $hr = shift;
+ my $ret = "[" . join(",", map { encode_json(\$_) } @$hr) . "]";
+ return($ret);
+}
+
+
+
=back
=cut
+
1;
__END__
Modified: branches/stable/source/src/texk/web2c/lib/ChangeLog
===================================================================
--- branches/stable/source/src/texk/web2c/lib/ChangeLog 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/web2c/lib/ChangeLog 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,3 +1,7 @@
+2018-01-01 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * printversion.c: 2017 ---> 2018.
+
2017-10-21 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
* openclose.c: If opened fname is a directory in
Modified: branches/stable/source/src/texk/web2c/lib/printversion.c
===================================================================
--- branches/stable/source/src/texk/web2c/lib/printversion.c 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/web2c/lib/printversion.c 2018-01-01 23:12:21 UTC (rev 789)
@@ -51,7 +51,7 @@
#endif
if (copyright_holder) {
- printf ("Copyright 2017 %s.\n", copyright_holder);
+ printf ("Copyright 2018 %s.\n", copyright_holder);
if (!author)
author = copyright_holder;
}
Modified: branches/stable/source/src/texk/web2c/pdftexdir/tounicode.c
===================================================================
--- branches/stable/source/src/texk/web2c/pdftexdir/tounicode.c 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/texk/web2c/pdftexdir/tounicode.c 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,5 +1,5 @@
/*
-Copyright 2006-2014 Han The Thanh, <thanh at pdftex.org>
+Copyright 2006-2017 Han The Thanh, <thanh at pdftex.org>
This file is part of pdfTeX.
@@ -75,7 +75,7 @@
p++; /* ignore leading spaces */
l = strlen(p);
while (l > 0 && p[l - 1] == ' ')
- l--; /* ignore traling spaces */
+ l--; /* ignore trailing spaces */
valid_unistr = 1; /* a unicode value is the most common case */
for (i = 0; i < l; i++) {
if (p[i] == ' ')
@@ -117,6 +117,11 @@
} else {
i = sscanf(p, "%lX", &(gu->code));
assert(i == 1);
+ if (gu->code < 0 || gu->code > 0x10FFFF) {
+ pdftex_warn("ToUnicode: value out of range [0,10FFFF]: %X",
+ gu->code);
+ gu->code = UNI_UNDEF;
+ }
}
aa = avl_probe(glyph_unicode_tree, gu);
assert(aa != NULL);
Modified: branches/stable/source/src/utils/README
===================================================================
--- branches/stable/source/src/utils/README 2017-12-16 18:19:19 UTC (rev 788)
+++ branches/stable/source/src/utils/README 2018-01-01 23:12:21 UTC (rev 789)
@@ -1,4 +1,4 @@
-$Id: README 45150 2017-08-28 06:43:57Z kakuto $
+$Id: README 46169 2017-12-30 22:19:20Z kakuto $
Public domain. Originally written 2005 by Karl Berry.
Extra utilities we (optionally) compile for TeX Live.
@@ -10,7 +10,7 @@
see http://tug.org/texlive/build.html#asymptote
and tlpkg/bin/tl-update-asy
-autosp 2017-07-14 - checked 26jul17
+autosp 2017-12-26 - checked 29dec17
http://ctan.org/pkg/autosp
devnag - from devanagari package installed in texmf-dist.
@@ -80,9 +80,9 @@
# if you can't build libsigsegv, pass --ignore-absence-of-libsigsegv
# when running configure for clisp.
-ffcall_ver=libffcall-1.13-20170225
+ffcall_ver=libffcall-1.13
cd $clisp_basedir
-$wget http://www.haible.de/bruno/gnu/$ffcall_ver.tar.gz
+$wget https://ftp.gnu.org/gnu/libsigsegv/$ffcall_ver.tar.gz
gzip -dc $ffcall_ver.tar.gz | tar xf -
cd $ffcall_ver
./configure -C --prefix=$clisp_toolsdir --disable-shared --enable-static \
More information about the pdftex-commits
mailing list