[NTG-context] extra hyphen in underscore hyphenation

Pablo Rodriguez oinos at gmx.es
Thu Dec 8 15:48:53 CET 2022


On 12/8/22 13:14, Hans Hagen via ntg-context wrote:
> On 12/8/2022 12:33 PM, Pablo Rodriguez via ntg-context wrote:
>> [...]
>> What am I missing here?
> 
> \setuplanguage
>   [explicitrighthyphenchar=-1]

Many thanks for your fast reply, Hans.

I’m afraid it doesn’t work here:

  \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[underscore]%
  \setuplanguage
    [explicitrighthyphenchar=-1]
  \mainlanguage[es]
  \starttext
  \startTEXpage[offset=1em, width=4em]
    \hsize\zeropoint\tt
    \hyphenatedword{legibility-legible}
  \stopTEXpage
  \stoptext

Results are the same with "\mainlanguage[es]" or "\mainlanguage[nl]".

If "\mainlanguage" is placed after "\setuplanguage", the extra unwanted
hyphen appears.

If "\mainlanguage" is placed before "\setuplanguage", hyphenation for
the second word doesn’t work at all (and the extra unwanted hyphen
appears in my actual document).

I don’t know what I’m missing here and it seems to be a picky issue to
provide a MWE.

Many thanks for your help,

Pablo


More information about the ntg-context mailing list