[HarfBuzz] Further splitting libharfbuzz.so

Behdad Esfahbod behdad at behdad.org
Thu May 30 12:16:46 PDT 2013


On 13-05-30 05:09 AM, Shriramana Sharma wrote:
> But if the FT module is small, I guess you can avoid splitting it to a
> separate SO unless it's important to be able to switch off the
> dependency on that (I don't think so, since most environments use FT
> anyway).

There's also another reason that I prefer to keep hb-ft separate: the ABI
guarantees on hb-ft may not be as strong as harfbuzz proper.  Right now the
hb-ft API needs major work to address load_flags issues.  I don't want that to
hold back the main library.  I can always call hb-ft API unstable and subject
to change...

On 13-05-30 04:37 AM, Cosmin Apreutesei wrote:>>   * hb-ft is a very small
piece; convenience code you can even call it.  Most
>> "serious" users of harfbuzz don't use hb-ft, but small users all use it.
>
> I see pango uses ft too to implement the callbacks for

Pango uses ft, but not hb-ft.  Same is true about all other major users of
HarfBuzz.


>>     - As the default Unicode callback provider.  If glib is disabled, harfbuzz
>> builds an internal piece of code called UCDN that provides the same data.  It
>> results in an extra 100kb of binary as well as duplicated data.  I like to
>> avoid that, but don't want it to affect my ABI.
>
> I have the opposite use case - I would like to avoid the much bigger
> glib dependency.

You sure can build without glib.  I don't see how using it if it's available
has any down sides.


> I am curious why hb_unicode_funcs_get_default()
> chooses icu and glib with priority over ucdn when they are both
> available. Are there any downsides (other than the 100kb) to using it
> in place of icu or glib?

At this point that doesn't matter anymore.  I disabled the icu one, and if
glib is enabled UCDN gets disabled and vice versa.

But to answer your question: I hate Unicode data duplication.  Every
framework, every browser, every language runtime, each duplicate this data.  I
just hate it to do it in HarfBuzz again.  But then again, for convenience we
included UCDN already...

Anyway.  I think I'll go ahead and create separate harfbuzz-ft and
harfbuzz-glib then...

Oh, and the WebkitGtk build is fixed upstream.

-- 
behdad
http://behdad.org/



More information about the HarfBuzz mailing list