[lltx] luaotfload-merged.lua:7542

Philipp Gesang Philipp.Gesang at alumni.uni-heidelberg.de
Sat Jun 15 10:49:28 CEST 2013


Hi Heiko!

···<date: 2013-06-15, Saturday>···<from: Heiko Oberdiek>···

> the following document (stripped down MWE):
> 
> %%% test.tex %%%
> \listfiles
> \documentclass{article}
> \usepackage{fontspec}
> \begin{document}
> \tracingcommands=1
> 
> \directlua{%
>   if font and font.fonts and font.current then %
>     local f = font.fonts[font.current()]%
>   end%
> }
> \setbox0\hbox{To}%
> 
> \end{document}
> %%% test.tex %%%
> 
> throws the error on the console:
> 
> %%% console %%%
> error: ...r/texmf-dist/tex/luatex/luaotfload/luaotfload-merged.lua:7542:
> attempt to perform arithmetic on local 'factor' (a nil value)

=> http://www.ntg.nl/pipermail/ntg-context/2013/072166.html

In short: access the fontdata via fonts.hashes.identifiers or
font.getfont(). Indexing font.fonts is unsafe with fonts that are
defined by the font loader. Example:

  local fontdata = fonts.hashes.identifiers
  local my_getfont = function (id)
    local f = fontdata[id]
    if f then
      return f
    end
    --- fallback to raw
    return font.fonts[id]
  end

Though this appears to work I can’t say whether it is safe under
all circumstances.

Best regards
Philipp

> .
> l.12 \setbox0\hbox{To}
>                     %
> ?
> %%% console %%%
> 
> What is the problem?
> 
> The .log file contains:
> 
> %%% test.log %%%
> {\setbox}
> {restricted horizontal mode: the letter T}
> {the letter o}
> {end-group character }}
> .
> l.12 \setbox0\hbox{To}
>                     %
> ?
> %%% test.log %%%
> 
> And the version list:
> 
> %%% version list %%%
>  *File List*
>  article.cls    2007/10/19 v1.4h Standard LaTeX document class
>   size10.clo    2007/10/19 v1.4h Standard LaTeX file (size option)
> fontspec.sty    2013/05/20 v2.3c Font selection for XeLaTeX and LuaLaTeX
>    expl3.sty    2013/03/14 v4469 L3 Experimental code bundle wrapper
>  l3names.sty    2012/12/07 v4346 L3 Namespace for primitives
> l3bootstrap.sty    2013/01/08 v4420 L3 Experimental bootstrap code
>   luatex.sty    2010/03/09 v0.4 LuaTeX basic definition package (HO)
> infwarerr.sty    2010/04/08 v1.3 Providing info/warning/error messages (HO)
> ifluatex.sty    2010/03/01 v1.3 Provides the ifluatex switch (HO)
>     etex.sty    1998/03/26 v2.0 eTeX basic definition package (PEB)
> luatex-loader.sty    2010/03/09 v0.4 Lua module loader (HO)
> pdftexcmds.sty    2011/11/29 v0.20 Utility functions of pdfTeX for
> LuaTeX (HO)
>  ltxcmds.sty    2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
>    ifpdf.sty    2011/01/30 v2.3 Provides the ifpdf switch (HO)
> l3basics.sty    2013/01/10 v4428 L3 Basic definitions
>  l3expan.sty    2013/02/03 v4458 L3 Argument expansion
>     l3tl.sty    2013/01/08 v4415 L3 Token lists
>    l3seq.sty    2013/01/12 v4434 L3 Sequences and stacks
>    l3int.sty    2013/01/13 v4444 L3 Integers
>  l3quark.sty    2012/11/04 v4268 L3 Quarks
>    l3prg.sty    2013/02/13 v4459 L3 Control structures
>  l3clist.sty    2013/01/08 v4414 L3 Comma separated lists
>  l3token.sty    2013/01/10 v4428 L3 Experimental token manipulation
>   l3prop.sty    2013/01/09 v4423 L3 Property lists
>    l3msg.sty    2013/01/08 v4412 L3 Messages
>   l3file.sty    2013/01/14 v4446 L3 File and I/O operations
>   l3skip.sty    2013/01/13 v4444 L3 Dimensions and skips
>   l3keys.sty    2013/02/24 v4461 L3 Experimental key-value interfaces
>     l3fp.sty    2013/01/19 v4449 L3 Floating points
>    l3box.sty    2013/01/08 v4411 L3 Experimental boxes
> l3coffins.sty    2012/09/09 v4212 L3 Coffin code layer
>  l3color.sty    2012/08/29 v4156 L3 Experimental color support
> l3luatex.sty    2012/08/03 v4049 L3 Experimental LuaTeX-specific functions
> l3candidates.sty    2013/03/14 v4468 L3 Experimental additions to l3kernel
>   xparse.sty    2013/03/12 v4467 L3 Experimental document command parser
> luaotfload.sty    2013/05/23 v2.2d OpenType layout system
> luatexbase.sty    2013/05/11 v0.6 Resource management for the LuaTeX
> macro progr
> ammer
> luatexbase-compat.sty    2011/05/24 v0.4 Compatibility tools for LuaTeX
> luatexbase-modutils.sty    2013/05/11 v0.6 Module utilities for LuaTeX
> luatexbase-loader.sty    2013/05/11 v0.6 Lua module loader for LuaTeX
> luatexbase-regs.sty    2011/05/24 v0.4 Registers allocation for LuaTeX
> luatexbase-attr.sty    2013/05/11 v0.6 Attributes allocation for LuaTeX
> luatexbase-cctb.sty    2013/05/11 v0.6 Catcodetable allocation for LuaTeX
> luatexbase-mcb.sty    2013/05/11 v0.6 Callback management for LuaTeX
> fontspec-patches.sty    2013/05/20 v2.3c Font selection for XeLaTeX and
> LuaLaTeX
> 
> fixltx2e.sty    2006/09/13 v1.1m fixes to LaTeX
> fontspec-luatex.sty    2013/05/20 v2.3c Font selection for XeLaTeX and
> LuaLaTeX
>  fontenc.sty
>   eu2enc.def    2010/05/27 v0.1h Experimental Unicode font encodings
>   eu2lmr.fd    2009/10/30 v1.6 Font defs for Latin Modern
> xunicode.sty    2011/09/09 v0.981 provides access to latin accents and
> many othe
> r characters in Unicode lower plane
>  eu2lmss.fd    2009/10/30 v1.6 Font defs for Latin Modern
> graphicx.sty    1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
>   keyval.sty    1999/03/16 v1.13 key=value parser (DPC)
> graphics.sty    2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
>     trig.sty    1999/03/16 v1.09 sin cos tan (DPC)
> graphics.cfg    2010/04/23 v1.9 graphics configuration of TeX Live
>   pdftex.def    2011/05/27 v0.06d Graphics/color for pdfTeX
> fontspec.cfg
>    t3cmr.fd    2001/12/31 TIPA font definitions
> supp-pdf.mkii
> epstopdf-base.sty    2010/02/09 v2.5 Base part for package epstopdf
>   grfext.sty    2010/08/19 v1.1 Manage graphics extensions (HO)
> kvdefinekeys.sty    2011/04/07 v1.3 Define keys (HO)
> kvoptions.sty    2011/06/30 v3.11 Key value format for package options (HO)
> kvsetkeys.sty    2012/04/25 v1.16 Key value parser (HO)
> etexcmds.sty    2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
> epstopdf-sys.cfg    2010/07/13 v1.3 Configuration of (r)epstopdf for TeX
> Live
>  ***********
> %%% version list %%%
> 
> Yours sincerely
>   Heiko Oberdiek

-- 
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://tug.org/pipermail/lualatex-dev/attachments/20130615/7cc91074/attachment.bin>


More information about the lualatex-dev mailing list