[pdftex] pdftex 1.40
Martin Schröder
martin at oneiros.de
Mon Jan 1 17:56:59 CET 2007
http://sarovar.org/download.php/1139/pdftex-1.40.0.tar.bz2
http://sarovar.org/download.php/1140/pdftex-1.40.0.tgz
http://sarovar.org/download.php/1141/pdftex-1.40.0.zip
http://sarovar.org/download.php/1142/pdftex-1.30.6-1.40.0.diff.gz
The pdfTeX team is happy to announce the release of a new stable version:
===========================================================================
pdfTeX 1.40.0
===========================================================================
This is the announcement of pdfTeX 1.40.0, an extended version of TeX that
can create PDF directly from TeX source files and enhance the result of TeX
typesetting with the help of PDF.
===========================================================================
Main changes of pdfTeX 1.40.0
===========================================================================
- pdfetex (as a separate binary/program) is gone; all extensions are now in
pdftex. The make files still know about the target pdfetex, but it's just
a copy of pdftex
- The sources of TeX, eTeX and pdfTeX have been merged into one file
pdftex.web and one change file pdftex.ch. The sources of TeX and eTeX
distributed are just there for reference
- New features:
- pdfTeX can now generate PDF 1.5 object streams, which leads to smaller
PDFs. This is controlled by setting \pdfobjcompresslevel to a value >0
(3 compress everything, 2 don't compress /Info, 1 also don't compress
embedded PDFs) and works only with PDF >=1.5
- pdfTeX now supports another image file format: JBIG2 files (.jbig2)
- the memory allocated for objects and destination names now grows
dynamically
- pdfTeX now generates smaller PDFs since for char positioning the width
of chars (/Widths) is stored with more precision and so the chars must
rarely be positioned separately
- the PK resolution is now taken from the "pk_dpi" parameter in texmf.cnf
if it has not been set in the format file or by the user
- pdfTeX now removes the generated pdf in case of a fatal error
- pdfTeX now sets /ModDate and /Trapped in the InfoDict by default (the
values can be overridden with \pdfinfo)
- the format of warnings and errors issued by pdfTeX has been changed and
unified
- the output of -version has been extended and now includes information
about the libraries actually used, which can be handy when using shared
libraries
- rules and their positioning on the page are now inside a qQ group
- New primitives:
- pdfTeX can now handle colourstacks.
- \pdfcolorstackinit
A stack is initialized by \pdfcolorstackinit. It expands to the
number of the new stack. The common case, the traditinal color stack
is already initialized as first stack: \pdfcolorstackinit page direct
{0 g 0 G} The keyword "page" means that this stack is page based. At
the start of the new page, the current stack value is automatically
set.
- \pdfcolorstack
\pdfcolorstack <stack number> push {<new color>}
pushes the current value on the stack and sets the <new color>.
\pdfcolorstack <stack number> pop
pops and sets the current stack value.
\pdfcolorstack <stack number> current
sets the current stack value without changing the stack. This is
useful for stacks that are initialized without keyword "page". Thus
the page start setting can be set manually.
\pdfcolorstack <stack number> set {<new color>}
The current value is set to <new color>.
- Transformation matrices can now be manipulated more cleanly:
Currently matrix changes are done and hidden inside \pdfliteral nodes;
pdfTeX doesn't parse its contents and does not know the new settings of
the transform matrix. Thus the new primitives to save pdfTeX from
parsing \pdfliteral contents and to notify pdfTeX about matrix changes
to use them in calculating link and anchor positions.
- \pdfsetmatrix{<a> <b> <c> <d>}
is the equivalent to \pdfliteral{<a> <b> <c> <d> 0 0 cm}
- \pdfsave is the equivalent to \pdfliteral{q}
- \pdfrestore is the equivalent to \pdfliteral{Q}
- \pdfprimitive\TeX-primitive executes the original \TeX-primitive even
if the command has been redefined since. E.g.
\let\relax\undefined\pdfprimitive\relax
expands to \relax.
\ifpdfprimitive\TeX-primitive is true if \TeX-primitive has its
original meaning
- \ifpdfabsnum and \ifpdfabsdim are like \ifnum and \ifdim, but don't
care about negative numbers
- shell escape: if the first character of a filename for \openin,
\openout \input is a pipe symbol (|), the filename is assumed to be a
request for a pipe to a command line that is given in the rest of the
filename
- draftmode: With \pdfdraftmode=1 or the commandline switch -draftmode
pdfTeX doesn't write the output pdf and doesn't actually read any
images, thus speeding up compilations when you know you need an extra
run but don't care about the output, e.g. just to get the BibTeX
references right
- \pdfpxdimen (introduced in 1.30) is now a real dimension parameter. It
allows one base dimensions on pixels. 1px defaults to 1bp (or 72dpi),
but can be changed with the \pdfpxdimen primitive:
\pdfpxdimen=1in % 1 dpi
\divide\pdfpxdimen by 96 % 96 dpi
\hsize=1200px
Now \hsize is (1in/96)*1200
- \pdflastlink returns the object number of the last \pdfstartlink
- \pdfsavepos now works in DVI mode
- Fonts:
- support for subfonts: This creates all needed map entries for subfonts
automatically and handles Unicode mappings
- ToUnicode entries for Type1 fonts (patch 580)
- HZ:
- added patch 462: HZ font expansion in autoexpand mode now produces
smaller pdf files, as it works by modififying the text matrix for
single fonts instead of embedding many expanded font versions.
Therefore HZ now can be used also for TrueType fonts and even for
non-embedded fonts (e.g. Times-Roman)
- Bugfixes:
- the PDF statistics in the log are now correct
- added JFIF detection patch to writejpg.c (bug 548)
- bugfix: invalid pdf created if font name contains space (509)
- bugfix: truetype OS/2 v3 fonts (594)
- bugfix: Type1C (CFF) fonts of embedded pdfs didn't get replaced
For complete release notes see http://www.pdftex.org/NEWS
===========================================================================
Legal notice / license
===========================================================================
pdfTeX is copyright (c) 1996-2007 Han The Thanh, <thanh at pdftex.org>
pdfTeX 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 of the License, or (at your option) any later
version.
For a complete README (with a full discussion of the license)
please look at http://www.pdftex.org/README
===========================================================================
The files / installation
===========================================================================
You should first try to get a new version of pdfTeX through your
distribution.
If you want to compile it yourself, have a look at http://www.pdftex.org --
there you can find links to the pdfTeX sources on CTAN. And some useful
documentation.
===========================================================================
Mailing lists / web pages:
===========================================================================
Mailing list:
http://tug.org/mailman/listinfo/pdftex
Related web pages:
http://www.pdftex.org
http://sarovar.org/projects/pdftex/
http://www.tug.org/tex-live/
http://www.tug.org/tetex/
http://www.tex.ac.uk/cgi-bin/texfaq2html?introduction=yes
http://www.dante.de/
http://tug.org/
http://www.pragma-ade.com/
Have fun and a happy new year!
Martin Schröder (martin at pdftex.org) for the pdfTeX team, January 2007
More information about the pdftex
mailing list