[HarfBuzz] hangul shaper patches

Behdad Esfahbod behdad at behdad.org
Wed Jan 22 04:53:08 PST 2014


Thanks Jonathan.  I've merged these.

A few points:

/* Same order as the feature array below */
enum {
  NONE,

  LJMO,
  VJMO,
  TJMO,

  FIRST_HANGUL_FEATURE = LJMO,
  HANGUL_FEATURE_COUNT = TJMO + 1
};

Do you really need the NONE?  I don't see where / how that's used.

I just want to note that by applying the jamo features only to one character
at a time, we disallow contextual rules, but I guess that's what Uniscribe
does also?

I'm a bit uncomfortable that we are moving marks BEFORE normalization.  But
then again, we are turning as much of that piece off as possible.  Perhaps I
should turn more of it off.

Anyway, looks like everyone's happy with this, so am I.  Thanks again.

Cheers,
behdad

On 14-01-19 08:30 PM, Jonathan Kew wrote:
> Hi Behdad,
> 
> I'm attaching a series of patches for improvements to the Hangul shaper. These
> provide support for Old Hangul sequences that do not have a precomposed
> Unicode form, and handle the tone-mark reordering.
> 
> With these patches, we exactly match uniscribe on the wikipedia test corpus
> using malgun.ttf, except for (a) cases where there's a character that's not
> supported in the font, so uniscribe gives .notdef but harfbuzz finds a
> compatibility fallback, and (b) a handful of words where there's an <LV, T>
> sequence that uniscribe doesn't support (it has no corresponding LVT
> syllable), but we handle by decomposing to <L, V, T> and applying jamo features.
> 
> JK

-- 
behdad
http://behdad.org/


More information about the HarfBuzz mailing list