Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8064530

JEP 258: HarfBuzz Font-Layout Engine

    Details

    • Author:
      Steven R. Loomis
    • JEP Type:
      Feature
    • Exposure:
      Open
    • Subcomponent:
      2d
    • Scope:
      Implementation
    • Discussion:
      harfbuzz dash dev at openjdk dot java dot net
    • Effort:
      M
    • Duration:
      M
    • Alert Status:
       Green
    • Alert Reason:
      Delivered
    • JEP Number:
      258

      Description

      Summary

      Replace the existing ICU OpenType font-layout engine with HarfBuzz.

      Motivation

      An OpenType layout engine, such as ICU or HarfBuzz, provides script-aware code to process certain font tables required for the correct rendering of text for scripts such as Arabic and Indic. Without that support the rendering of text in those scripts is not just incorrect, but illegible.

      The ICU OpenType layout engine is no longer actively developed and IBM, the project owner, intends to replace it with HarfBuzz in the ICU project. The JDK must follow suit, or else be left using an unsupported and out-dated library.

      Description

      Incorporate into the JDK a copy of the HarfBuzz library in the same manner as is done for ICU and other open-source libraries in the JDK such as libpng. Integrate that native library to support the Java APIs and implementation required for the layout of complex text as a replacement for ICU.

      Alternatives

      There are no viable open-source alternatives to HarfBuzz. Libraries such as Pango are now being re-implemented as wrappers around HarfBuzz.

      Risks and Assumptions

      There may be some minor rendering differences between the libraries, as a result of different implementations and a use of more up-to-date OpenType specifications.

        Issue Links

          Activity

          Hide
          vdyakov Victor Dyakov added a comment - - edited
          Steven, Thanks! This is SQE's task to track: JDK-8067134
          Show
          vdyakov Victor Dyakov added a comment - - edited Steven, Thanks! This is SQE's task to track: JDK-8067134
          Hide
          alioffe Alexander Ioffe (Inactive) added a comment -
          SQE testing due date is August 10
          Show
          alioffe Alexander Ioffe (Inactive) added a comment - SQE testing due date is August 10
          Hide
          vdyakov Victor Dyakov added a comment -
          The JEP is Targeted -- it means you have green light to push reviewed code to JDK 9 repo
          Show
          vdyakov Victor Dyakov added a comment - The JEP is Targeted -- it means you have green light to push reviewed code to JDK 9 repo
          Hide
          iris Iris Clark added a comment -
          I've updated the scope of this JEP from "SE" to "Implementation" since this JEP replaced the underlying implementation of the font-layout engine and there were no changes to the Java SE specification. (Verified with Phil.)
          Show
          iris Iris Clark added a comment - I've updated the scope of this JEP from "SE" to "Implementation" since this JEP replaced the underlying implementation of the font-layout engine and there were no changes to the Java SE specification. (Verified with Phil.)

            People

            • Assignee:
              prr Philip Race
              Reporter:
              srl Steven Loomis
              Owner:
              Philip Race
              Reviewed By:
              Kevin Rushforth, Philip Race
              Endorsed By:
              Kevin Rushforth
            • Votes:
              2 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:
                Integration Due: