issue with font and lua code
Hans, I have the following sample (it includes Lua code for underscore hyphenation): \startluacode function document.addfunnyhyphen(tfmdata) local underscore = utf.byte("_") local char = tfmdata.characters[underscore] if not char then return end tfmdata.characters[0xFE000] = { width = 0, height = 0, depth = 0, commands = { { "right", -char.width }, { "down", char.depth }, { "slot", 1, underscore }, } } end utilities.sequencers.appendaction("aftercopyingcharacters", "after","document.addfunnyhyphen") \stopluacode \definehyphenationfeatures [underscore] [righthyphenchar="FE000] \setuphyphenation [method=traditional] \sethyphenationfeatures [strict] \definefontfamily[svb][rm][SV Basic Manual] \setupbodyfont[svb] \starttext \hyphenatedword{legibility} \stoptext For some reason, the font gives the following error with the Lua code (font can be downloaded from http://dl.dafont.com/dl/?f=sv_basic_manual): lua error > lua error on line 33 in file svb.tex: .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: bad argument #9 to 'define' (number expected, got nil) stack traceback: [C]: in function 'define' .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: in function <.../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1049> 33 >> \setupbodyfont[svb] The weird thing here is that the Lua code isn’t applied to the problematic font. Is there a way to fix this strange interaction? Many thanks for your help, Pablo -- http://www.ousia.tk
On 7/20/2015 6:49 PM, Pablo Rodriguez wrote:
Hans,
I have the following sample (it includes Lua code for underscore hyphenation):
\startluacode function document.addfunnyhyphen(tfmdata) local underscore = utf.byte("_") local char = tfmdata.characters[underscore] if not char then return end tfmdata.characters[0xFE000] = { width = 0, height = 0, depth = 0, commands = { { "right", -char.width }, { "down", char.depth }, { "slot", 1, underscore }, } } end utilities.sequencers.appendaction("aftercopyingcharacters", "after","document.addfunnyhyphen") \stopluacode
\definehyphenationfeatures [underscore] [righthyphenchar="FE000]
\setuphyphenation [method=traditional]
\sethyphenationfeatures [strict]
\definefontfamily[svb][rm][SV Basic Manual]
\setupbodyfont[svb]
\starttext \hyphenatedword{legibility} \stoptext
For some reason, the font gives the following error with the Lua code (font can be downloaded from http://dl.dafont.com/dl/?f=sv_basic_manual):
lua error > lua error on line 33 in file svb.tex: .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: bad argument #9 to 'define' (number expected, got nil) stack traceback: [C]: in function 'define' .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: in function <.../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1049> 33 >> \setupbodyfont[svb]
The weird thing here is that the Lua code isn’t applied to the problematic font.
Is there a way to fix this strange interaction?
in that font the underscore has no depth, so: commands = { { "right", -char.width }, { "down", char.depth or 0 }, { "slot", 1, underscore }, } ----------------------------------------------------------------- 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 -----------------------------------------------------------------
On 07/24/2015 10:26 AM, Hans Hagen wrote:
On 7/20/2015 6:49 PM, Pablo Rodriguez wrote:
[...] For some reason, the font gives the following error with the Lua code (font can be downloaded from http://dl.dafont.com/dl/?f=sv_basic_manual):
lua error > lua error on line 33 in file svb.tex: .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: bad argument #9 to 'define' (number expected, got nil) stack traceback: [C]: in function 'define' .../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1194: in function <.../ctxbeta/tex/texmf-context/tex/context/base/font-ctx.lua:1049> 33 >> \setupbodyfont[svb]
The weird thing here is that the Lua code isn’t applied to the problematic font.
Is there a way to fix this strange interaction?
in that font the underscore has no depth, so:
commands = { { "right", -char.width }, { "down", char.depth or 0 }, { "slot", 1, underscore }, }
Many thanks for your reply and for the fix, Hans. It works like charm. Pablo -- http://www.ousia.tk
participants (2)
-
Hans Hagen
-
Pablo Rodriguez