ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: ntg-context@ntg.nl
Subject: Re: underscore hyphenation
Date: Wed, 10 Dec 2014 22:58:08 +0100	[thread overview]
Message-ID: <5488C1F0.5040206@wxs.nl> (raw)
In-Reply-To: <5488A72F.3000303@gmx.es>

On 12/10/2014 9:03 PM, Pablo Rodriguez wrote:
> Hans,
>
> the sample below hyphenates right what comes before \TexC in the
> paragraph. Also the contents of \TexC are hyphenated right.
>
> But hyphen is removed from standard text after the last \TexC command in
> the paragraph.
>
> I have just accidentally discovered it.

Fixed, thanks for noticing, it had to do with picking up the right 
settings after a change in alternative (we operate on several axis: 
language, glyph and hyphenation properties).


> Many thanks for your help,
>
> Pablo
>
>
>
> \startluacode
>
>      function document.addfunnyhyphen(tfmdata)
>          local underscore = utf.byte("_")
>          local char       = tfmdata.characters[underscore]
>          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
>
> \definefontfamily[mainface][serif][GaramondNo8]
> \definefontfamily[mainface][mono][Mechanica]
> \setupbodyfont[mainface, 14pt]
>
> \definetype
>        [TeXcode]
>        [option=TEX,
>         compact=absolute,
>         lines=hyphenated]
>
> \definehyphenationfeatures
>        [whatever]
>        [righthyphenchar="FE000]
>
> \setuphyphenation[method=traditional]
> \sethyphenationfeatures[strict]
>
> \unexpanded\def\TexC#1%
>        {\dontleavehmode\begingroup
>         \sethyphenationfeatures[whatever]%
>         \normalexpanded{\TeXcode{\letterbackslash#1}}%
>         \endgroup}
>
> \starttext
>          \hsize\zeropoint
>          newlargewordwithhyphen
>          \TexC{definebodyfont}
>          newlargewordwithnohyphen
> \stoptext
>


-- 

-----------------------------------------------------------------
                                           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
___________________________________________________________________________________

  reply	other threads:[~2014-12-10 21:58 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-10 20:03 Pablo Rodriguez
2014-12-10 21:58 ` Hans Hagen [this message]
2014-12-11 17:15   ` Pablo Rodriguez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5488C1F0.5040206@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).