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
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 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