[HarfBuzz] hangul shaper for harfbuzz-ng
behdad at behdad.org
Wed Apr 11 14:44:30 PDT 2012
Replying to a *very* old email:
On 02/16/2011 11:20 AM, Jonathan Kew wrote:
> I've just been starting to look at what would be needed to support Hangul (Korean) in hb-ng. There are a couple of aspects to this: first, composition of Hangul syllables from sequences of jamo (so that decomposed text will display well, without requiring fonts to implement all the compositions themselves); and second, application of the ljmo/vjmo/tjmo features to the appropriate positions, for the benefit of fonts with advanced support for Old Korean.
So, with the recent changes (the one-line Hangul module I added), this is
being handled by the normalizer.
> As a first step, here is a patch to add a Korean shaping module with canonical composition of decomposed jamo sequences. It does *not* yet do anything about the *jmo features, only the generic features will be applied. But with this patch, I see much better results for modern Korean text that happens to be in decomposed form.
I couldn't figure out how those features are supposed to work either. I see
that the malgun font from Windows supports them. Maybe someone can shed some
light on how they are supposed to work?
> Behdad, to connect this to the shaping code path, I added a new hb_preprocess_chars() function that is called on the buffer before hb_substitute_default(), so that it can manipulate the character codes. Please see what you think of this as an approach, and if you see a better way to approach it, let me know.
That's probably a better approach. For now, we're abusing setup_masks().
That said, the functionality of setup_masks() and preprocess_chars() is better
not decoupled since for example Arabic setup_masks() and fallback shaping work
best as one function. So I'm leaving it as is for now.
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
More information about the HarfBuzz