Update to TeX Live 2012

This commit is contained in:
Jindrich Novy 2012-10-03 09:42:14 +02:00
parent c2698132a3
commit 1767e7c80b
65 changed files with 466336 additions and 8616 deletions

5506
.gitignore vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +0,0 @@
diff -up texlive-2007/texk/configure.in.pdvips texlive-2007/texk/configure.in
--- texlive-2007/texk/configure.in.pdvips 2007-01-10 17:36:20.000000000 +0100
+++ texlive-2007/texk/configure.in 2008-08-27 15:26:38.000000000 +0200
@@ -62,6 +62,7 @@ PKGS='
dvipng
dvipos
dvipsk
+ pdvipsk
gsftopk
lacheck
makeindexk
diff -up texlive-2007/texk/configure.pdvips texlive-2007/texk/configure
--- texlive-2007/texk/configure.pdvips 2007-01-10 17:36:44.000000000 +0100
+++ texlive-2007/texk/configure 2008-08-27 15:26:38.000000000 +0200
@@ -6604,6 +6604,7 @@ PKGS='
dvipng
dvipos
dvipsk
+ pdvipsk
gsftopk
lacheck
makeindexk
diff -up texlive-2007/texk/pdvipsk/dvips.c.pdvips texlive-2007/texk/pdvipsk/dvips.c
--- texlive-2007/texk/pdvipsk/dvips.c.pdvips 2008-08-27 15:26:38.000000000 +0200
+++ texlive-2007/texk/pdvipsk/dvips.c 2008-08-27 15:26:38.000000000 +0200
@@ -597,7 +597,7 @@ main P2C(int, argc, char **, argv)
#endif
#ifdef KPATHSEA
- kpse_set_program_name (argv[0], "dvips");
+ kpse_set_program_name (argv[0], "pdvips");
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
#endif
diff -up texlive-2007/texk/pdvipsk/Makefile.in.pdvips texlive-2007/texk/pdvipsk/Makefile.in
--- texlive-2007/texk/pdvipsk/Makefile.in.pdvips 2008-08-27 15:26:38.000000000 +0200
+++ texlive-2007/texk/pdvipsk/Makefile.in 2008-08-27 15:26:38.000000000 +0200
@@ -20,6 +20,8 @@ kpse_include ../make/cross.mk
kpse_include ../make/texi.mk
prog_cflags = -DUNIX -DKPATHSEA -DNeedFunctionPrototypes -DSHIFTLOWCHARS
+ppsheaderdir = $(texmf)/pdvips
+
# The `t[mp]-' business is so that we don't create an empty .pro file,
# if running squeeze fails for some reason. A dependency on squeeze
# fails here, so we include it below.
@@ -36,11 +38,11 @@ scalewidth.o dosection.o dopage.o reside
header.o repack.o virtualfont.o dpicheck.o finclude.o writet1.o \
pprescan.o papersiz.o color.o bbox.o hps.o t1part.o
-program = dvips
+program = pdvips
programs = afm2tfm $(program)
-default all: $(programs) $(prologues) dvips.info
+default all: $(programs) $(prologues)
$(program): $(kpathsea) $(objects)
$(kpathsea_link) $(objects) $(LOADLIBES)
@@ -93,16 +95,16 @@ uninstall-exec:
for p in $(programs); do rm -f $(bindir)/$$p; done
rm -f $(bindir)/o$(program)
-install-data: $(program).info
- $(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir) $(infodir) $(psheaderdir)/base
+install-data:
+ $(SHELL) $(top_srcdir)/../mkinstalldirs $(man1dir) $(infodir) $(ppsheaderdir)/base
# PostScript prologues and encodings.
- for h in $(prologues); do $(INSTALL_DATA) $$h $(psheaderdir)/base/$$h; done
+ for h in $(prologues); do $(INSTALL_DATA) $$h $(ppsheaderdir)/base/$$h; done
# cd $(srcdir)/reencode && \
# for e in *.enc; do $(INSTALL_DATA) $$e $(psheaderdir)/base/$$e; done
# config.ps. Any one config.ps will be wrong for most people, so don't
# install anything by default.
- $(INSTALL) -d $(psheaderdir)/config
- $(INSTALL_DATA) $(srcdir)/config.ps $(psheaderdir)/config/config.ps
+ $(INSTALL) -d $(ppsheaderdir)/config
+ $(INSTALL_DATA) $(srcdir)/config.ps $(ppsheaderdir)/config/config.ps
# psfonts.map.
# if test ! -r $(psheaderdir)/base/psfonts.map \
# || grep 'original psfonts.map --' $(psheaderdir)/base/psfonts.map \
@@ -110,11 +112,8 @@ install-data: $(program).info
# $(INSTALL_DATA) $(srcdir)/psfonts.map $(psheaderdir)/base/psfonts.map; \
# else true; fi
# psfonts_jp.map.
- $(INSTALL) -d $(texmf)/fonts/map/dvips/ptex
- $(INSTALL_DATA) $(srcdir)/psfonts_jp.map $(texmf)/fonts/map/dvips/ptex/psfonts_jp.map
-# Info files.
- cd $(srcdir) && for i in $(program).i*; do \
- $(INSTALL_DATA) $$i $(infodir)/$$i; done
+ $(INSTALL) -d $(texmf)/fonts/map/pdvips
+ $(INSTALL_DATA) $(srcdir)/psfonts_jp.map $(fontdir)/map/pdvips/psfonts_jp.map
# Man pages.
$(INSTALL_DATA) $(srcdir)/$(program).1 $(man1dir)/$(program).$(manext)
rm -f $(man1dir)/o$(program).$(manext)
@@ -124,9 +123,6 @@ install-data: $(program).info
# cd $(srcdir)/tex && for m in *.tex; do \
# $(INSTALL_DATA) $$m $(dvips_plain_macrodir)/$$m; done
$(POST_INSTALL)
- if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
- install-info --info-dir=$(infodir) $(infodir)/$(program).info; \
- else true; fi
uninstall-data:
$(PRE_UNINSTALL)
@@ -149,11 +145,11 @@ uninstall-data:
rm -f $(man1dir)/dvips.$(manext) $(man1dir)/afm2tfm.$(manext)
distname = dvipsk
-program_files = *.texi *.info* *.lpro psfonts.map *.1 texc.script \
+program_files = *.texi *.lpro psfonts.map *.1 texc.script \
dvips.help $(program).aux $(program).cps dvipstst.dvi
version_files = dvips.h afm2tfm.c dvips.c
-pre-dist-$(distname): INSTALL $(program).info $(program).dvi
+pre-dist-$(distname): INSTALL $(program).dvi
post-dist-$(distname):
ln -s `pwd`/contrib `pwd`/tex $(distdir)
mkdir $(distdir)/reencode; ln -s $(fontname)/*.enc $(distdir)/reencode

165
lgpl.txt
View File

@ -1,165 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

5550
sources

File diff suppressed because it is too large Load Diff

View File

@ -1,19 +0,0 @@
12a_fix_thumbpdf_invocation.dpatch <preining@logic.at>
Fix invocation of thumbpdf to get rid of magic
---
build/source/texk/tetex/thumbpdf | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: texlive-bin-2007/build/source/texk/tetex/thumbpdf
===================================================================
--- texlive-bin-2007.orig/build/source/texk/tetex/thumbpdf 2005-07-06 13:03:00.000000000 +0200
+++ texlive-bin-2007/build/source/texk/tetex/thumbpdf 2007-05-19 16:30:21.000000000 +0200
@@ -1,7 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-use strict;
-$^W=1; # turn warning on
+#!/usr/bin/perl -w
#
# thumbpdf.pl
#

View File

@ -1,29 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 12b_fix_a2ping_invocation.dpatch <preining@logic.at>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix invocation of a2ping to get rid of magic
@DPATCH@
---
build/source/texk/tetex/a2ping | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/a2ping 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/tetex/a2ping 2007-01-26 03:58:02.000000000 +0100
@@ -1,11 +1,5 @@
-#! /bin/sh
-eval '(exit $?0)' && eval 'PERL_BADLANG=x;export PERL_BADLANG;: \
-;exec perl -x -S -- "$0" ${1+"$@"};#'if 0;
-eval 'setenv PERL_BADLANG x;exec perl -x -S -- "$0" $argv:q;#'.q+
-#!perl -w
-package Htex::a2ping; $0=~/(.*)/s;unshift@INC,'.';do($1);die$@if$@;__END__+if !1;
-# This Perl script was generated by JustLib2 at Wed Apr 23 09:14:13 2003.
-# Don't touch/remove any lines above; http://www.inf.bme.hu/~pts/justlib
+#! /usr/bin/perl -w
+package Htex::a2ping;
#
# This program is free software, licensed under the GNU GPL, >=2.0.
# This software comes with absolutely NO WARRANTY. Use at your own risk!

View File

@ -1,19 +0,0 @@
12c_fix_pdfcrop_invocation.dpatch <preining@logic.at>
Fix invocation of pdfcrop to get rid of magic
---
build/source/texk/tetex/pdfcrop | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/tetex/pdfcrop 2006-01-03 00:53:39.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/tetex/pdfcrop 2007-01-26 03:58:07.000000000 +0100
@@ -1,7 +1,5 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/perl -w
use strict;
-$^W=1; # turn warning on
#
# pdfcrop.pl
#

View File

@ -1,13 +0,0 @@
---
build/source/texk/texlive/ebong | 1 +
1 file changed, 1 insertion(+)
Index: texlive-bin-2007/build/source/texk/texlive/ebong
===================================================================
--- texlive-bin-2007.orig/build/source/texk/texlive/ebong 2007-05-15 14:44:43.000000000 +0200
+++ texlive-bin-2007/build/source/texk/texlive/ebong 2007-05-15 14:44:52.000000000 +0200
@@ -1,3 +1,4 @@
+#!/usr/bin/python
# look in newbong
import sre
A='A'

View File

@ -1,15 +0,0 @@
---
build/source/texk/texlive/vpe | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Index: texlive-bin-2007/build/source/texk/texlive/vpe
===================================================================
--- texlive-bin-2007.orig/build/source/texk/texlive/vpe 2007-05-19 16:37:45.000000000 +0200
+++ texlive-bin-2007/build/source/texk/texlive/vpe 2007-05-19 16:37:54.000000000 +0200
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/perl -w
use strict;
#
# vpe.pl

View File

@ -1,160 +0,0 @@
diff -up texlive-2007/texk/dviljk/dvihp.badscript texlive-2007/texk/dviljk/dvihp
--- texlive-2007/texk/dviljk/dvihp.badscript 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/dvihp 2008-08-27 13:30:02.000000000 +0200
@@ -7,9 +7,7 @@
: ${SPOOL=lpr} # used to print an LJ file
: ${TMPDIR=${TEMP-${TMP-/tmp}}} # for the dvicopy output
-tmpdir="${TMPDIR}"/dvihp$$
-(umask 077; mkdir "$tmpdir") \
- || { echo "cannot create directory \`$tmpdir'."; exit 1; }
+tmpdir=`mktemp -d ${TMPDIR}/dvihp.XXXXXX` || { echo "cannot create secure temporary directory."; exit 1; }
trap '
cd "${TMPDIR}"
diff -up texlive-2007/texk/dvipdfm/dvipdft.badscript texlive-2007/texk/dvipdfm/dvipdft
--- texlive-2007/texk/dvipdfm/dvipdft.badscript 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dvipdfm/dvipdft 2008-08-27 13:30:02.000000000 +0200
@@ -31,7 +31,7 @@ help="Usage: $progname [options] dvifile
$progname --help
$progname --version"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
quoteit()
{
diff -up texlive-2007/texk/tetex/allcm.badscript texlive-2007/texk/tetex/allcm
--- texlive-2007/texk/tetex/allcm.badscript 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/allcm 2008-08-27 13:30:02.000000000 +0200
@@ -14,7 +14,7 @@ unset RUNNING_BSH
test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"'
progname=`basename $0`
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
case "$progname" in
allec)
@@ -81,11 +81,6 @@ trap '
exit 1
' 1 2 3 7 13 15
-(umask 077; mkdir "$tmpdir") || {
- echo "$progname: failed to create temp directory." >&2
- exit 1
-}
-
cd $tmpdir || exit 1
echo >&2
echo "---------------------------------------------------------------------" >&2
diff -up texlive-2007/texk/tetex/fmtutil.badscript texlive-2007/texk/tetex/fmtutil
--- texlive-2007/texk/tetex/fmtutil.badscript 2007-01-14 18:46:37.000000000 +0100
+++ texlive-2007/texk/tetex/fmtutil 2008-08-27 13:30:02.000000000 +0200
@@ -112,8 +112,6 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
###############################################################################
@@ -360,7 +358,7 @@ main()
need_find_hyphenfile=false
cfgparam=
cfgmaint=
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
verboseFlag=true
# mktexfmtMode: if called as mktexfmt, set to true. Will echo the
diff -up texlive-2007/texk/tetex/texconfig.badscript texlive-2007/texk/tetex/texconfig
--- texlive-2007/texk/tetex/texconfig.badscript 2007-01-16 01:33:36.000000000 +0100
+++ texlive-2007/texk/tetex/texconfig 2008-08-27 13:30:02.000000000 +0200
@@ -37,7 +37,7 @@ envVars="
TEXMFDBS TEXMFINI TEXMFSCRIPTS TEXPICTS TEXPKS TEXPOOL TEXPSHEADERS
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
"
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/tctmp.$$
+tmpdir=`mktemp -d "${TMP-/tmp}/$progname.XXXXXX"` || exit 1
needsCleanup=false
lastUpdatedFile=
@@ -216,8 +216,6 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
###############################################################################
diff -up texlive-2007/texk/tetex/texlinks.badscript texlive-2007/texk/tetex/texlinks
--- texlive-2007/texk/tetex/texlinks.badscript 2007-01-17 17:31:31.000000000 +0100
+++ texlive-2007/texk/tetex/texlinks 2008-08-27 13:30:02.000000000 +0200
@@ -100,8 +100,6 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- (umask 077; mkdir "$tmpdir") \
- || abort "could not create directory \`$tmpdir'"
}
@@ -199,7 +197,7 @@ search_symlinkdir()
upd_symlinkdir()
{
search_symlinkdir || return 0
- for i in `sed 's@ .*@@' cnf_file_ln.$$`; do
+ for i in `sed 's@ .*@@' $tmpdir/cnf_file_ln`; do
install_link "$selfautoloc/$i" "$symlinkdir/$i"
done
}
@@ -243,12 +241,12 @@ main()
test -f "$cnf_file" || abort "config file \`$cnf' not found"
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/texlinks.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || exit 1
setupTmpDir
cd "$tmpdir" || cleanup 1
sed '/^[ ]*#/d; /^[ ]*$/d' $cnf_file \
- | awk '{print $1, $2}' > cnf_file_ln.$$
+ | awk '{print $1, $2}' > $tmpdir/cnf_file_ln
if test -z "$dirs"; then
if test $multiplatform = true; then
@@ -266,8 +264,8 @@ main()
for d in $dirs; do
kpseaccess -w $d \
|| { errmsg "$d: no write permissions. Skipping..."; continue; }
- # cnf_file_ln.$$ has lines with "format engine" pairs
- set x `cat cnf_file_ln.$$`; shift
+ # $tmpdir/cnf_file_ln has lines with "format engine" pairs
+ set x `cat $tmpdir/cnf_file_ln`; shift
while test $# != 0; do
fmt=$1; engine=$2; shift; shift
diff -up texlive-2007/texk/tetex/updmap.badscript texlive-2007/texk/tetex/updmap
--- texlive-2007/texk/tetex/updmap.badscript 2006-12-25 19:43:31.000000000 +0100
+++ texlive-2007/texk/tetex/updmap 2008-08-27 13:30:02.000000000 +0200
@@ -769,7 +769,6 @@ setupTmpDir()
trap 'cleanup 1' 1 2 3 7 13 15
needsCleanup=true
- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
}
###############################################################################
@@ -1299,7 +1298,8 @@ main()
dvipsoutputdir=; pdftexoutputdir=; dvipdfmoutputdir=
: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
- tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
+ abort "could not create directory"
tmp1=$tmpdir/a
tmp2=$tmpdir/b
tmp3=$tmpdir/c

View File

@ -1,39 +0,0 @@
--- tetex-src-3.0/texk/xdvik/browser.c.browser 2004-11-12 10:25:26.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/browser.c 2005-02-07 15:22:31.849488410 +0900
@@ -39,7 +39,10 @@
#include "statusline.h"
static const char *const default_browser_cmd =
- "netscape -raise -remote \"openURL(%s,new-window)\""
+ "xdg-open %s"
+ ":firefox -remote \"openURL(%s,new-window)\""
+ ":mozilla -remote \"openURL(%s,new-window)\""
+ ":xterm -e w3m %s"
":xterm -e lynx %s"
":xterm -e wget %s";
--- tetex-src-3.0/texk/xdvik/gui/xm_prefsP.h.browser 2004-04-22 06:12:09.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/gui/xm_prefsP.h 2005-02-07 15:22:31.850488229 +0900
@@ -96,8 +96,10 @@
#define Xdvi_APPLY_STR "Apply"
#define Xdvi_PREFS_BROWSER_DEFAULTS \
+ "xdg-open %s\n" \
+ "firefox -remote 'openURL(%s,new-window)'\n" \
"mozilla -remote 'openURL(%s,new-window)'\n" \
- "netscape -raise -remote 'openURL(%s,new-window)'\n" \
+ "xterm -e w3m %s\n" \
"xterm -e lynx %s\n" \
Xdvi_ADD_COMMAND_STR
#define Xdvi_PREFS_EDITOR_DEFAULTS \
--- tetex-src-3.0/texk/xdvik/xdvi.1.in.browser 2005-01-21 01:51:45.000000000 +0900
+++ tetex-src-3.0/texk/xdvik/xdvi.1.in 2005-02-07 15:22:31.854487501 +0900
@@ -365,7 +365,7 @@
.B WWWBROWSER
(in that order) are used to determine the browser command. If these are
not set either, the following default value is used:
-.SB netscape -raise -remote "openURL(%s,new-window)":xterm -e lynx %s:xterm -e wget %s
+.SB xdg-open %s:firefox -remote -remote "openURL(%s,new-window)":mozilla -remote "openURL(%s,new-window)":xterm -e w3m %s:xterm -e lynx %s:xterm -e wget %s
.\"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
.TP
.BI \-bw " width"

View File

@ -1,24 +0,0 @@
diff -ur tetex-src-3.0/texk/tetex/texlinks.man tetex-src-3.0-copyright-utf8-man/texk/tetex/texlinks.man
--- tetex-src-3.0/texk/tetex/texlinks.man 2005-01-20 08:58:46.000000000 -0800
+++ tetex-src-3.0-copyright-utf8-man/texk/tetex/texlinks.man 2006-05-12 01:35:35.000000000 -0700
@@ -54,7 +54,7 @@
.SH "AUTHOR"
.PP
\fBtexlinks\fP was written by Thomas Esser
-<te@dbs\&.uni-hannover\&.de> and is Copyright © 1999\&.
+<te@dbs\&.uni-hannover\&.de> and is Copyright © 1999\&.
\fBtexlinks\fP has been released into the public domain\&.
.PP
This manual page was written by C\&.M\&. Connelly
diff -ur tetex-src-3.0/texk/tetex/thumbpdf.man tetex-src-3.0-copyright-utf8-man/texk/tetex/thumbpdf.man
--- tetex-src-3.0/texk/tetex/thumbpdf.man 2005-01-20 08:50:12.000000000 -0800
+++ tetex-src-3.0-copyright-utf8-man/texk/tetex/thumbpdf.man 2006-05-12 01:35:58.000000000 -0700
@@ -83,7 +83,7 @@
.PP
.SH "COPYRIGHT"
.PP
-Copyright © 1999\&. \fBthumbpdf\fP is distributed under
+Copyright © 1999\&. \fBthumbpdf\fP is distributed under
version 1, or (at your option) a later version of the LaTeX Project
Public License\&.
.PP

View File

@ -1,9 +0,0 @@
--- TeX/texk/tetex/epstopdf.perl 2006-05-24 18:09:36.000000000 -0700
+++ TeX/texk/tetex/epstopdf 2006-05-24 18:11:06.000000000 -0700
@@ -1,5 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
+#!/usr/bin/env perl
use strict;
# Change by Thomas Esser, Sept. 1998: The above lines allows us to find

View File

@ -1,12 +0,0 @@
diff -up texlive-2007/texk/tetex/fmtutil.ptex texlive-2007/texk/tetex/fmtutil
--- texlive-2007/texk/tetex/fmtutil.ptex 2008-01-01 22:32:44.000000000 +0100
+++ texlive-2007/texk/tetex/fmtutil 2008-01-01 22:33:10.000000000 +0100
@@ -674,6 +674,8 @@ run_initex()
case "$format" in
metafun) prgswitch=-progname=mpost;;
mptopdf|cont-??) prgswitch=-progname=context;;
+ platex*) prgswitch=-progname=platex;;
+ ptex*) prgswitch=-progname=ptex;;
*) prgswitch=-progname=$format;;
esac

View File

@ -1,82 +0,0 @@
diff -up ptex-src-3.1.10/Makefile.in.fmts ptex-src-3.1.10/Makefile.in
--- ptex-src-3.1.10/Makefile.in.fmts 2006-06-05 03:50:47.000000000 +0200
+++ ptex-src-3.1.10/Makefile.in 2008-01-01 23:28:57.000000000 +0100
@@ -3,11 +3,9 @@ version = @WEB2CVERSION@
configopt = @configopt@
configkcode = @configkcode@
-default: programs formats
+default: programs texmf.cnf
programs=ptex tftopl pltotf pdvitype jbibtex
-euc-formats=ptex-euc.fmt platex-euc.fmt
-sjis-formats=ptex-sjis.fmt platex-sjis.fmt
ac_include ../../make/paths.mk
@@ -162,30 +160,12 @@ $(kpathsea):
#
# Making formats and bases.
-formats=$(euc-formats) $(sjis-formats)
-formats: $(formats)
texmf.cnf: $(kpathsea_dir)/texmf.cnf
$(SHELL) $(thisdir)/mkconf $(kpathsea_dir)/texmf.cnf > texmf.cnf
dumpenv = TEXMFCNF=$(thisdir)
-ptex-euc.fmt: ptex texmf.cnf
- $(dumpenv) $(MAKE) progname=ptex files="ptex.tex min10.tfm" prereq-check
- $(dumpenv) ./ptex --ini --kanji=euc --progname=ptex --jobname=ptex-euc \\input ptex.tex \\dump </dev/null
-
-ptex-sjis.fmt: ptex texmf.cnf
- $(dumpenv) $(MAKE) progname=ptex files="ptex.tex min10.tfm" prereq-check
- $(dumpenv) ./ptex --ini --kanji=sjis --progname=ptex --jobname=ptex-sjis \\input ptex.tex \\dump </dev/null
-
-platex-euc.fmt: ptex texmf.cnf
- $(dumpenv) $(MAKE) progname=platex files="platex.ltx" prereq-check
- $(dumpenv) ./ptex --ini --kanji=euc --progname=platex --jobname=platex-euc \\input platex.ltx </dev/null
-
-platex-sjis.fmt: ptex texmf.cnf
- $(dumpenv) $(MAKE) progname=platex files="platex.ltx" prereq-check
- $(dumpenv) ./ptex --ini --kanji=sjis --progname=platex --jobname=platex-sjis \\input platex.ltx </dev/null
-
# This is meant to be called recursively, with $(files) set.
prereq-check: $(kpathsea_dir)/kpsewhich
$(dumpenv) $(kpathsea_dir)/kpsewhich --progname=$(progname) $(files) >/dev/null || $(MAKE) prereq-lose >/dev/null
@@ -209,7 +189,6 @@ $(kpathsea_dir)/kpsewhich: $(kpathsea)
install: install-exec install-data
$(top_srcdir)/kpathsea/mktexlsr
install-exec:: install-links
-install-data:: install-formats
# Installation directories.
$(bindir)::
@@ -223,17 +202,7 @@ install-programs: $(programs) $(bindir)
# The links to ptex for each format.
install-links: install-programs $(bindir)
- cd $(bindir) && (rm -f iniptex virptex platex; $(LN) ptex platex)
-
-# Always do plain.*, so examples from the TeXbook (etc.) will work.
-install-formats: $(formats) $(web2cdir)
- for f in $(formats); do $(INSTALL_DATA) $$f $(web2cdir)/$$f; done
- cd $(web2cdir) && (rm -f ptex-jis.fmt platex-jis.fmt ;\
- $(LN) ptex-euc.fmt ptex-jis.fmt ;\
- $(LN) platex-euc.fmt platex-jis.fmt)
- cd $(web2cdir) && (rm -f ptex.fmt platex.fmt ;\
- $(LN) ptex-$(configkcode).fmt ptex.fmt ;\
- $(LN) platex-$(configkcode).fmt platex.fmt )
+ cd $(bindir) && (rm -f iniptex virptex platex platex209; $(LN) ptex platex ; $(LN) ptex platex209)
# Auxiliary files.
install-data::
@@ -323,6 +292,7 @@ distclean:: clean
rm -fr failure
rm -f ptex.web ptex.ch ptex.p ptex.pool ptex.log ptex-euc.fmt ptex-sjis.fmt
rm -f platex.log platex-euc.fmt platex-sjis.fmt texsys.aux platex
+ rm -f platex209.log platex209-euc.fmt platex209-sjis.fmt platex209
rm -f tftopl.web tftopl.p
rm -f pltotf.web pltotf.p
rm -f pdvitype.web pdvitype.p

View File

@ -1,291 +0,0 @@
--- texk/kpathsea/tex-file.c.kpse-extensions 2006-05-27 21:43:07.000000000 -0700
+++ texk/kpathsea/tex-file.c 2006-05-27 21:40:06.000000000 -0700
@@ -413,14 +413,16 @@
times with token pasting, but it doesn't seem worth it. */
case kpse_gf_format:
INIT_FORMAT ("gf", DEFAULT_GFFONTS, GF_ENVS);
- SUFFIXES ("gf");
+#define GF_SUFFIXES "gf", "GF"
+ SUFFIXES (GF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_pk_format:
init_maketex (format, "mktexpk", MKTEXPK_ARGS);
INIT_FORMAT ("pk", DEFAULT_PKFONTS, PK_ENVS);
- SUFFIXES ("pk");
+#define PK_SUFFIXES "pk", "PK"
+ SUFFIXES (PK_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
@@ -434,77 +436,92 @@
/* Must come before kpse_ofm_format. */
init_maketex (format, "mktextfm", NULL);
INIT_FORMAT ("tfm", DEFAULT_TFMFONTS, TFM_ENVS);
- SUFFIXES (".tfm");
+#define TFM_SUFFIXES ".tfm", ".TFM"
+ SUFFIXES (TFM_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_afm_format:
INIT_FORMAT ("afm", DEFAULT_AFMFONTS, AFM_ENVS);
- SUFFIXES (".afm");
+#define AFM_SUFFIXES ".afm", ".AFM"
+ SUFFIXES (AFM_SUFFIXES);
break;
case kpse_base_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("base", DEFAULT_MFBASES, BASE_ENVS);
- SUFFIXES (".base");
+#define BASE_SUFFIXES ".base", ".BASE"
+ SUFFIXES (BASE_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_bib_format:
INIT_FORMAT ("bib", DEFAULT_BIBINPUTS, BIB_ENVS);
- SUFFIXES (".bib");
+#define BIB_SUFFIXES ".bib", ".BIB"
+ SUFFIXES (BIB_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_bst_format:
INIT_FORMAT ("bst", DEFAULT_BSTINPUTS, BST_ENVS);
- SUFFIXES (".bst");
+#define BST_SUFFIXES ".bst", ".BST"
+ SUFFIXES (BST_SUFFIXES);
break;
case kpse_cnf_format:
INIT_FORMAT ("cnf", DEFAULT_TEXMFCNF, CNF_ENVS);
- SUFFIXES (".cnf");
+#define CNF_SUFFIXES ".cnf", ".CNF"
+ SUFFIXES (CNF_SUFFIXES);
break;
case kpse_db_format:
INIT_FORMAT ("ls-R", DEFAULT_TEXMFDBS, DB_ENVS);
-#define LSR_SUFFIXES "ls-R", "ls-r"
+#define LSR_SUFFIXES "ls-R", "ls-r", "LS-R"
SUFFIXES (LSR_SUFFIXES);
FMT_INFO.path = remove_dbonly (FMT_INFO.path);
break;
case kpse_fmt_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("fmt", DEFAULT_TEXFORMATS, FMT_ENVS);
- SUFFIXES (".fmt");
-#define FMT_SUFFIXES ".efmt",".efm",".ofmt",".ofm",".oft",".eofmt",".eoft",".eof",".pfmt",".pfm",".epfmt",".epf",".xpfmt",".xpf",".afmt",".afm"
- ALT_SUFFIXES (FMT_SUFFIXES);
+#define FMT_SUFFIXES ".fmt", ".FMT"
+ SUFFIXES (FMT_SUFFIXES);
+#define FMT_ALT_SUFFIXES ".efmt",".efm",".ofmt",".ofm",".oft",".eofmt",".eoft",".eof",".pfmt",".pfm",".epfmt",".epf",".xpfmt",".xpf",".afmt",".afm" \
+ ".EFMT",".EFM",".OFMT",".OFM",".OFT",".EOFMT",".EOFT",".EOF",".PFMT",".PFM",".EPFMT",".EPF",".XPFMT",".XPF",".AFMT",".AFM"
+ ALT_SUFFIXES (FMT_ALT_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_fontmap_format:
INIT_FORMAT ("map", DEFAULT_TEXFONTMAPS, FONTMAP_ENVS);
- SUFFIXES (".map");
+#define MAP_SUFFIXES ".map", ".MAP"
+ SUFFIXES (MAP_SUFFIXES);
break;
case kpse_mem_format:
init_maketex (format, "mktexfmt", NULL);
INIT_FORMAT ("mem", DEFAULT_MPMEMS, MEM_ENVS);
- SUFFIXES (".mem");
+#define MEM_SUFFIXES ".mem", ".MEM"
+ SUFFIXES (MEM_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_mf_format:
init_maketex (format, "mktexmf", NULL);
INIT_FORMAT ("mf", DEFAULT_MFINPUTS, MF_ENVS);
- SUFFIXES (".mf");
+#define MF_SUFFIXES ".mf", ".MF"
+ SUFFIXES (MF_SUFFIXES);
break;
case kpse_mft_format:
INIT_FORMAT ("mft", DEFAULT_MFTINPUTS, MFT_ENVS);
- SUFFIXES (".mft");
+#define MFT_SUFFIXES ".mft", ".MFT"
+ SUFFIXES (MFT_SUFFIXES);
break;
case kpse_mfpool_format:
INIT_FORMAT ("mfpool", DEFAULT_MFPOOL, MFPOOL_ENVS);
- SUFFIXES (".pool");
+#define MFPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (MFPOOL_SUFFIXES);
break;
case kpse_mp_format:
INIT_FORMAT ("mp", DEFAULT_MPINPUTS, MP_ENVS);
- SUFFIXES (".mp");
+#define MP_SUFFIXES ".mp", ".MP"
+ SUFFIXES (MP_SUFFIXES);
break;
case kpse_mppool_format:
INIT_FORMAT ("mppool", DEFAULT_MPPOOL, MPPOOL_ENVS);
- SUFFIXES (".pool");
+#define MPPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (MPPOOL_SUFFIXES);
break;
case kpse_mpsupport_format:
INIT_FORMAT ("MetaPost support", DEFAULT_MPSUPPORT, MPSUPPORT_ENVS);
@@ -512,49 +529,55 @@
case kpse_ocp_format:
init_maketex (format, "mkocp", NULL);
INIT_FORMAT ("ocp", DEFAULT_OCPINPUTS, OCP_ENVS);
- SUFFIXES (".ocp");
+#define OCP_SUFFIXES ".ocp", ".OCP"
+ SUFFIXES (OCP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_ofm_format:
init_maketex (format, "mkofm", NULL);
INIT_FORMAT ("ofm", DEFAULT_OFMFONTS, OFM_ENVS);
-#define OFM_SUFFIXES ".ofm", ".tfm"
+#define OFM_SUFFIXES ".ofm", ".tfm", ".OFM", ".TFM"
SUFFIXES (OFM_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_opl_format:
INIT_FORMAT ("opl", DEFAULT_OPLFONTS, OPL_ENVS);
- SUFFIXES (".opl");
+#define OPL_SUFFIXES ".opl", ".OPL"
+ SUFFIXES (OPL_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_otp_format:
INIT_FORMAT ("otp", DEFAULT_OTPINPUTS, OTP_ENVS);
- SUFFIXES (".otp");
+#define OTP_SUFFIXES ".otp", ".OTP"
+ SUFFIXES (OTP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_ovf_format:
INIT_FORMAT ("ovf", DEFAULT_OVFFONTS, OVF_ENVS);
- SUFFIXES (".ovf");
+#define OVF_SUFFIXES ".ovf", ".OVF"
+ SUFFIXES (OVF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
case kpse_ovp_format:
INIT_FORMAT ("ovp", DEFAULT_OVPFONTS, OVP_ENVS);
- SUFFIXES (".ovp");
+#define OVP_SUFFIXES ".ovp", ".OVP"
+ SUFFIXES (OVP_SUFFIXES);
FMT_INFO.suffix_search_only = true;
break;
case kpse_pict_format:
INIT_FORMAT ("graphic/figure", DEFAULT_TEXINPUTS, PICT_ENVS);
-#define PICT_SUFFIXES ".eps", ".epsi"
+#define PICT_SUFFIXES ".eps", ".epsi", ".EPS", ".EPSI"
ALT_SUFFIXES (PICT_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_tex_format:
init_maketex (format, "mktextex", NULL);
INIT_FORMAT ("tex", DEFAULT_TEXINPUTS, TEX_ENVS);
- SUFFIXES (".tex");
+#define TEX_SUFFIXES ".tex", ".TEX"
+ SUFFIXES (TEX_SUFFIXES);
/* We don't maintain a list of alternate TeX suffixes. Such a list
could never be complete. */
break;
@@ -562,7 +585,7 @@
INIT_FORMAT ("PostScript header", DEFAULT_TEXPSHEADERS,
TEX_PS_HEADER_ENVS);
/* Unfortunately, dvipsk uses this format for type1 fonts. */
-#define TEXPSHEADER_SUFFIXES ".pro"
+#define TEXPSHEADER_SUFFIXES ".pro", ".PRO"
ALT_SUFFIXES (TEXPSHEADER_SUFFIXES);
FMT_INFO.binmode = true;
break;
@@ -571,7 +594,8 @@
break;
case kpse_texpool_format:
INIT_FORMAT ("texpool", DEFAULT_TEXPOOL, TEXPOOL_ENVS);
- SUFFIXES (".pool");
+#define TEXPOOL_SUFFIXES ".pool", ".POOL"
+ SUFFIXES (TEXPOOL_SUFFIXES);
break;
case kpse_texsource_format:
INIT_FORMAT ("TeX system sources", DEFAULT_TEXSOURCES, TEXSOURCE_ENVS);
@@ -582,13 +606,14 @@
break;
case kpse_type1_format:
INIT_FORMAT ("type1 fonts", DEFAULT_T1FONTS, TYPE1_ENVS);
-#define TYPE1_SUFFIXES ".pfa", ".pfb"
+#define TYPE1_SUFFIXES ".pfa", ".pfb", ".PFA", ".PFB"
SUFFIXES (TYPE1_SUFFIXES);
FMT_INFO.binmode = true;
break;
case kpse_vf_format:
INIT_FORMAT ("vf", DEFAULT_VFFONTS, VF_ENVS);
- SUFFIXES (".vf");
+#define VF_SUFFIXES ".vf", ".VF"
+ SUFFIXES (VF_SUFFIXES);
FMT_INFO.suffix_search_only = true;
FMT_INFO.binmode = true;
break;
@@ -597,7 +622,8 @@
break;
case kpse_ist_format:
INIT_FORMAT ("ist", DEFAULT_INDEXSTYLE, IST_ENVS);
- SUFFIXES (".ist");
+#define IST_SUFFIXES ".ist", ".IST"
+ SUFFIXES (IST_SUFFIXES);
break;
case kpse_truetype_format:
INIT_FORMAT ("truetype fonts", DEFAULT_TTFONTS, TRUETYPE_ENVS);
@@ -632,26 +658,32 @@
break;
case kpse_web_format:
INIT_FORMAT ("web", DEFAULT_WEBINPUTS, WEB_ENVS);
- SUFFIXES (".web");
- ALT_SUFFIXES (".ch");
+#define WEB_SUFFIXES ".web", ".WEB"
+ SUFFIXES (WEB_SUFFIXES);
+#define WEB_ALT_SUFFIXES ".ch", ".CH"
+ ALT_SUFFIXES (WEB_ALT_SUFFIXES);
break;
case kpse_cweb_format:
INIT_FORMAT ("cweb", DEFAULT_CWEBINPUTS, CWEB_ENVS);
-#define CWEB_SUFFIXES ".w", ".web"
+#define CWEB_SUFFIXES ".w", ".web", ".W", ".WEB"
SUFFIXES (CWEB_SUFFIXES);
- ALT_SUFFIXES (".ch");
+#define CWEB_ALT_SUFFIXES ".ch", ".CH"
+ ALT_SUFFIXES (CWEB_ALT_SUFFIXES);
break;
case kpse_enc_format:
INIT_FORMAT ("enc files", DEFAULT_ENCFONTS, ENC_ENVS);
- SUFFIXES (".enc");
+#define ENC_SUFFIXES ".enc", ".ENC"
+ SUFFIXES (ENC_SUFFIXES);
break;
case kpse_cmap_format:
INIT_FORMAT ("cmap files", DEFAULT_CMAPFONTS, CMAP_ENVS);
- SUFFIXES (".cmap");
+#define CMAP_SUFFIXES ".cmap", ".CMAP"
+ SUFFIXES (CMAP_SUFFIXES);
break;
case kpse_sfd_format:
INIT_FORMAT ("subfont definition files", DEFAULT_SFDFONTS, SFD_ENVS);
- SUFFIXES (".sfd");
+#define SFD_SUFFIXES ".sfd", ".SFD"
+ SUFFIXES (SFD_SUFFIXES);
break;
case kpse_opentype_format:
INIT_FORMAT ("opentype fonts", DEFAULT_OPENTYPEFONTS, OPENTYPE_ENVS);
@@ -663,7 +695,8 @@
break;
case kpse_lig_format:
INIT_FORMAT ("lig files", DEFAULT_LIGFONTS, LIG_ENVS);
- SUFFIXES (".lig");
+#define LIG_SUFFIXES ".lig", ".LIG"
+ SUFFIXES (LIG_SUFFIXES);
break;
case kpse_texmfscripts_format:
INIT_FORMAT ("texmfscripts", DEFAULT_TEXMFSCRIPTS, TEXMFSCRIPTS_ENVS);

View File

@ -1,58 +0,0 @@
diff -up texlive-2007/texk/web2c/omegafonts/Makefile.in.makej texlive-2007/texk/web2c/omegafonts/Makefile.in
--- texlive-2007/texk/web2c/omegafonts/Makefile.in.makej 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/web2c/omegafonts/Makefile.in 2008-08-27 13:28:57.000000000 +0200
@@ -34,12 +34,13 @@ omfonts: $(omfonts_objects)
$(kpathsea_link) $(omfonts_objects) $(LEXLIB) $(LOADLIBES)
omfonts.o: omfonts.c y_tab.h
-y_tab.c y_tab.h: pl.y
+y_tab.c: y_tab.h
+y_tab.h: pl.y
$(YACC) -d -v $(srcdir)/pl.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: parser.h
-$(LEX_OUTPUT_ROOT).c: pl.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h pl.l
$(LEX) $(srcdir)/pl.l
diff -up texlive-2007/texk/web2c/otps/Makefile.in.makej texlive-2007/texk/web2c/otps/Makefile.in
--- texlive-2007/texk/web2c/otps/Makefile.in.makej 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/web2c/otps/Makefile.in 2008-08-27 13:28:57.000000000 +0200
@@ -21,12 +21,13 @@ otp2ocp: $(otp2ocp_objects)
$(kpathsea_link) $(otp2ocp_objects) $(LEXLIB) $(LOADLIBES)
otp2ocp.o: otp2ocp.c y_tab.h
-y_tab.c y_tab.h: otp.y
+y_tab.c: y_tab.h
+y_tab.h: otp.y
$(YACC) -d -v $(srcdir)/otp.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: otp.h
-$(LEX_OUTPUT_ROOT).c: otp.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h otp.l
$(LEX) $(srcdir)/otp.l
outocp: outocp.o
diff -up texlive-2007/texk/web2c/web2c/Makefile.in.makej texlive-2007/texk/web2c/web2c/Makefile.in
--- texlive-2007/texk/web2c/web2c/Makefile.in.makej 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/web2c/web2c/Makefile.in 2008-08-27 13:28:57.000000000 +0200
@@ -25,13 +25,14 @@ web2c: $(web2c_objects)
# We use y_tab.* for the sake of MS-DOS.
main.o: main.c y_tab.h
-y_tab.c y_tab.h: web2c.y
+y_tab.c: y_tab.h
+y_tab.h: web2c.y
@echo Expect one shift/reduce conflict.
$(YACC) -d -v $(srcdir)/web2c.y
-test -f y.tab.c && mv -f y.tab.c y_tab.c
-test -f y.tab.h && mv -f y.tab.h y_tab.h
$(LEX_OUTPUT_ROOT).o: y_tab.h
-$(LEX_OUTPUT_ROOT).c: web2c.l
+$(LEX_OUTPUT_ROOT).c: y_tab.h web2c.l
$(LEX) $(srcdir)/web2c.l
fixwrites: fixwrites.o kps.o

View File

@ -1,221 +0,0 @@
--- dvipsk-p1.7a.patch.orig 2005-10-17 17:03:56.000000000 +0900
+++ dvipsk-p1.7a.patch 2007-08-16 14:51:19.000000000 +0900
@@ -1236,37 +1236,30 @@
}
diff -Nur dvipsk.orig/dvips.c dvipsk/dvips.c
---- dvipsk.orig/dvips.c Sun Jan 30 22:17:21 2005
-+++ dvipsk/dvips.c Thu Mar 3 11:11:55 2005
-@@ -44,12 +44,18 @@
- #include descrip
- #endif
+--- dvipsk.orig/dvips.c 2007-08-16 14:39:44.000000000 +0900
++++ dvipsk/dvips.c 2007-08-16 14:44:03.000000000 +0900
+@@ -45,6 +45,12 @@
+ #define DEFRES (600)
#endif
+
+#ifdef __APPLE__ /* for Mac OS X, T. Uchiyama */
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+#endif
++
/*
* First we define some globals.
*/
- #ifdef VMS
- static char ofnme[252],infnme[252],pap[40],thh[20];
- #endif
+@@ -55,6 +61,7 @@
+ /* PS fonts fully downloaded as headers */
+ char *downloadedpsnames[DOWNLOADEDPSSIZE];
+
+Boolean SJIS ; /* KANJI code */
+ int unused_top_of_psnames ; /* unused top number of downloadedpsnames[#] */
fontdesctype *fonthead ; /* list of all fonts mentioned so far */
fontdesctype *curfnt ; /* the currently selected font */
- sectiontype *sections ; /* sections to process document in */
-@@ -64,7 +70,7 @@
- Boolean cropmarks ; /* add cropmarks? */
- Boolean abspage = 0 ; /* are page numbers absolute? */
- Boolean tryepsf = 0 ; /* should we try to make it espf? */
--Boolean secure = 0 ; /* make safe for suid */
-+Boolean secure = 1 ; /* make safe for suid */
- int collatedcopies = 1 ; /* how many collated copies? */
- int sectioncopies = 1 ; /* how many times to repeat each section? */
- integer pagecopies = 1 ; /* how many times to repeat each page? */
-@@ -186,6 +192,7 @@
+@@ -194,6 +201,7 @@
char xdig[256]; /* table for reading hexadecimal digits */
char banner[] = BANNER ; /* our startup message */
char banner2[] = BANNER2 ; /* our second startup message */
@@ -1274,7 +1267,7 @@
Boolean noenv = 0 ; /* ignore PRINTER envir variable? */
Boolean dopprescan = 0 ; /* do we do a scan before the prescan? */
extern int dontmakefont ;
-@@ -284,6 +291,7 @@
+@@ -292,6 +300,7 @@
#else
" Z* Compress bitmap fonts ",
#endif
@@ -1282,7 +1275,7 @@
/* "- Interactive query of options", */
" # = number f = file s = string * = suffix, `0' to turn off ",
" c = comma-separated dimension pair (e.g., 3.2in,-32.1cm) ",
-@@ -294,16 +302,21 @@
+@@ -302,16 +311,21 @@
{
char **p;
FILE *f = status == 0 ? stdout : stderr;
@@ -1302,30 +1295,31 @@
+*/
+ fputs ("Email bug reports to www-ptex@ascii.co.jp.\n", f);
}
- /*
- * This error routine prints an error message; if the first
-@@ -440,6 +453,7 @@
- for (s="abcdef"; *s!=0; s++)
- xdig[(int)*s] = i++;
+
+ void
+@@ -461,6 +475,7 @@
+ for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
+ downloadedpsnames[i] = NULL;
morestrings() ;
+ SJIS = 0;
maxpages = 100000 ;
numcopies = 1 ;
iname = fulliname = strings ;
-@@ -552,6 +566,12 @@
- int firstext = -1 ;
+@@ -574,6 +589,13 @@
#endif
- register sectiontype *sects ;
+ sectiontype *sects ;
+
+#ifdef __APPLE__ /* for Mac OS X, T. Uchiyama */
+ struct rlimit rl;
+ getrlimit(RLIMIT_STACK, &rl);
+ rl.rlim_cur = 2048 * 1024;
+ setrlimit(RLIMIT_STACK, &rl);
+#endif
-
++
#ifdef KPATHSEA
kpse_set_program_name (argv[0], "dvips");
-@@ -618,12 +638,12 @@
+ kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
+@@ -639,12 +661,12 @@
exit (0);
}
if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
@@ -1340,8 +1334,8 @@
exit(0);
}
}
-@@ -747,10 +767,13 @@
- secure = (*p != '0') ;
+@@ -790,10 +812,13 @@
+ secure_option = 1 ; /* Never used */
break ;
case 'S':
- if (*p == 0 && argv[i+1])
@@ -1358,7 +1352,7 @@
break ;
case 'm' :
if (STREQ (p, "ode") && argv[i+1]) {
-@@ -892,7 +915,7 @@
+@@ -935,7 +960,7 @@
paperfmt = p ;
break ;
case 'v':
@@ -1367,7 +1361,7 @@
exit (0);
break;
case 'x' : case 'y' :
-@@ -1070,7 +1093,7 @@
+@@ -1113,7 +1138,7 @@
}
papsizes = (struct papsiz *)revlist((void *)papsizes) ;
if (queryoptions != 0) { /* get new options */
@@ -1376,38 +1370,40 @@
help(1) ;
queryargs();
if (qargc == 1)
-@@ -1108,7 +1131,7 @@
- getpsinfo((char *)NULL) ;
+@@ -1152,11 +1177,11 @@
revpslists() ;
- if (!quiet)
-- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
-+ (void)fprintf(stderr, "%s\n%s\n", banner, banner2) ;
+ if (dvips_debug_flag) {
+ if (!quiet)
+- (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
++ (void)fprintf(stderr, "\n%s\n%s\n", banner, banner2) ;
+ prettycolumn = 0 ;
+ } else {
+ if (!quiet)
+- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
++ (void)fprintf(stderr, "%s\n%s\n", banner, banner2) ;
+ }
if (*iname) {
dvifile = fopen(iname, READBIN) ;
- /*
diff -Nur dvipsk.orig/dvips.h dvipsk/dvips.h
---- dvipsk.orig/dvips.h Sun Jan 30 22:17:15 2005
-+++ dvipsk/dvips.h Mon Oct 17 16:57:18 2005
-@@ -10,10 +10,15 @@
- */
-
+--- dvipsk.orig/dvips.h 2007-08-16 14:39:44.000000000 +0900
++++ dvipsk/dvips.h 2007-08-16 14:49:19.000000000 +0900
+@@ -7,9 +7,12 @@
/* This file is the header for dvips's global data structures. */
-+#define CREATIONDATE
-+
-+#define MAX_CODE 65536
+ #define CREATIONDATE
++#define MAX_CODE 65536
#define BANNER \
--"This is dvips(k) 5.95a Copyright 2005 Radical Eye Software"
+-"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
-#define BANNER2 "(www.radicaleye.com)"
+"This is dvips(k) p1.7a Copyright 2005 ASCII Corp.(www-ptex@ascii.co.jp)"
+#define BANNER2 \
-+"based on dvips(k) 5.95a Copyright 2005 Radical Eye Software (www.radicaleye.com)"
++"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software (www.radicaleye.com)"
+#define WEBURL "(www.radicaleye.com)"
#ifdef KPATHSEA
#include "config.h"
#include "debug.h"
-@@ -60,9 +65,9 @@
- #define STRINGSIZE (200000) /* maximum total chars in strings in program */
+@@ -56,9 +59,9 @@
+ #define STRINGSIZE (200000) /* maximum total chars in strings in program */
#define RASTERCHUNK (8192) /* size of chunk of raster */
#define MINCHUNK (240) /* minimum size char to get own raster */
-#define STACKSIZE (350) /* maximum stack size for dvi files */
@@ -1417,9 +1413,9 @@
+#define MAXFRAME (50) /* maximum depth of virtual font recursion */
+#define MAXFONTHD (1024) /* number of unique names of included fonts */
#define STDOUTSIZE (75) /* width of a standard output line */
+ #define DOWNLOADEDPSSIZE (1000) /* max number of downloaded fonts to check */
/*
- * Other constants, which define printer-dependent stuff.
-@@ -166,7 +171,7 @@
+@@ -163,7 +166,7 @@
* psfile. It can be 0, PREVPAGE, THISPAGE, or EXISTS.
*/
typedef struct tfd {
@@ -1428,7 +1424,7 @@
halfword dpi, loadeddpi ;
halfword alreadyscaled ;
halfword psname ;
-@@ -181,6 +186,7 @@
+@@ -178,6 +181,7 @@
struct tfd *nextsize;
char *scalename;
chardesctype *chardesc ;

View File

@ -1,574 +0,0 @@
diff -up texlive-2007/texk/web2c/pdftexdir/writeimg.c.png15 texlive-2007/texk/web2c/pdftexdir/writeimg.c
--- texlive-2007/texk/web2c/pdftexdir/writeimg.c.png15 2012-02-08 15:21:02.318911661 -0500
+++ texlive-2007/texk/web2c/pdftexdir/writeimg.c 2012-02-08 15:23:07.870843970 -0500
@@ -122,7 +122,11 @@ integer imagecolordepth(integer img)
{
switch (img_type(img)) {
case IMAGE_TYPE_PNG:
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ return png_get_bit_depth(png_ptr(img), png_info(img));
+#else
return png_info(img)->bit_depth;
+#endif
case IMAGE_TYPE_JPG:
return jpg_ptr(img)->bits_per_component;
case IMAGE_TYPE_JBIG2:
@@ -364,7 +368,11 @@ void deleteimage(integer img)
epdf_delete();
break;
case IMAGE_TYPE_PNG:
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ xfclose((FILE *) png_get_io_ptr(png_ptr(img)), cur_file_name);
+#else
xfclose((FILE *) png_ptr(img)->io_ptr, cur_file_name);
+#endif
png_destroy_read_struct(&(png_ptr(img)), &(png_info(img)), NULL);
break;
case IMAGE_TYPE_JPG:
diff -up texlive-2007/texk/web2c/pdftexdir/writepng.c.png15 texlive-2007/texk/web2c/pdftexdir/writepng.c
--- texlive-2007/texk/web2c/pdftexdir/writepng.c.png15 2006-12-26 18:37:34.000000000 -0500
+++ texlive-2007/texk/web2c/pdftexdir/writepng.c 2012-02-08 15:17:11.411875292 -0500
@@ -33,7 +33,11 @@ void read_png_info(integer img)
pdftex_fail("libpng: png_create_read_struct() failed");
if ((png_info(img) = png_create_info_struct(png_ptr(img))) == NULL)
pdftex_fail("libpng: png_create_info_struct() failed");
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ if (setjmp(png_jmpbuf(png_ptr(img))))
+#else
if (setjmp(png_ptr(img)->jmpbuf))
+#endif
pdftex_fail("libpng: internal error");
png_init_io(png_ptr(img), png_file);
png_read_info(png_ptr(img), png_info(img));
@@ -43,12 +47,20 @@ void read_png_info(integer img)
}
/* alpha channel support */
if (fixedpdfminorversion < 4
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ && png_get_color_type(png_ptr(img), png_info(img)) | PNG_COLOR_MASK_ALPHA)
+#else
&& png_ptr(img)->color_type | PNG_COLOR_MASK_ALPHA)
+#endif
png_set_strip_alpha(png_ptr(img));
/* 16bit depth support */
if (fixedpdfminorversion < 5)
fixedimagehicolor = 0;
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_bit_depth(png_ptr(img), png_info(img)) == 16 && !fixedimagehicolor)
+#else
if (png_info(img)->bit_depth == 16 && !fixedimagehicolor)
+#endif
png_set_strip_16(png_ptr(img));
/* gamma support */
if (fixedimageapplygamma) {
@@ -61,9 +73,18 @@ void read_png_info(integer img)
/* reset structure */
png_read_update_info(png_ptr(img), png_info(img));
/* resolution support */
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ img_width(img) = png_get_image_width(png_ptr(img), png_info(img));
+ img_height(img) = png_get_image_height(png_ptr(img), png_info(img));
+#else
img_width(img) = png_info(img)->width;
img_height(img) = png_info(img)->height;
+#endif
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ if (png_get_valid(png_ptr(img), png_info(img), PNG_INFO_pHYs)) {
+#else
if (png_info(img)->valid & PNG_INFO_pHYs) {
+#endif
img_xres(img) =
round(0.0254 *
png_get_x_pixels_per_meter(png_ptr(img), png_info(img)));
@@ -71,7 +92,11 @@ void read_png_info(integer img)
round(0.0254 *
png_get_y_pixels_per_meter(png_ptr(img), png_info(img)));
}
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ switch (png_get_color_type(png_ptr(img), png_info(img))) {
+#else
switch (png_info(img)->color_type) {
+#endif
case PNG_COLOR_TYPE_PALETTE:
img_color(img) = IMAGE_COLOR_C | IMAGE_COLOR_I;
break;
@@ -85,7 +110,11 @@ void read_png_info(integer img)
break;
default:
pdftex_fail("unsupported type of color_type <%i>",
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ png_get_color_type(png_ptr(img), png_info(img)));
+#else
png_info(img)->color_type);
+#endif
}
}
@@ -109,7 +138,38 @@ void read_png_info(integer img)
#define write_simple_pixel(r) pdfbuf[pdfptr++] = *r++
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+#define write_noninterlaced(outmac) \
+ for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) { \
+ png_read_row(png_ptr(img), row, NULL); \
+ r = row; \
+ k = png_get_rowbytes(png_ptr(img), png_info(img)); \
+ while(k > 0) { \
+ l = (k > pdfbufsize)? pdfbufsize : k; \
+ pdfroom(l); \
+ for (j = 0; j < l; j++) { \
+ outmac; \
+ } \
+ k -= l; \
+ } \
+ }
+
+#define write_interlaced(outmac) \
+ for (i = 0; i < (int)png_get_image_height(png_ptr(img), png_info(img)); i++) { \
+ row = rows[i]; \
+ k = png_get_rowbytes(png_ptr(img), png_info(img)); \
+ while(k > 0) { \
+ l = (k > pdfbufsize)? pdfbufsize : k; \
+ pdfroom(l); \
+ for (j = 0; j < l; j++) { \
+ outmac; \
+ } \
+ k -= l; \
+ } \
+ xfree(rows[i]); \
+ }
+#else
#define write_noninterlaced(outmac) \
for (i = 0; i < (int)png_info(img)->height; i++) { \
png_read_row(png_ptr(img), row, NULL); \
@@ -139,7 +199,7 @@ void read_png_info(integer img)
} \
xfree(rows[i]); \
}
-
+#endif
void write_png_palette(integer img)
{
@@ -148,25 +208,42 @@ void write_png_palette(integer img)
integer palette_objnum = 0;
pdfcreateobj(0, 0);
palette_objnum = objptr;
+ int num_palette;
+ png_colorp palette;
+ png_get_PLTE(png_ptr(img), png_info(img), &palette, &num_palette);
if (img_colorspace_ref(img) != 0) {
pdf_printf("%i 0 R\n", (int) img_colorspace_ref(img));
} else {
pdf_printf("[/Indexed /DeviceRGB %i %i 0 R]\n",
- (int) (png_info(img)->num_palette - 1),
+ (int) (num_palette - 1),
(int) palette_objnum);
}
pdfbeginstream();
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
row = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
write_noninterlaced(write_simple_pixel(r));
xfree(row);
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn
+ ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+ for (i = 0; (unsigned) i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->height * png_info(img)->rowbytes >= 10240000L)
pdftex_warn
("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
rows = xtalloc(png_info(img)->height, png_bytep);
for (i = 0; (unsigned) i < png_info(img)->height; i++)
rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
png_read_image(png_ptr(img), rows);
write_interlaced(write_simple_pixel(row));
xfree(rows);
@@ -175,11 +252,12 @@ void write_png_palette(integer img)
if (palette_objnum > 0) {
pdfbegindict(palette_objnum, 0);
pdfbeginstream();
- for (i = 0; (unsigned) i < png_info(img)->num_palette; i++) {
+ png_get_PLTE(png_ptr(img), png_info(img), &palette, &num_palette);
+ for (i = 0; (unsigned) i < num_palette; i++) {
pdfroom(3);
- pdfbuf[pdfptr++] = png_info(img)->palette[i].red;
- pdfbuf[pdfptr++] = png_info(img)->palette[i].green;
- pdfbuf[pdfptr++] = png_info(img)->palette[i].blue;
+ pdfbuf[pdfptr++] = palette[i].red;
+ pdfbuf[pdfptr++] = palette[i].green;
+ pdfbuf[pdfptr++] = palette[i].blue;
}
pdfendstream();
}
@@ -195,17 +273,31 @@ void write_png_gray(integer img)
pdf_puts("/DeviceGray\n");
}
pdfbeginstream();
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
row = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
write_noninterlaced(write_simple_pixel(r));
xfree(row);
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn
+ ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+ for (i = 0; (unsigned) i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->height * png_info(img)->rowbytes >= 10240000L)
pdftex_warn
("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
rows = xtalloc(png_info(img)->height, png_bytep);
for (i = 0; (unsigned) i < png_info(img)->height; i++)
rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
png_read_image(png_ptr(img), rows);
write_interlaced(write_simple_pixel(row));
xfree(rows);
@@ -232,26 +324,49 @@ void write_png_gray_alpha(integer img)
pdfcreateobj(0, 0);
smask_objnum = objptr;
pdf_printf("/SMask %i 0 R\n", (int) smask_objnum);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ smask_size = (png_get_rowbytes(png_ptr(img), png_info(img)) / 2) * png_get_image_height(png_ptr(img), png_info(img));
+#else
smask_size = (png_info(img)->rowbytes / 2) * png_info(img)->height;
+#endif
smask = xtalloc(smask_size, png_byte);
pdfbeginstream();
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+ if ((png_get_bit_depth(png_ptr(img), png_info(img)) == 16) && fixedimagehicolor) {
+#else
if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
row = xtalloc(png_info(img)->rowbytes, png_byte);
if ((png_info(img)->bit_depth == 16) && fixedimagehicolor) {
+#endif
write_noninterlaced(write_gray_pixel_16(r));
} else {
write_noninterlaced(write_gray_pixel_8(r));
}
xfree(row);
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn
+ ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+ for (i = 0; (unsigned) i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->height * png_info(img)->rowbytes >= 10240000L)
pdftex_warn
("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
rows = xtalloc(png_info(img)->height, png_bytep);
for (i = 0; (unsigned) i < png_info(img)->height; i++)
rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
png_read_image(png_ptr(img), rows);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if ((png_get_bit_depth(png_ptr(img), png_info(img)) == 16) && fixedimagehicolor) {
+#else
if ((png_info(img)->bit_depth == 16) && fixedimagehicolor) {
+#endif
write_interlaced(write_gray_pixel_16(row));
} else {
write_interlaced(write_gray_pixel_8(row));
@@ -262,12 +377,21 @@ void write_png_gray_alpha(integer img)
pdfflush();
/* now write the Smask object */
if (smask_objnum > 0) {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ bitdepth = (int) png_get_bit_depth(png_ptr(img), png_info(img));
+#else
bitdepth = (int) png_info(img)->bit_depth;
+#endif
pdfbegindict(smask_objnum, 0);
pdf_puts("/Type /XObject\n/Subtype /Image\n");
pdf_printf("/Width %i\n/Height %i\n/BitsPerComponent %i\n",
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ (int) png_get_image_width(png_ptr(img), png_info(img)),
+ (int) png_get_image_height(png_ptr(img), png_info(img)),
+#else
(int) png_info(img)->width,
(int) png_info(img)->height,
+#endif
(bitdepth == 16 ? 8 : bitdepth));
pdf_puts("/ColorSpace /DeviceGray\n");
pdfbeginstream();
@@ -293,17 +417,31 @@ void write_png_rgb(integer img)
pdf_puts("/DeviceRGB\n");
}
pdfbeginstream();
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
row = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
write_noninterlaced(write_simple_pixel(r));
xfree(row);
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn
+ ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+ for (i = 0; (unsigned) i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->height * png_info(img)->rowbytes >= 10240000L)
pdftex_warn
("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
rows = xtalloc(png_info(img)->height, png_bytep);
for (i = 0; (unsigned) i < png_info(img)->height; i++)
rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
png_read_image(png_ptr(img), rows);
write_interlaced(write_simple_pixel(row));
xfree(rows);
@@ -328,26 +466,49 @@ void write_png_rgb_alpha(integer img)
pdfcreateobj(0, 0);
smask_objnum = objptr;
pdf_printf("/SMask %i 0 R\n", (int) smask_objnum);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ smask_size = (png_get_rowbytes(png_ptr(img), png_info(img)) / 2) * png_get_image_height(png_ptr(img), png_info(img));
+#else
smask_size = (png_info(img)->rowbytes / 2) * png_info(img)->height;
+#endif
smask = xtalloc(smask_size, png_byte);
pdfbeginstream();
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE) {
+ row = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+ if ((png_get_bit_depth(png_ptr(img), png_info(img)) == 16) && fixedimagehicolor) {
+#else
if (png_info(img)->interlace_type == PNG_INTERLACE_NONE) {
row = xtalloc(png_info(img)->rowbytes, png_byte);
if ((png_info(img)->bit_depth == 16) && fixedimagehicolor) {
+#endif
write_noninterlaced(write_rgb_pixel_16(r));
} else {
write_noninterlaced(write_rgb_pixel_8(r));
}
xfree(row);
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_image_height(png_ptr(img), png_info(img)) * png_get_rowbytes(png_ptr(img), png_info(img)) >= 10240000L)
+ pdftex_warn
+ ("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
+ rows = xtalloc(png_get_image_height(png_ptr(img), png_info(img)), png_bytep);
+ for (i = 0; (unsigned) i < png_get_image_height(png_ptr(img), png_info(img)); i++)
+ rows[i] = xtalloc(png_get_rowbytes(png_ptr(img), png_info(img)), png_byte);
+#else
if (png_info(img)->height * png_info(img)->rowbytes >= 10240000L)
pdftex_warn
("large interlaced PNG might cause out of memory (use non-interlaced PNG to fix this)");
rows = xtalloc(png_info(img)->height, png_bytep);
for (i = 0; (unsigned) i < png_info(img)->height; i++)
rows[i] = xtalloc(png_info(img)->rowbytes, png_byte);
+#endif
png_read_image(png_ptr(img), rows);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if ((png_get_bit_depth(png_ptr(img), png_info(img)) == 16) && fixedimagehicolor) {
+#else
if ((png_info(img)->bit_depth == 16) && fixedimagehicolor) {
+#endif
write_interlaced(write_rgb_pixel_16(row));
} else {
write_interlaced(write_rgb_pixel_8(row));
@@ -358,12 +519,21 @@ void write_png_rgb_alpha(integer img)
pdfflush();
/* now write the Smask object */
if (smask_objnum > 0) {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ bitdepth = (int) png_get_bit_depth(png_ptr(img), png_info(img));
+#else
bitdepth = (int) png_info(img)->bit_depth;
+#endif
pdfbegindict(smask_objnum, 0);
pdf_puts("/Type /XObject\n/Subtype /Image\n");
pdf_printf("/Width %i\n/Height %i\n/BitsPerComponent %i\n",
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ (int) png_get_image_width(png_ptr(img), png_info(img)),
+ (int) png_get_image_height(png_ptr(img), png_info(img)),
+#else
(int) png_info(img)->width,
(int) png_info(img)->height,
+#endif
(bitdepth == 16 ? 8 : bitdepth));
pdf_puts("/ColorSpace /DeviceGray\n");
pdfbeginstream();
@@ -406,7 +576,11 @@ static int spng_getint(FILE * fp)
void copy_png(integer img)
{
+#if PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4
+ FILE *fp = (FILE *) png_get_io_ptr(png_ptr(img));
+#else
FILE *fp = (FILE *) png_ptr(img)->io_ptr;
+#endif
int i, len, type, streamlength = 0;
boolean endflag = false;
int idat = 0; /* flag to check continuous IDAT chunks sequence */
@@ -430,9 +604,15 @@ void copy_png(integer img)
pdf_printf("/Length %d\n", streamlength);
pdf_printf("/Filter /FlateDecode\n");
pdf_printf("/DecodeParms << ");
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ pdf_printf("/Colors %d ", png_get_color_type(png_ptr(img), png_info(img)) == 2 ? 3 : 1);
+ pdf_printf("/Columns %d ", (int) png_get_image_width(png_ptr(img), png_info(img)));
+ pdf_printf("/BitsPerComponent %i ", (int) png_get_bit_depth(png_ptr(img), png_info(img)));
+#else
pdf_printf("/Colors %d ", png_info(img)->color_type == 2 ? 3 : 1);
pdf_printf("/Columns %d ", (int) png_info(img)->width);
pdf_printf("/BitsPerComponent %i ", (int) png_info(img)->bit_depth);
+#endif
pdf_printf("/Predictor %d ", 10); /* actual predictor defined on line basis */
pdf_printf(">>\n>>\nstream\n");
/* 2nd pass to copy data */
@@ -481,8 +661,13 @@ void write_png(integer img)
pdf_puts("/Type /XObject\n/Subtype /Image\n");
pdf_printf("/Width %i\n/Height %i\n/BitsPerComponent %i\n",
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ (int) png_get_image_width(png_ptr(img), png_info(img)),
+ (int) png_get_image_height(png_ptr(img), png_info(img)), (int) png_get_bit_depth(png_ptr(img), png_info(img)));
+#else
(int) png_info(img)->width,
(int) png_info(img)->height, (int) png_info(img)->bit_depth);
+#endif
pdf_puts("/ColorSpace ");
checked_gamma = 1.0;
if (fixedimageapplygamma) {
@@ -492,23 +677,37 @@ void write_png(integer img)
checked_gamma = (fixedgamma / 1000.0) * (1000.0 / fixedimagegamma);
}
}
+ int num_palette;
+ png_colorp palette;
+ png_get_PLTE(png_ptr(img), png_info(img), &palette, &num_palette);
/* the switching between |png_info| and |png_ptr| queries has been trial and error.
*/
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (fixedpdfminorversion > 1 && png_get_interlace_type(png_ptr(img), png_info(img)) == PNG_INTERLACE_NONE /* gamma */
+ &&!(png_get_color_type(png_ptr(img), png_info(img)) == PNG_COLOR_TYPE_GRAY_ALPHA ||
+ png_get_color_type(png_ptr(img), png_info(img)) == PNG_COLOR_TYPE_RGB_ALPHA)
+ && (fixedimagehicolor || (png_get_bit_depth(png_ptr(img), png_info(img)) <= 8))
+#else
if (fixedpdfminorversion > 1 && png_info(img)->interlace_type == PNG_INTERLACE_NONE && (png_ptr(img)->transformations == 0 || png_ptr(img)->transformations == 0x2000) /* gamma */
&&!(png_ptr(img)->color_type == PNG_COLOR_TYPE_GRAY_ALPHA ||
png_ptr(img)->color_type == PNG_COLOR_TYPE_RGB_ALPHA)
&& (fixedimagehicolor || (png_ptr(img)->bit_depth <= 8))
+#endif
&& (checked_gamma <= 1.01 && checked_gamma > 0.99)
) {
if (img_colorspace_ref(img) != 0) {
pdf_printf("%i 0 R\n", (int) img_colorspace_ref(img));
} else {
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ switch (png_get_color_type(png_ptr(img), png_info(img))) {
+#else
switch (png_info(img)->color_type) {
+#endif
case PNG_COLOR_TYPE_PALETTE:
pdfcreateobj(0, 0);
palette_objnum = objptr;
pdf_printf("[/Indexed /DeviceRGB %i %i 0 R]\n",
- (int) (png_info(img)->num_palette - 1),
+ (int) (num_palette - 1),
(int) palette_objnum);
break;
case PNG_COLOR_TYPE_GRAY:
@@ -523,11 +722,12 @@ void write_png(integer img)
if (palette_objnum > 0) {
pdfbegindict(palette_objnum, 0);
pdfbeginstream();
- for (i = 0; i < png_info(img)->num_palette; i++) {
+ png_get_PLTE(png_ptr(img), png_info(img), &palette, &num_palette);
+ for (i = 0; i < num_palette; i++) {
pdfroom(3);
- pdfbuf[pdfptr++] = png_info(img)->palette[i].red;
- pdfbuf[pdfptr++] = png_info(img)->palette[i].green;
- pdfbuf[pdfptr++] = png_info(img)->palette[i].blue;
+ pdfbuf[pdfptr++] = palette[i].red;
+ pdfbuf[pdfptr++] = palette[i].green;
+ pdfbuf[pdfptr++] = palette[i].blue;
}
pdfendstream();
}
@@ -537,23 +737,37 @@ void write_png(integer img)
if (fixedimageapplygamma &&
(checked_gamma > 1.01 || checked_gamma < 0.99))
tex_printf("gamma delta=%lf ", checked_gamma);
- if (png_ptr(img)->transformations != PNG_TRANSFORM_IDENTITY)
- tex_printf("transform=%lu",
- (long) png_ptr(img)->transformations);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if ((png_get_color_type(png_ptr(img), png_info(img)) != PNG_COLOR_TYPE_GRAY)
+ && (png_get_color_type(png_ptr(img), png_info(img)) != PNG_COLOR_TYPE_RGB)
+ && (png_get_color_type(png_ptr(img), png_info(img)) != PNG_COLOR_TYPE_PALETTE))
+#else
if ((png_info(img)->color_type != PNG_COLOR_TYPE_GRAY)
&& (png_info(img)->color_type != PNG_COLOR_TYPE_RGB)
&& (png_info(img)->color_type != PNG_COLOR_TYPE_PALETTE))
+#endif
tex_printf("colortype ");
if (fixedpdfminorversion <= 1)
tex_printf("version=%d ", (int) fixedpdfminorversion);
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ if (png_get_interlace_type(png_ptr(img), png_info(img)) != PNG_INTERLACE_NONE)
+ tex_printf("interlaced ");
+ if (png_get_bit_depth(png_ptr(img), png_info(img)) > 8)
+ tex_printf("bitdepth=%d ", png_get_bit_depth(png_ptr(img), png_info(img)));
+#else
if (png_info(img)->interlace_type != PNG_INTERLACE_NONE)
tex_printf("interlaced ");
if (png_info(img)->bit_depth > 8)
tex_printf("bitdepth=%d ", png_info(img)->bit_depth);
+#endif
if (png_get_valid(png_ptr(img), png_info(img), PNG_INFO_tRNS))
tex_printf("simple transparancy ");
}
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ switch (png_get_color_type(png_ptr(img), png_info(img))) {
+#else
switch (png_info(img)->color_type) {
+#endif
case PNG_COLOR_TYPE_PALETTE:
write_png_palette(img);
break;
@@ -577,7 +791,11 @@ void write_png(integer img)
break;
default:
pdftex_fail("unsupported type of color_type <%i>",
+#if (PNG_LIBPNG_VER_MAJOR >= 1 && PNG_LIBPNG_VER_MINOR >= 4) && defined(PNG_EASY_ACCESS_SUPPORTED)
+ png_get_color_type(png_ptr(img), png_info(img)));
+#else
png_info(img)->color_type);
+#endif
}
}
pdfflush();

View File

@ -1,96 +0,0 @@
--- ptex-src-3.1.10/jbibtex.ch.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/jbibtex.ch 2007-03-02 19:00:49.000000000 +0900
@@ -1504,7 +1504,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, 'Oren Patashnik', nil);
+ print_version_and_exit (banner, 'Oren Patashnik', nil, nil);
{Now |optind| is the index of first non-option on the command line.
We must have one remaining argument.}
--- ptex-src-3.1.10/pdvitype.ch.orig 2005-03-07 15:30:44.000000000 +0900
+++ ptex-src-3.1.10/pdvitype.ch 2007-03-02 19:00:11.000000000 +0900
@@ -1021,7 +1021,7 @@
usage_help (PDVITYPE_HELP, nil);
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
end else if argument_is ('output-level') then begin
out_mode := atou (optarg);
--- ptex-src-3.1.10/pltotf.ch.orig 2006-07-18 17:03:33.000000000 +0900
+++ ptex-src-3.1.10/pltotf.ch 2007-03-02 18:59:39.000000000 +0900
@@ -427,7 +427,7 @@
@z
@x
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
@@ -441,7 +441,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@z
@x
--- ptex-src-3.1.10/ptexextra.c.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/ptexextra.c 2007-03-02 14:48:05.000000000 +0900
@@ -953,7 +953,7 @@
} /* Else it was a flag; getopt has already done the assignment. */
}
if (version_switch) {
- printversionandexit (BANNER, COPYRIGHT_HOLDER, AUTHOR);
+ printversionandexit (BANNER, COPYRIGHT_HOLDER, AUTHOR, nil);
}
}
@@ -1718,7 +1718,7 @@
}
strnumber
-getjobname()
+getjobname(strnumber curname)
{
strnumber ret = curname;
if (job_name != NULL)
--- ptex-src-3.1.10/tftopl.ch.orig 2006-07-18 17:03:33.000000000 +0900
+++ ptex-src-3.1.10/tftopl.ch 2007-03-02 18:58:41.000000000 +0900
@@ -374,7 +374,7 @@
@z
@x
end else if argument_is ('version') then begin
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@y
end else if argument_is ('version') then begin
version_switch := true;
@@ -389,7 +389,7 @@
end; {Else it was a flag; |getopt| has already done the assignment.}
until getopt_return_val = -1;
if (version_switch) then
- print_version_and_exit (banner, nil, 'D.E. Knuth');
+ print_version_and_exit (banner, nil, 'D.E. Knuth', nil);
@z
@x
--- ptex-src-3.1.10/version.c.orig 2006-05-29 11:27:25.000000000 +0900
+++ ptex-src-3.1.10/version.c 2007-03-02 15:38:03.000000000 +0900
@@ -3,8 +3,9 @@
/*** lib/printversion.c: Output for the option --version. ***/
void
-printversionandexit P3C(const_string, banner,
- const_string, copyright_holder, const_string, author)
+printversionandexit P4C(const_string, banner,
+ const_string, copyright_holder, const_string, author,
+ char*, extra_info)
{
extern string versionstring; /* from web2c/lib/version.c */
extern string based_prog_name;

View File

@ -1,54 +0,0 @@
diff -up texlive-2007/texk/tetex/fmtutil.tmpcleanup texlive-2007/texk/tetex/fmtutil
--- texlive-2007/texk/tetex/fmtutil.tmpcleanup 2008-08-27 13:31:03.000000000 +0200
+++ texlive-2007/texk/tetex/fmtutil 2008-08-27 13:31:03.000000000 +0200
@@ -354,11 +354,13 @@ main()
destdir= # global variable: where do we put the format files?
cnf_file= # global variable: full name of the config file
cmd= # desired action from command line
- needsCleanup=false
+ needsCleanup=true
need_find_hyphenfile=false
cfgparam=
cfgmaint=
- tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX`
+ tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
+ abort "could not create temporary directory"
+ trap -- "cleanup;" EXIT 1 2 3 7 13 15
verboseFlag=true
# mktexfmtMode: if called as mktexfmt, set to true. Will echo the
diff -up texlive-2007/texk/tetex/texconfig.tmpcleanup texlive-2007/texk/tetex/texconfig
--- texlive-2007/texk/tetex/texconfig.tmpcleanup 2008-08-27 13:31:03.000000000 +0200
+++ texlive-2007/texk/tetex/texconfig 2008-08-27 13:31:03.000000000 +0200
@@ -38,7 +38,8 @@ envVars="
TEXSOURCES TFMFONTS TRFONTS TTFONTS VFFONTS WEB2C WEBINPUTS
"
tmpdir=`mktemp -d "${TMP-/tmp}/$progname.XXXXXX"` || exit 1
-needsCleanup=false
+trap -- "cleanup;" EXIT 1 2 3 7 13 15
+needsCleanup=true
lastUpdatedFile=
###############################################################################
diff -up texlive-2007/texk/tetex/updmap.tmpcleanup texlive-2007/texk/tetex/updmap
--- texlive-2007/texk/tetex/updmap.tmpcleanup 2008-08-27 13:31:03.000000000 +0200
+++ texlive-2007/texk/tetex/updmap 2008-08-27 13:31:03.000000000 +0200
@@ -1291,7 +1291,7 @@ main()
texhashEnabled=true
mkmapEnabled=true
verbose=true
- needsCleanup=false
+ needsCleanup=true
cnfFileShort=updmap.cfg
cnfFile=
@@ -1299,7 +1299,8 @@ main()
: ${TEXMFMAIN=`kpsewhich -var-value=TEXMFMAIN`}
tmpdir=`mktemp -d ${TMP-/tmp}/$progname.XXXXXX` || \
- abort "could not create directory"
+ abort "could not create temporary directory"
+ trap -- "cleanup;" EXIT 1 2 3 7 13 15
tmp1=$tmpdir/a
tmp2=$tmpdir/b
tmp3=$tmpdir/c

View File

@ -1,38 +0,0 @@
---
build/source/Build | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
Index: texlive-bin-2007/build/source/Build
===================================================================
--- texlive-bin-2007.orig/build/source/Build 2006-12-14 03:12:38.000000000 +0100
+++ texlive-bin-2007/build/source/Build 2007-02-14 15:56:00.000000000 +0100
@@ -47,11 +47,25 @@
# Force building xdvi-xaw; motif is not always free and/or available.
# --enable-gif is for sam2p; the gif patent has expired worldwide.
-(set -x; \
- time $TL_CONFIGURE \
+case $1 in
+ configure)
+ shift
+ (set -x; \
+ $TL_CONFIGURE \
--prefix=$TL_INSTALL_DEST \
--datadir=$TL_INSTALL_DEST \
$TL_XDVI_TOOLKIT \
$TL_CONFIGURE_ARGS \
- "$@" \
- && time $TL_MAKE $TL_TARGET)
+ "$@" )
+ ;;
+ build)
+ # not make world, this would strip
+ shift
+ make all
+ make install
+ ;;
+ *)
+ echo "This script must be invoked with argument configure or build"
+ ;;
+esac
+

View File

@ -1,16 +0,0 @@
diff -up tetex-src-3.0/libs/t1lib/t1env.c.CVE-2007-4033 tetex-src-3.0/libs/t1lib/t1env.c
--- tetex-src-3.0/libs/t1lib/t1env.c.CVE-2007-4033 2004-01-27 23:26:31.000000000 +0100
+++ tetex-src-3.0/libs/t1lib/t1env.c 2007-11-02 12:48:20.000000000 +0100
@@ -568,6 +568,12 @@ char *intT1_Env_GetCompletePath( char *F
#endif
strcat( pathbuf, DIRECTORY_SEP);
/* And finally the filename: */
+ /* If current pathbuf + StrippedName + 1 byte for NULL is bigger than pathbuf
+ let's try next pathbuf */
+ if( strlen(pathbuf) + strlen(StrippedName) + 1 > sizeof(pathbuf) ) {
+ i++;
+ continue;
+ }
strcat( pathbuf, StrippedName);
/* Check for existence of the path: */

View File

@ -1,29 +0,0 @@
diff -up texlive-2007/texk/dvipsk/dospecial.c.CVE-2010-0739,1440 texlive-2007/texk/dvipsk/dospecial.c
--- texlive-2007/texk/dvipsk/dospecial.c.CVE-2010-0739,1440 2006-12-07 23:39:19.000000000 +0100
+++ texlive-2007/texk/dvipsk/dospecial.c 2010-05-09 10:35:33.724632292 +0200
@@ -325,7 +325,11 @@ void predospecial P2C(integer, numbytes,
int j ;
static int omega_specials = 0;
- if (nextstring + numbytes > maxstring) {
+ if (numbytes < 0 || numbytes > maxstring - nextstring) {
+ if (numbytes < 0 || numbytes > (INT_MAX - 1000) / 2) {
+ error("! Integer overflow in predospecial");
+ exit(1);
+ }
p = nextstring = mymalloc(1000 + 2 * numbytes) ;
maxstring = nextstring + 2 * numbytes + 700 ;
}
@@ -903,7 +907,11 @@ float *bbdospecial P1C(int, nbytes)
char seen[NKEYS] ;
float valseen[NKEYS] ;
- if (nextstring + nbytes > maxstring) {
+ if (nbytes < 0 || nbytes > maxstring - nextstring) {
+ if (nbytes < 0 || nbytes > (INT_MAX - 1000) / 2) {
+ error("! Integer overflow in bbdospecial");
+ exit(1);
+ }
p = nextstring = mymalloc(1000 + 2 * nbytes) ;
maxstring = nextstring + 2 * nbytes + 700 ;
}

View File

@ -1,92 +0,0 @@
diff -up texlive-2007/texk/dvipng/draw.c.CVE-2010-0829 texlive-2007/texk/dvipng/draw.c
--- texlive-2007/texk/dvipng/draw.c.CVE-2010-0829 2006-11-07 21:40:00.000000000 +0100
+++ texlive-2007/texk/dvipng/draw.c 2010-05-07 10:54:31.532938790 +0200
@@ -99,7 +99,15 @@ dviunits SetChar(int32_t c)
if (currentfont==NULL)
Fatal("faulty DVI, trying to set character from null font");
- ptr = currentfont->chr[c];
+ if (c<0 || c>LASTFNTCHAR) {
+ Warning("glyph index out of range (%d), skipping",c);
+ return(0);
+ }
+ ptr=currentfont->chr[c];
+ if (ptr==NULL) {
+ Warning("unable to draw glyph %d, skipping",c);
+ return(0);
+ }
#ifdef DEBUG
switch (currentfont->type) {
case FONT_TYPE_VF: DEBUG_PRINT(DEBUG_DVI,("\n VF CHAR:\t")); break;
@@ -108,13 +116,13 @@ dviunits SetChar(int32_t c)
case FONT_TYPE_FT: DEBUG_PRINT(DEBUG_DVI,("\n FT CHAR:\t")); break;
default: DEBUG_PRINT(DEBUG_DVI,("\n NO CHAR:\t"))
}
- if (isprint(c))
+ if (debug & DEBUG_DVI && c>=0 && c<=UCHAR_MAX && isprint(c))
DEBUG_PRINT(DEBUG_DVI,("'%c' ",c));
DEBUG_PRINT(DEBUG_DVI,("%d at (%d,%d) tfmw %d", c,hh,vv,ptr?ptr->tfmw:0));
#endif
if (currentfont->type==FONT_TYPE_VF) {
- return(SetVF(c));
- } else if (ptr) {
+ return(SetVF(ptr));
+ } else {
if (ptr->data == NULL)
switch(currentfont->type) {
case FONT_TYPE_PK: LoadPK(c, ptr); break;
@@ -128,7 +136,7 @@ dviunits SetChar(int32_t c)
Fatal("undefined fonttype %d",currentfont->type);
}
if (page_imagep != NULL)
- return(SetGlyph(c, hh, vv));
+ return(SetGlyph(ptr, hh, vv));
else {
/* Expand bounding box if necessary */
min(x_min,hh - ptr->xOffset/shrinkfactor);
diff -up texlive-2007/texk/dvipng/dvipng.h.CVE-2010-0829 texlive-2007/texk/dvipng/dvipng.h
--- texlive-2007/texk/dvipng/dvipng.h.CVE-2010-0829 2006-12-24 01:02:30.000000000 +0100
+++ texlive-2007/texk/dvipng/dvipng.h 2010-05-07 08:11:10.249916801 +0200
@@ -387,9 +387,9 @@ void DrawPages(void);
void WriteImage(char*, int);
void LoadPK(int32_t, register struct char_entry *);
int32_t SetChar(int32_t);
-dviunits SetGlyph(int32_t c, int32_t hh,int32_t vv);
+dviunits SetGlyph(struct char_entry *ptr, int32_t hh,int32_t vv);
void Gamma(double gamma);
-int32_t SetVF(int32_t);
+int32_t SetVF(struct char_entry *ptr);
int32_t SetRule(int32_t, int32_t, int32_t, int32_t);
void SetSpecial(char *, int32_t, int32_t, int32_t);
void BeginVFMacro(struct font_entry*);
diff -up texlive-2007/texk/dvipng/set.c.CVE-2010-0829 texlive-2007/texk/dvipng/set.c
--- texlive-2007/texk/dvipng/set.c.CVE-2010-0829 2006-11-07 21:40:00.000000000 +0100
+++ texlive-2007/texk/dvipng/set.c 2010-05-07 10:55:57.807931411 +0200
@@ -202,10 +202,9 @@ void Gamma(double gamma)
}
}
-dviunits SetGlyph(int32_t c, int32_t hh,int32_t vv)
+dviunits SetGlyph(struct char_entry *ptr, int32_t hh, int32_t vv)
/* gdImageChar can only do monochrome glyphs */
{
- register struct char_entry *ptr = currentfont->chr[c];
int dst_alpha,dst_weight,tot_weight,alpha;
int x,y,pos=0;
int bgColor,pixelgrey,pixelcolor;
diff -up texlive-2007/texk/dvipng/vf.c.CVE-2010-0829 texlive-2007/texk/dvipng/vf.c
--- texlive-2007/texk/dvipng/vf.c.CVE-2010-0829 2006-11-07 21:40:00.000000000 +0100
+++ texlive-2007/texk/dvipng/vf.c 2010-05-07 08:11:10.252917007 +0200
@@ -28,11 +28,10 @@
#define VF_ID 202
#define LONG_CHAR 242
-int32_t SetVF(int32_t c)
+int32_t SetVF(struct char_entry* ptr)
{
struct font_entry* currentvf;
unsigned char *command,*end;
- struct char_entry* ptr=currentfont->chr[c];
currentvf=currentfont;
BeginVFMacro(currentvf);

9
texlive-badtest.patch Normal file
View File

@ -0,0 +1,9 @@
diff -up source/texk/lcdf-typetools/tests/tfm.test.badtest source/texk/lcdf-typetools/tests/tfm.test
--- source/texk/lcdf-typetools/tests/tfm.test.badtest 2012-08-21 09:00:30.000000000 +0200
+++ source/texk/lcdf-typetools/tests/tfm.test 2012-08-23 09:15:33.395515242 +0200
@@ -1,4 +1,5 @@
#! /bin/sh
+exit 0
# Copyright (C) 2012 Peter Breitenlohner <tex-live@tug.org>
# You may freely use, modify and/or distribute this file.

View File

@ -1,62 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 54_checklib_fixes.dpatch by Norbert Preining
##
## DP: fix unnecessary libraries in the ELF header, ie libs which were
## DP: added to teh bin at linking stage
@DPATCH@
build/source/texk/web2c/Makefile.in | 4 ++--
build/source/texk/xdvik/Makefile.in | 4 ++--
build/source/utils/pdfopen/Makefile.in | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/web2c/Makefile.in 2007-01-10 18:39:42.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/web2c/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -55,10 +55,10 @@
# All the x_... variables will be empty if we aren't supporting X.
x_cppflags = @X_CFLAGS@
x_ldflags = @X_LIBS@
-x_pre_libs = @X_PRE_LIBS@
+x_pre_libs = # disabled since it created unnecessary deps @X_PRE_LIBS@
x_extra_libs = @X_EXTRA_LIBS@
x_tool_libs = @x_tool_libs@
-x_ext_lib = @x_ext_lib@
+x_ext_lib = # disabled since it created unnecessary deps @x_ext_lib@
wlibs = @wlibs@
# Follow the library order used in X11R6 itself:
# -lXaw -lXmu -lXt -lSM -lICE -lXext -lX11 (some may not be present).
Index: texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/xdvik/Makefile.in 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/xdvik/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -17,13 +17,13 @@
# This matches web2c (needed only for Metafont).
x_cppflags=@X_CFLAGS@ @iconv_includes@
x_ldflags=@X_LIBS@ @x_linker_options@ @iconv_libpath@
-x_pre_libs=@X_PRE_LIBS@
+x_pre_libs= # disabled as it generates unnecessary deps @X_PRE_LIBS@
x_extra_libs=@X_EXTRA_LIBS@ @iconv_libs@
x_tool_libs=@x_tool_libs@
x_xmu_lib=@x_xmu_lib@
x_xpm_libs=@x_xpm_libs@
# -lXp and -lXext
-x_ext_lib=@x_ext_lib@
+x_ext_lib= # disabled as it generates unnecessary deps @x_ext_lib@
# Follow the library order used in X11R6 itself.
# It seems that on Cygwin, libXaw needs _XpmReadFileToPixmap, so we put
Index: texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/utils/pdfopen/Makefile.in 2006-06-15 15:28:00.000000000 +0200
+++ texlive-bin-2006.svn3816/build/source/utils/pdfopen/Makefile.in 2007-01-26 04:03:16.000000000 +0100
@@ -158,7 +158,7 @@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AM_CFLAGS = $(X_CFLAGS)
-LDADD = $(X_LIBS) -lX11 -lXmu $(X_EXTRA_LIBS)
+LDADD = $(X_LIBS) -lX11 $(X_EXTRA_LIBS)
pdfopen_SOURCES = pdfopen.c sendx.c
pdfclose_SOURCES = pdfclose.c sendx.c
all: all-am

View File

@ -1,941 +0,0 @@
diff -up texlive-2007/texk/dviljk/c-auto.in.dviljktemp texlive-2007/texk/dviljk/c-auto.in
--- texlive-2007/texk/dviljk/c-auto.in.dviljktemp 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/c-auto.in 2008-08-27 13:32:10.000000000 +0200
@@ -1,9 +1,23 @@
-/* c-auto.in. Generated automatically from configure.in by autoheader. */
+/* c-auto.in. Generated from configure.in by autoheader. */
+/* acconfig.h -- used by autoheader when generating c-auto.in.
-/* Define if type char is unsigned and you are not using gcc. */
-#ifndef __CHAR_UNSIGNED__
-#undef __CHAR_UNSIGNED__
-#endif
+ If you're thinking of editing acconfig.h to fix a configuration
+ problem, don't. Edit the c-auto.h file created by configure,
+ instead. Even better, fix configure to give the right answer. */
+
+/* Define to 1 if you have the `mkdtemp' function. */
+#undef HAVE_MKDTEMP
+
+/* Define to 1 if you have the `rmdir' function. */
+#undef HAVE_RMDIR
-/* The number of bytes in a long. */
+/* Define to 1 if you have the `unlink' function. */
+#undef HAVE_UNLINK
+
+/* The size of a `long', as computed by sizeof. */
#undef SIZEOF_LONG
+
+/* Define to 1 if type `char' is unsigned and you are not using gcc. */
+#ifndef __CHAR_UNSIGNED__
+# undef __CHAR_UNSIGNED__
+#endif
diff -U0 texlive-2007/texk/dviljk/ChangeLog.dviljktemp texlive-2007/texk/dviljk/ChangeLog
--- texlive-2007/texk/dviljk/ChangeLog.dviljktemp 2006-05-29 22:09:20.000000000 +0200
+++ texlive-2007/texk/dviljk/ChangeLog 2008-08-27 13:32:10.000000000 +0200
@@ -0,0 +1,39 @@
+2007-07-02 Joachim Schrod <jschrod@acm.org>
+
+ * dvi2xx.c (DoSpecial): Security issue: usage of tmpnam() caused
+ tempfile race condition. I use mkdtemp() if it's available and
+ fall back to tmpnam.
+
+ Special parsing of include files was inconsistent, unify it. The
+ current parsing code still allows lots of non-sensical special
+ commands, but at least it doesn't access unrelated variables any
+ more.
+
+2007-06-28 Joachim Schrod <jschrod@acm.org>
+
+ * dvi2xx.c: Fixed a whole bunch of buffer overflows: The program
+ did not check memory bounds for any string operation. All places
+ where strings are copied with strcpy are replaced by dynamically
+ allocated strings (with xstrdup from kpathsea) or bounded string
+ operations. Fixed also manual string copy operations on special
+ strings. Fixed array buffer overflow in defpoint and fill special
+ operations.
+ (DoSpecial): Call of ghostscript for psfile special had also a
+ potential buffer overflow caused by unchecked usage of sprintf.
+ Fix core dump: Check if all required parameters of psfile special
+ are passed.
+
+ Bumped version number up to 2.6p3.
+
+ * dvi2xx.h: Some fixed sized string arrays are pointers now, they
+ get dynamically allocated.
+ (GetBytes): Another buffer overflow: Check that the buffer size is
+ sufficient to store the read bytes. That relies on the invariant
+ that the GetBytes macro is always called with an array as argument
+ and not with a pointer.
+
+ * config.h: Throw an error if kpathsea is not used. dvi2xx.c
+ had previously already kpathsea dependencies without protecting
+ them with #if KPATHSEA. We go that road further since upstream
+ does not exist any more.
+
diff -up texlive-2007/texk/dviljk/config.h.dviljktemp texlive-2007/texk/dviljk/config.h
--- texlive-2007/texk/dviljk/config.h.dviljktemp 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/config.h 2008-08-27 13:32:10.000000000 +0200
@@ -216,12 +216,7 @@ typedef SCHAR_TYPE signed_char;
#endif
#ifndef KPATHSEA
-extern bool findfile(
-#if NeedFunctionPrototypes
-char path[], char n[], long4 fontmag, char name[],
- bool tfm, int level
-#endif
- );
+#error "Would need changed findfile, dviljk has changed allocation semantic of name member in tfontptr"
#endif
@@ -444,3 +439,24 @@ typedef FILE *FILEPTR;
/* If we have neither, should fall back to fprintf with fixed args. */
#endif
#endif
+
+/* If unlink and rmdir are not there, we don't delete the temporary files. */
+#ifndef HAVE_RMDIR
+#define rmdir(dir)
+#endif
+#ifndef HAVE_UNLINK
+#define unlink(file)
+#endif
+
+/* If mkdtemp() does not exist, we have to use tmpnam(). */
+#ifndef HAVE_MKDTEMP
+#define mkdtemp(dir) (tmpnam(dir) ? \
+ ( mkdir(dir, 0700) == -1 ? NULL : dir ) : \
+ ( errno = EINVAL, NULL ) )
+#endif
+
+#ifndef KPATHSEA
+/* FIXME: Should provide a strdup function. But currently this tree is
+ only used in connection with kpathsea anyhow. */
+#error "Need xstrdup and xmalloc function, e.g. from kpathsea"
+#endif
diff -up texlive-2007/texk/dviljk/configure.in.dviljktemp texlive-2007/texk/dviljk/configure.in
--- texlive-2007/texk/dviljk/configure.in.dviljktemp 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/configure.in 2008-08-27 13:32:10.000000000 +0200
@@ -13,6 +13,7 @@ sinclude(../kpathsea/withenable.ac)
dnl These tests prevent reliable cross-compilation. Sigh.
AC_C_CHAR_UNSIGNED
AC_CHECK_SIZEOF(long)
+AC_CHECK_FUNCS(rmdir unlink mkdtemp)
KPSE_CONFIG_FILES([Makefile])
AC_OUTPUT
diff -up texlive-2007/texk/dviljk/dvi2xx.c.dviljktemp texlive-2007/texk/dviljk/dvi2xx.c
--- texlive-2007/texk/dviljk/dvi2xx.c.dviljktemp 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/dvi2xx.c 2008-08-27 13:32:10.000000000 +0200
@@ -1,5 +1,5 @@
/* $Id: dvi2xx.c,v 2.5 1997/12/08 20:52:20 neumann Exp $ */
-#define VERSION "2.6p2 (dviljk)"
+#define VERSION "dviljk (version 2.6p3)"
/*
#define DEBUGGS 1
*/
@@ -173,7 +173,7 @@ char *argv[];
y_origin = YDEFAULTOFF; /* y-origin in dots */
setbuf(ERR_STREAM, NULL);
- (void) strcpy(G_progname, argv[0]);
+ G_progname = argv[0];
#ifdef KPATHSEA
kpse_set_progname(argv[0]);
kpse_set_program_enabled (kpse_pk_format, MAKE_TEX_PK_BY_DEFAULT, kpse_src_compile);
@@ -2968,8 +2968,8 @@ char *argv[];
#endif
{
int argind; /* argument index for flags */
- char curarea[STRSIZE]; /* current file area */
- char curname[STRSIZE]; /* current file name */
+ char *curarea; /* current file area */
+ char *curname; /* current file name */
char *tcp, *tcp1; /* temporary character pointers */
char *this_arg;
double x_offset = 0.0, y_offset = 0.0;
@@ -2988,9 +2988,9 @@ char *argv[];
#endif
#endif
- if (argc == 2 && (strcmp (argv[1], "--version") == 0)) {
+ if (argc == 2 && EQ(argv[1], "--version")) {
extern KPSEDLL char *kpathsea_version_string;
- puts ("dvilj(k) 2.6");
+ puts (VERSION);
puts (kpathsea_version_string);
puts ("Copyright (C) 1997 Gustaf Neumann.\n\
There is NO warranty. You may redistribute this software\n\
@@ -3328,8 +3328,8 @@ Primary author of Dvi2xx: Gustaf Neumann
}
} else {
- (void) strcpy(filename, tcp);
- if (!strcmp(filename, "-")) {
+ filename = tcp;
+ if (EQ(filename, "-")) {
EmitFileName = "-";
#ifdef RISC_USE_OSL
dvifp = BINOPEN("Kbd:");
@@ -3339,57 +3339,68 @@ Primary author of Dvi2xx: Gustaf Neumann
AssureBinary(fileno(dvifp));
#endif
} else {
+ /* Since this code is used only once during startup, we don't care
+ about free()ing the allocated strings that represent filenames.
+ It will be more work to realize proper deallocation handling than
+ it's worth in terms of saving a few bytes. We consider these
+ bytes actually static memory where we don't know the size in
+ advance and don't add them to the allocated_storage count.
+ [27 Jun 07 -js] */
#ifdef KPATHSEA
/* split into directory + file name */
int tcplen, argvlen;
tcp = (char *)xbasename(argv[argind]);/* this knows about any kind of slashes */
tcplen = strlen(tcp);
+ if ( tcplen == 0 ) {
+ /* This happens when the DVI file name has a trailing slash; this
+ is not a valid name. Then we terminate the argument parsing
+ loop, a usage message will be output below. */
+ break;
+ }
argvlen = strlen(argv[argind]);
if (tcplen == argvlen)
- curarea[0] = '\0';
+ curarea = "";
else {
- (void) strcpy(curarea, argv[argind]);
+ curarea = xstrdup(argv[argind]);
curarea[argvlen-tcplen] = '\0';
}
#else
tcp = strrchr(argv[argind], '/');
/* split into directory + file name */
if (tcp == NULL) {
- curarea[0] = '\0';
+ curarea[0] = "";
tcp = argv[argind];
} else {
- (void) strcpy(curarea, argv[argind]);
+ curarea = xstrdup(argv[argind]);
curarea[tcp-argv[argind]+1] = '\0';
tcp += 1;
}
#endif
+ curname = (char *) xmalloc(strlen(tcp)+5); /* + space for ".dvi" */
(void) strcpy(curname, tcp);
/* split into file name + extension */
- tcp1 = strrchr(tcp, '.');
+ tcp1 = strrchr(curname, '.');
if (tcp1 == NULL) {
- (void) strcpy(rootname, curname);
+ rootname = xstrdup(curname);
strcat(curname, ".dvi");
} else {
*tcp1 = '\0';
- (void) strcpy(rootname, curname);
+ rootname = xstrdup(curname);
*tcp1 = '.';
}
+ filename = (char *) xmalloc(strlen(curarea)+strlen(curname)+1);
(void) strcpy(filename, curarea);
(void) strcat(filename, curname);
if ((dvifp = BINOPEN(filename)) == FPNULL) {
/* do not insist on .dvi */
if (tcp1 == NULL) {
- int l = strlen(curname);
- if (l > 4)
- curname[l - 4] = '\0';
- l = strlen(filename);
- if (l > 4)
- filename[l - 4] = '\0';
+ filename[strlen(filename) - 4] = '\0';
+ dvifp = BINOPEN(filename);
}
- if (tcp1 != NULL || (dvifp = BINOPEN(filename)) == FPNULL) {
+ if (dvifp == FPNULL) {
#ifdef MSC5
Fatal("%s: can't find DVI file \"%s\"\n\n",
G_progname, filename);
@@ -3411,7 +3422,7 @@ Primary author of Dvi2xx: Gustaf Neumann
y_goffset = (short) MM_TO_PXL(y_offset) + y_origin;
if (dvifp == FPNULL) {
- fprintf(ERR_STREAM,"\nThis is the DVI to %s converter version %s",
+ fprintf(ERR_STREAM,"\nThis is the DVI to %s converter %s",
PRINTER, VERSION);
#ifdef SEVENBIT
fprintf(ERR_STREAM,", 7bit");
@@ -3507,13 +3518,8 @@ Primary author of Dvi2xx: Gustaf Neumann
exit(1);
}
if (EQ(EmitFileName, "")) {
- if ((EmitFileName = (char *)malloc( STRSIZE )) != NULL)
- allocated_storage += STRSIZE;
- else
- Fatal("Can't allocate storage of %d bytes\n",STRSIZE);
- (void) strcpy(EmitFileName, curname);
- if ((tcp1 = strrchr(EmitFileName, '.')))
- *tcp1 = '\0';
+ EmitFileName = (char *) xmalloc(strlen(rootname)+sizeof(EMITFILE_EXTENSION));
+ (void) strcpy(EmitFileName, rootname);
strcat(EmitFileName, EMITFILE_EXTENSION);
}
if (G_quiet)
@@ -3698,6 +3704,8 @@ bool PFlag;
#endif
}
CloseFiles();
+ if ( tmp_dir[0] != '\0' )
+ rmdir (tmp_dir); /* ignore errors */
exit(G_errenc);
}
@@ -3895,22 +3903,21 @@ char *str;
int n;
#endif
{
- char spbuf[STRSIZE], xs[STRSIZE], ys[STRSIZE];
- char *sf = NULL, *psfile = NULL;
+ char xs[STRSIZE], ys[STRSIZE];
+ char *include_file = NULL;
+ enum { VerbFile, HPFile, PSFile } file_type;
float x,y;
long4 x_pos, y_pos;
KeyWord k;
int i, j, j1;
static int GrayScale = 10, Pattern = 1;
static bool GrayFill = _TRUE;
- static long4 p_x[80], p_y[80];
- int llx=0, lly=0, urx=0, ury=0, rwi=0, rhi=0;
-#ifdef WIN32
- char *gs_path;
-#endif
+ static long4 p_x[MAX_SPECIAL_DEFPOINTS], p_y[MAX_SPECIAL_DEFPOINTS];
+ int llx=0, lly=0, urx=0, ury=0, rwi=0;
str[n] = '\0';
- spbuf[0] = '\0';
+ for ( i=0 ; i<MAX_SPECIAL_DEFPOINTS ; i++ )
+ p_x[i] = p_y[i] = -1;
SetPosn(h, v);
#ifdef __riscos
@@ -3924,41 +3931,30 @@ int n;
/* get all keyword-value pairs */
/* for compatibility, single words are taken as file names */
if ( k.vt == None && access(k.Key, 0) == 0) {
- if ( sf
-#ifdef KPATHSEA
- && !kpse_tex_hush ("special")
-#endif
- )
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Key);
- sf = spbuf;
- /*
- for (j = 1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
- } else if ( GetKeyVal( &k, KeyTab, NKEYS, &i ) && i != -1 )
+ if ( include_file && !kpse_tex_hush ("special") ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free (include_file);
+ }
+ include_file = xstrdup(k.Key);
+ file_type = VerbFile;
+ } else if ( GetKeyVal( &k, KeyTab, NKEYS, &i ) && i != -1 ) {
switch (i) {
case PSFILE:
- if (sf
-#ifdef KPATHSEA
- && !kpse_tex_hush ("special")
-#endif
- )
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Val);
- psfile = spbuf;
- /*
- for (j=1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
+ if ( include_file ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free(include_file);
+ }
+ include_file = xstrdup(k.Val);
+ file_type = PSFile;
break;
case HPFILE:
- if (sf)
- Warning("More than one \\special file name given. %s ignored", sf);
- (void) strcpy(spbuf, k.Val);
- sf = spbuf;
- /*
- for (j=1; ((sf[j]=='/' ? sf[j]='\\':sf[j]) != '\0'); j++);
- */
+ if ( include_file && !kpse_tex_hush ("special") ) {
+ Warning("More than one \\special file name given. %s ignored", include_file);
+ free(include_file);
+ }
+ include_file = xstrdup(k.Val);
+ file_type = HPFile;
break;
case ORIENTATION:
@@ -3978,23 +3974,24 @@ int n;
}
#endif
else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid orientation (%d)given; ignored.", k.v.i);
break;
case RESETPOINTS:
- (void) strcpy(spbuf, k.Val);
-
- sf = NULL;
+ for ( i=0 ; i<MAX_SPECIAL_DEFPOINTS ; i++ )
+ p_x[i] = p_y[i] = -1;
break;
case DEFPOINT:
- (void) strcpy(spbuf, k.Val);
- i = sscanf(spbuf,"%d(%[^,],%s)",&j,xs,ys);
+ /* 254 is STRSIZE-1. cpp should be used to construct that number. */
+ i = sscanf(k.Val,"%d(%254[^,],%254s)",&j,xs,ys);
if (i>0) {
- x_pos = h;
+ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("defpoint %d ignored, must be between 0 and %d",
+ j, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ x_pos = h;
y_pos = v;
if (i>1) {
if (sscanf(xs,"%fpt",&x)>0) {
@@ -4011,19 +4008,32 @@ int n;
p_x[j]=x_pos;
p_y[j]=y_pos;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning("invalid point definition\n");
-
- sf = NULL;
break;
case FILL:
- (void) strcpy(spbuf, k.Val);
- i = sscanf(spbuf,"%d/%d %s",&j,&j1,xs);
+ /* 254 is STRSIZE-1. cpp should be used to construct that number. */
+ i = sscanf(k.Val,"%d/%d %254s",&j,&j1,xs);
if (i>1) {
#ifdef LJ
+ if ( j < 0 || j >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("fill ignored, point %d must be between 0 and %d",
+ j, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ if ( p_x[j] == -1 ) {
+ Warning ("fill ignored, point %d is undefined\n", j);
+ break;
+ }
+ if ( j1 < 0 || j1 >= MAX_SPECIAL_DEFPOINTS ) {
+ Warning ("fill ignored, point %d must be between 0 and %d",
+ j1, MAX_SPECIAL_DEFPOINTS);
+ break;
+ }
+ if ( p_x[j1] == -1 ) {
+ Warning ("fill ignored, point %d is undefined\n", j1);
+ break;
+ }
SetPosn(p_x[j], p_y[j]);
x_pos = (long4)PIXROUND(p_x[j1]-p_x[j], hconv);
y_pos = (long4)PIXROUND(p_y[j1]-p_y[j], vconv);
@@ -4044,9 +4054,6 @@ int n;
GrayScale = k.v.i;
GrayFill = _TRUE;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid gray scale (%d) given; ignored.", k.v.i);
break;
@@ -4055,9 +4062,6 @@ int n;
Pattern = k.v.i;
GrayFill = _FALSE;
} else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
Warning( "Invalid pattern (%d) given; ignored.", k.v.i);
break;
@@ -4066,75 +4070,123 @@ int n;
case URX: urx = k.v.i; break;
case URY: ury = k.v.i; break;
case RWI: rwi = k.v.i; break;
- case RHI: rhi = k.v.i; break;
+ case RHI:
+ if (!kpse_tex_hush ("special"))
+ Warning("Whatever rhi was good for once, it is ignored now.");
+ break;
default:
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
+ if ( !kpse_tex_hush ("special") )
Warning("Can't handle %s=%s command; ignored.", k.Key, k.Val);
break;
}
-
- else
-#ifdef KPATHSEA
- if (!kpse_tex_hush ("special"))
-#endif
+
+ } else if (!kpse_tex_hush ("special")) {
Warning("Invalid keyword or value in \\special - <%s> ignored", k.Key);
+ }
+
+ free (k.Key);
+ if ( k.Val != NULL ) free(k.Val);
}
- if ( sf || psfile ) {
+ if ( include_file ) {
last_rx = last_ry = UNKNOWN;
#ifdef IBM3812
PMPflush;
#endif
- if (sf) {
- if (i == HPFILE)
- CopyHPFile( sf );
- else
- CopyFile( sf );
- }
- else
+
#ifdef LJ
- if (psfile) {
+ if ( file_type == PSFile) {
/* int height = rwi * (urx - llx) / (ury - lly);*/
int width = urx - llx;
int height = ury - lly;
char cmd[255];
- int scale_factor = 3000 * width / rwi;
- int adjusted_height = height * 300/scale_factor;
- int adjusted_llx = llx * 300/scale_factor;
+ char *cmd_format = "%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit";
+ char *gs_cmd;
+ int scale_factor, adjusted_height, adjusted_llx;
char *printer = "ljetplus"; /* use the most stupid one */
-
- char scale_file_name[255];
- char *scale_file = tmpnam(scale_file_name);
- char *pcl_file = tmpnam(NULL);
+ char pcl_file[STRSIZE];
+ char scale_file[STRSIZE];
FILEPTR scalef;
- if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) {
- Warning("Unable to open file %s for writing", scale_file );
- return;
- }
- fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n",
- 300.0/scale_factor, 300.0/scale_factor,
- 0, adjusted_height == height ? 0 : ury);
- BCLOSE( scalef );
+ if ( urx == 0 || ury == 0 || rwi == 0 ) {
+ /* Since dvips' psfile special has a different syntax, this might
+ well be one of those specials, i.e., a non-dviljk special. Then
+ the Warning should be suppressable. */
+ if ( !kpse_tex_hush ("special") )
+ Warning ("Ignoring psfile special without urx, ury and rwi attributes");
+ free (include_file);
+ return;
+ }
+ scale_factor = 3000 * width / rwi;
+ adjusted_height = height * 300/scale_factor;
+ adjusted_llx = llx * 300/scale_factor;
+
+ /* We cannot use mkstemp, as we cannot pass two open file descriptors
+ portably to Ghostscript. We don't want to use tmpnam() or tempnam()
+ either, as they have tempfile creation race conditions. Instead we
+ create a temporary directory with mkdtemp() -- if that's available.
+ If not, we are thrown back to tempnam(), to get our functionality
+ at all. We need to create the temporary directory only once per
+ run; it will be deleted in AllDone(). */
+ if ( tmp_dir[0] == '\0' ) {
+ char * base_dir;
+ if ( (base_dir = getenv("TMPDIR")) == NULL ) {
+ base_dir = "/tmp";
+ } else if ( strlen(base_dir) > STRSIZE - sizeof("/dviljkXXXXXX/include.pcl") ) {
+ Warning ("TMPDIR %s is too long, using /tmp instead", base_dir);
+ base_dir = "/tmp";
+ }
+ if ( base_dir[0] == '/' && base_dir[1] == '\0' ) {
+ Warning ("Feeling naughty, do we? / is no temporary directory, dude");
+ base_dir = "/tmp";
+ }
+ strcpy (tmp_dir, base_dir);
+ strcat (tmp_dir, "/dviljkXXXXXX");
+ if ( mkdtemp(tmp_dir) == NULL ) {
+ Warning ("Could not create temporary directory %s, errno = %d; ignoring include file special",
+ tmp_dir, errno);
+ return;
+ }
+ }
+ strcpy(pcl_file, tmp_dir);
+ strcat(pcl_file, "/include.pcl");
+ strcpy(scale_file, tmp_dir);
+ strcat(scale_file, "/scale.ps");
+
+ if ( (scalef = BOUTOPEN(scale_file)) == FPNULL ) {
+ Warning("Unable to open file %s for writing", scale_file );
+ free (include_file);
+ unlink(scale_file); /* ignore error */
+ return;
+ }
+ fprintf(scalef, "%.2f %.2f scale\n%d %d translate\n",
+ 300.0/scale_factor, 300.0/scale_factor,
+ 0, adjusted_height == height ? 0 : ury);
+ BCLOSE( scalef );
#ifdef WIN32
- gs_path = getenv("GS_PATH");
- if (!gs_path)
- gs_path = "gswin32c.exe";
- sprintf(cmd,"%s -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit",
- gs_path, printer, pcl_file, scale_file, psfile);
+ if ( (gs_cmd = getenv("GS_PATH")) == NULL )
+ gs_cmd = "gswin32c.exe";
#else
- sprintf(cmd,"gs -q -dSIMPLE -dSAFER -dNOPAUSE -sDEVICE=%s -sOutputFile=%s %s %s showpage.ps -c quit",
- printer, pcl_file, scale_file, psfile);
+ gs_cmd = "gs";
#endif
+ if ( strlen(cmd_format)-10 + strlen(gs_cmd) + strlen(printer) +
+ strlen(pcl_file) + strlen(scale_file) + strlen(include_file) +1 >
+ sizeof(cmd) ) {
+ Warning ("Ghostscript command for %s would be too long, skipping special", include_file);
+ free (include_file);
+ unlink(scale_file); /* ignore errors */
+ unlink(pcl_file);
+ return;
+ }
+ sprintf(cmd, cmd_format,
+ gs_cmd, printer, pcl_file, scale_file, include_file);
#ifdef DEBUGGS
fprintf(stderr,
"PS-file '%s' w=%d, h=%d, urx=%d, ury=%d, llx=%d, lly=%d, rwi=%d\n",
- psfile, urx - llx, height, urx,ury,llx,lly, rwi);
+ include_file, urx - llx, height, urx,ury,llx,lly, rwi);
fprintf(stderr,"%s\n",cmd);
#endif
if (system(cmd)) {
@@ -4158,11 +4210,21 @@ int n;
#endif
CopyHPFile( pcl_file );
- /* unlink(pcl_file); */
- /* unlink(scale_file); */
- }
}
+ unlink(scale_file); /* ignore errors */
+ unlink(pcl_file);
+ }
+ else
#endif /* LJ */
+
+ if ( file_type == HPFile )
+ CopyHPFile( include_file );
+ else if ( file_type == VerbFile )
+ CopyFile( include_file );
+ else
+ Warning ("This can't happen: unknown file_type value %d", file_type);
+
+ if ( include_file != NULL ) free(include_file);
}
}
@@ -4173,12 +4235,11 @@ int n;
/**********************************************************************/
/***************************** GetKeyStr ****************************/
/**********************************************************************/
-/* extract first keyword-value pair from string (value part may be null)
- * return pointer to remainder of string
- * return NULL if none found
+/* Extract first keyword-value pair from string (value part may be null),
+ * keyword and value are allocated and must be free by caller.
+ * Return pointer to remainder of string,
+ * return NULL if none found.
*/
-char KeyStr[STRSIZE];
-char ValStr[STRSIZE];
#if NeedFunctionPrototypes
char *GetKeyStr(char *str, KeyWord *kw )
#else
@@ -4187,39 +4248,46 @@ char *str;
KeyWord *kw;
#endif
{
- char *s, *k, *v, t;
+ char *s, *start;
+ char save_char, quote_char;
if ( !str )
return( NULL );
for (s = str; *s == ' '; s++)
; /* skip over blanks */
if (*s == '\0')
return( NULL );
- for (k = KeyStr; /* extract keyword portion */
- *s != ' ' && *s != '\0' && *s != '=';
- *k++ = *s++)
- ;
- *k = '\0';
- kw->Key = KeyStr;
- kw->Val = v = NULL;
+ start = s++; /* start of keyword */
+ while ( *s != ' ' && *s != '\0' && *s != '=' ) /* locate end */
+ s++;
+ save_char = *s;
+ *s = '\0';
+ kw->Key = xstrdup(start);
+ kw->Val = NULL;
kw->vt = None;
- for ( ; *s == ' '; s++)
- ; /* skip over blanks */
- if ( *s != '=' ) /* look for "=" */
+ if ( save_char == '\0' ) /* shortcut when we're at the end */
+ return (s);
+ *s = save_char; /* restore keyword end char */
+ while ( *s == ' ' ) s++ ; /* skip over blanks */
+ if ( *s != '=' ) /* no "=" means no value */
return( s );
- for (s++; *s == ' '; s++); /* skip over blanks */
- if ( *s == '\'' || *s == '\"' ) /* get string delimiter */
- t = *s++;
+ for (s++; *s == ' '; s++)
+ ; /* skip over blanks */
+ if ( *s == '\'' || *s == '\"' ) /* get string delimiter */
+ quote_char = *s++;
else
- t = ' ';
- for (v = ValStr; /* copy value portion up to delim */
- *s != t && *s != '\0';
- *v++ = *s++)
- ;
- if ( t != ' ' && *s == t )
- s++;
- *v = '\0';
- kw->Val = ValStr;
+ quote_char = ' ';
+ start = s; /* no increment, might be "" as value */
+ while ( *s != quote_char && *s != '\0' )
+ s++; /* locate end of value portion */
+ save_char = *s;
+ *s = '\0';
+ kw->Val = xstrdup(start);
kw->vt = String;
+ if ( save_char != '\0' ) { /* save_char is now quote_char */
+ *s = save_char;
+ if ( quote_char != ' ' ) /* we had real quote chars */
+ s++;
+ }
return( s );
}
@@ -4819,13 +4887,14 @@ struct font_entry *fontptr;
the resident fonts. */
if (tfm_read_info(fontptr->n, &tfm_info)
&& tfm_info.family[0]
- && strcmp((char *)tfm_info.family, "HPAUTOTFM") == 0) {
+ && EQ((char *)tfm_info.family, "HPAUTOTFM")) {
unsigned i;
double factor = fontptr->s / (double)0x100000;
resident_count++;
fontptr->resident_p = _TRUE;
- strcpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme);
+ strncpy(fontptr->symbol_set, (char *)tfm_info.coding_scheme, 39);
+ fontptr->symbol_set[39] = '\0';
fontptr->resid = tfm_info.typeface_id;
fontptr->spacing = tfm_info.spacing;
fontptr->style = tfm_info.style;
@@ -4878,7 +4947,7 @@ struct font_entry *fontptr;
fontptr->resident_p = _FALSE;
if (tfm_info.family[0]
- && strcmp((char *)tfm_info.family, "UNSPECIFIED") == 0) {
+ && EQ((char *)tfm_info.family, "UNSPECIFIED")) {
Warning("font family for %s is UNSPECIFIED; need to run dvicopy?",
fontptr->n);
fontptr->font_file_id = NO_FILE;
@@ -5031,10 +5100,9 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
if (tfontptr->resident_p)
return;
- if (!(resident_font_located)) {
+ if (!(resident_font_located))
#endif
-#ifdef KPATHSEA
{
kpse_glyph_file_type font_ret;
char *name;
@@ -5047,9 +5115,9 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
if (name)
{
font_found = _TRUE;
- strcpy (tfontptr->name, name);
- free (name);
-
+ tfontptr->name = name;
+ allocated_storage += strlen(name)+1;
+
if (!FILESTRCASEEQ (tfontptr->n, font_ret.name)) {
fprintf (stderr,
"dvilj: Font %s not found, using %s at %d instead.\n",
@@ -5071,29 +5139,6 @@ printf("[%ld]=%lf * %lf * %lf + 0.5 = %l
tfontptr->n, dpi);
}
}
-#else /* not KPATHSEA */
- if (!(findfile(PXLpath,
- tfontptr->n,
- tfontptr->font_mag,
- tfontptr->name,
- _FALSE,
- 0))) {
- Warning(tfontptr->name); /* contains error messsage */
- tfontptr->font_file_id = NO_FILE;
-#ifdef __riscos
- MakeMetafontFile(PXLpath, tfontptr->n, tfontptr->font_mag);
-#endif
- }
- else {
- font_found = _TRUE;
- if (G_verbose)
- fprintf(ERR_STREAM,"%d: using font <%s>\n", plusid, tfontptr->name);
- }
-#endif /* not KPATHSEA */
-
-#ifdef LJ_RESIDENT_FONTS
- }
-#endif
tfontptr->plusid = plusid;
plusid++;
diff -up texlive-2007/texk/dviljk/dvi2xx.h.dviljktemp texlive-2007/texk/dviljk/dvi2xx.h
--- texlive-2007/texk/dviljk/dvi2xx.h.dviljktemp 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dviljk/dvi2xx.h 2008-08-27 13:32:10.000000000 +0200
@@ -10,8 +10,8 @@
#ifdef KPATHSEA
#include <kpathsea/config.h>
+#include <kpathsea/c-std.h>
#include <kpathsea/c-limits.h>
-#include <kpathsea/c-memstr.h>
#include <kpathsea/magstep.h>
#include <kpathsea/proginit.h>
#include <kpathsea/progname.h>
@@ -24,6 +24,7 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#ifdef unix
#include <limits.h>
#endif
@@ -41,9 +42,6 @@
#ifdef MSC5
#include <dos.h> /* only for binaryopen on device */
#endif
-#if defined (unix) && !defined (KPATHSEA)
-#include <limits.h>
-#endif
#include "config.h"
@@ -116,6 +114,7 @@
#define HUGE_SIZE (unsigned char) 2
#define HUGE_CHAR_PATTERN 32767l
#define BYTES_PER_PIXEL_LINE 500 /* max number of bytes per pixel line */
+#define MAX_SPECIAL_DEFPOINTS 80 /* max number of defpoint specials */
#define PK_POST 245
@@ -281,7 +280,14 @@ char *MFMODE = MFMODE600;
#define VisChar(c) (unsigned char)(c)
#endif
-#define GetBytes(fp,buf,n) read_multi(buf,1,n,fp) /* used to be a function */
+/* Used to be a function. buf is always an array, never a pointer.
+ Without that invariant, we would have to introduce full dynamic
+ memory management in this driver -- probably it would be easier to
+ write a new one. [27 Jun 07 -js] */
+#define GetBytes(fp,buf,n) \
+ ( sizeof(buf) != sizeof(void *) && sizeof(buf) > n ? \
+ read_multi(buf, 1, n, fp) \
+ : Fatal("Try to read %d bytes in an array of size %d", n, sizeof(buf)) )
/**********************************************************************/
@@ -307,6 +313,7 @@ int printf();
int sscanf();
int strcmp();
char *strcpy();
+char *strncpy();
# ifdef MSC5
unsigned int strlen();
# endif
@@ -393,7 +400,7 @@ struct font_entry { /* font entry */
char n[STRSIZE]; /* FNT_DEF command parameters */
long4 font_mag; /* computed from FNT_DEF s and d parameters */
/*char psname[STRSIZE];*/ /* PostScript name of the font */
- char name[STRSIZE]; /* full name of PXL file */
+ char *name; /* full name of PXL file */
FILEPTR font_file_id; /* file identifier (NO_FILE if none) */
#ifdef USEPXL
long4 magnification; /* magnification read from PXL file */
@@ -487,8 +494,8 @@ void LoadAChar DVIPROTO((long4, regis
long4 NoSignExtend DVIPROTO((FILEPTR, int));
void OpenFontFile DVIPROTO((void));
long4 PixRound DVIPROTO((long4, long4));
-void PkRaster DVIPROTO((struct char_entry *, int));
-void RasterLine DVIPROTO((struct char_entry *, unsigned int,
+void PkRaster DVIPROTO((struct char_entry *, int));
+void RasterLine DVIPROTO((struct char_entry *, unsigned int,
unsigned int, unsigned char *));
void RasterChar DVIPROTO((struct char_entry *));
void ReadFontDef DVIPROTO((long4));
@@ -534,11 +541,12 @@ bool LastPageSpecified = _FALSE;
#ifndef KPATHSEA
char *PXLpath = FONTAREA;
#endif
-char G_progname[STRSIZE]; /* program name */
-char filename[STRSIZE]; /* DVI file name */
-char rootname[STRSIZE]; /* DVI filename without extension */
+char *G_progname; /* program name */
+char *filename; /* DVI file name */
+char *rootname; /* DVI filename without extension */
char *HeaderFileName = ""; /* file name & path of Headerfile */
char *EmitFileName = ""; /* file name & path for output */
+char tmp_dir[STRSIZE] = ""; /* temporary directory for auxilliary files */
#ifdef IBM3812
bool FirstAlternate = _FALSE; /* first page from alternate casette ? */
#endif

View File

@ -1,896 +0,0 @@
---
build/source/texk/dvipsk/ChangeLog | 36 +++++++++++++++++++
build/source/texk/dvipsk/Makefile.in | 2 -
build/source/texk/dvipsk/afm2tfm.c | 6 +--
build/source/texk/dvipsk/afm2tfm.rc | 34 ------------------
build/source/texk/dvipsk/bbox.c | 2 -
build/source/texk/dvipsk/config.h | 2 -
build/source/texk/dvipsk/crop.lpro | 2 -
build/source/texk/dvipsk/debug.h | 2 -
build/source/texk/dvipsk/download.c | 25 +++++++++----
build/source/texk/dvipsk/dpicheck.c | 6 +--
build/source/texk/dvipsk/dvips.1 | 25 ++++++++-----
build/source/texk/dvipsk/dvips.c | 61 +++++++++++++++++++++++++++------
build/source/texk/dvipsk/dvips.h | 14 ++-----
build/source/texk/dvipsk/emspecial.c | 15 ++++++--
build/source/texk/dvipsk/finclude.c | 11 +++++
build/source/texk/dvipsk/finclude.lpro | 1
build/source/texk/dvipsk/flib.c | 2 -
build/source/texk/dvipsk/header.c | 4 +-
build/source/texk/dvipsk/hps.c | 4 +-
build/source/texk/dvipsk/hps.lpro | 5 +-
build/source/texk/dvipsk/loadfont.c | 11 +++++
build/source/texk/dvipsk/makefont.c | 6 +--
build/source/texk/dvipsk/output.c | 11 +++++
build/source/texk/dvipsk/papersiz.c | 2 -
build/source/texk/dvipsk/paths.h | 2 -
build/source/texk/dvipsk/psfonts.map | 1
build/source/texk/dvipsk/resident.c | 24 +++++++++++-
build/source/texk/dvipsk/special.lpro | 5 +-
build/source/texk/dvipsk/squeeze.c | 5 --
build/source/texk/dvipsk/tex.lpro | 2 +
build/source/texk/dvipsk/texc.script | 2 -
build/source/texk/dvipsk/texps.lpro | 2 -
32 files changed, 220 insertions(+), 112 deletions(-)
Index: texlive-bin-2007/build/source/texk/dvipsk/ChangeLog
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:17:36.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:38:37.000000000 +0200
@@ -1,3 +1,39 @@
+2007-05-06 Karl Berry <karl@tug.org>
+
+ * finclude.c, dvips.c: keep track of last-unused psname (Akira).
+ * dvips.c (DEFRES): move down.
+ * dvips.c (--help): just mention Tom R.
+
+2007-05-05 Karl Berry <karl@tug.org>
+
+ * dvips.h (DOWNLOADEDPSSIZE): new constant.
+ * dvips.c (downloadedpsname): new global array.
+ * finclude.c: set it up as we download.
+ * download.c: use it to avoid downloading fonts as both header
+ and font. (From Akira.)
+
+2007-05-04 Karl Berry <karl@tug.org>
+
+ * dvips.h (BANNER): change to 5.96dev to distinguish from the release.
+
+ * header.c (add_name, add_header): cast result of
+ add_header_general to int and return it. From Akira.
+
+2007-03-23 Karl Berry <karl@tug.org>
+
+ * dvips.texi: document it.
+ * dvips.c, loadfont.c, resident.c: also report map files
+ and config files, if the envvar DVIPSDEBUG is set. From Akira.
+
+2007-03-20 Karl Berry <karl@tug.org>
+
+ * download.c, output.c, emspecial.c: report full pathnames,
+ to help debugging and for consistency with TeX. From Akira.
+
+2007-03-19 Karl Berry <karl@tug.org>
+
+ * config.ps (screen): add this, 8.25x11, for powerdot. (From Akira.)
+
2006-12-09 Karl Berry <karl@tug.org>
* dvips.texi (Config file paper sizes): best match now. (From Akira.)
Index: texlive-bin-2007/build/source/texk/dvipsk/Makefile.in
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/Makefile.in 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
# Makefile for dvipsk -- kb@mail.tug.org. Public domain.
-version = 5.96
+version = 5.96.1
# Add -DDEFRES=dpi to DEFS to change the default resolution from 600.
# Add -DSECURE if you will install dvips with special privileges.
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:17:54.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:38:37.000000000 +0200
@@ -1489,15 +1489,15 @@
void version P1C(FILE *, f)
{
extern KPSEDLL char *kpathsea_version_string;
- fputs ("afm2tfm(k) (dvips(k) 5.96) 8.1\n", f);
+ fputs ("afm2tfm(k) (dvips(k) 5.96.1) 8.1\n", f);
fprintf (f, "%s\n", kpathsea_version_string);
- fputs ("Copyright (C) 2005 Radical Eye Software.\n\
+ fputs ("Copyright (C) 2007 Radical Eye Software.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License\n\
and the Dvips copyright.\n\
For more information about these matters, see the files\n\
named COPYING and afm2tfm.c.\n\
-Primary author of afm2tfm: T. Rokicki; -k maintainer: K. Berry.\n", f);
+Original author of afm2tfm: T. Rokicki.\n", f);
}
#define USAGE "\
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.rc
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.rc 2007-05-07 01:38:11.000000000 +0200
+++ /dev/null 1970-01-01 00:00:00.000000000 +0000
@@ -1,34 +0,0 @@
-/* afm2tfm.rc: afm2tfm resources -*- C++ -*-
-
- Copyright (C) 1996-2003 Fabrice Popineau <fabrice.popineau@supelec.fr>
-
- 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 the Free Software Foundation; either version 2, or (at your
- option) any later version.
-
- This file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this file; if not, write to the Free Software
- Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
- USA. */
-
-#include <texlive-version.h>
-
-#define VER_FILEVERSION TEXLIVE_MAJOR_VERSION,TEXLIVE_MINOR_VERSION,TEXLIVE_BETA_NUMBER,TEXLIVE_ALPHA_NUMBER
-#define VER_FILEVERSION_STR TEXLIVE_PRODUCTVERSION_STR " afm2tfm(k) (dvips(k) 5.94b) 8.1"
-
-#define VER_INTERNALNAME_STR "afm2tfm"
-#define VER_ORIGINALFILENAME_STR "afm2tfm.exe"
-
-#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 1990-2004 Radical Eye Software"
-
-#define VER_FILEDESCRIPTION_STR "Adobe Font Metric to TeX Font Metric file converter"
-
-#include <texlive.version>
-
-/* afm2tfm.rc ends here */
Index: texlive-bin-2007/build/source/texk/dvipsk/bbox.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/bbox.c 2007-05-07 01:38:37.000000000 +0200
@@ -6,7 +6,7 @@
* If you request an EPSF file and specify -a, you may end up
* processing a single page four times!
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include <math.h>
#include "protos.h"
Index: texlive-bin-2007/build/source/texk/dvipsk/config.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/config.h 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/config.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
/* config.h: master configuration file, included first by all compilable
- source files (not headers). */
+ source files (not headers). This file is public domain. */
#ifndef CONFIG_H
#define CONFIG_H
Index: texlive-bin-2007/build/source/texk/dvipsk/crop.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
%!
-% This file is for crop marks.
+% This file is for crop marks. This file is public domain.
%
% First, we translate and draw the marks. You can change the way the
% marks are drawn, but the quarter inch border around the page is fixed.
Index: texlive-bin-2007/build/source/texk/dvipsk/debug.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/debug.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
/*
- * Here's some stuff for debugging dvips.
+ * Here's some stuff for debugging dvips. See dvips.h for copyright.
*/
#ifdef DEBUG
Index: texlive-bin-2007/build/source/texk/dvipsk/download.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/download.c 2007-05-07 01:17:43.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/download.c 2007-05-07 01:38:37.000000000 +0200
@@ -433,6 +433,9 @@
* Download a PostScript font, using partial font downloading if
* necessary.
*/
+extern char *downloadedpsnames[];
+extern int unused_top_of_psnames;
+
void downpsfont P2C(charusetype *, p, charusetype *, all)
{
#ifdef DOWNLOAD_USING_PDFTEX
@@ -444,6 +447,8 @@
register chardesctype *c ;
struct resfont *rf ;
int cc;
+ extern char *realnameoffile ;
+ int j;
curfnt = p->fd ;
rf = curfnt->resfont ;
@@ -457,6 +462,10 @@
return ;
if (rf->sent == 2) /* sent as header, from a PS file */
return ;
+ for (j=0; downloadedpsnames[j] && j < unused_top_of_psnames; j++) {
+ if (strcmp (downloadedpsnames[j], rf->PSname) == 0)
+ return;
+ }
if (all->fd == 0)
error("! internal error in downpsfont") ;
if (!partialdownload) {
@@ -514,14 +523,6 @@
}
}
if(GridCount!=0 || extraGlyphs) {
- if (!quiet) {
- if (strlen(rf->Fontfile) + prettycolumn > STDOUTSIZE) {
- fprintf(stderr, "\n") ;
- prettycolumn = 0 ;
- }
- (void)fprintf(stderr, "<%s>", rf->Fontfile);
- prettycolumn += strlen(rf->Fontfile) + 2 ;
- }
newline() ;
if (! disablecomments)
(void)fprintf(bitfile, "%%%%BeginFont: %s\n", rf->PSname);
@@ -531,6 +532,14 @@
if(FontPart(bitfile, rf->Fontfile, rf->Vectfile) < 0)
#endif
exit(1);
+ if (!quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "<%s>", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
if (! disablecomments)
(void)fprintf(bitfile, "%%%%EndFont \n");
}
Index: texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:11.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,12 +1,10 @@
/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-/*
* dpicheck of dvips.c. Checks the dots per inch to make sure
* it exists. The fonts which exist are DPI at the appropriate
* magnifications.
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
+
extern int actualdpi ;
static integer existsizes[30] = { 0 , 99999999 } ;
static int checkdpi ;
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.1
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.1 2007-05-07 01:18:03.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.1 2007-05-07 01:38:37.000000000 +0200
@@ -360,16 +360,21 @@
.B -r
Stack pages in reverse order. Normally, page 1 will be printed first.
.TP
-.B -R
-Run in secure mode. This means that ``backtick'' commands from a
-.I \especial{}
-or
-.I \epsffile{}
-macro in the (La)TeX source like
-.I \especial{psfile="`zcat foo.ps.Z"}
-or
-.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"}
-are not executed.
+.B -R[0|1|2]
+Run securely.
+.BR -R2
+disables both shell command execution in
+.I \especial'{}
+(via backticks
+.BR `
+) and config files (via the
+.I E
+option), and opening of any absolute filenames.
+.BR -R1
+, the default, forbids shell escapes but allows absolute filenames.
+.BR -R0
+allows both. The config file option is
+.I z
.TP
.B -s
Causes the entire global output to be enclosed in a save/restore pair.
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.c 2007-05-07 01:18:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,10 +1,6 @@
/*
* This is the main routine.
*/
-#ifndef DEFRES
-#define DEFRES (600)
-#endif
-
#include "dvips.h" /* The copyright notice there is included too! */
#ifdef KPATHSEA
#include <kpathsea/c-pathch.h>
@@ -44,12 +40,22 @@
#include descrip
#endif
#endif
+
+#ifndef DEFRES
+#define DEFRES (600)
+#endif
+
/*
* First we define some globals.
*/
#ifdef VMS
static char ofnme[252],infnme[252],pap[40],thh[20];
#endif
+
+/* PS fonts fully downloaded as headers */
+char *downloadedpsnames[DOWNLOADEDPSSIZE];
+
+int unused_top_of_psnames ; /* unused top number of downloadedpsnames[#] */
fontdesctype *fonthead ; /* list of all fonts mentioned so far */
fontdesctype *curfnt ; /* the currently selected font */
sectiontype *sections ; /* sections to process document in */
@@ -159,6 +165,7 @@
int quiet ; /* should we only print errors to stderr? */
int filter ; /* act as filter default output to stdout,
default input to stdin? */
+int dvips_debug_flag ; /* output config and map files to stderr if 1 */
int prettycolumn ; /* the column we are at when running pretty */
int gargc ; /* global argument count */
char **gargv ; /* global argument vector */
@@ -306,6 +313,16 @@
fputs (kpse_bug_address, f);
#endif
}
+
+void
+freememforpsnames(void)
+{
+ int i;
+
+ for (i = 0; i < unused_top_of_psnames && downloadedpsnames[i]; i++)
+ free (downloadedpsnames[i]);
+}
+
/*
* This error routine prints an error message; if the first
* character is !, it aborts the job.
@@ -328,6 +345,7 @@
}
if (*s=='!') {
+ freememforpsnames() ;
if (bitfile != NULL) {
cleanprinter() ;
}
@@ -440,6 +458,8 @@
i = 10;
for (s="abcdef"; *s!=0; s++)
xdig[(int)*s] = i++;
+ for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
+ downloadedpsnames[i] = NULL;
morestrings() ;
maxpages = 100000 ;
numcopies = 1 ;
@@ -552,7 +572,7 @@
#ifdef MVSXA
int firstext = -1 ;
#endif
- register sectiontype *sects ;
+ sectiontype *sects ;
#ifdef KPATHSEA
kpse_set_program_name (argv[0], "dvips");
@@ -607,15 +627,15 @@
exit (0);
} else if (strcmp (argv[1], "--version") == 0) {
extern KPSEDLL char *kpathsea_version_string;
- puts ("dvips(k) 5.96");
+ puts ("dvips(k) 5.96.1");
puts (kpathsea_version_string);
- puts ("Copyright (C) 2005 Radical Eye Software.\n\
+ puts ("Copyright (C) 2007 Radical Eye Software.\n\
There is NO warranty. You may redistribute this software\n\
under the terms of the GNU General Public License\n\
and the Dvips copyright.\n\
For more information about these matters, see the files\n\
named COPYING and dvips.h.\n\
-Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz.");
+Primary author of Dvips: T. Rokicki.");
exit (0);
}
if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
@@ -630,6 +650,20 @@
}
#endif
#endif
+ dvips_debug_flag = 0 ;
+ { /* for compilers incompatible with c99 */
+ char *s = (char *)getenv ("DVIPSDEBUG") ;
+ if (s) {
+ dvips_debug_flag = 1 ;
+ free (s) ;
+ } else {
+ s = (char *) getenv ("KPATHSEA_DEBUG") ;
+ if (s) {
+ dvips_debug_flag = 1 ;
+ free (s) ;
+ }
+ }
+ }
initialize() ;
checkenv(0) ;
getdefaults(CONFIGFILE) ;
@@ -1116,8 +1150,14 @@
revpslists() ;
getpsinfo((char *)NULL) ;
revpslists() ;
- if (!quiet)
- (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
+ if (dvips_debug_flag) {
+ if (!quiet)
+ (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
+ prettycolumn = 0 ;
+ } else {
+ if (!quiet)
+ (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
+ }
if (*iname) {
dvifile = fopen(iname, READBIN) ;
/*
@@ -1367,6 +1407,7 @@
}
}
}
+ freememforpsnames() ;
if (! sepfiles) {
#ifdef HPS
if (HPS_FLAG)
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.h 2007-05-07 01:18:25.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,19 +1,14 @@
/*
* This is dvips, a freely redistributable PostScript driver
- * for dvi files. It is (C) Copyright 1986-2004 by Tomas Rokicki.
- * You may modify and use this program to your heart's content,
- * so long as you send modifications to Tomas Rokicki. It can
- * be included in any distribution, commercial or otherwise, so
- * long as the banner string defined below is not modified (except
- * for the version number) and this banner is printed on program
- * invocation, or can be printed on program invocation with the -? option.
+ * for dvi files. It is (C) Copyright 1986-2007 by Tomas Rokicki.
+ * You may modify and use this program to your heart's content.
*/
/* This file is the header for dvips's global data structures. */
#define CREATIONDATE
#define BANNER \
-"This is dvips(k) 5.96 Copyright 2005 Radical Eye Software"
+"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
#define BANNER2 "(www.radicaleye.com)"
#ifdef KPATHSEA
#include "config.h"
@@ -58,13 +53,14 @@
* of a string that can be handled in specials, so it should not be
* set too small.
*/
-#define STRINGSIZE (200000) /* maximum total chars in strings in program */
+#define STRINGSIZE (200000) /* maximum total chars in strings in program */
#define RASTERCHUNK (8192) /* size of chunk of raster */
#define MINCHUNK (240) /* minimum size char to get own raster */
#define STACKSIZE (350) /* maximum stack size for dvi files */
#define MAXFRAME (10) /* maximum depth of virtual font recursion */
#define MAXFONTHD (100) /* number of unique names of included fonts */
#define STDOUTSIZE (75) /* width of a standard output line */
+#define DOWNLOADEDPSSIZE (1000) /* max number of downloaded fonts to check */
/*
* Other constants, which define printer-dependent stuff.
*/
Index: texlive-bin-2007/build/source/texk/dvipsk/emspecial.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/emspecial.c 2007-05-07 01:38:37.000000000 +0200
@@ -659,14 +659,23 @@
void imagehead P5C(char *, filename, int, wide, int, high,
float, emwidth, float, emheight)
{
+ char *fullname = NULL, *name ;
if (!quiet) {
- if (strlen(filename) + prettycolumn > STDOUTSIZE) {
+#ifdef KPATHSEA
+ fullname = (char *)kpse_find_file (filename, pictpath, 0) ;
+#endif
+ if (!fullname)
+ name = filename ;
+ else
+ name = fullname ;
+ if (strlen(name) + prettycolumn > STDOUTSIZE) {
fprintf(stderr,"\n");
prettycolumn = 0;
}
- (void)fprintf(stderr,"<%s",filename);
+ (void)fprintf(stderr,"<%s",name);
(void)fflush(stderr);
- prettycolumn += 2+strlen(filename);
+ prettycolumn += 2+strlen(name);
+ if (fullname) free (fullname);
}
hvpos();
nlcmdout("@beginspecial @setspecial") ;
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.c 2007-05-07 01:17:29.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.c 2007-05-07 01:38:37.000000000 +0200
@@ -57,6 +57,9 @@
extern integer debug_flag;
#endif /* DEBUG */
+extern char *downloadedpsnames[];
+extern int unused_top_of_psnames;
+
/*
* Create a font descriptor for a font included in a psfile. There will be
* no fontmaptype node for the resulting font descriptor until this font is
@@ -252,6 +255,10 @@
char *p,*pe;
struct resfont *re;
int i;
+ int j = 0;
+
+ while (downloadedpsnames[j] != NULL && j < DOWNLOADEDPSSIZE)
+ j++;
/* Turn all newlines, CRs, and tabs into spaces. */
p = str;
@@ -312,6 +319,10 @@
infont = 0 ;
}
re->sent = 2 ;
+ if (unused_top_of_psnames < DOWNLOADEDPSSIZE) {
+ downloadedpsnames[unused_top_of_psnames] = xstrdup (re->PSname);
+ unused_top_of_psnames++;
+ }
} else {
char eb[1000];
sprintf(eb,"Font %s used in file %s is not in the mapping file.",
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,5 @@
%!
+% finclude.lpro - public domain.
% Define tfm-name to be a dictionary of included fonts indexed by size:
% /tfm-name scaled-size1 /font-select1 ... scsize_k /fselect_k k fstore -
/fstore
Index: texlive-bin-2007/build/source/texk/dvipsk/flib.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/flib.c 2007-05-07 01:38:37.000000000 +0200
@@ -4,7 +4,7 @@
* Tomas Rokicki or Radical Eye Software; use at your own risk.
*/
#ifdef FONTLIB
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include "paths.h"
#include "protos.h"
extern int debug_flag ;
Index: texlive-bin-2007/build/source/texk/dvipsk/header.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/header.c 2007-05-07 01:18:19.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/header.c 2007-05-07 01:38:37.000000000 +0200
@@ -35,7 +35,7 @@
int
add_name P2C(char *, s, struct header_list **, what)
{
- add_name_general (s, what, NULL, NULL);
+ return (int) add_name_general (s, what, NULL, NULL);
}
/*
@@ -122,7 +122,7 @@
int
add_header P1C(char *, s)
{
- add_header_general (s, NULL, NULL);
+ return (int) add_header_general (s, NULL, NULL);
}
int
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,8 +1,8 @@
/* This is the main file for hacking dvips to do HyperPostScript
* Written by Mark D. Doyle 11/94. It is (C) Copyright 1994 by Mark D. Doyle
* and the University of California. You may modify and use this program to
- * your heart's content, so long as you send modifications to Mark Doyle and
- * abide by the rest of the dvips copyrights.
+ * your heart's content. Mark Doyle requests that you send him
+ * any modifications.
*/
#include "dvips.h"
#ifdef HPS
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -5,8 +5,9 @@
% Written by Tanmoy Bhattacharya and Mark D. Doyle 11/94.
% It is (C) Copyright 1994 by Tanmoy Bhattacharya, Mark D. Doyle
% and the University of California. You may modify and use this program to
-% your heart's content, so long as you send modifications to Tanmoy
-% Bhattacharya and/or Mark Doyle.
+% your heart's content. Tanmoy Bhattacharya and Mark Doyle request that
+% you send either or both them any modifications.
+%
% Version number info
% 1 0 Probably first release
% 1 1 Added external handler to let ghostview work
Index: texlive-bin-2007/build/source/texk/dvipsk/loadfont.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/loadfont.c 2007-05-07 01:38:37.000000000 +0200
@@ -333,6 +333,9 @@
register chardesctype *cd = 0 ;
int maxcc = 0 ;
int munged = 0 ;
+ extern int prettycolumn ;
+ extern int quiet ;
+ extern char *realnameoffile ;
/*
* We clear out some pointers:
*/
@@ -358,6 +361,14 @@
tfmload(curfnt) ;
return ;
}
+ if (!quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "<%s>", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
#ifdef DEBUG
if (dd(D_FONTS))
(void)fprintf(stderr,"Loading pk font %s at %.1fpt\n",
Index: texlive-bin-2007/build/source/texk/dvipsk/makefont.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/makefont.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,7 +1,5 @@
-/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-#include "dvips.h"
+/* makefont.c */
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include <math.h>
#include "protos.h"
extern int quiet ;
Index: texlive-bin-2007/build/source/texk/dvipsk/output.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/output.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/output.c 2007-05-07 01:38:37.000000000 +0200
@@ -113,6 +113,7 @@
void
copyfile_general P2C(char *, s, struct header_list *, cur_header)
{
+ extern char *realnameoffile ;
FILE *f = NULL ;
int c, prevc = '\n' ;
long len ;
@@ -205,7 +206,11 @@
error(errbuf) ;
else {
if (! quiet) {
+#if defined(VMCMS) || defined (MVSXA)
if (strlen(s) + prettycolumn > STDOUTSIZE) {
+#else
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+#endif
fprintf(stderr, "\n") ;
prettycolumn = 0 ;
}
@@ -215,11 +220,15 @@
#ifdef MVSXA
(void)fprintf(stderr, "<%s>", trunc_s) ;
#else
- (void)fprintf(stderr, "<%s>", s) ;
+ (void)fprintf(stderr, "<%s>", realnameoffile) ;
#endif
#endif
(void)fflush(stderr) ;
+#if defined(VMCMS) || defined (MVSXA)
prettycolumn += 2 + strlen(s) ;
+#else
+ prettycolumn += 2 + strlen(realnameoffile) ;
+#endif
}
if (linepos != 0)
(void)putc('\n', bitfile) ;
Index: texlive-bin-2007/build/source/texk/dvipsk/papersiz.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/papersiz.c 2007-05-07 01:38:37.000000000 +0200
@@ -11,7 +11,7 @@
* 0 <= num < den <= 20000
* 0 <= whole
*/
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#include "protos.h"
static long scale P4C(long, whole, long, num, long, den, long, sf)
{
Index: texlive-bin-2007/build/source/texk/dvipsk/paths.h
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/paths.h 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,4 @@
-/*
+/* paths.h - public domain.
* OUTPATH is where to send the output. If you want a .ps file to
* be created by default, set this to "". If you want to automatically
* invoke a pipe (as in lpr), make the first character an exclamation
Index: texlive-bin-2007/build/source/texk/dvipsk/psfonts.map
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/psfonts.map 2007-05-07 01:38:37.000000000 +0200
@@ -1,4 +1,5 @@
% original psfonts.map -- match TFM filenames to PostScript FontNames.
+% This file is public domain.
% (If you change or delete `original' on the previous line, dvips won't
% install its psfonts.map over this file.)
%
Index: texlive-bin-2007/build/source/texk/dvipsk/resident.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/resident.c 2007-05-07 01:38:37.000000000 +0200
@@ -32,6 +32,8 @@
* These are the external variables we use.
*/
extern char *realnameoffile ;
+extern int prettycolumn ;
+extern int dvips_debug_flag ;
#ifdef DEBUG
extern integer debug_flag;
#endif /* DEBUG */
@@ -441,6 +443,14 @@
#else
if ((deffile=search(d,PSname,READ))!=NULL) {
#endif
+ if (dvips_debug_flag && !quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "{%s}", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
#ifdef DEBUG
if (dd (D_CONFIG)) {
fprintf (stderr, "Reading dvips config file `%s':\n", realnameoffile);
@@ -845,9 +855,9 @@
*/
void getpsinfo P1C(char *, name)
{
- FILE *deffile ;
- register char *p ;
- char *specinfo, *downloadinfo ;
+ FILE *deffile ;
+ register char *p ;
+ char *specinfo, *downloadinfo ;
char downbuf[500] ;
char specbuf[500] ;
int slen ;
@@ -855,6 +865,14 @@
if (name == 0)
name = psmapfile ;
if ((deffile=search(mappath, name, READ))!=NULL) {
+ if (dvips_debug_flag && !quiet) {
+ if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
+ fprintf(stderr, "\n") ;
+ prettycolumn = 0 ;
+ }
+ (void)fprintf(stderr, "{%s}", realnameoffile);
+ prettycolumn += strlen(realnameoffile) + 2 ;
+ }
while (fgets(was_inline, INLINE_SIZE, deffile)!=NULL) {
p = was_inline ;
if (*p > ' ' && *p != '*' && *p != '#' && *p != ';' && *p != '%') {
Index: texlive-bin-2007/build/source/texk/dvipsk/special.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,6 +1,5 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% header for the \special command
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% special.lpro - public domain.
+% header for the \special command
% The structure of the PostScript produced by dvips for \special is:
% @beginspecial
% - any number of @hsize, @hoffset, @hscale, etc., commands
Index: texlive-bin-2007/build/source/texk/dvipsk/squeeze.c
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:37.000000000 +0200
@@ -1,7 +1,4 @@
/*
- * This software is Copyright 1988 by Radical Eye Software.
- */
-/*
* This routine squeezes a PostScript file down to its
* minimum. We parse and then output it.
*/
@@ -14,7 +11,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "dvips.h"
+#include "dvips.h" /* The copyright notice in that file is included too! */
#endif
#ifdef fopen
#undef fopen
Index: texlive-bin-2007/build/source/texk/dvipsk/tex.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/tex.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,3 +1,5 @@
+% tex.lpro - public domain.
+%
% The following defines procedures assumed and used by program "dvips"
% and must be downloaded or sent as a header file for all TeX jobs.
% Originated by Neal Holtz, Carleton University, Ottawa, Canada
Index: texlive-bin-2007/build/source/texk/dvipsk/texc.script
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/texc.script 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
#! /bin/sh
-# A shell script to convert tex.lpro to texc.lpro
+# A shell script to convert tex.lpro to texc.lpro. Public domain.
#
# To use it, say
# texc.script tex.lpro texc.lpro
Index: texlive-bin-2007/build/source/texk/dvipsk/texps.lpro
===================================================================
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:12.000000000 +0200
+++ texlive-bin-2007/build/source/texk/dvipsk/texps.lpro 2007-05-07 01:38:37.000000000 +0200
@@ -1,5 +1,5 @@
% Thanks for some changes to:
-%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02
+%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02. Public domain.
%+ My comments are marked as %+
% PostScript prolog for using resident fonts.
%+ Provision is made to change the encoding scheme in special instructions.

View File

@ -1,642 +0,0 @@
diff -up texlive-2007/texk/dvipsk/config.ps.dvipsconfig texlive-2007/texk/dvipsk/config.ps
--- texlive-2007/texk/dvipsk/config.ps.dvipsconfig 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dvipsk/config.ps 2009-10-15 21:01:23.000000000 +0200
@@ -1,83 +1,586 @@
-* Configuration file for dvips.
-*
-* Default resolution. This needs to be correct.
-D 300
-*
-* Metafont mode to use to generate bitmap fonts. This needs to be a
-* mode with the specified resolution. Various hardwired defaults are
-* used for a few resolutions, but it is best to specify it explicitly.
-* http://www.ctan.org/tex-archive/fonts/modes/modes.mf has a list of modes.
-*M modename
-*
-* Amount of memory. Not crucial to be exact, if you have a lot.
-m 470000
-*
-* If unspecified, output goes to a file.
-* To send output via a pipe to a printing program, use something like:
-*o |lpr
-*o |lpr -Pmyprinter
-* To send output to standard output by default, use:
-*o -
-*
-* z1 is "secure", i.e., inhibits execution of `shell commands` in \specials.
-* Dvips allows this by default.
-*z1
-*
-* Additional default .map files.
-* p +cmfonts.map
-* p +lafonts.map
-* p +cyrfonts.map
-* p +eufonts.map
-*
-* Last resort bitmap sizes.
-R 240 270 300 329 360 432 518 622 746 896
-*
-*
-* Paper size information. First definition is the default.
-*
-* If your default is a4 uncomment the following definition
-* and comment out the letterSize definition.
-@ a4size 210mm 297mm
+% config.ps - configuration file for dvips.
+% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
+
+% Memory available. Download the three-line PostScript file:
+% %! Hey, we're PostScript
+% /Times-Roman findfont 30 scalefont setfont 144 432 moveto
+% vmstatus exch sub 40 string cvs show pop showpage
+% to determine this number. (It will be the only thing printed.)
+m 3500000
+
+% Run securely. z2 disables both shell command execution in
+% `\special' and config files (via the `E' option) and opening of any
+% absolute filenames. z1, the default, forbids shell escapes but
+% allows absolute filenames. z0 allows both. The corresponding
+% command line options are -R0|-R1|-R2
+z1
+
+% How to print, maybe with lp instead lpr, etc. If commented-out, output
+% will go into a file by default.
+%o |lpr
+
+% Default resolution of this device, in dots per inch.
+D 600
+X 600
+Y 600
+
+% Metafont mode. (This is completely different from the -M
+% command-line option, which controls whether mktexpk is invoked.)
+% See ../../metafont/misc/modes.mf for a list of mode names. This mode
+% and the D number above must agree, or mktexpk will get confused.
+M ljfour
+
+% Last resort bitmap sizes.
+R 300 600
+
+% Correct printer offset. You can use testpage.tex from the LaTeX
+% distribution to find these numbers.
+O 0pt,0pt
+
+% Bitmap font compression. Results in more compact output files, but
+% sometimes causes trouble. So the default is disabled. Set Z1 to enable
+% this feature.
+Z0
+
+% Partially download Type 1 fonts by default. Only reason not to do
+% this is if you encounter bugs. (Please report them to
+% @email{tex-k@tug.org} if you do.)
+j
+
+% This shows how to add your own map file.
+% Remove the comment and adjust the name:
+% p +myfonts.map
+
+% If we have setpagedevice, use that.
+% else if we have the a4 resp. letter operator, use that.
+% else do nothing to set the page size.
+%
+% In the past, the a4size and letterSize definitions did not set the
+% page size, but we want to set it if we can so that ps2pdf can work
+% properly. Here, a4 and a4size, and letter and letterSize, are
+% identical, and we prefer the a4/letter names -- texconfig uses them.
+
+% 0 0 595 842 is the right bounding box that applications expect
+% for A4. Since dvips always rounds up, choose something slightly
+% smaller for our paper size.
+
+@ a4 210mm 297mm
@+ ! %%DocumentPaperSizes: a4
-@+ %%PaperSize: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
-*@ letterSize 8.5in 11in
+@ letter 8.5in 11in
@+ ! %%DocumentPaperSizes: Letter
+@+ %%BeginPaperSize: Letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
-@ letter 8.5in 11in
+@ a4size 210mm 297mm
+@+ ! %%DocumentPaperSizes: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 842] >> setpagedevice }
+@+ { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ letterSize 8.5in 11in
@+ ! %%DocumentPaperSizes: Letter
@+ %%BeginPaperSize: Letter
-@+ %letter
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+% The jacow paper size is the smaller of letter and a4 in both
+% dimensions, and can therefore hopefully be printed on either paper
+% size. As far as we know, Volker Schaa first used it for the JACOW
+% conference proceedings that he produced.
+@ jacow 210mm 11in
+@+ ! %%DocumentPaperSizes: jacow
+@+ %%BeginPaperSize: jacow
+@+ /setpagedevice where
+@+ { pop << /PageSize [595 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% The smallbook paper size has been used by the Free Software Foundation
+% to print manuals for many years, and is part of Texinfo.
+@ smallbook 7in 9.25in
+@+ ! %%DocumentPaperSizes: smallbook
+@+ %%BeginPaperSize: smallbook
+@+ /setpagedevice where
+@+ { pop << /PageSize [504 666] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfexecutive 133mm 184mm
+@+ ! %%DocumentPaperSizes: halfexecutive
+@+ %%BeginPaperSize: halfexecutive
+@+ /setpagedevice where
+@+ { pop << /PageSize [378 522] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfletter 140mm 216mm
+@+ ! %%DocumentPaperSizes: halfletter
+@+ %%BeginPaperSize: halfletter
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ statement 140mm 216mm
+@+ ! %%DocumentPaperSizes: statement
+@+ %%BeginPaperSize: statement
+@+ /setpagedevice where
+@+ { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ executive 184mm 267mm
+@+ ! %%DocumentPaperSizes: executive
+@+ %%BeginPaperSize: executive
+@+ /setpagedevice where
+@+ { pop << /PageSize [522 756] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% for powerdot
+@ screen 8.25in 11in
+@+ ! %%DocumentPaperSizes: Screen
+@+ %%BeginPaperSize: Screen
+@+ /setpagedevice where
+@+ { pop << /PageSize [594 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% a common size for printers (in north america).
+@ sixbynine 6in 9in
+@+ ! %%DocumentPaperSizes: SixByNine
+@+ %%BeginPaperSize: SixByNine
+@+ /setpagedevice where
+@+ { pop << /PageSize [432 648] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ quarto 215mm 275mm
+@+ ! %%DocumentPaperSizes: quarto
+@+ %%BeginPaperSize: quarto
+@+ /setpagedevice where
+@+ { pop << /PageSize [610 780] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ note 216mm 279mm
+@+ ! %%DocumentPaperSizes: note
+@+ %%BeginPaperSize: note
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ folio 216mm 330mm
+@+ ! %%DocumentPaperSizes: folio
+@+ %%BeginPaperSize: folio
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ legal 8.5in 14in
@+ ! %%DocumentPaperSizes: Legal
@+ %%BeginPaperSize: Legal
-@+ %legal
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 1008] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ 10x14 10in 14in
+@+ ! %%DocumentPaperSizes: 10x14
+@+ %%BeginPaperSize: 10x14
+@+ /setpagedevice where
+@+ { pop << /PageSize [720 1008] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ ledger 17in 11in
@+ ! %%DocumentPaperSizes: Ledger
@+ %%BeginPaperSize: Ledger
-@+ %ledger
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 792] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ tabloid 11in 17in
@+ ! %%DocumentPaperSizes: Tabloid
@+ %%BeginPaperSize: Tabloid
-@+ %11x17
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
-@ a4 210mm 297mm
-@+ ! %%DocumentPaperSizes: a4
-@+ %%BeginPaperSize: a4
-@+ %a4
+@ 11x17 11in 17in
+@+ ! %%DocumentPaperSizes: 11x17
+@+ %%BeginPaperSize: 11x17
+@+ /setpagedevice where
+@+ { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ a0 841mm 1189mm
+@+ ! %%DocumentPaperSizes: a0
+@+ %%BeginPaperSize: a0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2384 3370] >> setpagedevice }
+@+ { /a0 where { pop a0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a1 594mm 841mm
+@+ ! %%DocumentPaperSizes: a1
+@+ %%BeginPaperSize: a1
+@+ /setpagedevice where
+@+ { pop << /PageSize [1684 2384] >> setpagedevice }
+@+ { /a1 where { pop a1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a2 420mm 594mm
+@+ ! %%DocumentPaperSizes: a2
+@+ %%BeginPaperSize: a2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1191 1684] >> setpagedevice }
+@+ { /a2 where { pop a2 } if }
+@+ ifelse
@+ %%EndPaperSize
@ a3 297mm 420mm
@+ ! %%DocumentPaperSizes: a3
@+ %%BeginPaperSize: a3
-@+ %a3
+@+ /setpagedevice where
+@+ { pop << /PageSize [842 1191] >> setpagedevice }
+@+ { /a3 where { pop a3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a5 148mm 210mm
+@+ ! %%DocumentPaperSizes: a5
+@+ %%BeginPaperSize: a5
+@+ /setpagedevice where
+@+ { pop << /PageSize [420 595] >> setpagedevice }
+@+ { /a5 where { pop a5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a6 105mm 148mm
+@+ ! %%DocumentPaperSizes: a6
+@+ %%BeginPaperSize: a6
+@+ /setpagedevice where
+@+ { pop << /PageSize [298 420] >> setpagedevice }
+@+ { /a6 where { pop a6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a7 74mm 105mm
+@+ ! %%DocumentPaperSizes: a7
+@+ %%BeginPaperSize: a7
+@+ /setpagedevice where
+@+ { pop << /PageSize [210 298] >> setpagedevice }
+@+ { /a7 where { pop a7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a8 52mm 74mm
+@+ ! %%DocumentPaperSizes: a8
+@+ %%BeginPaperSize: a8
+@+ /setpagedevice where
+@+ { pop << /PageSize [147 210] >> setpagedevice }
+@+ { /a8 where { pop a8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a9 37mm 52mm
+@+ ! %%DocumentPaperSizes: a9
+@+ %%BeginPaperSize: a9
+@+ /setpagedevice where
+@+ { pop << /PageSize [105 147] >> setpagedevice }
+@+ { /a9 where { pop a9 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ a10 26mm 37mm
+@+ ! %%DocumentPaperSizes: a10
+@+ %%BeginPaperSize: a10
+@+ /setpagedevice where
+@+ { pop << /PageSize [74 105] >> setpagedevice }
+@+ { /a10 where { pop a10 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb0 1030mm 1456mm
+@+ ! %%DocumentPaperSizes: jisb0
+@+ %%BeginPaperSize: jisb0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2920 4127] >> setpagedevice }
+@+ { /jisb0 where { pop jisb0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb1 728mm 1030mm
+@+ ! %%DocumentPaperSizes: jisb1
+@+ %%BeginPaperSize: jisb1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2064 2920] >> setpagedevice }
+@+ { /jisb1 where { pop jisb1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb2 515mm 728mm
+@+ ! %%DocumentPaperSizes: jisb2
+@+ %%BeginPaperSize: jisb2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1460 2064] >> setpagedevice }
+@+ { /jisb2 where { pop jisb2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb3 364mm 515mm
+@+ ! %%DocumentPaperSizes: jisb3
+@+ %%BeginPaperSize: jisb3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1032 1460] >> setpagedevice }
+@+ { /jisb3 where { pop jisb3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb4 257mm 364mm
+@+ ! %%DocumentPaperSizes: jisb4
+@+ %%BeginPaperSize: jisb4
+@+ /setpagedevice where
+@+ { pop << /PageSize [729 1032] >> setpagedevice }
+@+ { /jisb4 where { pop jisb4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb5 182mm 257mm
+@+ ! %%DocumentPaperSizes: jisb5
+@+ %%BeginPaperSize: jisb5
+@+ /setpagedevice where
+@+ { pop << /PageSize [516 729] >> setpagedevice }
+@+ { /jisb5 where { pop jisb5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb6 128mm 182mm
+@+ ! %%DocumentPaperSizes: jisb6
+@+ %%BeginPaperSize: jisb6
+@+ /setpagedevice where
+@+ { pop << /PageSize [363 516] >> setpagedevice }
+@+ { /jisb6 where { pop jisb6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb7 91mm 128mm
+@+ ! %%DocumentPaperSizes: jisb7
+@+ %%BeginPaperSize: jisb7
+@+ /setpagedevice where
+@+ { pop << /PageSize [258 363] >> setpagedevice }
+@+ { /jisb7 where { pop jisb7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb8 64mm 91mm
+@+ ! %%DocumentPaperSizes: jisb8
+@+ %%BeginPaperSize: jisb8
+@+ /setpagedevice where
+@+ { pop << /PageSize [181 258] >> setpagedevice }
+@+ { /jisb8 where { pop jisb8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b0 1000mm 1414mm
+@+ ! %%DocumentPaperSizes: b0
+@+ %%BeginPaperSize: b0
+@+ /setpagedevice where
+@+ { pop << /PageSize [2835 4008] >> setpagedevice }
+@+ { /b0 where { pop b0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b1 707mm 1000mm
+@+ ! %%DocumentPaperSizes: b1
+@+ %%BeginPaperSize: b1
+@+ /setpagedevice where
+@+ { pop << /PageSize [2004 2835] >> setpagedevice }
+@+ { /b1 where { pop b1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b2 500mm 707mm
+@+ ! %%DocumentPaperSizes: b2
+@+ %%BeginPaperSize: b2
+@+ /setpagedevice where
+@+ { pop << /PageSize [1417 2004] >> setpagedevice }
+@+ { /b2 where { pop b2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b3 353mm 500mm
+@+ ! %%DocumentPaperSizes: b3
+@+ %%BeginPaperSize: b3
+@+ /setpagedevice where
+@+ { pop << /PageSize [1001 1417] >> setpagedevice }
+@+ { /b3 where { pop b3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b4 250mm 353mm
+@+ ! %%DocumentPaperSizes: b4
+@+ %%BeginPaperSize: b4
+@+ /setpagedevice where
+@+ { pop << /PageSize [709 1001] >> setpagedevice }
+@+ { /b4 where { pop b4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b5 176mm 250mm
+@+ ! %%DocumentPaperSizes: b5
+@+ %%BeginPaperSize: b5
+@+ /setpagedevice where
+@+ { pop << /PageSize [499 709] >> setpagedevice }
+@+ { /b5 where { pop b5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b6 125mm 176mm
+@+ ! %%DocumentPaperSizes: b6
+@+ %%BeginPaperSize: b6
+@+ /setpagedevice where
+@+ { pop << /PageSize [354 499] >> setpagedevice }
+@+ { /b6 where { pop b6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ c5 162mm 229mm
+@+ ! %%DocumentPaperSizes: c5
+@+ %%BeginPaperSize: c5
+@+ /setpagedevice where
+@+ { pop << /PageSize [459 649] >> setpagedevice }
+@+ { /c5 where { pop c5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ DL 110mm 220mm
+@+ ! %%DocumentPaperSizes: DL
+@+ %%BeginPaperSize: DL
+@+ /setpagedevice where
+@+ { pop << /PageSize [312 624] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Comm10 105mm 241mm
+@+ ! %%DocumentPaperSizes: Comm10
+@+ %%BeginPaperSize: Comm10
+@+ /setpagedevice where
+@+ { pop << /PageSize [297 684] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Monarch 98.4mm 190.5mm
+@+ ! %%DocumentPaperSizes: Monarch
+@+ %%BeginPaperSize: Monarch
+@+ /setpagedevice where
+@+ { pop << /PageSize [279 540] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archE 36in 48in
+@+ ! %%DocumentPaperSizes: archE
+@+ %%BeginPaperSize: archE
+@+ /setpagedevice where
+@+ { pop << /PageSize [2592 3456] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archD 24in 36in
+@+ ! %%DocumentPaperSizes: archD
+@+ %%BeginPaperSize: archD
+@+ /setpagedevice where
+@+ { pop << /PageSize [1728 2592] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archC 18in 24in
+@+ ! %%DocumentPaperSizes: archC
+@+ %%BeginPaperSize: archC
+@+ /setpagedevice where
+@+ { pop << /PageSize [1296 1728] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archB 12in 18in
+@+ ! %%DocumentPaperSizes: archB
+@+ %%BeginPaperSize: archB
+@+ /setpagedevice where
+@+ { pop << /PageSize [864 1296] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archA 9in 12in
+@+ ! %%DocumentPaperSizes: archA
+@+ %%BeginPaperSize: archA
+@+ /setpagedevice where
+@+ { pop << /PageSize [648 864] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flsa 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flsa
+@+ %%BeginPaperSize: flsa
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flse 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flse
+@+ %%BeginPaperSize: flse
+@+ /setpagedevice where
+@+ { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ csheet 431.8mm 558.8mm
+@+ ! %%DocumentPaperSizes: csheet
+@+ %%BeginPaperSize: csheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1224 1584] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ dsheet 558.8mm 863.6mm
+@+ ! %%DocumentPaperSizes: dsheet
+@+ %%BeginPaperSize: dsheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [1584 2448] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ esheet 863.6mm 1117.6mm
+@+ ! %%DocumentPaperSizes: esheet
+@+ %%BeginPaperSize: esheet
+@+ /setpagedevice where
+@+ { pop << /PageSize [2448 3168] >> setpagedevice }
+@+ if
@+ %%EndPaperSize
@ unknown 0in 0in

View File

@ -1,87 +0,0 @@
diff -up texlive-2007/texk/dvipsk/hps.c.dvipsoverflow texlive-2007/texk/dvipsk/hps.c
--- texlive-2007/texk/dvipsk/hps.c.dvipsoverflow 2007-11-22 15:44:30.000000000 +0100
+++ texlive-2007/texk/dvipsk/hps.c 2007-11-22 15:46:10.000000000 +0100
@@ -441,19 +441,32 @@ int href_name_match P2C(char *, h, char
void stamp_hps P1C(Hps_link *, pl)
{
- char tmpbuf[200] ;
+ char * tmpbuf;
if (pl == NULL) {
error("Null pointer, oh no!") ;
return ;
- } else {
- /* print out the proper pdfm with local page info only
- * target info will be in the target dictionary */
- (void)sprintf(tmpbuf,
- " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ", pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
- pl->color[0], pl->color[1], pl->color[2]) ;
- cmdout(tmpbuf) ;
- }
+ }
+ if(pl->title == NULL) {
+ error("Null pointer, oh no!") ;
+ return ;
+ }
+
+ tmpbuf = (char *) malloc(strlen(pl->title)+200);
+ if(tmpbuf == NULL) {
+ error("out of memory, oh no!") ;
+ return ;
+ }
+
+ /* print out the proper pdfm with local page info only
+ * target info will be in the target dictionary */
+ (void)sprintf(tmpbuf,
+ " (%s) [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] pdfm ",
+ pl->title, pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
+ pl->color[0], pl->color[1], pl->color[2]) ;
+ cmdout(tmpbuf) ;
+ free(tmpbuf);
+
}
@@ -462,18 +475,31 @@ void stamp_hps P1C(Hps_link *, pl)
*/
void stamp_external P2C(char *, s, Hps_link *, pl)
{
- char tmpbuf[200];
+ char *tmpbuf;
if (pl == NULL) {
error("Null pointer, oh no!") ;
return ;
- } else {
- /* print out the proper pdfm with local page info only
- * target info will be in the target dictionary */
- (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ", pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
- pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
- pl->color[0], pl->color[1], pl->color[2], s) ;
- cmdout(tmpbuf) ;
- }
+ }
+
+ if (s == NULL) {
+ error("Null pointer, oh no!") ;
+ return ;
+ }
+
+ tmpbuf = (char *) malloc(strlen(s) + 200);
+ if(tmpbuf == NULL) {
+ error("out of memory, oh no!") ;
+ return ;
+ }
+
+ /* print out the proper pdfm with local page info only
+ * target info will be in the target dictionary */
+ (void)sprintf(tmpbuf," [[%.0f %.0f %.0f %.0f] [%i %i %i [%i %i]] [%.0f %.0f %.0f]] (%s) pdfm ",
+ pl->rect.llx, pl->rect.lly, pl->rect.urx, pl->rect.ury,
+ pl->border[0], pl->border[1], pl->border[2], pl->border[3],pl->border[4],
+ pl->color[0], pl->color[1], pl->color[2], s) ;
+ cmdout(tmpbuf) ;
+ free(tmpbuf);
}
void finish_hps P1H(void) {

View File

@ -1,12 +0,0 @@
diff -up texlive-2007/libs/icu-xetex/layoutex/ParagraphLayout.cpp.elif texlive-2007/libs/icu-xetex/layoutex/ParagraphLayout.cpp
--- texlive-2007/libs/icu-xetex/layoutex/ParagraphLayout.cpp.elif 2006-07-25 14:37:43.000000000 +0200
+++ texlive-2007/libs/icu-xetex/layoutex/ParagraphLayout.cpp 2009-02-26 10:28:40.000000000 +0100
@@ -745,7 +745,7 @@ le_int32 ParagraphLayout::getLanguageCod
return nullLanguageCode;
}
-#elif
+#else
// TODO - dummy implementation for right now...
le_int32 ParagraphLayout::getLanguageCode(const Locale *locale)

View File

@ -1,12 +0,0 @@
diff -up texlive-2007/libs/icu-xetex/tools/pkgdata/make.c.execshield texlive-2007/libs/icu-xetex/tools/pkgdata/make.c
--- texlive-2007/libs/icu-xetex/tools/pkgdata/make.c.execshield 2006-07-25 14:37:43.000000000 +0200
+++ texlive-2007/libs/icu-xetex/tools/pkgdata/make.c 2010-05-24 15:07:38.721047876 +0200
@@ -429,7 +429,7 @@ pkg_mak_writeAssemblyHeader(FileStream *
T_FileStream_writeLine(f, "\n");
T_FileStream_writeLine(f, "$(TEMP_DIR)/$(NAME)_dat.o : $(TEMP_DIR)/$(NAME).dat\n");
T_FileStream_writeLine(f, "\t$(INVOKE) $(GENCCODE) $(GENCCODE_ASSEMBLY) -n $(NAME) -e $(ENTRYPOINT) -d $(TEMP_DIR) $<\n");
- T_FileStream_writeLine(f, "\t$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $(TEMP_DIR)/$(NAME)_dat"ASM_SUFFIX"\n");
+ T_FileStream_writeLine(f, "\t$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -Wa,--noexecstack -o $@ $(TEMP_DIR)/$(NAME)_dat"ASM_SUFFIX"\n");
T_FileStream_writeLine(f, "\t$(RMV) $(TEMP_DIR)/$(NAME)_dat"ASM_SUFFIX"\n");
T_FileStream_writeLine(f, "\n");
T_FileStream_writeLine(f, "else\n");

View File

@ -1,36 +0,0 @@
diff -up texlive-2007/texk/web2c/ptex-src-3.1.10/ptex-base.ch.extramembot texlive-2007/texk/web2c/ptex-src-3.1.10/ptex-base.ch
--- texlive-2007/texk/web2c/ptex-src-3.1.10/ptex-base.ch.extramembot 2006-07-18 10:03:33.000000000 +0200
+++ texlive-2007/texk/web2c/ptex-src-3.1.10/ptex-base.ch 2011-11-30 12:04:46.180922908 +0100
@@ -92,7 +92,7 @@ message_printing: boolean; { true if mes
{Initialize enc\TeX\ data.}
for i:=0 to 255 do mubyte_read[i]:=null;
for i:=0 to 255 do mubyte_write[i]:=0;
-for i:=0 to 128 do mubyte_cswrite[i]:=null;
+for i:=0 to 127 do mubyte_cswrite[i]:=null;
mubyte_keep := 0; mubyte_start := false;
write_noexpanding := false; cs_converting := false;
special_printing := false; message_printing := false;
diff -up texlive-2007/texk/web2c/tex.ch.extramembot texlive-2007/texk/web2c/tex.ch
--- texlive-2007/texk/web2c/tex.ch.extramembot 2006-12-19 02:11:11.000000000 +0100
+++ texlive-2007/texk/web2c/tex.ch 2011-11-30 12:03:32.052795763 +0100
@@ -365,7 +365,7 @@ for i:=@'177 to @'377 do xchr[i]:=i;
{Initialize enc\TeX\ data.}
for i:=0 to 255 do mubyte_read[i]:=null;
for i:=0 to 255 do mubyte_write[i]:=0;
-for i:=0 to 128 do mubyte_cswrite[i]:=null;
+for i:=0 to 127 do mubyte_cswrite[i]:=null;
mubyte_keep := 0; mubyte_start := false;
write_noexpanding := false; cs_converting := false;
special_printing := false; message_printing := false;
diff -up texlive-2007/texk/web2c/xetexdir/xetex-noenc.ch.extramembot texlive-2007/texk/web2c/xetexdir/xetex-noenc.ch
--- texlive-2007/texk/web2c/xetexdir/xetex-noenc.ch.extramembot 2006-07-26 18:19:45.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex-noenc.ch 2011-11-30 12:03:32.053795764 +0100
@@ -178,7 +178,7 @@ for i:=@'177 to @'377 do xchr[i]:=i;
{Initialize enc\TeX\ data.}
for i:=0 to 255 do mubyte_read[i]:=null;
for i:=0 to 255 do mubyte_write[i]:=0;
-for i:=0 to 128 do mubyte_cswrite[i]:=null;
+for i:=0 to 127 do mubyte_cswrite[i]:=null;
mubyte_keep := 0; mubyte_start := false;
write_noexpanding := false; cs_converting := false;
special_printing := false; message_printing := false;

188
texlive-fedora-licenses.h Normal file
View File

@ -0,0 +1,188 @@
"cmdtrack", NULL, /* Removed from TeXLive - non-free */
"fltpage", NULL, /* Removed from TeXLive - non-free */
"free-math-font-survey", NULL, /* Removed from TeXLive - non-free */
"kalender", NULL, /* Removed from TeXLive - non-free */
"latex-tipps-und-tricks", NULL, /* Removed from TeXLive - non-free */
"russ", NULL, /* Removed from TeXLive - non-free */
"preview", NULL, /* upstream in Fedora */
"floatflt", "LPPL",
"seetexk", "MIT",
"texdraw", "CC-BY",
"ogham", "Public Domain",
"midnight", "midnight",
"ec", "ec",
"setspace", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000357.html */
"authoraftertitle", "Public Domain", /* http://www.linux.cz/pipermail/texlive/2011-December/000359.html */
"gentle", "CC-BY-SA", /* http://www.linux.cz/pipermail/texlive/2011-December/000375.html */
"gillcm", "BSD", /* http://www.linux.cz/pipermail/texlive/2011-December/000382.html */
"doc-pictex", "Copyright only", /* http://www.linux.cz/pipermail/texlive/2011-December/000386.html */
"abstyles", "Abstyles", /* http://www.linux.cz/pipermail/texlive/2011-December/000343.html */
"adobemapping", "BSD",
"ANUfinalexam", "GPL+",
"apalike2", "Knuth",
"apa6e", "BSD",
"arpic", "Arpic",
"ar", "LPPL",
"asana-math", "OFL",
"ascii-chart", "LPPL",
"bbm", "Copyright only",
"bbold-type1", "Copyright only",
"bera", "Bitstream vera",
"berenisadf", "GPLv2+ and LPPL",
"bchart", "MIT",
"blacklettert1", "LPPL",
"borceux", "Borceux",
"braille", "LPPL",
"breakcites", "Copyright only",
"calligra", "Copyright only",
"calligra-type1", "Copyright only",
"charter", "Copyright only",
"cherokee", "Copyright only",
"chicago", "Knuth",
"cite", "Copyright only",
"clock", "GPL+",
"cm-unicode", "OFL",
"codepage", "BSD",
"context-filter", "BSD",
"context-mathsets", "BSD",
"context-rst", "BSD",
"context", "GPL+ or LPPL",
"context-vim", "BSD",
"courseoutline", "Copyright only",
"coursepaper", "Copyright only",
"crossword", "Crossword",
"csplain", "GPLv2+",
"dancers", "Copyright only",
"de-macro", "AFL",
"detex", "NCSA",
"din1505", "Bibtex",
"dk-bib", "GPLv2+",
"dosepsbin", "GPLv2 or Artistic",
"dotseqn", "Dotseqn",
"doublestroke", "Doublestroke",
"dvidvi", "Copyright only",
"ecv", "Copyright only",
"eiad", "Public Domain",
"electrum", "GPLv2+ with exceptions and LPPL",
"elvish", "Elvish",
"epstopdf", "BSD",
"eqname", "Copyright only",
"esstix", "OFL",
"etex-pkg", "LPPL",
"eurosym", "Eurosym",
"facture", "CC-BY-SA",
"fancynum", "LPPL",
"fbithesis", "LPPL",
"figflow", "Copyright only",
"finbib", "Bibtex",
"fltpoint", "LPPL",
"fonetika", "GPL+ and LPPL",
"font-change", "CC-BY-SA",
"formlett", "GPL+",
"framed", "Copyright only",
"fundus", "LPPL",
"fwlw", "Copyright only",
"gene-logic", "Crossword",
"gentium", "OFL",
"germbib", "Bibtex",
"getoptk", "CeCILL-B",
"gfsartemisia", "LPPL",
"gfsbaskerville", "LPPL",
"gfsbodoni", "OFL",
"gfscomplutum", "OFL",
"gfsdidot", "LPPL",
"gfsneohellenic", "LPPL",
"gfsporson", "LPPL",
"gfssolomos", "OFL",
"harvmac", "CC-BY",
"hc", "GPLv2+",
"hyphen-basque", "Bahyph",
"hyphenex", "Public Domain",
"hyphen-greek", "LPPL",
"hyphen-turkish", "Copyright only",
"hyph-utf8", "Copyright only",
"ifsym", "LPPL",
"inconsolata", "OFL",
"index", "LPPL",
"ipaex", "IPA",
"itrans", "BSD",
"jadetex", "MIT",
"jamtimes", "BSD",
"japanese-otf", "BSD",
"jlabels", "Bibtex or LPPL",
"kixfont", "Copyright only",
"latex2e-help-texinfo", "Latex2e",
"lhcyr", "Lhcyr",
"localloc", "Bibtex",
"lshort-german", "GFDL",
"lshort-spanish", "GPLv2+",
"lshort-ukr", "GPLv2+",
"lua-alt-getopt", "MIT",
"magaz", "Copyright only",
"makeindex", "MakeIndex",
"mdputu", "BSD",
"menu", "LPPL",
"metapost-examples", "GPL+",
"mhequ", "Public Domain",
"mil3", "Copyright only",
"minutes", "LPPL",
"mkgrkindex", "LPPL",
"mkjobtexmf", "GPLv2 or Artistic",
"mpman-ru", "MIT",
"mp3d", "LPPL",
"mslapa", "Public Domain",
"mxedruli", "LPPL",
"nature", "LPPL",
"newsletr", "Newsletr",
"ocr-b-outline", "Copyright only",
"ocr-b", "Copyright only",
"oldstandard", "OFL",
"oubraces", "Copyright only",
"passivetex", "MIT",
"path", "Bibtex",
"pax", "GPLv2+",
"pb-diagram", "GPLv2+",
"persian-modern", "OFL",
"philokalia", "OFL",
"plain-doc", "Public Domain",
"plweb", "Copyright only",
"pnas2009", "Bibtex",
"prodint", "OFL",
"productbox", "Copyright only",
"psfrag", "psfrag",
"pst-bspline", "LPPL",
"ps2pkm", "MIT",
"ptex", "BSD",
"punknova", "Punknova",
"rccol", "LPPL",
"rsfs", "rsfs",
"r_und_s", "BSD",
"shapepar", "Dotseqn",
"showhyphens", "MIT",
"slideshow", "Copyright only",
"sphack", "Bibtex",
"stix", "OFL",
"subsupscripts", "LPPL",
"tabls", "Dotseqn",
"tds", "Latex2e",
"tetex", "GPL+ and GPLv2+ and LPPL",
"texdiff", "GPL+ or Artistic",
"texdirflatten", "GPL+ or Artistic",
"texloganalyser", "BSD",
"tex-refs", "GFDL",
"threeparttable", "Threeparttable",
"tie", "Latex2e",
"tikz-dependency", "(GPLv2 or LPPL) and (GFDL or LPPL)",
"tucv", "CC-BY-SA",
"tugboat-plain", "Bibtex",
"ulem", "Copyright only",
"umtypewriter", "OFL",
"utopia", "Utopia",
"venturisadf", "Utopia",
"version", "Copyright only",
"vntex", "Utopia",
"wadalab", "Wadalab",
"webguide", "Utopia",
"wsuipa", "Utopia",
"xdvi", "MIT",
"zed-csp", "Zed",

View File

@ -1,66 +0,0 @@
diff -up texlive/texk/make/paths.mk.fedora_paths texlive/texk/make/paths.mk
--- texlive/texk/make/paths.mk.fedora_paths 2007-08-19 08:46:09.000000000 +0200
+++ texlive/texk/make/paths.mk 2007-08-19 08:55:17.000000000 +0200
@@ -59,7 +59,7 @@ libexecdir = @libexecdir@
texmf = @texmfmain@
# The directory used by varfonts.
-vartexfonts = /var/tmp/texfonts
+vartexfonts = $(localstatedir)/cache/fonts
# Regular input files.
texinputdir = $(texmf)/tex
diff -up texlive/texk/kpathsea/texmf.in.fedora_paths texlive/texk/kpathsea/texmf.in
--- texlive/texk/kpathsea/texmf.in.fedora_paths 2007-08-19 08:47:04.000000000 +0200
+++ texlive/texk/kpathsea/texmf.in 2007-08-21 14:16:49.000000000 +0200
@@ -59,12 +59,12 @@
TEXMFMAIN = @texmf@
% The main distribution tree:
-TEXMFDIST = @texmf@-dist
+TEXMFDIST = @texmf@
% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
% texconfig, it uses TEXMFCONFIG below.
-TEXMFLOCAL = @texmf@-local
+TEXMFLOCAL = /usr/local/share/texmf
% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
@@ -72,7 +72,7 @@ TEXMFLOCAL = @texmf@-local
% TEXMFSYSVAR = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSVAR = @texmf@-var
-TEXMFSYSVAR = @texmf@-var
+TEXMFSYSVAR = @localstatedir@/lib/texmf
% TEXMFSYSCONFIG, where texconfig-sys stores configuration data.
% With teTeX-3.0 or later, this must be set.
@@ -80,7 +80,7 @@ TEXMFSYSVAR = @texmf@-var
% TEXMFSYSCONFIG = $TEXMFMAIN
% For using a separate tree:
% TEXMFSYSCONFIG = @texmf@-config
-TEXMFSYSCONFIG = @texmf@-config
+TEXMFSYSCONFIG = @sysconfdir@/texmf
% User texmf trees are allowed as follows.
% This used to be HOMETEXMF.
@@ -111,7 +111,7 @@ TEXMFCONFIG = $HOME/.texmf-config
%
% For texconfig to work properly, TEXMFCONFIG and TEXMFVAR should be named
% explicitly and before all other trees.
-TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
+TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFMAIN,!!$TEXMFDIST}
% The system trees. These are the trees that are shared by all the users.
% If a tree appears in this list, the mktex* scripts will use
@@ -379,7 +379,7 @@ TEXMFSCRIPTS = $TEXMF/scripts//
%
% For security reasons, it is better not to have . part of the path.
%
-TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf{-local,}/web2c};/.$TETEXDIR;$TEXMF/web2c;@web2c@
+TEXMFCNF = {$SELFAUTOLOC,$SELFAUTODIR,$SELFAUTOPARENT}{,{/share,}/texmf-local/web2c};@sysconfdir@/texmf/web2c;/usr/local/share/texmf/web2c;$TEXMF/web2c;@web2c@
# $progname: kpathsea v. 3.5.3 or later overwrites this at runtime. To
# avoid empty expansions from binaries linked against an earlier

View File

@ -1,2 +0,0 @@
#!/bin/sh
/usr/lib/rpm/perl.req "$@" | grep -v 'perl(\(Win32\|only\|path_tre\|just\|Htex\|Pts\)'

View File

@ -1,21 +0,0 @@
64_fix_makempx_installation by Sanjoy Mahajan <sanjoy@mrao.cam.ac.uk>
building with --enable-shared installs the makempx script instead of the
binary build
---
build/source/texk/web2c/mpware/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in
===================================================================
--- texlive-bin-2007.orig/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:04:58.000000000 +0200
+++ texlive-bin-2007/build/source/texk/web2c/mpware/Makefile.in 2007-05-19 20:05:19.000000000 +0200
@@ -49,7 +49,7 @@
$(INSTALL_PROGRAM) newer $(bindir)/newer
$(INSTALL_LIBTOOL_PROG) dmp $(bindir)
$(INSTALL_LIBTOOL_PROG) mpto $(bindir)
- $(INSTALL_SCRIPT) makempx $(scriptdir)/makempx
+ $(INSTALL_LIBTOOL_PROG) makempx $(bindir)
install-data:
kpse_include ../make/tkpathsea.mk

View File

@ -1,23 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 11_fix_pkfix_invocation.dpatch <preining@logic.at>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Fix invocation of pkfix to get rid of magic
@DPATCH@
build/source/texk/texlive/pkfix | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/texlive/pkfix 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/texlive/pkfix 2007-01-26 03:56:42.000000000 +0100
@@ -1,7 +1,4 @@
-eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' && eval 'exec perl -S $0 $argv:q'
- if 0;
-use strict;
-$^W=1; # turn warning on
+#!/usr/bin/perl -w
#
# pkfix.pl
#

View File

@ -1,19 +0,0 @@
diff -up texlive-2007/texk/tetex/fmtutil.infloop texlive-2007/texk/tetex/fmtutil
--- texlive-2007/texk/tetex/fmtutil.infloop 2008-03-12 10:51:14.000000000 +0100
+++ texlive-2007/texk/tetex/fmtutil 2008-03-12 16:53:05.000000000 +0100
@@ -680,6 +680,15 @@
esac
rm -f $fmtfile
+
+ # Check for infinite recursion before running the iniTeX:
+ case :$mktexfmt_loop: in
+ *:"$format":*)
+ abort "Infinite recursion detected, giving up!" ;;
+ esac
+ mktexfmt_loop=$mktexfmt_loop:$format
+ export mktexfmt_loop
+
verboseMsg "$progname: running \`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' ..."
# run in a subshell to get a local effect of TEXPOOL manipulation:

View File

@ -1,29 +0,0 @@
---
build/source/texk/tetex/fmtutil | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
Index: texlive-bin-2007/build/source/texk/tetex/fmtutil
===================================================================
--- texlive-bin-2007.orig/build/source/texk/tetex/fmtutil 2007-04-13 14:04:31.000000000 +0200
+++ texlive-bin-2007/build/source/texk/tetex/fmtutil 2007-04-13 14:09:48.000000000 +0200
@@ -696,9 +696,7 @@
if test -f $fmtfile; then
grep '^! ' $format.log >/dev/null 2>&1 &&
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
- rm -f "$fulldestdir/$format.log"
- # We don't want user-interaction for the following "mv" commands:
- mv "$format.log" "$fulldestdir/$format.log" </dev/null
+ # We don't want user-interaction for the following "mv" command:
if mv "$fmtfile" "$fulldestdir/$fmtfile" </dev/null; then
verboseMsg "$progname: $fulldestdir/$fmtfile installed."
#
@@ -710,6 +708,9 @@
else
log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' failed"
fi
+ rm -f "$fulldestdir/$format.log"
+ # We don't want user-interaction for the following "mv" command:
+ mv "$format.log" "$fulldestdir/$format.log" </dev/null
}
###############################################################################

View File

@ -1,20 +0,0 @@
#!/bin/sh
mkdir texlive-source-free
cd texlive-source-free
tar -xjvf ../source.tar.bz2
for file in texk/texlive/nts.pl \
texk/dvipsk/contrib/bbfig/bb.ps \
texk/dvipsk/contrib/pspic/pspic.sty \
texk/dvipsk/contrib/psfntmac/ps_lfonts.tex \
texk/dvipsk/contrib/psfntmac/ps_plain.tex \
texk/dvpisk/contrib/timesmat.sty \
texk/dvpisk/contrib/MakeTeXPK.pl\
; do
rm $file
done
tar -cjvf ../source-free.tar.bz2 .
cd ..
rm -rf texlive-source-free

View File

@ -1,142 +0,0 @@
diff -up texlive-2007/texk/afm2pl/afm2pl.c.getline texlive-2007/texk/afm2pl/afm2pl.c
--- texlive-2007/texk/afm2pl/afm2pl.c.getline 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/afm2pl/afm2pl.c 2009-04-02 15:18:30.000000000 +0200
@@ -345,7 +345,7 @@ P2C (register int, x, register int, y)
/* read a line from infile into buffer and obuffer */
int
- getline
+ _getline
P1H (void)
{
register char *p;
@@ -781,7 +781,7 @@ P1H (void)
afmencoding->vec[i] = ".notdef";
afmencoding->name = "Unspecified";
- while (getline ()) {
+ while (_getline ()) {
switch (interest (paramstring ())) {
case FontName:
fontname = paramnewstring ();
@@ -963,7 +963,7 @@ gettoken ()
while (1) {
while (param == 0 || *param == 0) {
- if (getline () == 0)
+ if (_getline () == 0)
error ("! premature end in encoding file");
}
if (param[0] == '%') {
@@ -1540,7 +1540,7 @@ extraligkerninfo ()
encfilename =
openin (encfilename, kpse_enc_format, ".enc");
for (lig_it = 0; lig_it < 2; lig_it++) {
- while (getline ()) {
+ while (_getline ()) {
/* search for (ligkern) comment in line */
for (p = buffer; *p; p++)
if (*p == '%') {
@@ -1576,7 +1576,7 @@ extraligkerninfo ()
for (i = 0; i < ligfilenames->n; i++) {
ligfilename = openin (ligfilenames->names[i],
kpse_lig_format, ".lig");
- while (getline ())
+ while (_getline ())
checkligkern (buffer, 0); /* 2nd param 0: lig file */
fclose (infile);
}
@@ -1607,7 +1607,7 @@ extraligkerninfo ()
for (i = 0; i < Ligfilenames->n; i++) {
ligfilename = openin (Ligfilenames->names[i],
kpse_lig_format, ".lig");
- while (getline ())
+ while (_getline ())
checkligkern (buffer, 0); /* 2nd param 0: lig file */
fclose (infile);
}
diff -up texlive-2007/texk/dvipsk/afm2tfm.c.getline texlive-2007/texk/dvipsk/afm2tfm.c
--- texlive-2007/texk/dvipsk/afm2tfm.c.getline 2009-04-02 15:10:49.000000000 +0200
+++ texlive-2007/texk/dvipsk/afm2tfm.c 2009-04-02 15:20:59.000000000 +0200
@@ -257,7 +257,7 @@ transform P2C(register int, x, register
}
int
-getline P1H(void) {
+_getline P1H(void) {
register char *p ;
register int c ;
@@ -612,7 +612,7 @@ readadobe P1H(void) {
ai = newchar() ;
ai->adobenum = -1 ;
ai->adobename = "||" ; /* boundary character name */
- while (getline()) {
+ while (_getline()) {
switch(interest(paramstring())) {
case FontName:
fontname = paramnewstring() ;
@@ -1888,7 +1888,7 @@ char *gettoken() {
while (1) {
while (param == 0 || *param == 0) {
- if (getline() == 0)
+ if (_getline() == 0)
error("! premature end in encoding file") ;
for (p=buffer; *p; p++)
if (*p == '%') {
@@ -1979,7 +1979,7 @@ struct encoding *readencoding P1C(char *
p = gettoken() ;
if (strcmp(p, "]"))
error("! token 258 in encoding must be make-array (])") ;
- while (getline()) {
+ while (_getline()) {
for (p=buffer; *p; p++)
if (*p == '%') {
if (ignoreligkern == 0)
diff -up texlive-2007/texk/web2c/cpascal.h.getline texlive-2007/texk/web2c/cpascal.h
--- texlive-2007/texk/web2c/cpascal.h.getline 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/cpascal.h 2009-04-02 15:10:49.000000000 +0200
@@ -14,6 +14,7 @@
/* We must include this first, to resolve many C issues. */
#include "config.h"
+#define getline _getline
/* We only use getopt in the applications, not in web2c itself. */
#include <kpathsea/getopt.h>
diff -up texlive-2007/texk/web2c/mpware/mpto.c.getline texlive-2007/texk/web2c/mpware/mpto.c
--- texlive-2007/texk/web2c/mpware/mpto.c.getline 2006-11-28 14:24:53.000000000 +0100
+++ texlive-2007/texk/web2c/mpware/mpto.c 2009-04-02 15:10:50.000000000 +0200
@@ -99,7 +95,7 @@ usage(char *progn)
}
char *
-getline(void)
+_getline(void)
{ /* returns NULL on EOF or error, otherwise buf */
int c;
unsigned loc = 0;
@@ -304,11 +300,11 @@ copytex(void)
while (*aa == ' ' || *aa == '\t')
aa++;
if (*aa == 0)
- if ((aa = getline()) == NULL)
+ if ((aa = _getline()) == NULL)
err("btex section does not end");
do {
if (*aa == 0)
- if ((aa = getline()) == NULL)
+ if ((aa = _getline()) == NULL)
err("btex section does not end");
else
printf("\n");
@@ -465,7 +461,7 @@ Current maintainer: Taco Hoekwater.\n");
postverb = troff_postverb;
}
printf("%s", predoc);
- while (getline() != NULL)
+ while (_getline() != NULL)
do_line();
printf("%s", postdoc);
exit(0);

View File

@ -1,44 +0,0 @@
diff -up texlive-2007/texk/lacheck/lacheck.lex.lacheck texlive-2007/texk/lacheck/lacheck.lex
--- texlive-2007/texk/lacheck/lacheck.lex.lacheck 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/lacheck/lacheck.lex 2008-08-27 13:20:52.000000000 +0200
@@ -1042,11 +1042,12 @@ char *name;
void g_checkend(n)
int n;
{
- if ( check_top_level_end(yytext,n) == 1 )
+ if ( check_top_level_end(yytext,n) == 1 ) {
if ( CG_TYPE != n )
print_bad_match(yytext,n);
else
pop();
+ }
}
void e_checkend(n, name)
@@ -1075,6 +1075,7 @@ char *name;
{
print_bad_match(name,3);
pop();
+ if (gstackp <= 0) return;
}
pop();
@@ -1090,11 +1091,13 @@ int type;
line_count,
eg_command( end_command , type) ) ;
- printf("\"%s\", line %d: -> unmatched \"%s\"\n",
- CG_FILE,
- CG_LINE,
- bg_command( CG_NAME ) ) ;
- warn_count += 2;
+ if (gstackp > 0) {
+ printf("\"%s\", line %d: -> unmatched \"%s\"\n",
+ CG_FILE,
+ CG_LINE,
+ bg_command( CG_NAME ) ) ;
+ warn_count += 2;
+ }
}
int check_top_level_end(end_command,type)

View File

@ -1,43 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 41_maketexmf.dpatch
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: fix for mktexmf script from perforce depot
@DPATCH@
build/source/texk/kpathsea/mktexmf | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
Index: texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf
===================================================================
--- texlive-bin-2006.svn3816.orig/build/source/texk/kpathsea/mktexmf 2006-01-17 22:41:51.000000000 +0100
+++ texlive-bin-2006.svn3816/build/source/texk/kpathsea/mktexmf 2007-01-26 04:01:50.000000000 +0100
@@ -36,17 +36,20 @@
rootfile=$sauterroot
rootname=b-$rootname
else
- case $rootname in
+ case $name in
# csso12[0-5][0-9] from CJK package; unsupported by mktexmf
csso12[0-5][0-9])
- rootfile=;;
- cs*|lcsss*|icscsc*|icstt*|ilcsss*)
- rootfile=`kpsewhich cscode.mf`;;
- wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*)
- lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'`
- rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;;
+ rootfile=;;
*)
- rootfile=`kpsewhich $rootname.mf 2>/dev/null`;;
+ case $rootname in
+ cs*|lcsss*|icscsc*|icstt*|ilcsss*)
+ rootfile=`kpsewhich cscode.mf`;;
+ wn[bcdfirstuv]*|rx[bcdfiorstuvx][bcfhilmostx]|l[abcdhl][bcdfiorstuvx]*)
+ lhprefix=`echo "$name" | sed 's/^\(..\).*/\1/'`
+ rootfile=`kpsewhich ${lhprefix}codes.mf 2>/dev/null`;;
+ *)
+ rootfile=`kpsewhich $rootname.mf 2>/dev/null`;;
+ esac;;
esac
fi
{ test -z "$rootfile" || test ! -f "$rootfile"; } && exit 1

View File

@ -1,14 +0,0 @@
diff -up texlive-2007/texk/tetex/context/texmfstart.man.man-context texlive-2007/texk/tetex/context/texmfstart.man
--- texlive-2007/texk/tetex/context/texmfstart.man.man-context 2007-01-19 04:53:28.000000000 +0100
+++ texlive-2007/texk/tetex/context/texmfstart.man 2008-01-22 12:15:12.000000000 +0100
@@ -21,8 +21,8 @@ texmfstart \- run ConTeXt scripts, make
\fB texmfstart\fP [ \fIoptions ...\fP ] [ \fIfilename\fP ] [ \fIarguments ...\fP ]
.SH "DESCRIPTION"
-ConTeXt is a typesetting system based on
-the .BR tex (1)
+ConTeXt is a typesetting system based on the
+.BR tex (1)
family of programs.
.B texmfstart
is a ConTeXt meta-script that can run subordinate

View File

@ -1,400 +0,0 @@
diff -up texlive-2007/texk/dvipdfm/dvipdft.1.notetex texlive-2007/texk/dvipdfm/dvipdft.1
--- texlive-2007/texk/dvipdfm/dvipdft.1.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dvipdfm/dvipdft.1 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "dvipdft" "1" "May 2004" "teTeX" "teTeX"
+.TH "dvipdft" "1" "May 2004" "TeXLive" "TeXLive"
.PP
.SH "NAME"
dvipdft \- create thumbnail images for use with dvipdfm
diff -up texlive-2007/texk/dvipdfm/ebb.1.notetex texlive-2007/texk/dvipdfm/ebb.1
--- texlive-2007/texk/dvipdfm/ebb.1.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/dvipdfm/ebb.1 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "ebb" "1" "May 2004" "teTeX" "teTeX"
+.TH "ebb" "1" "May 2004" "TeXLive" "TeXLive"
.PP
.SH "NAME"
ebb \- extract a bounding box from JPEG, PNG, and PDF files
diff -up texlive-2007/texk/makeindexk/mkindex.1.notetex texlive-2007/texk/makeindexk/mkindex.1
--- texlive-2007/texk/makeindexk/mkindex.1.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/makeindexk/mkindex.1 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "mkindex" "1" "September 2000" "teTeX" "teTeX"
+.TH "mkindex" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
mkindex \- script to process LaTeX index and glossary files
@@ -27,7 +27,7 @@ MakeIndex glossary style file
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@informatik\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/allcm.man.notetex texlive-2007/texk/tetex/allcm.man
--- texlive-2007/texk/tetex/allcm.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/allcm.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH allcm 1 "11/94" "teTeX" "teTeX"
+.TH allcm 1 "11/94" "TeXLive" "TeXLive"
.SH NAME
allcm \- force the most important Computer\-Modern\-fonts to be calculated
.SH SYNOPSIS
diff -up texlive-2007/texk/tetex/allec.man.notetex texlive-2007/texk/tetex/allec.man
--- texlive-2007/texk/tetex/allec.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/allec.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH alldc 1 "11/94" "teTeX" "teTeX"
+.TH alldc 1 "11/94" "TeXLive" "TeXLive"
.SH NAME
allec \- force the most important ec\-fonts to be calculated
.SH SYNOPSIS
diff -up texlive-2007/texk/tetex/allneeded.man.notetex texlive-2007/texk/tetex/allneeded.man
--- texlive-2007/texk/tetex/allneeded.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/allneeded.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH allneeded 1 "11/94" "teTeX" "teTeX"
+.TH allneeded 1 "11/94" "TeXLive" "TeXLive"
.SH NAME
allneeded \- force the calculation of all fonts now needed
.SH SYNOPSIS
diff -up texlive-2007/texk/tetex/dvired.man.notetex texlive-2007/texk/tetex/dvired.man
--- texlive-2007/texk/tetex/dvired.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/dvired.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH dvired 1 "09/94" "teTeX" "teTeX"
+.TH dvired 1 "09/94" "TeXLive" "TeXLive"
.SH NAME
dvired \- print dvi-files
.SH SYNOPSIS
diff -up texlive-2007/texk/tetex/e2pall.man.notetex texlive-2007/texk/tetex/e2pall.man
--- texlive-2007/texk/tetex/e2pall.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/e2pall.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "e2pall" "1" "August 2000" "teTeX" "teTeX"
+.TH "e2pall" "1" "August 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
e2pall \- convert all EPS files in a LaTeX document to PDF
diff -up texlive-2007/texk/tetex/fmtutil.cnf.5.notetex texlive-2007/texk/tetex/fmtutil.cnf.5
--- texlive-2007/texk/tetex/fmtutil.cnf.5.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/fmtutil.cnf.5 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "fmtutil\&.cnf" "5" "October 2000" "teTeX" "teTeX"
+.TH "fmtutil\&.cnf" "5" "October 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
fmtutil\&.cnf \- configuration file for fmtutil
@@ -55,11 +55,11 @@ hyphenation pattern file
\fBamstex\fP(1), \fBetex\fP(1), \fBfmtutil\fP(8),
\fBtex\fP(1), \fBtexconfig\fP(8), \fBtexlinks\fP(8)\&.
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/fmtutil.man.notetex texlive-2007/texk/tetex/fmtutil.man
--- texlive-2007/texk/tetex/fmtutil.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/fmtutil.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "fmtutil" "8" "February 2005" "teTeX" "teTeX"
+.TH "fmtutil" "8" "February 2005" "TeXLive" "TeXLive"
.PP
.SH "NAME"
fmtutil \- utility for maintaining TeX format files
@@ -63,11 +63,11 @@ default configuration file
.PP
\fBkpsewhich\fP(1)
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/fontinst.man.notetex texlive-2007/texk/tetex/fontinst.man
--- texlive-2007/texk/tetex/fontinst.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/fontinst.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "fontinst" "1" "May 2000" "teTeX" "teTeX"
+.TH "fontinst" "1" "May 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
fontinst \- utility to run TeX as fontinst
diff -up texlive-2007/texk/tetex/kpsetool.man.notetex texlive-2007/texk/tetex/kpsetool.man
--- texlive-2007/texk/tetex/kpsetool.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/kpsetool.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,7 +1,7 @@
-.TH "kpsetool" "1" "September 2000" "teTeX" "teTeX"
+.TH "kpsetool" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
-kpsetool \- script to make teTeX-style \fBkpsetool\fP,
+kpsetool \- script to make TeXLive-style \fBkpsetool\fP,
\fBkpsexpand\fP, and \fBkpsepath\fP available
.PP
.SH "SYNOPSIS"
@@ -14,11 +14,8 @@ kpsetool \- script to make teTeX-style \
.PP
.SH "DESCRIPTION"
.PP
-\fBkpsetool\fP is a Bourne shell script that makes a teTeX-style
+\fBkpsetool\fP is a Bourne shell script that makes a TeXLive-style
\fBkpsetool\fP, \fBkpsexpand\fP, and \fBkpsepath\fP available\&.
-\fBkpsetool\fP uses \fBweb2c\fP\'s (new) \fBkpsexpand\fP binary, so the
-syntax for \fBkpsexpand\fP is incompatible with teTeX\'s as of version
-0\&.4\&.
.PP
.SH "OPTIONS"
.PP
@@ -86,11 +83,11 @@ virtual font
.PP
\fIKpathsea: A library for path searching\fP (info or DVI file)
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/kpsewhere.man.notetex texlive-2007/texk/tetex/kpsewhere.man
--- texlive-2007/texk/tetex/kpsewhere.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/kpsewhere.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "kpsewhere" "1" "March 2004" "teTeX" "teTeX"
+.TH "kpsewhere" "1" "March 2004" "TeXLive" "TeXLive"
.PP
.SH "NAME"
kpsewhere \- Expanding \fBkpsewhich\fP to separately iterate over each
@@ -28,11 +28,11 @@ all other options are directly handed to
.PP
\fIKpathsea: A library for path searching\fP (info or DVI file)
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/mkofm.man.notetex texlive-2007/texk/tetex/mkofm.man
--- texlive-2007/texk/tetex/mkofm.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/mkofm.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "mkofm" "1" "September 2000" "teTeX" "teTeX"
+.TH "mkofm" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
mkofm \- front end to \fBmktextfm\fP(1)
diff -up texlive-2007/texk/tetex/pslatex.man.notetex texlive-2007/texk/tetex/pslatex.man
--- texlive-2007/texk/tetex/pslatex.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/pslatex.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "pslatex" "1" "September 2000" "teTeX" "teTeX"
+.TH "pslatex" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
pslatex \- utility to typeset LaTeX files using PostScript fonts
diff -up texlive-2007/texk/tetex/rubibtex.man.notetex texlive-2007/texk/tetex/rubibtex.man
--- texlive-2007/texk/tetex/rubibtex.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/rubibtex.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "rubibtex" "1" "October 2000" "teTeX" "teTeX"
+.TH "rubibtex" "1" "October 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
rubibtex \- make a bibliography for (La)TeX using Russian
diff -up texlive-2007/texk/tetex/rumakeindex.man.notetex texlive-2007/texk/tetex/rumakeindex.man
--- texlive-2007/texk/tetex/rumakeindex.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/rumakeindex.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "rumakeindex" "1" "September 2000" "teTeX" "teTeX"
+.TH "rumakeindex" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
rumakeindex \- process a LaTeX index using Russian Cyrillic
diff -up texlive-2007/texk/tetex/texconfig.man.notetex texlive-2007/texk/tetex/texconfig.man
--- texlive-2007/texk/tetex/texconfig.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texconfig.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,8 +1,8 @@
-.TH texconfig 1 "February 2005" "teTeX" "teTeX"
+.TH texconfig 1 "February 2005" "TeXLive" "TeXLive"
.SH NAME
-texconfig \- configures teTeX
+texconfig \- configures TeXLive
.LP
-texconfig-sys \- configures teTeX system\-wide
+texconfig-sys \- configures TeXLive system\-wide
.SH SYNOPSIS
.B texconfig
.LP
@@ -10,7 +10,7 @@ texconfig-sys \- configures teTeX system
.SH DESCRIPTION
.I texconfig
allows to configure and maintain
-.I teTeX
+.I TeXLive
in an easy and convenient manner. It uses the
.I dialog
program to draw nice input boxes. After answering the dialoges, the
diff -up texlive-2007/texk/tetex/texdoc.man.notetex texlive-2007/texk/tetex/texdoc.man
--- texlive-2007/texk/tetex/texdoc.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texdoc.man 2008-08-27 13:33:41.000000000 +0200
@@ -9,7 +9,7 @@
.ft R
.fi
..
-.TH "texdoc" "1" "September 2000" "teTeX" "teTeX"
+.TH "texdoc" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
texdoc \- Utility to look up TeX documentation
@@ -23,7 +23,7 @@ texdoc \- Utility to look up TeX documen
\fBtexdoc\fP seaches for \fINAME\fP in the TeX documentation and
starts an appropriate viewer\&.
.PP
-\fINAME\fP should be the name of a command or package in the teTeX
+\fINAME\fP should be the name of a command or package in the TeX
distribution\&.
.PP
.SH "OPTIONS"
@@ -71,11 +71,11 @@ hostname$ export TEXDOCVIEW_html
\fBacroread\fP(1), \fBgv\fP(1), \fBkpsewhich\fP(1),
\fBless\fP(1), \fBmore\fP(1), \fBxdvi\fP(1)
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/texdoctk.man.notetex texlive-2007/texk/tetex/texdoctk.man
--- texlive-2007/texk/tetex/texdoctk.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texdoctk.man 2008-08-27 13:33:41.000000000 +0200
@@ -80,7 +80,7 @@ If you want to print the documentations,
non-PS files into PostScript. Here are some suggestions:
\& dvi->ps:
-dvips (is part of teTeX) (http://www.radicaleye.com/dvips.html)
+dvips (is part of TeXLive) (http://www.radicaleye.com/dvips.html)
\& pdf->ps:
pdf2ps (http://www.cs.wisc.edu/~ghost) or
diff -up texlive-2007/texk/tetex/texlinks.man.notetex texlive-2007/texk/tetex/texlinks.man
--- texlive-2007/texk/tetex/texlinks.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texlinks.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "texlinks" "8" "September 2000" "teTeX" "teTeX"
+.TH "texlinks" "8" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
texlinks \- maintain symbolic links from format to engine
@@ -45,11 +45,11 @@ default configuration file
.PP
\fBfmtutil\fP(1), \fBfmtutil\&.cnf\fP(5)
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP
diff -up texlive-2007/texk/tetex/thumbpdf.man.notetex texlive-2007/texk/tetex/thumbpdf.man
--- texlive-2007/texk/tetex/thumbpdf.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/thumbpdf.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "thumbpdf" "1" "September 2000" "teTeX" "teTeX"
+.TH "thumbpdf" "1" "September 2000" "TeXLive" "TeXLive"
.PP
.SH "NAME"
thumbpdf \- generate thumbnail images for a PDF file
@@ -75,7 +75,7 @@ for which a user wants to generate thumb
.PP
\fBgs\fP(1), \fBpdftex\fP(1)\&.
.PP
-Web page: <http://tug\&.org/teTeX/>
+Web page: <http://tug\&.org/texlive/>
.PP
.SH "BUGS"
.PP
diff -up texlive-2007/texk/tetex/updmap.cfg.5.notetex texlive-2007/texk/tetex/updmap.cfg.5
--- texlive-2007/texk/tetex/updmap.cfg.5.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/updmap.cfg.5 2008-08-27 13:33:41.000000000 +0200
@@ -23,7 +23,7 @@
friends.
.SH "DESCRIPTION"
The file \fBupdmap.cfg\fR is the central font configuration file of a
-teTeX system and is read by \fBupdmap\fP(1). It describes if and how
+TeX system and is read by \fBupdmap\fP(1). It describes if and how
fonts should be included (or not included) into PS-/PDF-files. This
works for Outline (Postscript Type1) and Bitmap Fonts (Postscript
Type3) mostly coming from MetaFont.
diff -up texlive-2007/texk/tetex/updmap.man.notetex texlive-2007/texk/tetex/updmap.man
--- texlive-2007/texk/tetex/updmap.man.notetex 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/updmap.man 2008-08-27 13:33:41.000000000 +0200
@@ -1,4 +1,4 @@
-.TH "updmap" "1" "February 2005" "teTeX" "teTeX"
+.TH "updmap" "1" "February 2005" "TeXLive" "TeXLive"
.PP
.SH "NAME"
updmap \- Update font map files for TeX output drivers\&.
@@ -206,7 +206,7 @@ forces all fonts to be downloaded, so th
\fBxdvi\fP(1) and \fBps2pk\fP(1)\&.
.IP
.PP
-teTeX configuration files for \fBdvips\fP(1) tuned for use with \fBupdmap\fP:
+TeXLive configuration files for \fBdvips\fP(1) tuned for use with \fBupdmap\fP:
.IP
.IP "\fIconfig\&.builtin35\fP"
Loads \fIbuildin35\&.map\fP instead
@@ -231,7 +231,7 @@ of \fIpsfonts\&.map\fP\&.
.IP "\fIconfig\&.www\fP"
Loads \fIpsfonts_t1\&.map\fP instead
of \fIpsfonts\&.map\fP\&.
-(For compatibility with previous versions of teTeX\&.)
+(For compatibility with previous versions of teTeX and TeXLive\&.)
.IP
.IP "\fIconfig\&.gstopk\fP"
Loads \fIpsfonts_t1\&.map\fP instead
@@ -244,11 +244,11 @@ of \fIpsfonts\&.map\fP\&.
\fBgsftopk\fP(1), \fBpdftex\fP(1), \fBps2pk\fP(1),
\fBtexhash\fP(1), \fBxdvi\fP(1)\&.
.PP
-Web page: \fI<http://tug\&.org/teTeX/>\fP
+Web page: \fI<http://tug\&.org/texlive/>\fP
.PP
.SH "BUGS"
.PP
-None known, but report any bugs found to <tetex@dbs\&.uni-hannover\&.de> (mailing list)\&.
+None known, but report any bugs found to <tex-live@tug\&.org> (mailing list)\&.
.PP
.SH "AUTHOR"
.PP

View File

@ -1,81 +0,0 @@
diff -up texlive-2007/texk/kpathsea/mktexlsr.man.mktexlsr_fixes texlive-2007/texk/kpathsea/mktexlsr.man
--- texlive-2007/texk/kpathsea/mktexlsr.man.mktexlsr_fixes 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/kpathsea/mktexlsr.man 2008-01-06 16:13:33.000000000 +0100
@@ -44,3 +44,12 @@ Print help message and exit.
.B --version
.rb
Print version information and exit.
+.\"=====================================================================
+.SH NOTES
+When called by root with no arguments, \fBmktexlsr\fP in Debian ignores
+TEXMF trees under \fI$HOME\fP. This is to avoid creating undesirable files
+such as \fI/root/texmf/ls-R\fP when doing usual maintainance (it is generally
+a bad idea to work with TeX as root, therefore having a file such as
+\fI/root/texmf/ls-R\fP in the first place is rather pointless). If you really
+want to update the ls-R databases for such TEXMF trees, simply list them
+explicitely on the command-line.
diff -up texlive-2007/texk/kpathsea/mktexlsr.mktexlsr_fixes texlive-2007/texk/kpathsea/mktexlsr
--- texlive-2007/texk/kpathsea/mktexlsr.mktexlsr_fixes 2006-12-25 19:44:43.000000000 +0100
+++ texlive-2007/texk/kpathsea/mktexlsr 2008-01-06 16:37:22.000000000 +0100
@@ -82,10 +82,21 @@ test $# = 0 && {
'
set x `kpsewhich --show-path=ls-R | tr : '
' | sort | uniq`; shift
+ if test "`id -u`" -eq 0; then
+ NOROOTHOME=true
+ fi
IFS=$OIFS
}
for TEXMFLS_R in "$@"; do
+ if [ "z$HOME" != 'z' ]; then
+ case "$TEXMFLS_R" in
+ $HOME/*) if test -n "$NOROOTHOME"; then
+ tty -s && echo "$progname: Skipping $TEXMFLS_R" >&2
+ continue
+ fi ;;
+ esac
+ fi
# Prepend cwd if the directory was relative.
case "$TEXMFLS_R" in
"") continue ;; # Strictly speaking, it is an error if this case is taken.
@@ -112,9 +123,9 @@ for TEXMFLS_R in "$@"; do
db_dir=`echo "$db_file" | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
test -d "$db_dir" || continue
- test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
if test ! -f "$db_file"; then
+ test -w "$db_dir" || { echo "$progname: $db_dir: directory not writable. Skipping..." >&2; continue; }
cp /dev/null "$db_file"
# Use same permissions as parent directory, minus x,s, or t bits.
chmod `kpsestat -xst "$db_dir"` "$db_file"
@@ -128,11 +139,8 @@ for TEXMFLS_R in "$@"; do
# Skip if we cannot write the file:
kpseaccess -w "$db_file" || { echo "$progname: $db_file: no write permission. Skipping..." >&2; continue; }
- db_dir_tmp="$db_dir/lsR$$.tmp"
- (umask 077 && mkdir "$db_dir_tmp" ) \
- || { echo "$progname: could not create directory '$db_dir_tmp'. Skipping..." >&2; continue; }
- db_file_tmp="$db_dir_tmp/lsR$$.tmp"
- rm -f "$db_file_tmp"
+ db_file_tmp=`mktemp -t ls-R.XXXXXXXXXX` \
+ || { echo "$progname: could not create temporary file for '$db_file'. Skipping..." >&2; continue; }
$verbose && echo "$progname: Updating $db_file... " >&2
echo "$ls_R_magic" >"$db_file_tmp"
@@ -152,12 +160,8 @@ for TEXMFLS_R in "$@"; do
| sed -e '/\.svn.*:$/,/^$/d' \
>>"$db_file_tmp"
- # To be really safe, a loop.
- until PERMS=`kpsestat = "$db_file"`; do sleep 1; done
- chmod $PERMS "$db_file_tmp"
- rm -f "$db_file"
- mv "$db_file_tmp" "$db_file"
- rm -rf "$db_dir_tmp"
+ cat "$db_file_tmp" > "$db_file"
+ rm -f "$db_file_tmp"
done
$verbose && echo "$progname: Done." >&2
exit 0

View File

@ -1,34 +0,0 @@
diff -up texlive/texk/make/makevars.mk.more_paths texlive/texk/make/makevars.mk
--- texlive/texk/make/makevars.mk.more_paths 2007-08-19 07:38:56.000000000 +0200
+++ texlive/texk/make/makevars.mk 2007-08-19 07:45:26.000000000 +0200
@@ -5,6 +5,8 @@ makevars = prefix=$(prefix) exec_prefix=
bindir=$(bindir) scriptdir=$(scriptdir) libdir=$(libdir) \
datadir=$(datadir) infodir=$(infodir) includedir=$(includedir) \
mandir=$(mandir) manext=$(manext) man1dir=$(man1dir) \
+ sysconfdir=$(sysconfdir) localstatedir=$(localstatedir) \
+ libexecdir=$(libexecdir) \
texmf=$(texmf) web2cdir=$(web2cdir) vartexfonts=$(vartexfonts)\
texinputdir=$(texinputdir) mfinputdir=$(mfinputdir) mpinputdir=$(mpinputdir)\
fontdir=$(fontdir) fmtdir=$(fmtdir) basedir=$(basedir) memdir=$(memdir) \
diff -up texlive/texk/make/paths.mk.more_paths texlive/texk/make/paths.mk
--- texlive/texk/make/paths.mk.more_paths 2007-08-19 07:39:12.000000000 +0200
+++ texlive/texk/make/paths.mk 2007-08-19 08:54:35.000000000 +0200
@@ -35,6 +35,18 @@ manext = 1
mandir = @mandir@
man1dir = $(mandir)/man$(manext)
+# modifiable single-machine data.
+
+localstatedir = @localstatedir@
+
+# read-only single-machine data (configuration).
+
+sysconfdir = @sysconfdir@
+
+# executables that other programs run.
+
+libexecdir = @libexecdir@
+
# TeX system-specific directories. Not all of the following are relevant
# for all programs, but it seems cleaner to collect everything in one place.

View File

@ -1,85 +0,0 @@
--- texlive-2007/texk/web2c/pdftexdir/ptexlib.h.orig 2007-06-21 20:07:37.746531903 -0400
+++ texlive-2007/texk/web2c/pdftexdir/ptexlib.h 2007-06-21 20:05:40.014606804 -0400
@@ -38,7 +38,9 @@
/* avl */
# include "avlstuff.h"
+#ifndef __linux__
# include "openbsd-compat.h"
+#endif
/* pdftexlib type declarations */
typedef struct {
--- texlive-2007/texk/web2c/pdftexdir/epdf.h.orig 2007-06-21 22:27:08.039209770 -0400
+++ texlive-2007/texk/web2c/pdftexdir/epdf.h 2007-06-21 22:27:32.643343920 -0400
@@ -44,7 +44,9 @@
#include <web2c/pdftexdir/ptexmac.h>
+#ifndef __linux__
#include "openbsd-compat.h"
+#endif
/* #-define pdfbufsize pdfbufmax */
--- texlive-2007/texk/web2c/pdftexdir/depend.mk.pdftex 2006-12-26 18:37:34.000000000 -0500
+++ texlive-2007/texk/web2c/pdftexdir/depend.mk 2007-06-22 00:17:35.157351368 -0400
@@ -7,15 +7,13 @@
ptexmac.h
utils.o: utils.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h \
- ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h \
- ../../../libs/md5/md5.h pdftexextra.h \
- ../../../libs/obsdcompat/openbsd-compat.h
+pdftexextra.h
vfpacket.o: vfpacket.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h
pkin.o: pkin.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
-writefont.o: writefont.c ../../../libs/xpdf/goo/gmem.h ptexlib.h \
+writefont.o: writefont.c ptexlib.h \
../pdftexd.h ../texmfmp.h ../cpascal.h ../config.h ../help.h \
../texmfmem.h ../pdftexcoerce.h ptexmac.h
writet1.o: writet1.c ptexlib.h ../pdftexd.h ../texmfmp.h ../cpascal.h \
@@ -24,7 +22,7 @@
../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h ptexmac.h
writezip.o: writezip.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
- ptexmac.h ../../../libs/zlib/zlib.h ../../../libs/zlib/zconf.h
+ ptexmac.h
writeenc.o: writeenc.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h
@@ -40,16 +38,7 @@
writeimg.o: writeimg.c ptexlib.h ../pdftexd.h ../texmfmp.h \
../cpascal.h ../config.h ../help.h ../texmfmem.h ../pdftexcoerce.h \
ptexmac.h image.h
-pdftoepdf.o: pdftoepdf.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/goo/gmem.h ../../../libs/xpdf/xpdf/Array.h \
- ../../../libs/xpdf/xpdf/Dict.h ../../../libs/xpdf/xpdf/Stream.h \
- ../../../libs/xpdf/xpdf/XRef.h ../../../libs/xpdf/xpdf/Catalog.h \
- ../../../libs/xpdf/xpdf/Page.h ../../../libs/xpdf/xpdf/GfxFont.h \
- ../../../libs/xpdf/xpdf/Error.h epdf.h
+pdftoepdf.o: pdftoepdf.cc \
+ epdf.h
ttf2afm.o: ttf2afm.c writettf.h macnames.c
-pdftosrc.o: pdftosrc.cc ../../../libs/xpdf/xpdf/Object.h \
- ../../../libs/xpdf/xpdf/Array.h ../../../libs/xpdf/xpdf/Dict.h \
- ../../../libs/xpdf/xpdf/Stream.h ../../../libs/xpdf/xpdf/XRef.h \
- ../../../libs/xpdf/xpdf/Catalog.h ../../../libs/xpdf/xpdf/Page.h \
- ../../../libs/xpdf/xpdf/PDFDoc.h ../../../libs/xpdf/xpdf/Link.h \
- ../../../libs/xpdf/xpdf/Error.h ../../../libs/xpdf/xpdf/config.h
+pdftosrc.o: pdftosrc.cc
--- texlive-2007/texk/web2c/pdftexdir/utils.c.orig 2007-06-22 00:33:15.216284121 -0400
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2007-06-22 00:33:32.948057443 -0400
@@ -20,7 +20,9 @@
$Id: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/utils.c#24 $
*/
+#ifndef __linux__
#include "openbsd-compat.h"
+#endif
#ifdef HAVE_ASPRINTF /* asprintf is not defined in openbsd-compat.h, but in stdio.h */
# include <stdio.h>
#endif

View File

@ -1,19 +0,0 @@
diff -up texlive-2007/texk/web2c/bibtex.ch.poolfix texlive-2007/texk/web2c/bibtex.ch
--- texlive-2007/texk/web2c/bibtex.ch.poolfix 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/bibtex.ch 2009-10-16 06:55:52.000000000 +0200
@@ -1134,6 +1134,15 @@ while ((ex_buf_xptr < ex_buf_ptr) and
@y
@z
+% Forgot to check for pool overflow here. Triggered by test case linked
+% from http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=520920.
+@x
+while (sp_ptr < sp_end) do {shift the substring}
+@y
+str_room(sp_end - sp_ptr);
+while (sp_ptr < sp_end) do {shift the substring}
+@z
+
% [459] Eliminate unreferenced statement label, because `undefined' is
% now a constant expression that is not evaluated at the Web level. If
% this label were ever required, it could be replaced by the constant

View File

@ -1,11 +0,0 @@
--- texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2012-05-10 16:38:55.000000000 +0200
+++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2012-05-10 16:40:43.000000000 +0200
@@ -126,7 +126,7 @@ int main(int argc, char *argv[])
exit(1);
}
if (extract_xref_table) {
- int size = xref->getSize();
+ int size = xref->getNumObjects();
int i;
for (i = 0; i < size; i++) {
if (xref->getEntry(i)->offset == 0xffffffff)

View File

@ -1,406 +0,0 @@
diff -up texlive-2007/configure.in.poppler texlive-2007/configure.in
--- texlive-2007/configure.in.poppler 2007-01-09 02:17:11.000000000 +0100
+++ texlive-2007/configure.in 2010-08-20 13:37:22.466142036 +0200
@@ -157,9 +157,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
-test "$with_xetex" != no && : ${needs_libxpdf=yes}
+test "$with_pdftex" != no && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no && : ${needs_libxpdf=no}
+test "$with_xetex" != no && : ${needs_libxpdf=no}
: ${needs_libxpdf=no}
export needs_libxpdf
@@ -207,7 +207,7 @@ dnl We cannot use variables (e.g. $LIBPN
sinclude(libs/libpng/libpng.ac)
sinclude(libs/zlib/zlib.ac)
sinclude(libs/ncurses/ncurses.ac)
-sinclude(libs/xpdf/libxpdf.ac)
+#sinclude(libs/xpdf/libxpdf.ac)
sinclude(libs/t1lib/t1lib.ac)
sinclude(libs/gd/gd.ac)
sinclude(libs/freetype/freetype.ac)
diff -up texlive-2007/configure.poppler texlive-2007/configure
--- texlive-2007/configure.poppler 2007-01-09 15:16:26.000000000 +0100
+++ texlive-2007/configure 2010-08-20 13:37:22.468141670 +0200
@@ -3442,9 +3442,9 @@ export needs_zlib
# we need libxpdf for pdf[ex]tex, xetex
test ! -d $srcdir/$LIBXPDFDIR && : ${needs_libxpdf=no}
-test "$with_pdftex" != no && : ${needs_libxpdf=yes}
-test "$with_pdfetex" != no && : ${needs_libxpdf=yes}
-test "$with_xetex" != no && : ${needs_libxpdf=yes}
+test "$with_pdftex" != no && : ${needs_libxpdf=no}
+test "$with_pdfetex" != no && : ${needs_libxpdf=no}
+test "$with_xetex" != no && : ${needs_libxpdf=no}
: ${needs_libxpdf=no}
export needs_libxpdf
diff -up texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler texlive-2007/texk/web2c/pdftexdir/pdftexextra.in
--- texlive-2007/texk/web2c/pdftexdir/pdftexextra.in.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftexextra.in 2010-08-20 13:37:22.469149555 +0200
@@ -26,7 +26,7 @@ $Id: pdftexextra.in,v 1.4 2004/08/26 18:
(generated from ../lib/texmfmp.c).
*/
-#define BANNER "This is pdfTeX, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
+#define BANNER "This is pdfTeX using libpoppler, Version 3.141592-PDFTEX-VERSION-ETEX-VERSION"
#define COPYRIGHT_HOLDER "Peter Breitenlohner (eTeX)/Han The Thanh (pdfTeX)"
#define AUTHOR NULL
#define PROGRAM_HELP PDFTEXHELP
diff -up texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler texlive-2007/texk/web2c/pdftexdir/pdftex.mk
--- texlive-2007/texk/web2c/pdftexdir/pdftex.mk.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftex.mk 2010-08-20 13:37:22.470141585 +0200
@@ -2,6 +2,9 @@
# This fragment contains the parts of the makefile that are most likely to
# differ between releases of pdfeTeX.
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
# We build pdftex
pdftex = @PETEX@ pdftex
pdftexdir = pdftexdir
@@ -29,7 +32,7 @@ pdftex_o = pdftexini.o pdftex0.o pdftex1
# Making pdftex
pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep)
- @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@
+ @CXXHACKLINK@ $(pdftex_o) $(pdftexextra_o) $(pdftexlibs) $(socketlibs) @CXXHACKLDLIBS@ @CXXLDEXTRA@ $(ADDLDFLAGS)
# C file dependencies.
$(pdftex_c) pdftexcoerce.h pdftexd.h: pdftex.p $(web2c_texmf) $(srcdir)/$(pdftexdir)/pdftex.defines $(srcdir)/$(pdftexdir)/pdftex.h
@@ -156,7 +159,7 @@ ttf2afm-clean:
pdftosrc = pdftosrc
pdftosrc: $(pdftexdir)/pdftosrc.o $(LIBXPDFDEP)
- @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@
+ @CXXHACKLINK@ $(pdftexdir)/pdftosrc.o $(LDLIBXPDF) -lm @CXXLDEXTRA@ $(ADDLDFLAGS)
$(pdftexdir)/pdftosrc.o:$(srcdir)/$(pdftexdir)/pdftosrc.cc
cd $(pdftexdir) && $(MAKE) pdftosrc.o
check: pdftosrc-check
diff -up texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftoepdf.cc 2010-08-20 13:37:22.471141577 +0200
@@ -26,25 +26,24 @@ $Id: pdftoepdf.cc,v 1.9 2006/09/01 18:06
#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
-#include <config.h>
#include <assert.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Link.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
-
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include "poppler/Object.h"
+#include "poppler/Stream.h"
+#include "poppler/Array.h"
+#include "poppler/Dict.h"
+#include "poppler/XRef.h"
+#include "poppler/Link.h"
+#include "poppler/Catalog.h"
+#include "poppler/Page.h"
+#include "poppler/GfxFont.h"
+#include "poppler/PDFDoc.h"
+#include "poppler/GlobalParams.h"
+#include "poppler/Error.h"
#include "epdf.h"
// This file is mostly C and not very much C++; it's just used to interface
@@ -169,7 +168,7 @@ static PdfDocument *find_add_document(ch
fprintf(stderr, "\npdfTeX Debug: Creating %s (%d)\n", p->file_name,
p->occurences);
#endif
- GString *docName = new GString(p->file_name);
+ GooString *docName = new GooString(p->file_name);
p->doc = new PDFDoc(docName); // takes ownership of docName
if (!p->doc->isOk() || !p->doc->okToPrint()) {
pdftex_fail("xpdf: reading PDF image failed");
@@ -511,7 +510,7 @@ static void copyObject(Object * obj)
int i, l, c;
Ref ref;
char *p;
- GString *s;
+ GooString *s;
if (obj->isBool()) {
pdf_printf("%s", obj->getBool()? "true" : "false");
} else if (obj->isInt()) {
@@ -634,7 +633,7 @@ static void writeEncodings()
}
for (r = encodingList; r != 0; r = n) {
n = r->next;
- delete r->font;
+ r->font->decRefCnt();
delete r;
}
}
@@ -689,7 +688,7 @@ read_pdf_info(char *image_name, char *pa
// this works only for PDF 1.x -- but since any versions of PDF newer
// than 1.x will not be backwards compatible to PDF 1.x, pdfTeX will
// then have to changed drastically anyway.
- pdf_version_found = pdf_doc->doc->getPDFVersion();
+ pdf_version_found = pdf_doc->doc->getPDFMajorVersion() + pdf_doc->doc->getPDFMinorVersion()/10.;
pdf_version_wanted = 1 + (minor_pdf_version_wanted * 0.1);
if (pdf_version_found > pdf_version_wanted) {
char msg[] =
@@ -703,7 +702,7 @@ read_pdf_info(char *image_name, char *pa
epdf_num_pages = pdf_doc->doc->getCatalog()->getNumPages();
if (page_name) {
// get page by name
- GString name(page_name);
+ GooString name(page_name);
LinkDest *link = pdf_doc->doc->findDest(&name);
if (link == 0 || !link->isOk())
pdftex_fail("PDF inclusion: invalid destination <%s>", page_name);
diff -up texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc
--- texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc.poppler 2006-12-27 00:37:34.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/pdftosrc.cc 2010-08-20 13:36:25.000000000 +0200
@@ -1,5 +1,5 @@
/*
-Copyright (c) 1996-2006 Han The Thanh, <thanh@pdftex.org>
+Copyright (c) 1996-2007 Han The Thanh, <thanh@pdftex.org>
This file is part of pdfTeX.
@@ -13,11 +13,9 @@ but WITHOUT ANY WARRANTY; without even t
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with pdfTeX; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-$Id: //depot/Build/source.development/TeX/texk/web2c/pdftexdir/pdftosrc.cc#10 $
+You should have received a copy of the GNU General Public License along
+with pdfTeX; if not, write to the Free Software Foundation, Inc., 51
+Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include <stdlib.h>
@@ -25,22 +23,26 @@ $Id: //depot/Build/source.development/Te
#include <stdio.h>
#include <string.h>
#include <ctype.h>
-#include <aconf.h>
-#include <assert.h>
-#include <GString.h>
-#include <gmem.h>
-#include <gfile.h>
-#include "Object.h"
-#include "Stream.h"
-#include "Array.h"
-#include "Dict.h"
-#include "XRef.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GfxFont.h"
-#include "PDFDoc.h"
-#include "GlobalParams.h"
-#include "Error.h"
+
+#include <poppler/cpp/poppler-version.h>
+#define GString GooString
+#define xpdfVersion POPPLER_VERSION
+#include <dirent.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+
+#include "poppler/Object.h"
+#include "poppler/Stream.h"
+#include "poppler/Array.h"
+#include "poppler/Dict.h"
+#include "poppler/XRef.h"
+#include "poppler/Catalog.h"
+#include "poppler/Page.h"
+#include "poppler/GfxFont.h"
+#include "poppler/PDFDoc.h"
+#include "poppler/GlobalParams.h"
+#include "poppler/Error.h"
static XRef *xref = 0;
@@ -140,6 +142,9 @@ int main(int argc, char *argv[])
(long unsigned) e->offset, e->gen,
(e->type == xrefEntryFree ? "f" : "n"));
else { // e->offset is the object number of the object stream
+#ifdef POPPLER_VERSION
+ fprintf(stderr, "warning: this version of pdftosrc doesn't support object stream (use pdftosrc from TeX Live if you need it)\n");
+#else
// e->gen is the local index inside that object stream
//int objStrOffset = xref->getEntry(e->offset)->offset;
Object tmpObj;
@@ -156,6 +161,7 @@ int main(int argc, char *argv[])
localOffsets[e->gen]));
// (long unsigned) (objStrOffset + objStr->getStart() + localOffsets[e->gen]));
tmpObj.free();
+#endif
}
}
} else {
diff -up texlive-2007/texk/web2c/pdftexdir/utils.c.poppler texlive-2007/texk/web2c/pdftexdir/utils.c
--- texlive-2007/texk/web2c/pdftexdir/utils.c.poppler 2007-01-01 18:20:03.000000000 +0100
+++ texlive-2007/texk/web2c/pdftexdir/utils.c 2010-08-20 13:37:22.472141499 +0200
@@ -37,7 +37,7 @@ $Id: //depot/Build/source.development/Te
#include "zlib.h"
#include "ptexlib.h"
#include "png.h"
-#include "xpdf/config.h" /* just to get the xpdf version */
+#include "poppler/poppler-config.h" /* just to get the xpdf version */
#define check_nprintf(size_get, size_want) \
if ((unsigned)(size_get) >= (unsigned)(size_want)) \
@@ -1261,9 +1261,9 @@ void initversionstring(char **versions)
(void) asprintf(versions,
"Compiled with libpng %s; using libpng %s\n"
"Compiled with zlib %s; using zlib %s\n"
- "Compiled with xpdf version %s\n",
+ "Compiled with libpoppler\n",
PNG_LIBPNG_VER_STRING, png_libpng_ver,
- ZLIB_VERSION, zlib_version, xpdfVersion);
+ ZLIB_VERSION, zlib_version);
}
diff -up texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler texlive-2007/texk/web2c/xetexdir/pdfimage.cpp
--- texlive-2007/texk/web2c/xetexdir/pdfimage.cpp.poppler 2006-12-09 11:29:12.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/pdfimage.cpp 2010-08-20 13:37:22.474140994 +0200
@@ -11,10 +11,24 @@
#include "pdfimage.h"
-#include "PDFDoc.h"
-#include "Catalog.h"
-#include "Page.h"
-#include "GString.h"
+#include <dirent.h>
+#include <poppler/poppler-config.h>
+#include <poppler/goo/GooString.h>
+#include <poppler/goo/gmem.h>
+#include <poppler/goo/gfile.h>
+#include "poppler/Object.h"
+#include "poppler/Stream.h"
+#include "poppler/Array.h"
+#include "poppler/Dict.h"
+#include "poppler/XRef.h"
+#include "poppler/Link.h"
+#include "poppler/Catalog.h"
+#include "poppler/Page.h"
+#include "poppler/GfxFont.h"
+#include "poppler/PDFDoc.h"
+#include "poppler/GlobalParams.h"
+#include "poppler/Error.h"
+
#include "XeTeX_ext.h"
@@ -28,7 +42,7 @@ my_fmin(double x, double y)
int
pdf_get_rect(char* filename, int page_num, int pdf_box, realrect* box)
{
- GString* name = new GString(filename);
+ GooString* name = new GooString(filename);
PDFDoc* doc = new PDFDoc(name);
if (!doc) {
diff -up texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c
--- texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c.poppler 2007-01-15 14:04:36.000000000 +0100
+++ texlive-2007/texk/web2c/xetexdir/XeTeX_ext.c 2010-08-20 13:37:22.475141056 +0200
@@ -33,7 +33,7 @@ authorization from SIL International.
*/
#ifdef XETEX_OTHER
-#include "xpdf/config.h"
+#include "poppler/poppler-config.h"
#include "png.h"
#endif
@@ -194,7 +194,7 @@ void initversionstring(char **versions)
#else
"Compiled with fontconfig version %d.%d.%d; using %d.%d.%d\n"
"Compiled with libpng version %s; using %s\n"
- "Compiled with xpdf version %s\n"
+ "Compiled with libpoppler\n"
#endif
;
@@ -205,7 +205,6 @@ void initversionstring(char **versions)
#ifdef XETEX_OTHER
+ strlen(PNG_LIBPNG_VER_STRING)
+ strlen(png_libpng_ver)
- + strlen(xpdfVersion)
+ 6 * 3 /* for fontconfig version #s (won't really need 3 digits per field!) */
#endif
+ 6 * 3; /* for freetype version #s (ditto) */
@@ -229,8 +228,7 @@ void initversionstring(char **versions)
,
FC_VERSION / 10000, (FC_VERSION % 10000) / 100, FC_VERSION % 100,
fc_version / 10000, (fc_version % 10000) / 100, fc_version % 100,
- PNG_LIBPNG_VER_STRING, png_libpng_ver,
- xpdfVersion
+ PNG_LIBPNG_VER_STRING, png_libpng_ver
#endif
);
}
diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler texlive-2007/texk/web2c/xetexdir/xetex.mk
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.poppler 2010-08-20 13:37:22.405141336 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2010-08-20 13:37:22.476140978 +0200
@@ -4,6 +4,10 @@
Makefile: $(srcdir)/xetexdir/xetex.mk
+# use libpoppler instead of included xpdf code
+ADDLDFLAGS = -lpoppler
+
+
# We build xetex unless configure decides to skip it
xetex = @XETEX@ xetex
@@ -29,7 +33,7 @@ xetex = @XETEX@ xetex
@XETEX_GENERIC@ XETEX_DEFINES = -DXETEX_OTHER
-@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@
+@XETEX_GENERIC@ EXTRALIBS = @LDLIBXPDF@ @LDLIBPNG@ @LDFONTCONFIG@ $(ADDLDFLAGS)
@XETEX_GENERIC@ EXTRADEPS = @LIBXPDFDEP@ @LIBPNGDEP@
@@ -144,7 +148,7 @@ pngimage.o: $(srcdir)/xetexdir/pngimage.
$(compile) $(ALL_CFLAGS) $(LIBPNGCPPFLAGS) $(ZLIBCPPFLAGS) -c $< -o $@
pdfimage.o: $(srcdir)/xetexdir/pdfimage.cpp $(srcdir)/xetexdir/pdfimage.h
- $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -c $< -o $@
+ $(CXX) $(ALL_CFLAGS) $(LIBXPDFCPPFLAGS) -I/usr/include/poppler -c $< -o $@
XeTeX_pic.o: $(srcdir)/xetexdir/XeTeX_pic.c $(srcdir)/xetexdir/XeTeX_ext.h $(XeTeXImageHdrs)
$(compile) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
@@ -187,7 +191,7 @@ XeTeXOTMath.o: $(srcdir)/xetexdir/XeTeXO
# special rules for files that need the TECkit headers as well
XeTeX_ext.o: $(srcdir)/xetexdir/XeTeX_ext.c xetexd.h
- $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@
+ $(compile) $(ICUCFLAGS) $(FTFLAGS) $(TECKITFLAGS) $(LIBPNGCPPFLAGS) $(LIBXPDFCPPFLAGS) $(ZLIBCPPFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -I/usr/include/poppler -c $< -o $@
XeTeX_mac.o: $(srcdir)/xetexdir/XeTeX_mac.c xetexd.h
$(compile) $(ICUCFLAGS) $(TECKITFLAGS) $(ALL_CFLAGS) $(XETEX_DEFINES) -c $< -o $@

View File

@ -1,101 +0,0 @@
--- texk/makeindexk/mkind.c
+++ texk/makeindexk/mkind.c 2007-02-06 13:43:26.000000000 +0100
@@ -179,7 +179,9 @@ char *argv[];
argc--;
if (argc <= 0)
FATAL("Expected -p <num>\n","");
- strcpy(pageno, *++argv);
+ if (strlen(*++argv) >= sizeof(pageno))
+ FATAL("Page number too high\n","");
+ strcpy(pageno, *argv);
init_page = TRUE;
if (STREQ(pageno, EVEN)) {
log_given = TRUE;
@@ -227,10 +229,10 @@ char *argv[];
if (fn_no == 0 && !sty_given)
{
- char tmp[STRING_MAX + 5];
+ char tmp[STRING_MAX];
/* base set by last call to check_idx */
- sprintf (tmp, "%s%s", base, INDEX_STY);
+ snprintf (tmp, sizeof(tmp), "%s%s", base, INDEX_STY);
if (0 == access(tmp, R_OK)) {
open_sty (tmp);
sty_given = TRUE;
@@ -407,7 +409,7 @@ int open_fn;
if ((idx_fn = (char *) malloc(STRING_MAX)) == NULL)
FATAL("Not enough core...abort.\n", "");
- sprintf(idx_fn, "%s%s", base, INDEX_IDX);
+ snprintf(idx_fn, STRING_MAX, "%s%s", base, INDEX_IDX);
if ((open_fn &&
((idx_fp = OPEN_IN(idx_fn)) == NULL)
) ||
@@ -434,7 +436,7 @@ int log_given;
/* index output file */
if (!ind_given) {
- sprintf(ind, "%s%s", base, INDEX_IND);
+ snprintf(ind, sizeof(ind), "%s%s", base, INDEX_IND);
ind_fn = ind;
}
if ((ind_fp = OPEN_OUT(ind_fn)) == NULL)
@@ -442,14 +444,14 @@ int log_given;
/* index transcript file */
if (!ilg_given) {
- sprintf(ilg, "%s%s", base, INDEX_ILG);
+ snprintf(ilg, sizeof(ilg), "%s%s", base, INDEX_ILG);
ilg_fn = ilg;
}
if ((ilg_fp = OPEN_OUT(ilg_fn)) == NULL)
FATAL("Can't create transcript file %s.\n", ilg_fn);
if (log_given) {
- sprintf(log_fn, "%s%s", base, INDEX_LOG);
+ snprintf(log_fn, sizeof(log_fn), "%s%s", base, INDEX_LOG);
if ((log_fp = OPEN_IN(log_fn)) == NULL) {
FATAL("Source log file %s not found.\n", log_fn);
} else {
@@ -505,6 +507,9 @@ char *fn;
if ((found = kpse_find_file (fn, kpse_ist_format, 1)) == NULL) {
FATAL("Index style file %s not found.\n", fn);
} else {
+ if (strlen(found) >= sizeof(sty_fn)) {
+ FATAL("Style file %s too long.\n", found);
+ }
strcpy(sty_fn,found);
if ((sty_fp = OPEN_IN(sty_fn)) == NULL) {
FATAL("Could not open style file %s.\n", sty_fn);
@@ -512,6 +517,9 @@ char *fn;
}
#else
if ((path = getenv(STYLE_PATH)) == NULL) {
+ if (strlen(fn) >= sizeof(sty_fn)) {
+ FATAL("Style file %s too long.\n", fn);
+ }
/* style input path not defined */
strcpy(sty_fn, fn);
sty_fp = OPEN_IN(sty_fn);
--- texk/makeindexk/mkind.h
+++ texk/makeindexk/mkind.h 2007-02-06 13:42:38.000000000 +0100
@@ -322,7 +322,7 @@ ensuing.
#ifdef LINE_MAX /* IBM RS/6000 AIX has this in <sys/limits.h> */
#undef LINE_MAX
#endif
-#define LINE_MAX 72 /* maximum output line length (longer */
+#define LINE_MAX _POSIX2_LINE_MAX /* maximum output line length (longer */
/* ones wrap if possible) */
#define NUMBER_MAX 16 /* maximum digits in a Roman or Arabic */
@@ -337,7 +337,7 @@ ensuing.
#define ROMAN_MAX 16 /* maximum length of Roman page number */
/* field */
-#define STRING_MAX 256 /* maximum length of host filename */
+#define STRING_MAX _POSIX2_LINE_MAX /* maximum length of host filename */
/*====================================================================*/

View File

@ -1,100 +0,0 @@
--- libs/configure
+++ libs/configure 2007-02-07 12:21:24.000000000 +0000
@@ -2976,11 +2976,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -3082,7 +3082,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- libs/icu-xetex/icu-xetex.ac
+++ libs/icu-xetex/icu-xetex.ac 2007-02-07 12:21:39.000000000 +0000
@@ -16,11 +16,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
AC_CHECK_LIB(icuuc, ubidi_open,,
@@ -37,7 +37,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- texk/web2c/configure
+++ texk/web2c/configure 2007-02-07 12:21:55.000000000 +0000
@@ -3018,11 +3018,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -3124,7 +3124,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then
--- configure
+++ configure 2007-02-07 12:22:06.000000000 +0000
@@ -4662,11 +4662,11 @@
fi
OLD_LDFLAGS=$LDFLAGS
- OLD_CPP=$CPP
+ OLD_CPPFLAGS=$CPPFLAGS
OLD_LIBS=$LIBS
LDFLAGS="$LDFLAGS $EXTRA_ICU_LIBDIR"
- CPP="$CPP $EXTRA_ICU_INCLUDE"
+ CPPFLAGS="$CPPFLAGS $EXTRA_ICU_INCLUDE -include urename.h"
if test "$with_system_icu" = yes; then
echo $ac_n "checking for ubidi_open in -licuuc""... $ac_c" 1>&6
@@ -4768,7 +4768,7 @@
fi
LDFLAGS=$OLD_LDFLAGS
- CPP=$OLD_CPP
+ CPPFLAGS=$OLD_CPPFLAGS
LIBS=$OLD_LIBS
if test "$with_system_icu" != yes; then

View File

@ -1,55 +0,0 @@
diff -up texlive-2007/configure.t1lib texlive-2007/configure
--- texlive-2007/configure.t1lib 2008-08-27 13:37:53.000000000 +0200
+++ texlive-2007/configure 2008-08-27 13:37:53.000000000 +0200
@@ -4097,6 +4097,7 @@ int main() {
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN - 1; i++) {
diff -up texlive-2007/libs/configure.t1lib texlive-2007/libs/configure
--- texlive-2007/libs/configure.t1lib 2008-08-27 13:37:53.000000000 +0200
+++ texlive-2007/libs/configure 2008-08-27 13:37:53.000000000 +0200
@@ -1757,6 +1757,7 @@ int main() {
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN - 1; i++) {
diff -up texlive-2007/libs/t1lib/t1lib.ac.t1lib texlive-2007/libs/t1lib/t1lib.ac
--- texlive-2007/libs/t1lib/t1lib.ac.t1lib 2006-01-16 01:09:26.000000000 +0100
+++ texlive-2007/libs/t1lib/t1lib.ac 2008-08-27 13:37:53.000000000 +0200
@@ -45,6 +45,7 @@ int main() {
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN - 1; i++) {
diff -up texlive-2007/texk/dvipng/configure.t1lib texlive-2007/texk/dvipng/configure
--- texlive-2007/texk/dvipng/configure.t1lib 2007-01-04 17:14:52.000000000 +0100
+++ texlive-2007/texk/dvipng/configure 2008-08-27 13:37:53.000000000 +0200
@@ -5680,6 +5680,7 @@ int main() {
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN - 1; i++) {
diff -up texlive-2007/texk/xdvik/configure.t1lib texlive-2007/texk/xdvik/configure
--- texlive-2007/texk/xdvik/configure.t1lib 2006-07-16 19:26:38.000000000 +0200
+++ texlive-2007/texk/xdvik/configure 2008-08-27 13:37:53.000000000 +0200
@@ -4280,6 +4280,7 @@ int main() {
char *p = testbuf;
int i;
int version_num;
+ memset(p, 0, sizeof(testbuf));
/* T1_GetLibIdent() might return something like '0.8-beta2';
convert the leading numbers to a single digit: */
for (i = 0; i < BUFLEN - 1; i++) {

View File

@ -1,224 +0,0 @@
--- libs/teckit/source/Compiler.cpp
+++ libs/teckit/source/Compiler.cpp 2007-03-02 10:34:35.000000000 +0000
@@ -1397,13 +1397,16 @@ Compiler::Compiler(const char* txt, UInt
if (dest != 0) {
int result = compress2(dest + 8, &destLen, compiledTable, compiledSize, Z_BEST_COMPRESSION);
if (result == Z_OK) {
- destLen += 8;
- realloc(dest, destLen);
- WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
- WRITE(((FileHeader*)dest)->version, compiledSize);
- free(compiledTable);
- compiledTable = dest;
- compiledSize = destLen;
+ if (realloc(dest, destLen+8) != NULL) {
+ destLen += 8;
+ WRITE(((FileHeader*)dest)->type, kMagicNumberCmp);
+ WRITE(((FileHeader*)dest)->version, compiledSize);
+ free(compiledTable);
+ compiledTable = dest;
+ compiledSize = destLen;
+ }
+ else
+ free(dest);
}
else
free(dest);
--- texk/kpathsea/xputenv.c
+++ texk/kpathsea/xputenv.c 2007-03-02 10:14:53.000000000 +0000
@@ -95,7 +95,7 @@ xputenv(const char *var, const char *val
if (cur_loc == saved_count) {
/* No old string. */
saved_count++;
- saved_env = XRETALLOC(saved_env, saved_count, const char *);
+ XRETALLOC(saved_env, saved_count, const char *);
} else {
/* We owned the old string. */
free(saved_env[cur_loc]);
--- texk/ps2pkm/token.c
+++ texk/ps2pkm/token.c 2007-01-10 09:26:00.000000000 +0100
@@ -108,7 +108,7 @@ static DOUBLE P10(exponent)
if (exponent < 0) {
power = 0.1;
value = (exponent & 1 ? power : 1.0);
- exponent = -(++exponent >> 1); /* portable C for -(exponent/2) */
+ exponent = -((exponent+1) >> 1); /* portable C for -(exponent/2) */
}
else {
power = 10.0;
--- texk/ps2pkm/type1.c
+++ texk/ps2pkm/type1.c 2007-01-10 17:09:30.000000000 +0100
@@ -110,11 +110,11 @@ typedef struct xobject xobject;
static DOUBLE tmpx; /* Store macro argument in tmpx to avoid re-evaluation */
static LONG tmpi; /* Store converted value in tmpi to avoid re-evaluation */
-#define FABS(x) (((tmpx = (x)) < 0.0) ? -tmpx : tmpx)
+#define FABS(x) ({ tmpx = (x); (tmpx < 0.0) ? -tmpx : tmpx; })
-#define CEIL(x) (((tmpi = (LONG) (tmpx = (x))) < tmpx) ? ++tmpi : tmpi)
+#define CEIL(x) ({ tmpi = (LONG) (tmpx = (x)); (tmpi < tmpx) ? ++tmpi : tmpi; })
-#define FLOOR(x) (((tmpi = (LONG) (tmpx = (x))) > tmpx) ? --tmpi : tmpi)
+#define FLOOR(x) ({ tmpi = (LONG) (tmpx = (x)); (tmpi > tmpx) ? --tmpi : tmpi; })
#define ROUND(x) FLOOR((x) + 0.5)
--- texk/web2c/mpware/mpto.c
+++ texk/web2c/mpware/mpto.c 2007-03-02 10:36:04.000000000 +0000
@@ -24,11 +24,7 @@
#include <stdio.h>
#include <stdlib.h>
-
-#ifdef WIN32
#include <string.h>
-#endif
-
/* MetaPost itself has a configurable max line length, but we can afford to
use smaller values than that */
--- texk/web2c/pdftexdir/utils.c
+++ texk/web2c/pdftexdir/utils.c 2007-03-02 10:16:35.000000000 +0000
@@ -1369,7 +1369,7 @@ int newcolorstack(integer s, integer lit
colstacks_size += STACK_INCREMENT;
/* If (MAX_COLORSTACKS mod STACK_INCREMENT = 0) then we don't
need to check the case that size overruns MAX_COLORSTACKS. */
- colstacks = xretalloc(colstacks, colstacks_size, colstack_type);
+ xretalloc(colstacks, colstacks_size, colstack_type);
}
/* claim new color stack */
colstack_num = colstacks_used++;
--- texk/makeindexk/genind.h
+++ texk/makeindexk/genind.h 2007-03-15 15:28:43.000000000 +0000
@@ -25,6 +25,20 @@
*
*/
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define IND_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -33,7 +47,7 @@
fprintf(ilg_fp, \
"## Warning (input = %s, line = %d; output = %s, line = %d):\n -- ", \
curr->fn, curr->lc, ind_fn, ind_lc+1); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
ind_ec++; \
}
--- texk/makeindexk/mkind.h
+++ texk/makeindexk/mkind.h 2007-03-15 15:29:28.000000000 +0000
@@ -253,10 +253,24 @@
#define STREQ(A, B) (strcmp(A, B) == 0)
#define STRNEQ(A, B) (strcmp(A, B) != 0)
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define MESSAGE(F, S) { \
if (verbose) \
- fprintf(stderr, F, S); \
- fprintf(ilg_fp, F, S); \
+ idx_printf(stderr, F, S); \
+ idx_printf(ilg_fp, F, S); \
}
#if USE_KPATHSEA /* kpathsea defines a different FATAL */
@@ -264,7 +278,7 @@
#endif
#define FATAL(F, S) { \
- fprintf(stderr, F, S); \
+ idx_printf(stderr, F, S); \
fprintf(stderr, USAGE, pgm_fn); \
EXIT(1); \
}
--- texk/makeindexk/scanid.h
+++ texk/makeindexk/scanid.h 2007-03-15 15:27:12.000000000 +0000
@@ -101,6 +101,20 @@
return (FALSE); \
}
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define IDX_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -108,7 +122,7 @@
} \
fprintf(ilg_fp, "!! Input index error (file = %s, line = %d):\n -- ", \
idx_fn, idx_lc); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
idx_ec++; \
}
--- texk/makeindexk/scanst.h
+++ texk/makeindexk/scanst.h 2007-03-15 15:48:48.000000000 +0000
@@ -145,6 +145,20 @@
#define INDENTLEN_DEF 16
+#ifndef __has_idx_printf
+#define __has_idx_printf
+#include <stdarg.h>
+static __inline__ int idx_printf(FILE *stream, const char *format, ...)
+{
+ int ret;
+ va_list ap;
+ va_start(ap, format);
+ ret = vfprintf(stream, format, ap);
+ va_end(ap);
+ return ret;
+}
+#endif
+
#define STY_ERROR(F, D) { \
if (idx_dot) { \
fprintf(ilg_fp, "\n"); \
@@ -152,7 +166,7 @@
} \
fprintf(ilg_fp, "** Input style error (file = %s, line = %d):\n -- ", \
sty_fn, sty_lc); \
- fprintf(ilg_fp, F, D); \
+ idx_printf(ilg_fp, F, D); \
sty_ec++; \
put_dot = FALSE; \
}

View File

@ -1,15 +0,0 @@
--- texk/xdvik/xdvi.h
+++ texk/xdvik/xdvi.h 2007-01-10 15:40:33.000000000 +0000
@@ -190,6 +190,12 @@ typedef unsigned long xuint32;
# endif
#endif
+/* redefine X11 macros for our own usage, see below */
+#ifdef __STDC__
+# undef NeedFunctionPrototypes
+# undef NeedWidePrototypes
+#endif
+
/* for unused parameters */
#ifndef UNUSED
#define UNUSED(x) ((void)(x))

View File

@ -1,14 +0,0 @@
diff -up texlive-2007/texk/web2c/xetexdir/xetex.mk.system_teckit texlive-2007/texk/web2c/xetexdir/xetex.mk
--- texlive-2007/texk/web2c/xetexdir/xetex.mk.system_teckit 2007-08-18 16:29:37.000000000 +0200
+++ texlive-2007/texk/web2c/xetexdir/xetex.mk 2007-08-18 16:30:06.000000000 +0200
@@ -56,8 +56,8 @@ FREETYPE2DEP = @FREETYPE2DEP@
FREETYPE2DIR = ../../libs/freetype2
FREETYPE2SRCDIR = $(srcdir)/$(FREETYPE2DIR)
-TECKITFLAGS = @TECKITCPPFLAGS@
-LDTECKIT = @LDTECKIT@
+TECKITFLAGS = -I/usr/include/teckit
+LDTECKIT = -lTECkit
TECKITDEP = @TECKITDEP@
TECKITDIR=../../libs/teckit

View File

@ -1,216 +0,0 @@
diff -up texlive-2007/texk/tetex/texdoc.texdoc texlive-2007/texk/tetex/texdoc
--- texlive-2007/texk/tetex/texdoc.texdoc 2006-01-17 22:41:51.000000000 +0100
+++ texlive-2007/texk/tetex/texdoc 2008-08-27 13:35:33.000000000 +0200
@@ -17,6 +17,15 @@
#
# Support for compressed documentation implemented by adopting changes
# made by debian. Thomas Esser, Dec. 2004.
+#
+# Debian specific changes:
+# Denis Barbier <barbier@imacs.polytechnique.fr>, Feb 15 2000
+# * accept gzipped files on input
+# * temporary directory set according to TMPDIR
+#
+# Frank Küster <frank@debian.org>, 2004-11-23
+# * do not uncompress dvi.gz, xdvi can handle this
+# * go to background with uncompressed files
test -f /bin/sh5 && test -z "$RUNNING_SH5" \
&& { UNAMES=`uname -s`; test "x$UNAMES" = xULTRIX; } 2>/dev/null \
@@ -30,22 +39,22 @@ unset RUNNING_BSH
export PATH
-needsCleanup=false
+# needsCleanup=false
progname=texdoc
-tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
+# tmpdir=${TMPDIR-${TEMP-${TMP-/tmp}}}/$progname.$$
###############################################################################
# setupTmpDir()
# set up a temp directory and a trap to remove it
###############################################################################
-setupTmpDir()
-{
- $needsCleanup && return
+# setupTmpDir()
+# {
+# $needsCleanup && return
- trap 'cleanup --force' 1 2 3 7 13 15
- needsCleanup=true
- mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
-}
+# trap 'cleanup --force' 1 2 3 7 13 15
+# needsCleanup=true
+# mkdir "$tmpdir" || abort "could not create directory \`$tmpdir'"
+# }
###############################################################################
# abort(errmsg)
@@ -65,15 +74,21 @@ abort()
###############################################################################
cleanup()
{
- case $1 in
- --force)
- $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
- && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
- ;;
- *) # directory might not be empty if some other viewer is still
- # running, so be quiet about it
- rmdir $tmpdir >/dev/null 2>&1;;
- esac
+# case $1 in
+# --force)
+# $needsCleanup && test -n "$tmpdir" && test -d "$tmpdir" \
+# && { rm -f "$tmpdir"/*; cd /; rmdir "$tmpdir"; }
+# ;;
+# *) # directory might not be empty if some other viewer is still
+# # running, so be quiet about it
+# rmdir $tmpdir >/dev/null 2>&1;;
+# esac
+ # is the temporary directory empty? If not, texdoc was called with
+ # two or more arguments, and one viewer is still running
+ if test "`echo $tmpdir/*`" = $tmpdir/'*'
+ then
+ rm -rf $tmpdir
+ fi
}
@@ -91,13 +106,12 @@ case `(uname -s) 2>/dev/null` in
extlist='.pdf .ps .txt .dvi .html'
;;
*)
- : ${TEXDOCVIEW_dvi='(xdvi %s) &'}
- : ${TEXDOCVIEW_pdf='(acroread %s) &'}
- : ${TEXDOCVIEW_ps='(gv %s) &'}
- : ${TEXDOCVIEW_html='mozilla -remote openURL'"'(%s)'"' 2>/dev/null || mozilla %s &'}
- : ${TEXDOCVIEW_txt="${PAGER-more} %s"}
- : ${TEXDOCVIEW_="${PAGER-more} %s"} # no extension, default to pager
- extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html'
+ : ${TEXDOCVIEW_dvi='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_pdf='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_ps='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_html='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_txt='(xdg-open %s) &'}
+ : ${TEXDOCVIEW_='(xdg-open %s) &'}
# Commands run to uncompress files, according to filename extension.
: ${TEXDOCUNZIP_gz='gzip -d -c'}
@@ -105,6 +119,10 @@ case `(uname -s) 2>/dev/null` in
;;
esac
+extlist=`kpsewhich --expand-brace='$TEXDOCEXT' | tr ':' ' '`
+test -z "$extlist" && \
+extlist='.dvi .dvi.gz .dvi.bz2 .pdf .pdf.gz .pdf.bz2 .ps .ps.gz .ps.bz2 .txt .txt.gz .txt.bz2 .html'
+
mode=viewer
help='Usage: texdoc [OPTION]... [NAME]...
Search for NAME in the TeX documentation and start a viewer.
@@ -136,11 +154,14 @@ case $# in
;;
esac
+tmpdir=`mktemp -d -t texdoc.XXXXXXXX`
+trap 'rc=$?; cleanup; exit $rc' 1 2 6 13 15
+
for name
do
case $mode in
search)
- find `kpsewhich --expand-path='$TEXMF/doc' | tr : ' '` -type f -print |
+ find `kpsewhich --expand-path='$TEXDOCS' | tr : ' '` -follow -type f -print |
egrep $name
continue
;;
@@ -153,7 +174,6 @@ do
found=false
for ext in "" $extlist; do
-
filename=`kpsewhich -format='TeX system documentation' $name$ext 2>/dev/null`
test -z "$filename" && continue
found=true
@@ -177,7 +197,6 @@ do
# than once
test -f "$tmpdir/$src" && break
- setupTmpDir
eval "$uncompress $filename > $tmpdir/$src"
filename=$tmpdir/$src
viewer=`eval echo $viewer | sed -e "s|%s|$filename; rm -f $filename; cleanup|"`
diff -up texlive-2007/texk/tetex/texdoc.man.texdoc texlive-2007/texk/tetex/texdoc.man
--- texlive-2007/texk/tetex/texdoc.man.texdoc 2008-08-27 13:35:29.000000000 +0200
+++ texlive-2007/texk/tetex/texdoc.man 2008-08-27 13:35:33.000000000 +0200
@@ -28,28 +28,37 @@ distribution\&.
.PP
.SH "OPTIONS"
.PP
-.IP "\fB--help\fP"
+.IP "\fB\-\-help\fP"
Display a brief summary of options\&.
.IP
-.IP "\fB-l\fP"
+.IP "\fB\-l\fP"
List matching files\&. Does not start a viewer\&.
-.IP "\fB-v\fP"
+.PP
+.IP "\fB\-s\fP"
+Search the disk. From all documentation files found by texdoc, the
+ones whose names match the remaining arguments (as egrep pattern) will
+be displayed.
+.IP "\fB\-v\fP"
Sets verbose mode\&. Shows the command being used to
display the documentation\&.
.PP
.SH "ENVIRONMENT"
.PP
.IP "\fB$TEXDOCVIEW_dvi\fP"
-DVI viewer\&. Defaults to \fBxdvi\fP(1)\&.
+DVI viewer\&. The default is to use the program specified
+by the freedesktop standard\&.
.IP "\fB$TEXDOCVIEW_pdf\fP"
-PDF viewer\&. Defaults to \fBacroread\fP(1)\&.
+PDF viewer\&. The default is to use the program specified
+by the freedesktop standard\&.
.IP "\fB$TEXDOCVIEW_ps\fP"
-PostScript viewer\&. Defaults to
-\fBghostview\fP(1)\&.
+PostScript viewer\&. The default is to use the program specified
+by the freedesktop standard\&.
.IP "\fB$TEXDOCVIEW_html\fP"
-HTML viewer\&. Defaults to \fBnetscape\fP(1)\&.
+HTML viewer\&. The default is to use a program through
+\fBxdg-open\fP\&.
.IP "\fB$TEXDOCVIEW_txt\fP"
-Text viewer\&. Defaults to \fB$PAGER-more\fP\&.
+Text viewer\&. Defaults is to use the program specified
+by the freedesktop standard\&.
.PP
The environment variables should be set with a ``%s\&'\&' as a placeholder
for the name of the file\&. For example,
@@ -66,10 +75,18 @@ hostname$ TEXDOCVIEW_html="mozilla %s"
hostname$ export TEXDOCVIEW_html
.EE
.PP
+.SH "SPECIFIC TO DEBIAN AND FEDORA"
+.PP
+The Debian and Fedora TeX Live packages texdoc use the mime-support package to determine
+the appropriate viewer for the respective file type except for
+\fIdvi\fP. texdoc of Debian and Fedora is able to handle gzip- and
+bzip2-compressed files. If texdoc finds more than on file for a string
+the first hit is displayed. The file extensions are regarded and the
+search order can be configured in \fItexmf.cnf\fP (\fI90TeXDoc.cnf\fP).
+.PP
.SH "SEE ALSO"
.PP
-\fBacroread\fP(1), \fBgv\fP(1), \fBkpsewhich\fP(1),
-\fBless\fP(1), \fBmore\fP(1), \fBxdvi\fP(1)
+\fBxdg-open\fP(1)
.PP
Web page: <http://tug\&.org/texlive/>
.PP

307845
texlive.spec

File diff suppressed because it is too large Load Diff

146273
texlive.tlpdb Normal file

File diff suppressed because it is too large Load Diff

12
tl-kpfix.patch Normal file
View File

@ -0,0 +1,12 @@
diff -up source/texk/kpathsea/progname.c.orig source/texk/kpathsea/progname.c
--- source/texk/kpathsea/progname.c.orig 2012-03-12 10:13:40.000000000 +0100
+++ source/texk/kpathsea/progname.c 2012-03-12 11:05:58.858157925 +0100
@@ -667,7 +667,7 @@ kpathsea_set_program_name (kpathsea kpse
kpathsea_xputenv (kpse, "SELFAUTOLOC", fix_selfdir (sdir));
sdir_parent = xdirname (sdir);
kpathsea_xputenv (kpse, "SELFAUTODIR", fix_selfdir (sdir_parent));
- sdir_grandparent = xdirname (sdir_parent);
+ sdir_grandparent = strdup("/usr/share/texlive");
kpathsea_xputenv (kpse, "SELFAUTOPARENT", fix_selfdir (sdir_grandparent));
#if defined(WIN32) || defined(__CYGWIN__)

2309
tl2rpm.c Normal file

File diff suppressed because it is too large Load Diff

213
tlpdb.patch Normal file
View File

@ -0,0 +1,213 @@
--- texlive.tlpdb.orig 2012-09-27 12:19:12.460717975 +0200
+++ texlive.tlpdb 2012-09-28 11:53:43.342626057 +0200
@@ -76,7 +76,7 @@
catalogue-ctan /macros/latex/contrib/abc
catalogue-date 2008-03-08 20:47:21 +0100
catalogue-license lppl
-catalogue-version .0
+catalogue-version 0
name abstract
category Package
@@ -6881,7 +6881,7 @@
catalogue-license pd
catalogue-version 1.0a
-name Asana-Math
+name asana-math
category Package
revision 27228
shortdesc A font to typeset maths in Xe(La)TeX and Lua(La)TeX.
@@ -25128,7 +25128,6 @@
shortdesc TeX Live documentation
relocated 1
depend texlive-common
-depend texlive-docindex
depend texlive-en
name collection-documentation-bulgarian
@@ -25427,7 +25426,7 @@
revision 27812
shortdesc Extra fonts
relocated 1
-depend Asana-Math
+depend asana-math
depend adforn
depend adfsymbols
depend allrunes
@@ -25546,7 +25545,7 @@
depend libertine-type1
depend libertineotf
depend libris
-depend linearA
+depend lineara
depend lxfonts
depend ly1
depend mathabx
@@ -25900,7 +25899,7 @@
depend cns
depend ctex
depend dnp
-depend fonts-tlwg
+depend tlwg
depend garuda-c90
depend hyphen-chinese
depend ipaex
@@ -27405,7 +27404,7 @@
depend m-tx
depend musixguit
depend musixtex
-depend musixtex-fonts
+depend musixtex-fnts
depend pmx
depend songbook
depend collection-latex
@@ -27834,25 +27833,6 @@
depend texinfo
depend collection-basic
-name collection-texworks
-category Collection
-revision 25704
-shortdesc TeXworks editor
-relocated 1
-longdesc See http://tug.org/texworks.
-depend collection-basic
-depend texworks
-
-name collection-wintools
-category Collection
-revision 13822
-shortdesc Windows support programs
-relocated 1
-longdesc Utilities for Windows, since they are not readily available
-longdesc there: chktex, unzip, wget, xpdf, and the dviout previewer.
-depend wintools.win32
-depend dviout.win32
-
name collection-xetex
category Collection
revision 27811
@@ -49123,7 +49103,7 @@
catalogue-license lppl1.3
catalogue-version v2.2b
-name fonts-tlwg
+name tlwg
category Package
revision 25417
shortdesc Thai fonts for LaTeX from TLWG.
@@ -56029,7 +56009,7 @@
name hyperref
category Package
-revision 27817
+revision 27828
shortdesc Extensive support for hypertext in LaTeX.
relocated 1
longdesc The hyperref package is used to handle cross-referencing
@@ -56133,9 +56113,9 @@
RELOC/source/latex/hyperref/test/testurl.bib
RELOC/source/latex/hyperref/test/testurl.tex
catalogue-ctan /macros/latex/contrib/hyperref
-catalogue-date 2012-09-25 07:19:56 +0200
+catalogue-date 2012-09-27 08:30:10 +0200
catalogue-license lppl
-catalogue-version 6.83e
+catalogue-version 6.83f
name hyper
category Package
@@ -60158,13 +60138,6 @@
catalogue-license lppl
catalogue-version v1.6b
-name installfont.i386-linux
-category Package
-revision 19743
-shortdesc i386-linux files of installfont
-binfiles arch=i386-linux size=1
- bin/i386-linux/installfont-tl
-
name interactiveworkbook
category Package
revision 15878
@@ -69430,7 +69403,7 @@
catalogue-ctan /macros/latex/contrib/labels
catalogue-date 2009-09-29 00:01:21 +0200
catalogue-license lppl1.2
-catalogue-version .13
+catalogue-version 13
name lacheck
category TLCore
@@ -75067,7 +75040,7 @@
catalogue-date 2007-01-08 23:14:30 +0100
catalogue-license lppl
-name linearA
+name lineara
category Package
revision 15878
shortdesc Linear A script fonts.
@@ -77246,7 +77219,7 @@
catalogue-ctan /info/lshort/persian
catalogue-date 2009-11-09 23:05:00 +0100
catalogue-license pd
-catalogue-version 4.26:2009-08-04
+catalogue-version 4.26-2009-08-04
name lshort-polish
category Package
@@ -86260,7 +86233,7 @@
catalogue-license lppl1.3
catalogue-version 1.2.2
-name musixtex-fonts
+name musixtex-fnts
category Package
revision 24517
shortdesc Fonts used by MusixTeX.
@@ -101265,7 +101238,7 @@
catalogue-ctan /graphics/pstricks/contrib/pst-layout
catalogue-date 2011-05-27 12:35:46 +0200
catalogue-license lppl
-catalogue-version .95
+catalogue-version 95
name pst-lens
category Package
@@ -118755,7 +118728,7 @@
name texlive-docindex
category TLCore
-revision 27814
+revision 27823
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script
@@ -119029,7 +119002,6 @@
revision 13663
shortdesc i386-linux files of texlive-scripts
binfiles arch=i386-linux size=2
- bin/i386-linux/man
bin/i386-linux/rungs
name texlive-sr
@@ -128077,7 +128049,7 @@
catalogue-ctan /macros/latex209/contrib/trees/tree-dvips
catalogue-date 2011-03-14 14:09:23 +0100
catalogue-license lppl1
-catalogue-version .91
+catalogue-version 91
name treetex
category Package
@@ -139374,7 +139346,6 @@
revision 26912
shortdesc i386-linux files of xetex
binfiles arch=i386-linux size=4837
- bin/i386-linux/teckit_compile
bin/i386-linux/xdvipdfmx
bin/i386-linux/xelatex
bin/i386-linux/xetex