[NTG-context] Luatex question

2011-10-25 Thread Lutz Haseloff
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)

Greetings Lutz
___
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
___


Re: [NTG-context] Luatex question

2011-10-25 Thread luigi scarso
On Tue, Oct 25, 2011 at 2:09 PM, Lutz Haseloff
lutz.hasel...@googlemail.com 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)
Not the answer, but
in the suite  there is a pdf with a list :
status-lua.pdf


-- 
luigi
___
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
___

Re: [NTG-context] Luatex question

2011-10-25 Thread Hans Hagen

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 errormain 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
___


Re: [NTG-context] Luatex question

2011-10-25 Thread Lutz Haseloff
Thank you for your detailed information.

2011/10/25 Hans Hagen pra...@wxs.nl:
 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 errormain 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
___