[HarfBuzz] Features, masks and glyph attribution.

Adam Twardoch (List) list.adam at twardoch.com
Wed Feb 6 11:12:19 PST 2013


Khaled,

thank you for this excellent clarification!

A.

On 13-02-06 16:19, Khaled Hosny wrote:
> On Mon, Jan 28, 2013 at 10:42:02PM +0300, Alexander Sabourenkov wrote:
>> Hello.
>>
>> I'm stuck in understanding more general aspects of HarfBuzz and
>> shaping; reading and tracing the code went into diminishing returns
>> mode.
>>
>> The task I'm struggling with is - after calling hb_shape(), map each
>> resulting glyph to the unicode code point  in the initial string that
>> caused the glyph in question to be emitted.
> This is what “cluster” field of hb_glyph_info_t is for, they map to
> input characters in the logical order. Here are some examples:
>
> $ hb-shape amiri-regular.ttf --no-positions 'fni'
> [f=0|n=1|i=2]
>
> There are three input characters and three output glyphs with one two
> one mapping.
>
> $ hb-shape amiri-regular.ttf --no-positions 'fin'
> [f_i=0|n=2]
>
> There are three input characters and two glyphs only, missing clusters
> are for glyphs “absorbed” in the ligature.
>
> $ hb-shape amiri-regular.ttf --no-positions 'لگ'
> [uni06AF.fina=1|uni0640.1=0|uni0644.init=0]
>
> There are two input characters and three output glyphs, two of them has
> the same cluster value because they belong to the same character, note
> that the glyph order is reversed but cluster values match the logical
> order of the input string.
>
> You may also want to check how Pango utilizes this stuff.
>
> Regards,
> Khaled
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz


-- 

May success attend your efforts,
-- Adam Twardoch
(Remove "list." from e-mail address to contact me directly.)




More information about the HarfBuzz mailing list