Christophe Devalland | 19 May 14:28 2014

[luamplib] I can't open file `'

I tried to compile :







fill fullcircle scaled 20;





but I get :

Module luamplib info: This is MetaPost, Version 1.803




(luamplib) ! I can't open file `'.

(luamplib) <*> input

(luamplib) ;

(luamplib) Please type another input file name

(luamplib) ! Emergency stop.

(luamplib) <*> input

(luamplib) ;



! LuaTeX error ...texlive/2011/texmf-dist/tex/luatex/luamplib/luamplib.lua:327:

Module luamplib error: unknown, no error, terminal or log messages

stack traceback:

[C]: in function 'error'

...xlive/2011/texmf-dist/tex/luatex/luatexbase/modutils.lua:26: in function 'mo


...xlive/2011/texmf-dist/tex/luatex/luatexbase/modutils.lua:49: in function 'er


...texlive/2011/texmf-dist/tex/luatex/luamplib/luamplib.lua:327: in function 'r


...texlive/2011/texmf-dist/tex/luatex/luamplib/luamplib.lua:299: in function 'l


...texlive/2011/texmf-dist/tex/luatex/luamplib/luamplib.lua:661: in function 'm


[string "\directlua "]:1: in main chunk.

\ltxdomplibcodeindeed ...([===[\reserved <at> a ]===])}

\directlua {luamplib.proce...

l.10 \end{mplibcode}

I didn't find anything on the web.
Can you help me ? Thanks

Stephan Hennig | 15 Apr 00:09 2014

hyphenation disabled with polyglossia and variant=usmax


in this document

\parbox{0pt}{\mbox{} example}

the word 'example' is happily hyphenated using either

  xelatex + variant=us
  xelatex + variant=usmax
  lualatex + variant=us

But not with

  lualatex + variant=usmax

Is that to be expected or a bug?

Best regards,
Stephan Hennig

Stephan Hennig | 11 Feb 23:54 2014

convert language name to number in Lua


consider the following macro \langnum, which stores the language number
corresponding to an arbitrary language name in a Lua variable

      local number = \the\csname l <at> #1\endcsname
  \langnum{USenglish} \langnum{UKenglish}

How would I do the same conversion of a name to a number in pure Lua,
given a string containing an arbitrary language name?

Best regards,
Stephan Hennig

Stephan Hennig | 26 Jan 18:39 2014

towards non-standard hyphenation support in LuaTeX

[ To tex-hyphen@...
  CC luatex@...
  CC lualatex-dev@...
  Please keep tex-hyphen copied in your replies.]


I'd like to invite you to checkout
<URL:>.  The repository contains a
package that provides support for pattern driven node list manipulations
in LuaTeX.

There are a handful of typographic features missing in TeX that involve
certain kinds of glyph replacement and in principle can be implemented
at the node list level in LuaTeX.  Examples are non-standard
hyphenation, smart ligature building or long/round s handling in
black-letter fonts.  There's two main questions that need to be answered
when doing low-level operations like this on node lists:

  a) Where to apply manipulations?

  b) What manipulations to apply?

The purpose of the padrinoma package is to give a higher-level answer to
the first question.  Given suitable patterns (that look like ordinary
Liang patterns), the package can scan a node list, apply the patterns to
the words found and return data structures that contain the results of
the pattern matching.

Some basic, illustrative examples of how that can be used can be found
in directory examples/pdnm/.  Document hyph-mark-color.tex colours all
letter pairs surrounding valid hyphenation points in a word (without
falling-back to LuaTeX's lang.hyphenate function).  Document
hyph-mark-explicit.tex is similar, but inserts a certain character at a
valid hyphenation position instead of the colouring.  Document
german-nstd-hyph.tex is a bit more ambitious and shows an attempt to
bring non-standard ck hyphenation to German users.  Example patterns are

Quick start:  To compile the sample documents, the following files


have to be placed in a local TEXMF tree.  In general, mktexlsr needs to
be run afterwards.  Then move to the example documents and compile them
using LuaLaTeX.

There's not much user-level documentation, currently.  That's because
the package doesn't contain user-level code. :-)  The API of Lua modules
and classes is documented in LuaDoc format.  Documentation of examples,
on the other hand, is terse or non-existent.  If you want to play with
the example documents, look for a line

>   nlm.register_manipulation('hyph-la.pat.txt', 'pdnm_hyph-mark-explicit')

or similar.  The first argument to the function call is the name of an
ordinary pattern file (plain UTF-8 text) and the second argument is the
name of a Lua module implementing a particular kind of node list

Directory lua-classes/ contains basic data structures needed for the
pattern matching.  Pure TeX hackers need not care about the code there.
 Directory lua-modules/ contains modules that apply the data structures
from the former directory to LuaTeX's node lists.

What works: The example documents, see above.

What's missing: Much!

I'm announcing the package here, because it is at a point where input
and code contributions from people more firm in TeX and LaTeX internals
than me is desired.


  * A user-level TeX and LaTeX interface is missing.

  * How should a low-level LuaTeX interface look like?
    If the approach shown here proves useful, I think
    non-standard hyphenation and other application should get
    first class support similar to regular hyphenation by formats.

  * What about Babel/Polyglossia/hyph-utf8 integration?

Plain TeX:

  * Currently, only a very basic notion of a "word" is implemented.
    Basically, a word is a series of glyph, discretionary or
    user-defined whatsit nodes.  Plain TeX has a much more sophisticated
    notion of a "word subject to hyphenation".
      => see file lua-modules/pdnm_nl_iterate_words.lua

  * The language of a "word" is currently completely ignored.

  * "Words" are currently not checked against the list of hyphenation

  * There's no way to locally switch off a particular manipulation for
    a single word or phrase.  This is needed for words where certain
    glyph replacements might not be desirable, e.g., names for better

  * And much more ...

Prospectively, I hope that LuaTeX gets means to apply more than one type
of patterns and custom manipulations to a node list built-in so that
this package renders superfluous.  (Well, if this approach works out,
Hans and Taco might as well get reluctant adding that functionality to
the core. :-)  Until then, please share your ideas and -- more important
-- your coding skills!

Happy TeXing!
Stephan Hennig

Stephan Hennig | 15 Jan 18:26 2014

hyphenation with ligatures in input

[CC: lualatex-dev@...
Please reply to tex-hyphen@...]


in the following, I'm only considering LuaTeX with UTF-8 encoded input.

When a ligature character, e.g., fi, is already present in the input
stream, LuaTeX won't hyphenate that word correctly.

\showhyphens{financial financial}

> This is LuaTeX, Version beta-0.76.0-2013120414 (rev 4627)  (format=luatex 2013.12.11)  15 JAN 2014 18:17
> [...]
> [][] \tenrm fi-nan-cial finan-cial

The same is true for LuaLaTeX, by default, or when activating US
hyphenation patterns with either Babel or Polyglossia.

However, when activating UK hyphenation patterns the word containing the
ligature is also hyphenated (code attached at the end).

> This is LuaTeX, Version beta-0.76.0-2013120414 (rev 4627)  (format=lualatex 2013.12.11)  15 JAN 2014 18:20
> [...]
> [][] \EU2/lmr/m/n/10 fin-an-cial fin-an-cial

Why is that?  I can't find an fi ligature character neither in UK
hyphenation patterns nor in the exception list (hyph-en-gb.pat.txt,

What set of (ligature) characters is handled such a special way?

Does the handling depend on the fonts used?

Best regards,
Stephan Hennig

% -*- coding: utf-8 -*-
\showhyphens{financial financial}

Wolfgang Jeltsch | 16 Aug 13:45 2013

luatex.sty and luatexbase.sty


it seems that luatex.sty tries to solve problems that also
luatexbase.sty tries to solve. For example, both seem to deal with
attributes and catcode tables.

Now I have discovered that I cannot load luatexbase if I have already
loaded luacolor, which uses luatex.sty. If I try, I get the following
error message:

    ! LuaTeX error
    luatexbase error: attribute 0 has already been set by
    ewattributemacro from luatex.sty, not belonging to this package,
    this makesluaotfload unusable. Please report to the maintainer of
    stack traceback:
            [C]: in function 'error'
            in main chunk
            [C]: in function 'require'
            [string "\directlua "]:1: in main chunk.
    l.90 ...exbase <at> directlua{require('luatexbase.attr')}

Is luatex.sty just outdated and shouldn’t be used anymore? If yes, than
maybe I shouldn’t tell the maintainer of luatex.sty about this problem,
but ask the maintainer of luacolor (which happens to be the same person)
to not use luatex.sty anymore.

Any enlightenment would be greatly appreciated.

Best wishes,

Wolfgang Jeltsch | 3 Aug 19:28 2013

patch for lualatex-math.lua

Hi Philipp,

I don’t know if you have followed the recent discussion on lualatex-dev
about an issue with the lualatex-math package.

The code in lualatex-math.lua relies on unpack being a global variable,
which was the case in Lua 5.1, but is not the case anymore in Lua 5.2.
As a result, I get the following error when importing amsmath and
lualatex-math in the same document:

    ! LuaTeX error
    attempt to call upvalue 'unpack' (a nil value)
    stack traceback:
            in function 'print_class_fam_slot'
            [string "\directlua "]:1: in main chunk.
    \__lltxmath_set_mathchar:NN ...\int_eval:n {`#2})}

Other Lua files (lualibs-basic-merged.lua, lualibs-lua.lua, and
luaotfload-merged.lua) use the following code to work around this
incompatibility between Lua 5.1 and Lua 5.2:

    if not table.unpack then
    elseif not unpack then

By adding this code to lualatex-math.lua at an appropriate place, I was
able to fix the issue with lualatex-math and amsmath.

I’ve attached a patch. Could this patch or some other fix for the
problem please be incorporated into lualatex-math? Thank you.

Best wishes,
Attachment (lualatex-math.lua.diff): text/x-patch, 121 bytes
Wolfgang Jeltsch | 3 Aug 13:27 2013

lualatex-math cannot find unpack function


if I import both amsmath and lualatex-math, I get the following error
message when LuaLaTeX tries to process \begin{document}:

! LuaTeX error
attempt to call upvalue 'unpack' (a nil value)
stack traceback:
        in function 'print_class_fam_slot'
        [string "\directlua "]:1: in main chunk.
\__lltxmath_set_mathchar:NN ...\int_eval:n {`#2})}

What is the reason for this?

Best wishes,

Wolfgang Jeltsch | 3 Aug 12:20 2013

luatexbase-loader having problems with symbolic links


I’m working under Linux and use TeXlive 2013, which contains
luatexbase-loader v0.6 from 11 May 2013.

I have some symbolic links under $TEXMFHOME/tex/latex that point to
directories that contain LaTeX packages. Usually, I can import these
packages without problems using \usepackage. However when I import
luatexbase-loader, then import of the abovementioned local packages
isn’t possible anymore.

For example, let’s assume that I have two packages called abc and xyz
under directories linked to from $TEXMFHOME/tex/latex. Consider the
following LaTeX source:






Processing this source with LuaLaTeX gives me the following error

    ! LaTeX Error: File `xyz.sty' not found.

Could this problem maybe be fixed?

Best wishes,

David Bellows | 31 Jul 17:57 2013

Optical sizes and Adobe fonts

Hello all,

I posted the following question on Stack Exchange about how to specify
optical sizes for fonts that come with them. I had thought there would
be some set of options I could specify with \setmainfont but it's
looking more and more like that's not the case. So instead it might be
an issue with luaotfload that I'm not capable of dealing with.

Is this the sort of issue y'all want to hear about in general? Is
there more information you need from me? While I'm not a coder I am
interested in helping in whatever little ways I can. I am going
through all the commercial fonts I've purchased over the years and
making sure they work perfectly with LuaTeX so do you want me to
communicate those findings with you?

David Bellows

Ulrike Fischer | 30 Jul 14:00 2013

input normalization

Due to a discussion in d.c.t.t. I realized that lualatex is still
missing input normalization. E.g. the following document




gives in the pdf output 

oU+0308 (o + combining dieresis)
U+00F6  (ö)

while with xetex one gets with both inputs U+00F6.

context seems to do input normalization too. Would it be possible to
add the code to lualatex too?


Ulrike Fischer