[luatex] Luatex 0.79.0 announcement

Taco Hoekwater taco at elvenkind.com
Fri Mar 28 16:43:21 CET 2014


I have just uploaded the archives for a new luatex release, 0.79.0.
This fixes a few of the outstanding bugs, and is the version that
will be included in TeXLive 2014.


* The luafontloader now returns 'tsidebearing' glyph values
   for OT/TT fonts, if applicable.

* new lua variables: stats.luatex_hashtype, stats.luatex_hashchars,
   stats.lastluaerrorstring; the luajittex string hash method is now
   lua 5.1 compliant which gives better results for similar strings

* new lua functions: tex.init_rand(), tex.uniform_rand(),
   tex.normal_rand(), tex.lua_math_randomseed(), tex.lua_math_random(),
   tex.show_context(); these helpers make luatex and luajittex compatible

* In the lua node interface, there were often issues with rubbish
   in (especially) 'prev' fields because luatex itself never looks
   at those values. This is now cleaned up to prevent weird stuff
   happening inside lua node processing code.

* pdf.pageattributes, pdf.pagesattributes, pdf.info, pdf.catalog,
   pdf.names and pdf.trailer now behave consistent and can be used
   to add these properties at the lua end in addition to their \pdf*
   counterparts atthe tex end; there are now pdf.get* and pdf.set*
   commands for them too (in future versions the old ways can become

* new accessors pdf.geth, pdfgetv, pdfgetpos, getgetmatrix as well
   as pdfhasmatrix helpers (in future versions the direct pdf.h and
   pdf.v accessor can become obsolete)

* the pdf.pdf* variables have been removed (they were already
   obsolete for some years)

* a new properties mechanism for associating lua tables with nodes
   that get cleaned up when nodes a freed (see manual for details)

* several improvements to the way temporary (backend) data is stored
   at the lua end (better protection, more consistent)

* a 'l' type for user nodes that holds a lua variable (can be set
   at the lua end)

* if a late lua node is set at the lua end the string value can be
   a function as well which is then executed during serialization to
   the backend stream

* Various small speedups

* Various smallish fixes to the node direct interface

* LPeg is now at version 0.12

* Some small fixes to the CFF (font) parsing

* Font file inclusion reporting messages on the terminal now
   comply to the texconfig.trace_file_names setting

* Removed some of the additional luafontloader.info() return
   information that was added in 0.78.2, but could not work

* new primitive \luafunction (see manual), with associated
   lua.get_functions_table() function

* lua error message reporting has been altered a bit to make
   the distinction between \directlua and other lua source code
   sources clearer

* Additional pdf document data functionality in the 'pdf' table
   has been cleaned up internally

* Additional pdf destination names can now be set via lua.

* New callbacks: finish_pdfpage, show_error_message,
   show_lua_error_hook, start_file, stop_file

* Handling of \tracinglostchars is fixed

* Embedded metapost library version is now 1.900

* luajittex is now included in the distribution. One can use
   buildjit.sh to build both luatex and luajittex, where
   supported by the platform

* Synchronization with the TeXLive sources updated the following
   * libpng is now 1.6.10
   * poppler is now 0.25.2

The archives can be downloaded from supelec as usual:


You could also check out the sources via anonymous svn:

   svn co --username anonsvn --password anonsvn              \

Bugs and feature requests can be added to the issue tracker at


Have fun,


More information about the luatex mailing list