CFV and Project Proposal: HarfBuzz Integration Project (#2)
Steven R. Loomis
steven.loomis at oracle.com
Wed Sep 18 23:00:25 UTC 2013
Voting for this proposal  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 openjdk.java.net 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 (). 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  project.
> WHY SHOULD OPENJDK SWITCH TO HARFBUZZ?
> * 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. ")
> SCOPE OF PROJECT AND ROADMAP
> 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.
> WHO WOULD BE INVOLVED IN THIS PROJECT?
> 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  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 .
> Steven R. Loomis (IBM)
> https://ssl.icu-project.org/docs/papers/international_text_in_jdk_1.2/ (1997)
More information about the discuss