![]() | |
Original author(s) | Taco Hoekwater, Hartmut Henkel, Hans Hagen |
---|---|
Developer(s) | Taco Hoekwater, Hartmut Henkel, Hans Hagen, etc. (7 active developers) |
Initial release | 2007; 18 years ago (2007) |
Stable release | |
Repository | |
Written in | Lua,C |
Operating system | Multiplatform |
Type | Typesetting |
License | GNU General Public License |
Website | www![]() |
LuaTeX is aTeX-based computertypesetting system which started as a version ofpdfTeX with aLua scripting engine embedded. After some experiments it was adopted by theTeX Live distribution as a successor to pdfTeX (itself an extension ofε-TeX, which generatesPDFs).[2][3][4] Later in the project some functionality ofAleph was included (esp. multi-directional typesetting). The project was originally sponsored by the Oriental TeX project, founded by Idris Samawi Hamid, Hans Hagen, and Taco Hoekwater.
The main objective of the project is to provide a version of TeX where all internals are accessible from Lua. In the process of opening up TeX much of the internal code is rewritten. Instead ofhard coding new features in TeX itself, users (or macro package writers) can write their own extensions.LuaTeX offers support forOpenType fonts with external modules. One of them, written in Lua, is provided by the LuaTeX team, but support for complex scripts is limited. Since 2020 LuaTeX includes the HarfBuzz engine for correct rendering of complex scripts using OpenType.[5]An alternate approach can be found on GitHub.[6]
A related project isMPLib (an extendedMetaPost library module), which brings a graphics engine into TeX.[7]
The LuaTeX team consists of Luigi Scarso, Taco Hoekwater, Hartmut Henkel and Hans Hagen.
The first public beta was launched atTUG 2007 inSan Diego. The first formal release was planned for the end of 2009, and the first stable production version was released in 2010. Version 1.00 was released in September 2016 during ConTeXt 2016. Version 1.12 was released for TeXLive 2020.[8]
As of October 2010[update], bothConTeXt mark IV andLaTeX with extra packages (e.g. luaotfload, luamplib, luatexbase, luatextra) make use of new LuaTeX features. (When LuaTeX is used with the LaTeX format, it is sometimes called "LuaLaTeX".) Both are supported inTeX Live 2010 with LuaTeX 0.60, and inLyX.[9] Special support in plain TeX is still under development.
Further development takes place asLuaMetaTeX in connection with theConTeXt project.[8][10]