# [luatex] Luatex 0.46.0 announcement

Taco Hoekwater taco at elvenkind.com
Thu Nov 26 16:27:16 CET 2009

Hi,

I have just uploaded the archives for a new luatex release, 0.46.0.

There are two important reason for this release:

* It fixes an xform bug that is quite serious as it produces
invalid pdf files (see below)

files for lua extension modules. Copied from a message I sent to
the dev-luatex list a few days ago:

> I have committed an experimental patch that
> is given on the command-line.
>
> It is experimental because:
>
> * it assumes that all architectures except windows will be happy with
>   using dlopen (windows has its own code which does not need compile-
>   time support, but you have to have an installed lua51.dll from e.g.
>   http://luabinaries.luaforge.net ).
>
> * I made only minimal changes to kpathsea.
>
> * there may be lua libraries out there that fail horribly.
>
> As with pure lua require() files, luatex will only use kpathsea if the
>
> kpathsea changes in detail:
>
> I added the kpse_clua_format identifier that searches for files with
> extension .dll and .so. The texmf.cnf setting for this variable is
> CLUAINPUTS, and by default it has this value:
>
> CLUAINPUTS=.:$SELFAUTOLOC/lib/{$progname,\$engine,}/lua//
>
> This is the best I could do on short notice: the architecture has to
> be in the path somewhere, and the fastest way to do that is to search
> below the binary directory only.
>
> One level up (lib parallel to bin) would have been nicer, as the
> context minimals have arch and bin swapped (texmf-linux/bin as opposed
> to bin/i386-linux) but that would not have worked in texlive.

If you know how to compile dynamic libraries on your platform,
a good library to play with is Lua BitOp, http://bitop.luajit.org/
(single C source file and comes with a nice test lua script).

And here is the normal list of features and bugfixes in 0.46.0
--------------------------------------------------------------

New features:

* The build.sh script now has better support for new MacOSX-es
(patch from Mojca).

external .so/.dll files is reported to work on Windows,
linux and osx, other platforms are still unknown.

* pdf.obj{type="stream"} no longer converts its argument to and
from a tokenlist. This allows the use of binary data in the
"string" argument. Such data does still have to hidden from
the normal file parser by putting the code in a dofile()
or by using string.char(), though.

Bug fixes:

* Luatex 0.45.0 was not able to find truetype nor opentype fonts
if there were no callbacks defined (patch from Pawel).

* 0.45.0 printed the user input instead of the full pathname
for \input-ed tex files.

* The TFM reader now rejects fonts with tfm names that are
longer than 255 characters because such font names cannot
be stored in a DVI file.

* The combination of \immediate\pdfxform followed by a later
\pdfrefxform could cause broken pdf output files because
the box used for the form could have been freed and even
reused already at that moment in time, sometimes resulting
in an invalid transformation matrix.

* The placement of super- and subscripts for displaystyle
\int's in CambriaMath is now better than before. It still
needs a tweak to the metrics though: in the current version,
the italic correction has to be substracted from the width
of the integral sign to get correct placement (context mkiv
does this).  to be continued ...

http://foundry.supelec.fr/gf/project/luatex/

You could also check out the sources via anonymous svn:

svn co http://foundry.supelec.fr/svn/luatex/tags/beta-0.46.0

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

http://tracker.luatex.org

Have fun,
Taco