CFV and Project Proposal: HarfBuzz Integration Project (#2)

Steven R. Loomis steven.loomis at
Wed Sep 18 23:00:25 UTC 2013

Voting for this proposal [1] is long closed.

Yes:  8   ( I did not count myself, would that make it an implied 9? )


On 26/07/13 12:02, Steven Loomis wrote:
> CFV and Project Proposal: HarfBuzz Integration Project (#2)
> I hereby propose the creation of the HarfBuzz Integration Project
> with Steven R. Loomis as the Lead and 2d-dev at as the
> sponsoring Group(s).
> I am the maintainer of the ICU Layout Engine, which is used for complex text
> rendering since Java 1.2 ([1]). This package has not been actively developed in
> quite some time, as is evidenced by recent performance, stability, and security
> issues that have been corrected. Although it is used in a number of other
> projects (both open source and otherwise), it has been a long standing dream of
> many (or at least, several) to have a single open source layout engine building
> on the legacy of FreeType, Qt, Pango and ICU’s layout engines. This has been
> realized by the HarfBuzz [2] project.
>   * Significantly faster.
>     Khaled Hosny reports 10x for his Amiri font, and LibreOffice agrees.
>   * More compatible with Uniscribe.
>     Extensively tested with a wide variety of fonts and data.
>   * Much better script coverage.
>     Including new-spec Indic and others.
>   * Actively maintained, active development community.
>   * Written from the ground up to be secure.
>   * Rapidly becoming the standard reusable OpenType layout engine.
>     If a project isn’t using an in-house engine such as Microsoft’s Uniscribe, or
>     those by Apple, Adobe, etc., it is probably using or will use HarfBuzz.
>   * I, the maintainer of the ICU Layout Engine currently in the OpenJDK (srl)
>     recommend it. I’m also already involved in the HarfBuzz project and so can
>     make sure that OpenJDK’s use is well supported moving forward.
>   * Independently tested by Mozilla, Android, ChromeOS.
>   * In use by Android 4.3 (released this week), Qt, Pango (GNOME),  Firefox,
>     Chromium, LibreOffice, XeTeX and others.
>   * HarfBuzz has an ICU compatibility library which will make it easier to switch
>     back and forth between ICU and HarfBuzz. It involves dropping in different
>     headers and recompiling/relinking.
>   * HarfBuzz has licenses compatible with both OpenJDK and commercial uses
>     ("HarfBuzz is licensed under the so-called "Old MIT" license. ")
> 1. The first step is to add configure switches which allow HarfBuzz’s ICU
>     compatibility layer to be chosen instead of ICU at build time.  This can be
>     done as a prototype against JDK 8.
> 2. This would allow side-by-side comparisons of HB vs. ICU behavior from
>     functional, performance, and platform compatibility perspectives.
> 3. Next, we would integrate this into mainstream (building against HarfBuzz by
>     default) in JDK 9.
> 3. Future work could include HarfBuzz-specific code optimizations, including
>     calling into HarfBuzz directly instead of via the ICU wrapper.
> 4. Also to be explored would be any new API and features in the JDK which might
>     be possible because of the HarfBuzz engine.
> Note: there are some issues right now with dropping in different ICU versions -
> see the “libicu” discussion currently on 2d-dev for details.
> Initial authors: Steven R. Loomis, Omair Majid, Phil Race
> Initial reviewers: Phil Race
> Votes are due by: Thu Aug 1 12:00 GMT 2013.
> Only current OpenJDK Members [3] are eligible to vote on this motion.  Votes
> must be cast in the open on the discuss list.  Replying to this message is
> sufficient if your mail program honors the Reply-To header, by replying to to
> this mailing list.
> For Lazy Consensus voting instructions, see [4].
> Steven R. Loomis (IBM)
> [1] (1997)
> [2]
> [3]
> [4]

More information about the discuss mailing list