On 25-10-2011 14:09, Lutz Haseloff wrote:
Hi all,

some months ago I printed the name of the current font with following code:

\starttext
The current font is: \ctxlua{tex.print(font.getfont(font.current()).fullname)}.
\stoptext

Now I get an error message:

! LuaTeX error<main ctx instance>:1: no string to print
stack traceback:
        [C]: in function 'print'
        <main ctx instance>:1: in main chunk.
l.2 ...int(font.getfont(font.current()).fullname)}
                                                   .
?

What is the right way now?
(didn't find any news in functionref.pdf or luatexref-t.pdf)

In order of efficiency (most efficient on top):

\starttext

\ctxlua{tex.print(fonts.hashes.properties[font.current()].fullname)}

\ctxlua{tex.print(fonts.hashes.identifiers[font.current()].properties.fullname)}

\ctxlua{tex.print(font.getfont(font.current()).properties.fullname)}

\stoptext

the font.getfont returns the table that tex gets passed and in context that table gets normalized, in the sense that variables are collected in 'properties' and 'parameters'

in general, don't use font.getfont() in context as in the worst case it will rebuild a lua table at the tex

in the current beta you can run s-fnt-35.mkiv to see how this works

(this file will be renamed in a next beta)

Hans



-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to