[HarfBuzz] Intro to HarfBuzz

Behdad Esfahbod behdad at behdad.org
Tue Aug 31 10:49:42 PDT 2010

On 08/31/10 11:18, Tom Hacohen wrote:

> I wonder how everything will work with FriBiDi, since currently my flow
> is:
> Split to paragraphs -> Get bidi attributes per paragraph -> split to
> lines -> shape -> reorder.

You should break into runs that have the same direction and script, and shape
each of those.

It's more complicated to be honest, since you need the shaping result to know
where to break the lines.  I should put a sample
cairo+fribidi+harfbuzz+freetype paragraph renderer together for people to use
as a starting point.


> But with ligatures support, the string indexes will change, right? (a
> couple of codepoints will merge into one), so unless you'll pad with
> zero-width-space/zero-width-joiner/zero-width-non-joiner or something to
> keep the previous byte positions I won't be able to use the previous
> calculated BiDi data and will have to recalc.
> Thanks a lot,
> Tom.

More information about the HarfBuzz mailing list