[luatex] luatex beta 0.36.0

Taco Hoekwater taco at elvenkind.com
Mon Mar 23 10:53:04 CET 2009


I have just uploaded luatex 0.36.0.

This is a beta in the process towards 0.40.0, the version that
will be included in texlive 2009. This beta will be shortlived,
the plan is to release the next one in about a week.

The main reason for a release now is to prepare for a bunch
of important user-visible changes:

* The lua code for tex.enableprimitives() etc. is now there,
  but for this beta all the new primitives are still provided
  to the user.

  In next week's beta, these will be gone indeed, and only
  \directlua will remain present by default. See the mailing list
  archive: http://tug.org/pipermail/luatex/2009-March/000360.html
  for more information, the final syntax is explained in the

* Multiple lua states have been removed and the old syntax
  now produces a (rather annoying) informational message.

* The fontforge table is renamed to fontloader. The old name
  is still there for the moment, but also produces a warning

A more detailed 'what's new':

* The included fontforge code is stripped considerably, and
  the lua table to access the code is renamed to 'fontloader'.
  The old name ('fontforge') will remain present for a while,
  but will eventually go away.

* New lua functions: tex.primitives(), tex.extraprimitives,
  tex.enableprimitives().  This is a prelude to a big change
  in the next beta: iniluatex will from now on start up with
  only the TeX82 primitives and \directlua, everything else
  has to be bootstrapped via tex.enableprimitives().
  See the manual for more details.

* Support for multiple lua states has been removed, and at the
  same time support for adding name ids to lua chunks has been
  added, and \closelua has been removed.  See the manual for
  more details.

* More changes to the PDF backend to make it support non-latin
  directions (form and image placement, vertical typesetting,

* The kpathsea library is updated. Highlights: cleaner build
  process (thanks to Peter Breitenlohner), cleaner mingw32
  (cross)compilation support, and a new reentrant API.

* Some possible endless loops within extended delimiters in
  math mode are now trapped.

* Movements inside VF font characters were considerably off
  due to a wrong conversion routine.

* Error handling for \outer has been reinstated, but can be
  suppressed via the new primitive \suppressoutererror.

* The new primitives: \suppresslongerror and \suppressifcsnameerror
  that can be used to suppress errors for \par in non-long macros
  and for non-expandable objects inside \ifcsname ... \endcsname,

* New lua function: node.vpack() via a patch from Khaled Hosny
  that also improves error handling in node.hpack().

* Fix the typo that caused \charic (instead of \charit)
  to be defined as a primitive.

* Suppression of hyphenation via \hyphenchar\font=-1 now works

* The lua functions tex.print(), tex.sprint(), tex.write() now
  accept an array of strings as well as vararg list of strings
  to print.

* A change to be build process: luatex.p is no longer split
  int smaller pieces before running the C compiler.

* Melissa O'Neill contributed a bugfix to the Type1 font
  subsetting code.

* A bunch of smaller bugfixes and cleanups (as usual).

The archives (now including source again) can be downloaded from
supelec as usual:


You could also check out the sources via anonymous svn:

  svn co svn://scm.foundry.supelec.fr/svn/luatex/tags/beta-0.36.0

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


Have fun,

More information about the luatex mailing list