[HarfBuzz] Using HarfBuzz to get final glyphs

Ed Trager ed.trager at gmail.com
Thu Mar 20 06:38:26 PDT 2008


Hi, Pierre,

One part of the problem here may be that the core HarfBuzz developers
in the beginning anticipated that HarfBuzz's
only role would be to serve as the future unified shaping engine for
Pango and QT -- and so they
incorrectly assumed that documentation of HarfBuzz --especially of
HarfBuzz internals-- was not really needed
because in their view everybody would only access HarfBuzz indirectly
via higher-level Pango or QT API
constructs.

But as your case and the case of others illustrate, there is a need
for an Open Source library that makes it easy to process
OpenType features  -- and possibly do so in a manner quite independent
from the usual high-level Pango/Gnome or QT/KDE
APIs.  Ideally, such a library would have been fleshed out completely
several years ago as part of FreeType, but that obviously did not
happen.

The HarfBuzz development trajectory so far may represent the rather
common case of people inventing or creating something to fill one need
--the need that they themselves perceive it to be-- but actually not
perceiving, at least initially, the broader needs of the rest of the
world.  (For example, Edison's initial work on the phonograph was
motivated by a desire to record telephone messages,  and so the
recording of music, although a fairly obvious possibility, was
initially only a secondary or tertiary consideration).

The other possibility may be that the core HB developers feel
HarfBuzz's API is still too fluid and not yet finalized and so for
this reason have avoided documenting much of anything.  Unfortunately,
HarfBuzz has now been around for a good length of time and people are
wanting to use it.

A third possibility is that the core HB developers are just too busy
to do what needs to be done.

It would be really nice if the
http://freedesktop.org/wiki/Software/HarfBuzz page documented what is
actually going on here.  For example, are HarfBuzz internal and public
APIs finalized and stable, or are the developers still toying with new
visionary thinking and re-thinking?

I have no objection if Behdad Esfahbod and Simon Hausmann, inter alia,
are hacking away with great new ideas for revising and improving
HarfBuzz -- which of course might result in radical changes in HB
internals over time.  But if that is so, it would be ever so nice of
them to just SAY THAT on the wiki page.

Alternatively, if a good portion of the HarfBuzz internals and public
API are now felt to be stable, then what is the excuse for not having
all that stuff documented?  For example, if DOxygen comments exist in
some parts of the code base --or even if they don't-- why isn't there
DOxygen-generated documentation present on the web somewhere?

Just my 2 cents -- Ed Trager


On Thu, Mar 20, 2008 at 4:35 AM, Pierre Marchand <capparis at free.fr> wrote:
> Vous (Ed Trager) avez écrit :
>
> > It's true that Harfbuzz is not well-documented in its current state,
>  > but I think there are some example code files that show you most of
>  > what you need to do to use HarfBuzz with FreeType.  I'm sure the
>  > example files are included in the git repository.
>  >
>
>  Because I would have been really disappointed to have missed an example which
>  would have saved me a lot of time, I just re-checked in a fresh clone of the
>  GIT repository. There is a test program for shaping and that's it. I do
>  understand that Harfbuzz is expected to be used through its shaper and thus
>  does not need to document its "internals" (ie HB_Buffer). But some of us just
>  want to process OpenType features and come to Harfbuzz because Freetype does
>  not offer this possibility.
>
>  « Tu causes, tu causes Pierre »
>  Ok, I'll try to write some short introduction to the use of Harfbuzz as an
>  OpenType processor soon, hope it will hlep. :-)
>
>  --
>  Pierre Marchand
>
>
> _______________________________________________
>  HarfBuzz mailing list
>  HarfBuzz at lists.freedesktop.org
>  http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>


More information about the HarfBuzz mailing list