[NTG-context] Hyphenating compound words in MKIV & microtypography

Hans Hagen pragma at wxs.nl
Mon May 23 14:40:18 CEST 2011

On 23-5-2011 2:07, Otso Helenius wrote:
> Hi,
> MKIV seems to have a problem in hyphenating long finnish compound words in MKIV (2011.05.18 22:26).
> Here is a minimalist example (columns added to exaggerate the problem):
> \mainlanguage[fi]
> \language[fi]
> \starttext
> \startcolumns[n=3]
> kolmivaihekilowattituntimittari ympäristöliiketoiminta epäjärjestelmällisyydellistyttymättömyydellänsäkään järjestelmällisentelentelemättömyydellänsäkään
> \stopcolumns
> \stoptext
> Similarly with en-hyphenation and \input knuth, some of the lines stretch out in an ugly fashion.
> What am I doing wrong? I don't have these problems in LaTeX.

it all depends on the defaults for tolerance and emergencystretch ... 
they determine where tex will break

in such an extreme case (narrow columns and long words) I'd just use


> P.S. The punctuation characters should be partially hung out in a justified paragraph (similar to
> what microtype package does on LaTeX). Wikipedia says ConTeXt has "interfaces for handling
> microtypography" but they don't seem as apparent and as easy as using microtype on LaTeX.

fwiw: one has rather detailed control over what hangs and how much it 
hangs or protrudes (using character classes); we predefine a few cases 
in font-ext.lua but more can be defined if needed (not that I've noticed 
that much demand)

in the case of hz/protrusion "easy"can also easily become ugly

> The wiki article Protrusion#MkIV presents \definefontfeature but I find it counterintuitive that one has to use
> \definefontfeature[default][default][protrusion=quality,expansion=quality]
> \setupalign[hz,hanging]

sure, (1) it's a font related feature that should be used with care and 
(2) you want to be able to turn it on and off

> to enable the features. It is unclear if these lines switch the features on globally for all loaded fonts
> (for example ttf/otf ones defined with \starttypescript). IMHO these features should be enabled by default
> because they produce better typographic quality by default (which should be the preference), and could be
> switched off anyway if wanted. The less setup lines one has to add before \starttext to get high quality
> results the better.

it produces larger files, take more runtime and in most cases does not 
look better at all; for instance one can argue that protrusion gives 
more width but at the same time it introduces the boundary condition 
that some characters have to hang; or take hz (expansion) ... when 
applied so much that it gets visible, it will also lead to similar 
shapes in successive lines to look different

so, just enabling these features assuming that the output looks better 
is debatable (sometimes adding or removing a word is more effective)


                                           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

More information about the ntg-context mailing list