Compare commits
No commits in common. 'c9' and 'i8c' have entirely different histories.
File diff suppressed because it is too large
Load Diff
@ -1,36 +0,0 @@
|
||||
#! /bin/sh
|
||||
v=20200406
|
||||
s=texlive-$v-source.tar.xz
|
||||
p=${s%.tar.xz}
|
||||
|
||||
# get the texlive original source
|
||||
if [ ! -f $s ] ; then
|
||||
echo download $s, please wait...
|
||||
wget https://ftp.tu-chemnitz.de/pub/tug/historic/systems/texlive/2020/$s
|
||||
if [ ! -f $s ] ; then
|
||||
echo download $s failed!
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
# remove old source
|
||||
if [ -d $p ] ; then
|
||||
rm -fr $p
|
||||
fi
|
||||
|
||||
echo extracting the $s...
|
||||
if ( ! tar Jxf $s ) ; then
|
||||
echo $s failed, cannot be extracted
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# remove files with bad licenses, don't embeded zziplib but build with system lib
|
||||
rm -rf $p/libs/zziplib
|
||||
rm -rf $p/texk/ps2pk
|
||||
|
||||
# create clean texlive source
|
||||
echo create the clean texlive source, please wait...
|
||||
if ( tar Jcf $p-clean.tar.xz $p) ; then
|
||||
echo clean texlive source $p-clean.tar.xz is created.
|
||||
else
|
||||
echo failed, clean texlive source $p-clean.tar.xz cannot be created.
|
||||
fi
|
@ -1,25 +0,0 @@
|
||||
--- etex.src.orig 2015-09-16 14:17:48.263123165 -0400
|
||||
+++ etex.src 2015-09-16 14:14:20.673610421 -0400
|
||||
@@ -290,8 +290,10 @@
|
||||
|
||||
\def \addlanguage #1#2#3#4#5% language patterns exceptions lhm rhm
|
||||
{\expandafter \et@xlang \csname lang@#1\endcsname
|
||||
- \expandafter \chardef \csname lhm@#1\endcsname=#4 % V1.0-1
|
||||
- \expandafter \chardef \csname rhm@#1\endcsname=#5 % V1.0-1
|
||||
+ \def\paramD{#4}\ifx\paramD\empty\def\paramD{1}\fi % Default value lhm is 1 % V2.1-1
|
||||
+ \def\paramE{#5}\ifx\paramD\empty\def\paramE{1}\fi % Default value rhm is 1 % V2.1-1
|
||||
+ \expandafter \chardef \csname lhm@#1\endcsname=\paramD % V2.1-1
|
||||
+ \expandafter \chardef \csname rhm@#1\endcsname=\paramE % V2.1-1
|
||||
\uselanguage {#1}%
|
||||
\input #2
|
||||
\if *#3*\else \input #3 \fi
|
||||
@@ -776,6 +778,9 @@
|
||||
|
||||
%% Revision-history:
|
||||
|
||||
+24-ARP-2015: 2.1;1 Allow empty values on \addlanguages for parameters 4 and 5
|
||||
+ Changed by Edgar Hoch
|
||||
+
|
||||
01-FEB-1999: 2.1;0 Allow file to be used with e-TeX versions 2.0 and 2.1
|
||||
|
||||
25-MAR-1998: 2.0;19 Improved log message for \{glob|loc}{marks|box}vector (PEB)
|
@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Regenerate the fmtutil.cnf file from the pieces which are currently present
|
||||
# in the fmtutil.cnf.d directory.
|
||||
|
||||
# Abort immediately if any command fails
|
||||
set -o errexit
|
||||
shopt -s nullglob
|
||||
|
||||
texdir=$1
|
||||
[[ -z $texdir ]] && texdir=/usr/share/texlive
|
||||
web2cdir=$texdir/texmf-dist/web2c
|
||||
|
||||
rm -f $web2cdir/fmtutil.cnf.rpmtmp
|
||||
|
||||
echo "# Generated by $0 on $(date)" > $web2cdir/fmtutil.cnf.rpmtmp
|
||||
|
||||
cat $web2cdir/fmtutil-hdr.cnf \
|
||||
$texdir/fmtutil.cnf.d/* \
|
||||
>> $web2cdir/fmtutil.cnf.rpmtmp
|
||||
|
||||
mv $web2cdir/fmtutil.cnf.rpmtmp $web2cdir/fmtutil.cnf
|
@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2020 Tom Callaway <spot AT fedoraproject DOT org> -->
|
||||
<component type="font">
|
||||
<id>gnu-freefont</id>
|
||||
<metadata_license>CC-BY-3.0</metadata_license>
|
||||
<name>GNU Free font</name>
|
||||
<summary>A Unicode font, with rather wide coverage</summary>
|
||||
<description>
|
||||
<p>
|
||||
The package provides a set of outline (i.e. OpenType) fonts covering
|
||||
as much as possible of the Unicode character set. The set consists of
|
||||
three typefaces: one monospaced and two proportional (one with uniform
|
||||
and one with modulated stroke).
|
||||
</p>
|
||||
</description>
|
||||
<updatecontact>spotrh_at_gmail_dot_com</updatecontact>
|
||||
<url type="homepage">https://ctan.org/pkg/gnu-freefont</url>
|
||||
</component>
|
@ -1,39 +0,0 @@
|
||||
--- tabu.sty.old 2019-01-14 17:10:48.000000000 -0500
|
||||
+++ tabu.sty 2019-12-11 09:16:55.745034664 -0500
|
||||
@@ -52,12 +52,12 @@
|
||||
%% lppl copyright 2010-2011 by FC <florent.chervet@free.fr>
|
||||
%%
|
||||
%% Updated 2019-01-11
|
||||
-%% Copyright 2019 tabu-fixed github group (LaTeX3 Project members)
|
||||
-%% Please report any issues at https://github.com/tabu-fixed/tabu
|
||||
+%% Copyright 2019 tabu-issues-for-future-maintainer github group (LaTeX3 Project members)
|
||||
+%% Please report any issues at https://github.com/tabu-issues-for-future-maintainer/tabu
|
||||
%%
|
||||
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
-\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-fixed)]
|
||||
+\ProvidesPackage{tabu}[2019/01/11 v2.9 - flexible LaTeX tabulars (FC+tabu-issues-for-future-maintainer) + intermediate FMi]
|
||||
\RequirePackage{array}[2008/09/09]
|
||||
\RequirePackage{varwidth}[2009/03/30]
|
||||
\AtEndOfPackage{\tabu@AtEnd \let\tabu@AtEnd \@undefined}
|
||||
@@ -727,6 +727,10 @@
|
||||
\tabu@currentgrouptype\expandafter{\the\currentgrouptype}}%
|
||||
\fi
|
||||
}% \tabu@init
|
||||
+%%TABU-FIXED set up \tabu@currentgrouptype
|
||||
+%FMi cancel for nested arrays ...
|
||||
+\def\@tabarray{\m@th\def\tabu@currentgrouptype{\currentgrouptype}\@ifnextchar[\@array{\@array[c]}}
|
||||
+
|
||||
\def\tabu@indent{% correction for indentation
|
||||
\ifdim \parindent>\z@\ifx \linewidth\tabudefaulttarget
|
||||
\everypar\expandafter{%
|
||||
@@ -1663,6 +1667,9 @@
|
||||
\ifdim \tabu@temp\p@>\z@ \ifdim \tabu@temp\tabucolX<\tabu@target
|
||||
\tabu@target=\tabu@temp\tabucolX \fi\fi
|
||||
\setbox\tabu@box \hbox \bgroup
|
||||
+%%TABU-FIXED add \color@begingroup
|
||||
+%%FMi not yet understood why this one is also needed ...
|
||||
+ \color@begingroup
|
||||
\begin{varwidth}\tabu@target
|
||||
\let\FV@ListProcessLine \tabu@FV@ListProcessLine % \hbox to natural width...
|
||||
\narrowragged \arraybackslash \parfillskip \@flushglue
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,40 @@
|
||||
diff -up texlive-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 texlive-20180414/source/texk/dvipsk/writet1.c
|
||||
--- texlive-20180414/source/texk/dvipsk/writet1.c.CVE-2018-17407 2018-09-26 08:37:29.964110003 +0100
|
||||
+++ texlive-20180414/source/texk/dvipsk/writet1.c 2018-09-26 08:38:06.454784619 +0100
|
||||
@@ -1449,7 +1449,9 @@ static void t1_check_unusual_charstring(
|
||||
*(strend(t1_buf_array) - 1) = ' ';
|
||||
|
||||
t1_getline();
|
||||
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
strcat(t1_buf_array, t1_line_array);
|
||||
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
strcpy(t1_line_array, t1_buf_array);
|
||||
t1_line_ptr = eol(t1_line_array);
|
||||
}
|
||||
diff -up texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w
|
||||
--- texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w.CVE-2018-17407 2018-09-26 08:34:35.340880599 +0100
|
||||
+++ texlive-20180414/source/texk/web2c/luatexdir/font/writet1.w 2018-09-26 08:35:45.992187544 +0100
|
||||
@@ -1624,8 +1624,10 @@ static void t1_check_unusual_charstring(
|
||||
/* if no number follows "/CharStrings", let's read the next line */
|
||||
if (sscanf(p, "%i", &i) != 1) {
|
||||
strcpy(t1_buf_array, t1_line_array);
|
||||
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
t1_getline();
|
||||
strcat(t1_buf_array, t1_line_array);
|
||||
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
strcpy(t1_line_array, t1_buf_array);
|
||||
t1_line_ptr = eol(t1_line_array);
|
||||
}
|
||||
diff -up texlive-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 texlive-20180414/source/texk/web2c/pdftexdir/writet1.c
|
||||
--- texlive-20180414/source/texk/web2c/pdftexdir/writet1.c.CVE-2018-17407 2018-09-26 08:36:06.382564736 +0100
|
||||
+++ texlive-20180414/source/texk/web2c/pdftexdir/writet1.c 2018-09-26 08:37:12.213781850 +0100
|
||||
@@ -1598,7 +1598,9 @@ static void t1_check_unusual_charstring(
|
||||
*(strend(t1_buf_array) - 1) = ' ';
|
||||
|
||||
t1_getline();
|
||||
+ alloc_array(t1_buf, strlen(t1_line_array) + strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
strcat(t1_buf_array, t1_line_array);
|
||||
+ alloc_array(t1_line, strlen(t1_buf_array) + 1, T1_BUF_SIZE);
|
||||
strcpy(t1_line_array, t1_buf_array);
|
||||
t1_line_ptr = eol(t1_line_array);
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
diff -up doc/latex/beamer/beamer-doc-test.sh.orig doc/latex/beamer/beamer-doc-test.sh
|
||||
--- doc/latex/beamer/beamer-doc-test.sh.orig 2022-12-12 11:09:20.845608798 +0100
|
||||
+++ doc/latex/beamer/beamer-doc-test.sh 2022-12-12 11:10:23.512743150 +0100
|
||||
@@ -0,0 +1,30 @@
|
||||
+#
|
||||
+# shellscript to build beameruserguide without using l3build doc
|
||||
+#
|
||||
+
|
||||
+for t in default circles rectangles rounded inmargin ; do
|
||||
+ pdflatex "\def\themename{$t}\input beamerinnerthemeexample.tex"
|
||||
+ mv beamerinnerthemeexample.pdf beameruginnertheme$t.pdf
|
||||
+done
|
||||
+
|
||||
+for t in default crane albatross seahorse whale dolphin rose orchid sidebartab lily structure dove seagull beetle fly wolverine spruce beaver monarca albatrossstylish ; do
|
||||
+ pdflatex "\def\themename{$t}\input beamercolorthemeexample.tex"
|
||||
+ mv beamercolorthemeexample.pdf beamerugcolortheme$t.pdf
|
||||
+done
|
||||
+
|
||||
+for t in default serif structurebold structureitalicserif structuresmallcapsserif ; do
|
||||
+ pdflatex "\def\themename{$t}\input beamerfontthemeexample.tex"
|
||||
+ mv beamerfontthemeexample.pdf beamerugfonttheme$t.pdf
|
||||
+done
|
||||
+
|
||||
+for t in default infolines miniframes shadow sidebar smoothbars smoothtree split tree ; do
|
||||
+ pdflatex "\def\themename{$t}\input beamerouterthemeexample.tex"
|
||||
+ mv beamerouterthemeexample.pdf beamerugoutertheme$t.pdf
|
||||
+done
|
||||
+
|
||||
+for t in AnnArbor Antibes Berkeley Berlin Bergen Boadilla Copenhagen Darmstadt Dresden EastLansing Frankfurt Goettingen Hannover Ilmenau JuanLesPins Luebeck Malmoe Madrid Marburg Montpellier PaloAlto Pittsburgh Rochester Singapore Szeged Warsaw CambridgeUS default boxes ; do
|
||||
+ pdflatex "\def\themename{$t}\input beamerthemeexample.tex"
|
||||
+ mv beamerthemeexample.pdf beamerugtheme$t.pdf
|
||||
+done
|
||||
+
|
||||
+pdflatex beameruserguide
|
@ -0,0 +1,41 @@
|
||||
diff -up texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux texlive-base-20180414/source/texk/kpathsea/mktexlsr
|
||||
--- texlive-base-20180414/source/texk/kpathsea/mktexlsr.selinux 2018-01-16 19:55:32.000000000 -0500
|
||||
+++ texlive-base-20180414/source/texk/kpathsea/mktexlsr 2018-04-30 13:10:12.447909163 -0400
|
||||
@@ -228,7 +228,8 @@ for TEXMFLS_R in "$@"; do
|
||||
until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
|
||||
chmod $PERMS "$db_file_tmp"
|
||||
rm -f "$db_file"
|
||||
- mv "$db_file_tmp" "$db_file"
|
||||
+ # selinux fix
|
||||
+ cp "$db_file_tmp" "$db_file"
|
||||
rm -rf "$db_dir_tmp"
|
||||
done
|
||||
|
||||
diff -up texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl
|
||||
--- texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl.selinux 2018-04-30 13:10:12.447909163 -0400
|
||||
+++ texlive-base-20180414/source/texk/texlive/linked_scripts/texlive/fmtutil.pl 2018-04-30 13:12:43.035361954 -0400
|
||||
@@ -719,7 +719,7 @@ sub rebuild_one_format {
|
||||
|
||||
TeXLive::TLUtils::mkdirhier($destdir);
|
||||
|
||||
- if (!File::Copy::move( $logfile, "$destdir/$logfile")) {
|
||||
+ if (!File::Copy::copy( $logfile, "$destdir/$logfile")) {
|
||||
print_deferred_error("Cannot move $logfile to $destdir.\n");
|
||||
}
|
||||
if ($opts{'recorder'}) {
|
||||
@@ -727,13 +727,13 @@ sub rebuild_one_format {
|
||||
# package dependencies for each format. Unfortunately omega-based
|
||||
# engines gratuitiously changed the extension from .fls to .ofl.
|
||||
my $recfile = $fmt . ($fmt =~ m/^(aleph|lamed)$/ ? ".ofl" : ".fls");
|
||||
- if (!File::Copy::move( $recfile, "$destdir/$recfile")) {
|
||||
+ if (!File::Copy::copy( $recfile, "$destdir/$recfile")) {
|
||||
print_deferred_error("Cannot move $recfile to $destdir.\n");
|
||||
}
|
||||
}
|
||||
|
||||
my $destfile = "$destdir/$fmtfile";
|
||||
- if (File::Copy::move( $fmtfile, $destfile )) {
|
||||
+ if (File::Copy::copy( $fmtfile, $destfile )) {
|
||||
print_info("$destfile installed.\n");
|
||||
#
|
||||
# original fmtutil.sh did some magic trick for mplib-luatex.mem
|
@ -0,0 +1,22 @@
|
||||
diff -up doc/otherformats/xmltex/base/langtest.xml.me doc/otherformats/xmltex/base/langtest.xml
|
||||
--- doc/otherformats/xmltex/base/langtest.xml.me 2018-11-09 19:15:17.265859217 +0100
|
||||
+++ doc/otherformats/xmltex/base/langtest.xml 2018-11-09 19:15:37.403926239 +0100
|
||||
@@ -3,8 +3,6 @@
|
||||
|
||||
<!ENTITY englishutf8 SYSTEM "englishutf8.xml">
|
||||
<!ENTITY portugeselatin1 SYSTEM "portugeselatin1.xml">
|
||||
-<!ENTITY englishutf16 SYSTEM "englishutf16.xml">
|
||||
-<!ENTITY russiankoi8 SYSTEM "russiankoi8.xml">
|
||||
<!ENTITY russianutf8 SYSTEM "russianutf8.xml">
|
||||
|
||||
]>
|
||||
@@ -12,9 +10,7 @@
|
||||
<langtest>
|
||||
|
||||
&englishutf8;
|
||||
-&englishutf16;
|
||||
&portugeselatin1;
|
||||
-&russiankoi8;
|
||||
&russianutf8;
|
||||
|
||||
|
@ -1,39 +0,0 @@
|
||||
diff -up ./doc/generic/enctex/unimap.py.py3 ./doc/generic/enctex/unimap.py
|
||||
--- ./doc/generic/enctex/unimap.py.py3 2019-08-18 08:52:49.201015107 -0400
|
||||
+++ ./doc/generic/enctex/unimap.py 2019-08-18 08:54:08.301110903 -0400
|
||||
@@ -91,12 +91,12 @@ def linetype(line):
|
||||
return LineType.Character, (int(line[:m.end()], 16),
|
||||
line[m.end():].strip().lower())
|
||||
if not line.startswith('\t'):
|
||||
- raise ValueError, 'Queer line doesn\'t start with @ or Tab'
|
||||
+ raise ValueError('Queer line doesn\'t start with @ or Tab')
|
||||
line = line.strip()
|
||||
if not line:
|
||||
return LineType.Empty, None
|
||||
if not LineType.map.has_key(line[0]):
|
||||
- raise ValueError, 'Queer character info line (marker %s)' % line[0]
|
||||
+ raise ValueError('Queer character info line (marker %s)' % line[0])
|
||||
return line[0], line[1:].strip()
|
||||
|
||||
def utf8chars(u):
|
||||
@@ -132,7 +132,7 @@ while typ:
|
||||
char = val
|
||||
elif typ == LineType.TeX:
|
||||
if not val.startswith('\\'):
|
||||
- raise ValueError, '%s is not a control seq (U%X)' % (val, char[0])
|
||||
+ raise ValueError('%s is not a control seq (U%X)' % (val, char[0]))
|
||||
if sect:
|
||||
fw.write('\n%% %s\n' % sect)
|
||||
sect = None
|
||||
diff -up ./doc/generic/enctex/unimap.py.py3 ./doc/generic/enctex/unimap.py
|
||||
--- ./doc/generic/enctex/unimap.py.py3 2019-08-18 09:40:33.996050750 -0400
|
||||
+++ ./doc/generic/enctex/unimap.py 2019-08-18 09:41:02.573362799 -0400
|
||||
@@ -48,8 +48,6 @@ database = 'unimap.txt' # Input file
|
||||
output = 'utf8raw.tex' # Output file
|
||||
|
||||
# Compatibility with Pyhton-2.1
|
||||
-if not __builtins__.__dict__.has_key('True'):
|
||||
- True = 1; False = 0
|
||||
if not __builtins__.__dict__.has_key('file'):
|
||||
file = open
|
||||
if not __builtins__.__dict__.has_key('dict'):
|
@ -1,25 +0,0 @@
|
||||
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure.ac
|
||||
--- texlive-base-20190410/source/texk/dvisvgm/configure.ac.fix-libgs-detection 2019-03-10 14:21:29.000000000 -0400
|
||||
+++ texlive-base-20190410/source/texk/dvisvgm/configure.ac 2019-05-23 19:07:30.447057345 -0400
|
||||
@@ -66,7 +66,8 @@ AS_IF([test "x$have_libgs" = "xno"],
|
||||
# Ghostscript not found, check for dlopen
|
||||
[AC_CHECK_LIB(dl, dlopen,,
|
||||
[AC_DEFINE(DISABLE_GS, 1, [Set to 1 if PostScript support should be disabled])]
|
||||
- [AC_MSG_WARN(PostScript support disabled)])])
|
||||
+ [AC_MSG_WARN(PostScript support disabled)])],
|
||||
+ [test "x$have_libgs" = "xyes"], [HAVE_LIBGS=1])
|
||||
fi
|
||||
|
||||
if test -z "$HAVE_LIBGS" || test "$HAVE_LIBGS" -eq 0; then
|
||||
diff -up texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection texlive-base-20190410/source/texk/dvisvgm/configure
|
||||
--- texlive-base-20190410/source/texk/dvisvgm/configure.fix-libgs-detection 2019-05-23 19:07:45.568703333 -0400
|
||||
+++ texlive-base-20190410/source/texk/dvisvgm/configure 2019-05-23 19:09:31.341219687 -0400
|
||||
@@ -22013,6 +22013,8 @@ $as_echo "#define DISABLE_GS 1" >>confde
|
||||
$as_echo "$as_me: WARNING: PostScript support disabled" >&2;}
|
||||
fi
|
||||
|
||||
+elif test "x$have_libgs" = "xyes"; then :
|
||||
+ HAVE_LIBGS=1
|
||||
fi
|
||||
fi
|
||||
|
@ -1,249 +0,0 @@
|
||||
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.73 2019-05-23 15:50:17.849768543 -0400
|
||||
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftoepdf.cc 2019-05-23 16:00:41.022262790 -0400
|
||||
@@ -120,7 +120,7 @@ struct UsedEncoding {
|
||||
|
||||
static InObj *inObjList;
|
||||
static UsedEncoding *encodingList;
|
||||
-static GBool isInit = gFalse;
|
||||
+static bool isInit = false;
|
||||
|
||||
// --------------------------------------------------------------------
|
||||
// Maintain list of open embedded PDF files
|
||||
@@ -275,7 +275,7 @@ static int getNewObjectNumber(Ref ref)
|
||||
|
||||
static void copyObject(Object *);
|
||||
|
||||
-static void copyName(char *s)
|
||||
+static void copyName(const char *s)
|
||||
{
|
||||
pdf_puts("/");
|
||||
for (; *s != 0; s++) {
|
||||
@@ -310,7 +310,7 @@ static void copyDict(Object * obj)
|
||||
static void copyFontDict(Object * obj, InObj * r)
|
||||
{
|
||||
int i, l;
|
||||
- char *key;
|
||||
+ const char *key;
|
||||
if (!obj->isDict())
|
||||
pdftex_fail("PDF inclusion: invalid dict type <%s>",
|
||||
obj->getTypeName());
|
||||
@@ -382,7 +382,7 @@ static bool embeddableFont(Object * font
|
||||
return false;
|
||||
}
|
||||
|
||||
-static void copyFont(char *tag, Object * fontRef)
|
||||
+static void copyFont(const char *tag, Object * fontRef)
|
||||
{
|
||||
Object fontdict, subtype, basefont, fontdescRef, fontdesc, charset,
|
||||
stemV;
|
||||
@@ -418,7 +418,7 @@ static void copyFont(char *tag, Object *
|
||||
&& fontdescRef.isRef()
|
||||
&& fontdesc.isDict()
|
||||
&& embeddableFont(&fontdesc)
|
||||
- && (fontmap = lookup_fontmap(basefont.getName())) != NULL) {
|
||||
+ && (fontmap = lookup_fontmap((char *)basefont.getName())) != NULL) {
|
||||
// round /StemV value, since the PDF input is a float
|
||||
// (see Font Descriptors in PDF reference), but we only store an
|
||||
// integer, since we don't want to change the struct.
|
||||
@@ -427,7 +427,7 @@ static void copyFont(char *tag, Object *
|
||||
charset = fontdesc.dictLookup("CharSet");
|
||||
if (!charset.isNull() &&
|
||||
charset.isString() && is_subsetable(fontmap))
|
||||
- epdf_mark_glyphs(fd, charset.getString()->getCString());
|
||||
+ epdf_mark_glyphs(fd, (char *)charset.getString()->c_str());
|
||||
else
|
||||
embed_whole_font(fd);
|
||||
addFontDesc(fontdescRef.getRef(), fd);
|
||||
@@ -467,7 +467,7 @@ static void copyFontResources(Object * o
|
||||
pdf_puts(">>\n");
|
||||
}
|
||||
|
||||
-static void copyOtherResources(Object * obj, char *key)
|
||||
+static void copyOtherResources(Object * obj, const char *key)
|
||||
{
|
||||
// copies all other resources (write_epdf handles Fonts and ProcSets),
|
||||
|
||||
@@ -554,8 +554,8 @@ static void copyObject(Object * obj)
|
||||
Object obj1;
|
||||
int i, l, c;
|
||||
Ref ref;
|
||||
- char *p;
|
||||
- GString *s;
|
||||
+ const char *p;
|
||||
+ const GString *s;
|
||||
if (obj->isBool()) {
|
||||
pdf_printf("%s", obj->getBool()? "true" : "false");
|
||||
} else if (obj->isInt()) {
|
||||
@@ -566,7 +566,7 @@ static void copyObject(Object * obj)
|
||||
pdf_printf("%s", convertNumToPDF(obj->getNum()));
|
||||
} else if (obj->isString()) {
|
||||
s = obj->getString();
|
||||
- p = s->getCString();
|
||||
+ p = s->c_str();
|
||||
l = s->getLength();
|
||||
if (strlen(p) == (unsigned int) l) {
|
||||
pdf_puts("(");
|
||||
@@ -664,7 +664,7 @@ static void writeEncodings()
|
||||
("PDF inclusion: CID fonts are not supported"
|
||||
" (try to disable font replacement to fix this)");
|
||||
}
|
||||
- if ((s = ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
|
||||
+ if ((s = (char *) ((Gfx8BitFont *) r->font)->getCharName(i)) != 0)
|
||||
glyphNames[i] = s;
|
||||
else
|
||||
glyphNames[i] = notdef;
|
||||
@@ -683,7 +683,7 @@ static void writeEncodings()
|
||||
}
|
||||
|
||||
// get the pagebox according to the pagebox_spec
|
||||
-static PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
|
||||
+static const PDFRectangle *get_pagebox(Page * page, int pagebox_spec)
|
||||
{
|
||||
if (pagebox_spec == pdfboxspecmedia)
|
||||
return page->getMediaBox();
|
||||
@@ -715,7 +715,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
{
|
||||
PdfDocument *pdf_doc;
|
||||
Page *page;
|
||||
- PDFRectangle *pagebox;
|
||||
+ const PDFRectangle *pagebox;
|
||||
#ifdef POPPLER_VERSION
|
||||
int pdf_major_version_found, pdf_minor_version_found;
|
||||
#else
|
||||
@@ -724,8 +724,8 @@ read_pdf_info(char *image_name, char *pa
|
||||
// initialize
|
||||
if (!isInit) {
|
||||
globalParams = new GlobalParams();
|
||||
- globalParams->setErrQuiet(gFalse);
|
||||
- isInit = gTrue;
|
||||
+ globalParams->setErrQuiet(false);
|
||||
+ isInit = true;
|
||||
}
|
||||
// open PDF file
|
||||
pdf_doc = find_add_document(image_name);
|
||||
@@ -822,7 +822,7 @@ void write_epdf(void)
|
||||
Object groupDict;
|
||||
bool writeSepGroup = false;
|
||||
Object info;
|
||||
- char *key;
|
||||
+ const char *key;
|
||||
char s[256];
|
||||
int i, l;
|
||||
int rotate;
|
||||
@@ -849,7 +849,7 @@ void write_epdf(void)
|
||||
pageObj = xref->fetch(pageRef->num, pageRef->gen);
|
||||
pageDict = pageObj.getDict();
|
||||
rotate = page->getRotate();
|
||||
- PDFRectangle *pagebox;
|
||||
+ const PDFRectangle *pagebox;
|
||||
// write the Page header
|
||||
pdf_puts("/Type /XObject\n");
|
||||
pdf_puts("/Subtype /Form\n");
|
||||
@@ -977,7 +977,7 @@ The changes below seem to work fine.
|
||||
}
|
||||
l = dic1.getLength();
|
||||
for (i = 0; i < l; i++) {
|
||||
- groupDict.dictAdd(copyString(dic1.getKey(i)),
|
||||
+ groupDict.dictAdd(dic1.getKey(i),
|
||||
dic1.getValNF(i));
|
||||
}
|
||||
// end modification
|
||||
diff -up texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc
|
||||
--- texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.73 2019-05-23 15:50:17.850768522 -0400
|
||||
+++ texlive-base-20190410/source/texk/web2c/pdftexdir/pdftosrc.cc 2019-05-23 15:50:17.858768349 -0400
|
||||
@@ -109,7 +109,7 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "No SourceName found\n");
|
||||
exit(1);
|
||||
}
|
||||
- outname = srcName.getString()->getCString();
|
||||
+ outname = (char *)srcName.getString()->c_str();
|
||||
// We cannot free srcName, as objname shares its string.
|
||||
// srcName.free();
|
||||
} else if (objnum > 0) {
|
||||
@@ -118,7 +118,7 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "Not a Stream object\n");
|
||||
exit(1);
|
||||
}
|
||||
- sprintf(buf, "%s", fileName->getCString());
|
||||
+ sprintf(buf, "%s", fileName->c_str());
|
||||
if ((p = strrchr(buf, '.')) == 0)
|
||||
p = strchr(buf, 0);
|
||||
if (objgen == 0)
|
||||
@@ -128,7 +128,7 @@ int main(int argc, char *argv[])
|
||||
outname = buf;
|
||||
} else { // objnum < 0 means we are extracting the XRef table
|
||||
extract_xref_table = true;
|
||||
- sprintf(buf, "%s", fileName->getCString());
|
||||
+ sprintf(buf, "%s", fileName->c_str());
|
||||
if ((p = strrchr(buf, '.')) == 0)
|
||||
p = strchr(buf, 0);
|
||||
sprintf(p, ".xref");
|
||||
@@ -161,7 +161,7 @@ int main(int argc, char *argv[])
|
||||
Object objStr, obj1, obj2;
|
||||
int nObjects, first, n;
|
||||
int localOffset = 0;
|
||||
- Guint firstOffset;
|
||||
+ unsigned int firstOffset;
|
||||
|
||||
objStr = xref->fetch(e->offset, 0);
|
||||
assert(objStr.isStream());
|
||||
@@ -173,9 +173,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
// parse the header: object numbers and offsets
|
||||
objStr.streamReset();
|
||||
- str = new EmbedStream(objStr.getStream(), Object(objNull), gTrue, first);
|
||||
+ str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
|
||||
lexer = new Lexer(xref, str);
|
||||
- parser = new Parser(xref, lexer, gFalse);
|
||||
+ parser = new Parser(xref, lexer, false);
|
||||
for (n = 0; n < nObjects; ++n) {
|
||||
obj1 = parser->getObj();
|
||||
obj2 = parser->getObj();
|
||||
diff -up texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp
|
||||
--- texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp.poppler-0.73 2018-12-25 00:48:22.000000000 -0500
|
||||
+++ texlive-base-20190410/source/texk/web2c/xetexdir/pdfimage.cpp 2019-05-23 15:50:17.858768349 -0400
|
||||
@@ -78,26 +78,29 @@ pdf_get_rect(char* filename, int page_nu
|
||||
|
||||
Page* page = doc->getCatalog()->getPage(page_num);
|
||||
|
||||
- const PDFRectangle* r;
|
||||
+ PDFRectangle* r;
|
||||
+ const PDFRectangle* cr;
|
||||
switch (pdf_box) {
|
||||
default:
|
||||
case pdfbox_crop:
|
||||
- r = page->getCropBox();
|
||||
+ cr = page->getCropBox();
|
||||
break;
|
||||
case pdfbox_media:
|
||||
- r = page->getMediaBox();
|
||||
+ cr = page->getMediaBox();
|
||||
break;
|
||||
case pdfbox_bleed:
|
||||
- r = page->getBleedBox();
|
||||
+ cr = page->getBleedBox();
|
||||
break;
|
||||
case pdfbox_trim:
|
||||
- r = page->getTrimBox();
|
||||
+ cr = page->getTrimBox();
|
||||
break;
|
||||
case pdfbox_art:
|
||||
- r = page->getArtBox();
|
||||
+ cr = page->getArtBox();
|
||||
break;
|
||||
}
|
||||
|
||||
+ r = new PDFRectangle (cr->x1, cr->y1, cr->x2, cr->y2);
|
||||
+
|
||||
int RotAngle = 0;
|
||||
RotAngle = (int)page->getRotate() % 360;
|
||||
if (RotAngle < 0)
|
||||
@@ -112,6 +115,7 @@ pdf_get_rect(char* filename, int page_nu
|
||||
box->x = 72.27 / 72 * my_fmin(r->x1, r->x2);
|
||||
box->y = 72.27 / 72 * my_fmin(r->y1, r->y2);
|
||||
|
||||
+ delete r;
|
||||
delete doc;
|
||||
|
||||
return 0;
|
@ -1,142 +0,0 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/am/texmf.am.dt texlive-base-20200327/source/texk/web2c/am/texmf.am
|
||||
--- texlive-base-20200327/source/texk/web2c/am/texmf.am.dt 2019-12-17 14:24:59.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/am/texmf.am 2020-04-20 14:33:43.465656684 -0400
|
||||
@@ -75,7 +75,7 @@ DISTCLEANFILES += $(nodist_tex_SOURCES)
|
||||
|
||||
# TeX tests
|
||||
#
|
||||
-tex_tests = triptest.test tests/write18-quote-test.pl tests/tex-closeout.test
|
||||
+tex_tests = tests/write18-quote-test.pl tests/tex-closeout.test
|
||||
triptest.log: tex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
tests/write18-quote-test.log tests/tex-closeout.test: tex$(EXEEXT)
|
||||
EXTRA_DIST += $(tex_tests)
|
||||
@@ -203,7 +203,7 @@ DISTCLEANFILES += $(nodist_libmf_a_SOURC
|
||||
|
||||
# Metafont tests
|
||||
#
|
||||
-mf_tests = mftraptest.test
|
||||
+mf_tests =
|
||||
mftraptest.log: mf$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mf_tests)
|
||||
if MF
|
||||
diff -up texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am.dt 2020-04-20 14:32:46.325851485 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/eptexdir/am/eptex.am 2020-04-20 14:34:20.015892398 -0400
|
||||
@@ -83,7 +83,7 @@ EXTRA_DIST += \
|
||||
|
||||
# e-pTeX Tests
|
||||
#
|
||||
-eptex_tests = eptexdir/eptriptest.test eptexdir/pdfprimitive.test eptexdir/epver.test
|
||||
+eptex_tests = eptexdir/epver.test
|
||||
eptexdir/eptriptest.log: eptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
eptexdir/pdfprimitive.log: eptex$(EXEEXT)
|
||||
eptexdir/epver.log: eptex$(EXEEXT)
|
||||
diff -up texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am.dt 2020-04-20 14:32:46.326851464 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/euptexdir/am/euptex.am 2020-04-20 14:34:55.625147806 -0400
|
||||
@@ -84,7 +84,7 @@ EXTRA_DIST += \
|
||||
|
||||
# e-upTeX Tests
|
||||
#
|
||||
-euptex_tests = euptexdir/euptriptest.test euptexdir/pdfprimitive.test euptexdir/eupver.test
|
||||
+euptex_tests = euptexdir/eupver.test
|
||||
euptexdir/euptriptest.log: euptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
euptexdir/pdfprimitive.log: euptex$(EXEEXT)
|
||||
euptexdir/eupver.log: euptex$(EXEEXT)
|
||||
diff -up texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am
|
||||
--- texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am.dt 2017-04-16 06:11:22.000000000 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/mfluadir/am/mflua.am 2020-04-20 14:32:46.326851464 -0400
|
||||
@@ -110,7 +110,7 @@ EXTRA_DIST += \
|
||||
|
||||
# MFLua tests
|
||||
#
|
||||
-mflua_tests = mfluadir/mfluatraptest.test
|
||||
+mflua_tests =
|
||||
mfluadir/mfluatraptest.log: mflua$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mflua_tests)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am
|
||||
--- texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am.dt 2017-04-16 06:11:22.000000000 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/mfluajitdir/am/mfluajit.am 2020-04-20 14:32:46.326851464 -0400
|
||||
@@ -106,7 +106,7 @@ EXTRA_DIST += \
|
||||
|
||||
# MFLuaJIT tests
|
||||
#
|
||||
-mfluajit_tests = mfluajitdir/mfluajittraptest.test
|
||||
+mfluajit_tests =
|
||||
mfluajitdir/mfluajittraptest.log: mfluajit$(EXEEXT) gftype$(EXEEXT) tftopl$(EXEEXT)
|
||||
EXTRA_DIST += $(mfluajit_tests)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am.dt 2020-04-20 14:32:46.326851464 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/am/pdftex.am 2020-04-20 14:35:48.451043188 -0400
|
||||
@@ -95,8 +95,8 @@ EXTRA_DIST += \
|
||||
|
||||
# pdfTeX tests
|
||||
#
|
||||
-pdftex_tests = pdftexdir/wprob.test pdftexdir/pdftex.test \
|
||||
- pdftexdir/pdfimage.test pdftexdir/expanded.test \
|
||||
+pdftex_tests = pdftexdir/pdftex.test \
|
||||
+ pdftexdir/expanded.test \
|
||||
pdftexdir/tests/cnfline.test
|
||||
|
||||
pdftexdir/wprob.log pdftexdir/pdftex.log \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/ptexdir/am/ptex.am 2020-04-20 14:36:23.750305069 -0400
|
||||
@@ -168,7 +168,7 @@ EXTRA_DIST += \
|
||||
|
||||
# pTeX Tests
|
||||
#
|
||||
-ptex_tests = ptexdir/ptriptest.test ptexdir/pver.test
|
||||
+ptex_tests = ptexdir/pver.test
|
||||
ptexdir/ptriptest.log: ptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
ptexdir/pver.log: ptex$(EXEEXT)
|
||||
pweb_tests = \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/uptexdir/am/uptex.am 2020-04-20 14:36:53.266687857 -0400
|
||||
@@ -158,7 +158,7 @@ EXTRA_DIST += \
|
||||
uptexdir/ChangeLog
|
||||
|
||||
# upTeX Tests
|
||||
-uptex_tests = uptexdir/uptriptest.test uptexdir/upver.test
|
||||
+uptex_tests = uptexdir/upver.test
|
||||
uptexdir/uptriptest.log: uptex$(EXEEXT) dvitype$(EXEEXT) pltotf$(EXEEXT) tftopl$(EXEEXT)
|
||||
uptexdir/upver.log: uptex$(EXEEXT)
|
||||
upweb_tests = \
|
||||
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am
|
||||
--- texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am.dt 2020-04-20 14:32:46.327851443 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/xetexdir/am/xetex.am 2020-04-20 14:37:13.223270564 -0400
|
||||
@@ -201,7 +201,6 @@ EXTRA_DIST += \
|
||||
#
|
||||
xetex_tests = \
|
||||
xetexdir/xetex-filedump.test \
|
||||
- xetexdir/xetex-bug73.test \
|
||||
xetexdir/xetex.test
|
||||
xetexdir/xetex-filedump.log xetexdir/xetex-bug73.log xetexdir/xetex.log: xetex$(EXEEXT)
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt texlive-base-20200327/source/texk/kpathsea/Makefile.am
|
||||
--- texlive-base-20200327/source/texk/kpathsea/Makefile.am.dt 2020-04-20 15:49:39.282325550 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.am 2020-04-20 15:49:51.475074045 -0400
|
||||
@@ -275,7 +275,7 @@ uninstall-local:
|
||||
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S;
|
||||
AM_TESTS_ENVIRONMENT += LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
|
||||
#
|
||||
-TESTS = tests/cnfline.test tests/cnfnewline.test
|
||||
+TESTS = tests/cnfnewline.test
|
||||
TESTS += tests/cnfnull.test tests/cnfprog.test
|
||||
TESTS += tests/kpseaccess.test
|
||||
TESTS += tests/kpsereadlink.test tests/kpsestat.test tests/kpsewhich.test
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt texlive-base-20200327/source/texk/kpathsea/Makefile.in
|
||||
--- texlive-base-20200327/source/texk/kpathsea/Makefile.in.dt 2020-04-21 10:17:29.766949867 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/Makefile.in 2020-04-21 10:17:36.926798780 -0400
|
||||
@@ -858,7 +858,7 @@ dist_noinst_DATA = texmf.cnf
|
||||
AM_TESTS_ENVIRONMENT = LN_S='$(LN_S)'; export LN_S; \
|
||||
LT_OBJDIR='$(LT_OBJDIR)'; export LT_OBJDIR;
|
||||
#
|
||||
-TESTS = tests/cnfline.test tests/cnfnewline.test tests/cnfnull.test \
|
||||
+TESTS = tests/cnfnewline.test tests/cnfnull.test \
|
||||
tests/cnfprog.test tests/kpseaccess.test \
|
||||
tests/kpsereadlink.test tests/kpsestat.test \
|
||||
tests/kpsewhich.test
|
@ -1,266 +0,0 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-04-20 14:38:05.314181306 -0400
|
||||
@@ -26,6 +26,15 @@ The poppler should be 0.59.0 or newer ve
|
||||
POPPLER_VERSION should be defined.
|
||||
*/
|
||||
|
||||
+#ifdef POPPLER_VERSION
|
||||
+#include <poppler-config.h>
|
||||
+#define xpdfVersion POPPLER_VERSION
|
||||
+#define xpdfString "poppler"
|
||||
+#else
|
||||
+#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
+#define xpdfString "xpdf"
|
||||
+#endif
|
||||
+
|
||||
/* Do this early in order to avoid a conflict between
|
||||
MINGW32 <rpcndr.h> defining 'boolean' as 'unsigned char' and
|
||||
<kpathsea/types.h> defining Pascal's boolean as 'int'.
|
||||
@@ -292,7 +301,7 @@ static void copyDictEntry(Object * obj,
|
||||
Object obj1;
|
||||
copyName(obj->dictGetKey(i));
|
||||
pdf_puts(" ");
|
||||
- obj1 = obj->dictGetValNF(i);
|
||||
+ obj1 = obj->dictGetValNF(i).copy();
|
||||
copyObject(&obj1);
|
||||
pdf_puts("\n");
|
||||
}
|
||||
@@ -351,7 +360,7 @@ static void copyProcSet(Object * obj)
|
||||
obj->getTypeName());
|
||||
pdf_puts("/ProcSet [ ");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- procset = obj->arrayGetNF(i);
|
||||
+ procset = obj->arrayGetNF(i).copy();
|
||||
if (!procset.isName())
|
||||
pdftex_fail("PDF inclusion: invalid ProcSet entry type <%s>",
|
||||
procset.getTypeName());
|
||||
@@ -406,7 +415,7 @@ static void copyFont(const char *tag, Ob
|
||||
if (fontdict.isDict()) {
|
||||
subtype = fontdict.dictLookup("Subtype");
|
||||
basefont = fontdict.dictLookup("BaseFont");
|
||||
- fontdescRef = fontdict.dictLookupNF("FontDescriptor");
|
||||
+ fontdescRef = fontdict.dictLookupNF("FontDescriptor").copy();
|
||||
if (fontdescRef.isRef()) {
|
||||
fontdesc = fontdescRef.fetch(xref);
|
||||
}
|
||||
@@ -452,7 +461,7 @@ static void copyFontResources(Object * o
|
||||
obj->getTypeName());
|
||||
pdf_puts("/Font << ");
|
||||
for (i = 0, l = obj->dictGetLength(); i < l; ++i) {
|
||||
- fontRef = obj->dictGetValNF(i);
|
||||
+ fontRef = obj->dictGetValNF(i).copy();
|
||||
if (fontRef.isRef())
|
||||
copyFont(obj->dictGetKey(i), &fontRef);
|
||||
else if (fontRef.isDict()) { // some programs generate pdf with embedded font object
|
||||
@@ -595,7 +604,7 @@ static void copyObject(Object * obj)
|
||||
} else if (obj->isArray()) {
|
||||
pdf_puts("[");
|
||||
for (i = 0, l = obj->arrayGetLength(); i < l; ++i) {
|
||||
- obj1 = obj->arrayGetNF(i);
|
||||
+ obj1 = obj->arrayGetNF(i).copy();
|
||||
if (!obj1.isName())
|
||||
pdf_puts(" ");
|
||||
copyObject(&obj1);
|
||||
@@ -723,7 +732,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
#endif
|
||||
// initialize
|
||||
if (!isInit) {
|
||||
- globalParams = new GlobalParams();
|
||||
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
|
||||
globalParams->setErrQuiet(false);
|
||||
isInit = true;
|
||||
}
|
||||
@@ -761,7 +770,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (link == 0 || !link->isOk())
|
||||
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
|
||||
Ref ref = link->getPageRef();
|
||||
- page_num = pdf_doc->doc->getCatalog()->findPage(ref.num, ref.gen);
|
||||
+ page_num = pdf_doc->doc->getCatalog()->findPage(ref);
|
||||
if (page_num == 0)
|
||||
pdftex_fail("PDF inclusion: destination is not a page <%s>",
|
||||
page_name);
|
||||
@@ -921,13 +930,13 @@ void write_epdf(void)
|
||||
pdf_puts(stripzeros(s));
|
||||
|
||||
// Metadata validity check (as a stream it must be indirect)
|
||||
- dictObj = pageDict->lookupNF("Metadata");
|
||||
+ dictObj = pageDict->lookupNF("Metadata").copy();
|
||||
if (!dictObj.isNull() && !dictObj.isRef())
|
||||
pdftex_warn("PDF inclusion: /Metadata must be indirect object");
|
||||
|
||||
// copy selected items in Page dictionary except Resources & Group
|
||||
for (i = 0; pageDictKeys[i] != NULL; i++) {
|
||||
- dictObj = pageDict->lookupNF(pageDictKeys[i]);
|
||||
+ dictObj = pageDict->lookupNF(pageDictKeys[i]).copy();
|
||||
if (!dictObj.isNull()) {
|
||||
pdf_newline();
|
||||
pdf_printf("/%s ", pageDictKeys[i]);
|
||||
@@ -936,7 +945,7 @@ void write_epdf(void)
|
||||
}
|
||||
|
||||
// handle page group
|
||||
- dictObj = pageDict->lookupNF("Group");
|
||||
+ dictObj = pageDict->lookupNF("Group").copy();
|
||||
if (!dictObj.isNull()) {
|
||||
if (pdfpagegroupval == 0) {
|
||||
// another pdf with page group was included earlier on the
|
||||
@@ -978,7 +987,7 @@ The changes below seem to work fine.
|
||||
l = dic1.getLength();
|
||||
for (i = 0; i < l; i++) {
|
||||
groupDict.dictAdd(dic1.getKey(i),
|
||||
- dic1.getValNF(i));
|
||||
+ dic1.getValNF(i).copy());
|
||||
}
|
||||
// end modification
|
||||
pdf_printf("/Group %ld 0 R\n", (long)pdfpagegroupval);
|
||||
@@ -1108,6 +1117,6 @@ void epdf_check_mem()
|
||||
delete_document(p);
|
||||
}
|
||||
// see above for globalParams
|
||||
- delete globalParams;
|
||||
+ globalParams.reset();
|
||||
}
|
||||
}
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc.poppler-0.84 2020-04-20 14:38:05.301181578 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftosrc.cc 2020-04-20 14:38:05.314181306 -0400
|
||||
@@ -24,6 +24,15 @@ by Arch Linux. The poppler should be 0.5
|
||||
POPPLER_VERSION should be defined.
|
||||
*/
|
||||
|
||||
+#ifdef POPPLER_VERSION
|
||||
+#include <poppler-config.h>
|
||||
+#define xpdfVersion POPPLER_VERSION
|
||||
+#define xpdfString "poppler"
|
||||
+#else
|
||||
+#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
+#define xpdfString "xpdf"
|
||||
+#endif
|
||||
+
|
||||
#include <w2c/config.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
@@ -79,7 +88,7 @@ int main(int argc, char *argv[])
|
||||
exit(1);
|
||||
}
|
||||
fileName = new GString(argv[1]);
|
||||
- globalParams = new GlobalParams();
|
||||
+ globalParams = std::unique_ptr<GlobalParams>(new GlobalParams());
|
||||
doc = new PDFDoc(fileName);
|
||||
if (!doc->isOk()) {
|
||||
fprintf(stderr, "Invalid PDF file\n");
|
||||
@@ -100,7 +109,7 @@ int main(int argc, char *argv[])
|
||||
if (objnum == 0) {
|
||||
srcStream = catalogDict.dictLookup("SourceObject");
|
||||
static char const_SourceFile[] = "SourceFile";
|
||||
- if (!srcStream.isStream(const_SourceFile)) {
|
||||
+ if (!(srcStream.isStream() && srcStream.getDict()->is(const_SourceFile))) {
|
||||
fprintf(stderr, "No SourceObject found\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -156,7 +165,6 @@ int main(int argc, char *argv[])
|
||||
(e->type == xrefEntryFree ? "f" : "n"));
|
||||
else { // e->offset is the object number of the object stream
|
||||
Stream *str;
|
||||
- Lexer *lexer;
|
||||
Parser *parser;
|
||||
Object objStr, obj1, obj2;
|
||||
int nObjects, first, n;
|
||||
@@ -174,8 +182,7 @@ int main(int argc, char *argv[])
|
||||
// parse the header: object numbers and offsets
|
||||
objStr.streamReset();
|
||||
str = new EmbedStream(objStr.getStream(), Object(objNull), true, first);
|
||||
- lexer = new Lexer(xref, str);
|
||||
- parser = new Parser(xref, lexer, false);
|
||||
+ parser = new Parser(xref, str, false);
|
||||
for (n = 0; n < nObjects; ++n) {
|
||||
obj1 = parser->getObj();
|
||||
obj2 = parser->getObj();
|
||||
@@ -207,5 +214,5 @@ int main(int argc, char *argv[])
|
||||
fprintf(stderr, "Cross-reference table extracted to %s\n", outname);
|
||||
fclose(outfile);
|
||||
delete doc;
|
||||
- delete globalParams;
|
||||
+ globalParams.reset();
|
||||
}
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c.poppler-0.84 2019-12-29 19:37:32.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/utils.c 2020-04-20 14:39:39.355214866 -0400
|
||||
@@ -32,14 +32,6 @@ with this program. If not, see <http://
|
||||
#include <zlib.h>
|
||||
#include "ptexlib.h"
|
||||
#include <png.h>
|
||||
-#ifdef POPPLER_VERSION
|
||||
-/* POPPLER_VERSION should be a proper version string */
|
||||
-#define xpdfVersion POPPLER_VERSION
|
||||
-#define xpdfString "poppler"
|
||||
-#else
|
||||
-#include <xpdf/config.h> /* just to get the xpdf version */
|
||||
-#define xpdfString "xpdf"
|
||||
-#endif
|
||||
|
||||
#define check_nprintf(size_get, size_want) \
|
||||
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
|
||||
@@ -977,12 +969,10 @@ void initversionstring(char **versions)
|
||||
{
|
||||
const_string fmt =
|
||||
"Compiled with libpng %s; using libpng %s\n"
|
||||
- "Compiled with zlib %s; using zlib %s\n"
|
||||
- "Compiled with %s version %s\n";
|
||||
+ "Compiled with zlib %s; using zlib %s\n";
|
||||
size_t len = strlen(fmt)
|
||||
+ strlen(PNG_LIBPNG_VER_STRING) + strlen(png_libpng_ver)
|
||||
+ strlen(ZLIB_VERSION) + strlen(zlib_version)
|
||||
- + strlen(xpdfString) + strlen(xpdfVersion)
|
||||
+ 1;
|
||||
|
||||
/* len will be more than enough, because of the placeholder chars in fmt
|
||||
@@ -990,7 +980,7 @@ void initversionstring(char **versions)
|
||||
*versions = xmalloc(len);
|
||||
sprintf(*versions, fmt,
|
||||
PNG_LIBPNG_VER_STRING, png_libpng_ver,
|
||||
- ZLIB_VERSION, zlib_version, xpdfString, xpdfVersion);
|
||||
+ ZLIB_VERSION, zlib_version);
|
||||
}
|
||||
|
||||
|
||||
diff -up texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c
|
||||
--- texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c.poppler-0.84 2019-12-30 16:00:39.000000000 -0500
|
||||
+++ texlive-base-20200327/source/texk/web2c/xetexdir/XeTeX_ext.c 2020-04-20 14:40:44.534851910 -0400
|
||||
@@ -38,10 +38,6 @@ authorization from the copyright holders
|
||||
|
||||
#include <w2c/config.h>
|
||||
|
||||
-#ifndef POPPLER_VERSION
|
||||
-#include <poppler-config.h>
|
||||
-#endif
|
||||
-
|
||||
#include <png.h>
|
||||
#include <zlib.h>
|
||||
#include <graphite2/Font.h>
|
||||
@@ -170,7 +166,6 @@ void initversionstring(char **versions)
|
||||
"Compiled with Graphite2 version %d.%d.%d; using %d.%d.%d\n"
|
||||
"Compiled with HarfBuzz version %s; using %s\n"
|
||||
"Compiled with libpng version %s; using %s\n"
|
||||
- "Compiled with poppler version %s\n"
|
||||
#ifdef XETEX_MAC
|
||||
"Using Mac OS X Core Text and Cocoa frameworks\n"
|
||||
#else
|
||||
@@ -187,7 +182,6 @@ void initversionstring(char **versions)
|
||||
+ strlen(hb_version_string())
|
||||
+ strlen(PNG_LIBPNG_VER_STRING)
|
||||
+ strlen(png_libpng_ver)
|
||||
- + strlen(POPPLER_VERSION)
|
||||
#ifndef XETEX_MAC
|
||||
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
|
||||
#endif
|
||||
@@ -217,7 +211,7 @@ void initversionstring(char **versions)
|
||||
GR2_VERSION_MAJOR, GR2_VERSION_MINOR, GR2_VERSION_BUGFIX,
|
||||
grMajor, grMinor, grBugfix,
|
||||
HB_VERSION_STRING, hb_version_string(),
|
||||
- PNG_LIBPNG_VER_STRING, png_libpng_ver, POPPLER_VERSION
|
||||
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
|
||||
#ifndef XETEX_MAC
|
||||
,
|
||||
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,
|
@ -1,20 +0,0 @@
|
||||
diff -up texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc
|
||||
--- texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc.poppler090 2020-07-14 13:13:31.620607263 -0400
|
||||
+++ texlive-base-20200327/source/texk/web2c/pdftexdir/pdftoepdf.cc 2020-07-14 13:16:01.530248309 -0400
|
||||
@@ -766,7 +766,7 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (page_name) {
|
||||
// get page by name
|
||||
GString name(page_name);
|
||||
- LinkDest *link = pdf_doc->doc->findDest(&name);
|
||||
+ std::unique_ptr<LinkDest> link = pdf_doc->doc->findDest(&name);
|
||||
if (link == 0 || !link->isOk())
|
||||
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
|
||||
Ref ref = link->getPageRef();
|
||||
@@ -774,7 +774,6 @@ read_pdf_info(char *image_name, char *pa
|
||||
if (page_num == 0)
|
||||
pdftex_fail("PDF inclusion: destination is not a page <%s>",
|
||||
page_name);
|
||||
- delete link;
|
||||
} else {
|
||||
// get page by number
|
||||
if (page_num <= 0 || page_num > epdf_num_pages)
|
@ -1,22 +0,0 @@
|
||||
diff -up texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix texlive-base-20200327/source/texk/kpathsea/texmf.cnf
|
||||
--- texlive-base-20200327/source/texk/kpathsea/texmf.cnf.texinfo-fix 2020-04-20 14:29:38.934769870 -0400
|
||||
+++ texlive-base-20200327/source/texk/kpathsea/texmf.cnf 2020-04-20 14:31:48.070069635 -0400
|
||||
@@ -83,6 +83,9 @@ TEXMFSYSCONFIG = $TEXMFROOT/texmf-config
|
||||
% to %USERPROFILE% on Windows, $HOME otherwise.
|
||||
TEXMFHOME = ~/texmf
|
||||
|
||||
+% Texinfo on Fedora lives out of $TEXMFROOT
|
||||
+TEXINFOHOME = $SELFAUTODIR/share/texmf
|
||||
+
|
||||
% TEXMFVAR, where texconfig/updmap/fmtutil store cached runtime data.
|
||||
TEXMFVAR = ~/.texlive2020/texmf-var
|
||||
|
||||
@@ -108,7 +111,7 @@ TEXMFAUXTREES = {}
|
||||
% The odd-looking $TEXMFAUXTREES$TEXMF... construct is so that if no auxtree is
|
||||
% ever defined (the 99% common case), no extra elements will be added to
|
||||
% the search paths. tlmgr takes care to end any value with a trailing comma.
|
||||
-TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||||
+TEXMF = {$TEXMFAUXTREES$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXINFOHOME,!!$TEXMFLOCAL,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFDIST}
|
||||
|
||||
% Where to look for, and where mktexlsr creates, ls-R files. By default,
|
||||
% this is all and only the !! elements of TEXMF, so that mktexlsr does not
|
File diff suppressed because it is too large
Load Diff
@ -1,12 +0,0 @@
|
||||
diff -up texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest texlive-base-20180414/source/texk/web2c/omegafonts/check.test
|
||||
--- texlive-base-20180414/source/texk/web2c/omegafonts/check.test.disabletest 2018-10-04 13:24:17.965126655 -0400
|
||||
+++ texlive-base-20180414/source/texk/web2c/omegafonts/check.test 2018-10-04 13:24:26.068945230 -0400
|
||||
@@ -4,6 +4,8 @@
|
||||
# Copyright 2014, 2015 Peter Breitenlohner <tex-live@tug.org>
|
||||
# You may freely use, modify and/or distribute this file.
|
||||
|
||||
+exit 0
|
||||
+
|
||||
test -d tests || mkdir -p tests
|
||||
|
||||
TEXMFCNF=$srcdir/../../kpathsea
|
@ -1,11 +0,0 @@
|
||||
diff -up texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c
|
||||
--- texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c.shh 2019-03-19 11:02:44.303218932 -0400
|
||||
+++ texlive-base-20180414/source/texk/web2c/synctexdir/synctex_parser.c 2019-03-19 11:02:59.545857443 -0400
|
||||
@@ -6023,7 +6023,6 @@ synctex_scanner_p synctex_scanner_new_wi
|
||||
if ((scanner->reader = synctex_reader_init_with_output_file(scanner->reader, output, build_directory))) {
|
||||
return parse? synctex_scanner_parse(scanner):scanner;
|
||||
}
|
||||
- _synctex_error("No file?");
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1,16 +0,0 @@
|
||||
diff -up texlive-base-20190410/source/texk/detex/detex-src/detex.l.me texlive-base-20190410/source/texk/detex/detex-src/detex.l
|
||||
--- texlive-base-20190410/source/texk/detex/detex-src/detex.l.me 2020-02-05 12:54:36.100840384 +0100
|
||||
+++ texlive-base-20190410/source/texk/detex/detex-src/detex.l 2020-02-05 13:00:28.476320773 +0100
|
||||
@@ -898,10 +898,10 @@ TexOpen(char *sbFile)
|
||||
#else
|
||||
if (*sbFile == '/') { /* absolute path */
|
||||
#endif
|
||||
- (void)sprintf(sbFullPath, "%s", sbFile);
|
||||
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s", sbFile);
|
||||
iPath = csbInputPaths; /* only check once */
|
||||
} else
|
||||
- (void)sprintf(sbFullPath, "%s/%s", rgsbInputPaths[iPath], sbFile);
|
||||
+ (void)snprintf(sbFullPath, PATH_MAX-1, "%s/%s", rgsbInputPaths[iPath], sbFile);
|
||||
#ifdef OS2
|
||||
pch = sbFullPath;
|
||||
while (pch = strchr(pch, '\\'))
|
@ -0,0 +1,12 @@
|
||||
--- texlive-20180414-source/texk/xdvik/psgs.c 2016-11-25 19:24:41.000000000 +0100
|
||||
+++ texlive-20200327-source/texk/xdvik/psgs.c 2020-03-01 20:07:53.000000000 +0100
|
||||
@@ -561,7 +561,8 @@
|
||||
">> setuserparams .locksafe "
|
||||
"} stopped pop\n";
|
||||
static const char str1[] =
|
||||
- "/xdvi$run {$error /newerror false put {currentfile cvx execute} stopped pop} "
|
||||
+ "/xdvi$run "
|
||||
+ "{$error /newerror false put currentfile cvx stopped {handleerror} if} "
|
||||
"def "
|
||||
"/xdvi$ack (\347\310\376) def "
|
||||
"/xdvi$dslen countdictstack def "
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue