[HarfBuzz] Question about HarfBuzz-ng CTL Shaper Status

Jonathan Kew jonathan at jfkew.plus.com
Thu Sep 16 13:16:02 PDT 2010


On 16 Sep 2010, at 15:29, Ed wrote:

> On Thu, Sep 16, 2010 at 3:42 AM, Jonathan Kew <jonathan at jfkew.plus.com> wrote:
>> 
>> On 16 Sep 2010, at 02:33, Ed wrote:
>> 
>>> Hi, Behdad and everyone,
>>> 
>>> Just want to confirm something:
>>> 
>>> I thought Harfbuzz-ng did not yet have "complex text shaper" support.
>>> But in Firefox 4 beta with gfx.font_rendering.harfbuzz.level set to 1,
>>> Devanagari and Arabic looks correct.  So shapers are present then?
>> 
>> No. Firefox is using harfbuzz only for certain "simple" scripts such as Latin; it falls back to platform code (CoreText on OS X, Uniscribe on Windows) for complex scripts.
> 
> And old Pango-harfbuzz-whatever on Linux?

On Linux, we're not yet using harfbuzz-ng at all (work is in progress to move in that direction, but it's not in current betas). So *all* text there is going through Pango at present.

> 
> Also, if I am trying to test Tai Tham Unicode fonts which utilize
> OpenType features such as mark-to-base (mark), mark-to-mark (mkmk),
> and contextual ligatures (clig) --but doing so using Latin "dflt"
> since there is no tag for Tai Tham-- is Firefox 4x really using
> Harfbuzz-ng or not?
> 
> It seems possible --even likely given the kinds of results I am seeing
> so far-- that Firefox is perhaps marking the runs of text as being Tai
> Tham and so would not be using the new Harfbuzz-ng

That's what I would expect, yes. Firefox divides the text according to scripts (based on the Unicode character codes), and then chooses whether to use harfbuzz-ng or platform text layout libraries for each script run. It currently uses HB *only* for the major "simple" scripts, not for those requiring complex shaping.

> 
> And is there any possible way to know what renderer FF is really using
> for any given run of text.  I guess the answer is probably not ...

Not really, short of reading the source to determine how it will behave. :)

JK




More information about the HarfBuzz mailing list