On 23-12-2010 2:36, luigi scarso wrote:
On Thu, Dec 23, 2010 at 2:09 PM, Peter Münster
wrote: On Thu, Dec 23 2010, Mojca Miklavec wrote:
tex.print('\\hbox to 1.5em{\\hss %s \\hss}',
tex.print() does not handle the %s. context() does.
So just replace tex.print() by context(). Right, this also works
\starttext \startluacode function draw_table(unicode_start,n_columns) for i=0,0xF do tex.print('\\dontleavehmode\\definedfont[Serif at 20pt]\\kern0pt') for j=0,n_columns do context('\\hbox to 1.5em{\\hss %s \\hss}',unicode.utf8.char(unicode_start+i*16+j)) end tex.print('\\crlf') end end
draw_table(0x00C0,4) \stopluacode \stoptext
without backslashes: function draw_table(unicode_start,n_columns) context.start() context.definedfont{"Serif at 20pt"} for i=0,0xF do context.dontleavehmode() for j=0,n_columns do -- context('\\hbox to 1.5em{\\hss %s\\hss}',unicode.utf8.char(unicode_start+i*16+j)) context.hbox(false,"to 1.5em") context.bgroup() context.hss() context(unicode.utf8.char(unicode_start+i*16+j)) context.hss() context.egroup() end context.crlf() end context.stop() end cleaner: function draw_table(unicode_start,n_columns) context.start() context.definedfont { "Serif at 20pt" } context.starttabulate { string.format("*{%s}{|w(1.5em)}|",n_columns+1) } for i=0,0xF do context.NC() for j=0,n_columns do context(unicode.utf8.char(unicode_start+i*16+j)) context.NC() end context.NR() end context.stoptabulate() context.stop() end 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 -----------------------------------------------------------------