JDK-8075115 : JEP 267: Unicode 8.0
  • Type: JEP
  • Component: core-libs
  • Sub-Component: java.lang
  • Priority: P2
  • Status: Closed
  • Resolution: Delivered
  • Fix Versions: 9
  • Submitted: 2015-03-13
  • Updated: 2019-05-13
  • Resolved: 2016-02-28
Related Reports
Relates :  
Sub Tasks
JDK-8131313 :  
JDK-8131314 :  
JDK-8131315 :  
JDK-8131316 :  
JDK-8136589 :  
Description
Summary
-------

Upgrade existing platform APIs to support [version 8.0][u80] of the
[Unicode Standard][us].

[us]: http://www.unicode.org/standard/standard.html
[u80]: http://www.unicode.org/versions/Unicode8.0.0/


Goals
-----

Support the latest version of Unicode, with changes to the following
classes:

  - `Character` and `String` in the `java.lang` package,
  - `NumericShaper` in the `java.awt.font` package, and
  - `Bidi`, `BreakIterator`, and `Normalizer` in the `java.text`
    package.


Non-Goals
---------

Two related Unicode specifications will not be implemented by this JEP:

  - UTS #10, Unicode Collation Algorithm, and
  - UTS #46, Unicode IDNA Compatibility Processing.


Motivation
----------

Unicode is an evolving industry standard, so we must keep Java to date
with the latest version.


Description
-----------

This is a follow-on to [JEP 227][jep227], which introduced
[Unicode 7.0][u70] in JDK 9.  [Unicode 8.0][u80] adds an additional
~8,000 characters, 10 blocks, and 6 scripts.


Testing
-------

We will need to verify that the latest Unicode data is correctly used by
the relevant classes.


Risks and Assumptions
---------------------

  - Unicode 8 was released in June 2015.  While fairly late in JDK 9
    development, it is important to always implement the latest Unicode
    standard.  Deferring until JDK 10 would put us more than three years
    behind.

  - It's possible that a minor update to the Unicode Standard (e.g.,
    8.0.X) will be released before JDK 9 ships, in which case we may want
    to consider incorporating that version.


Dependences
-----------

This feature depends on the [Unicode Standard][us] of the Unicode
Consortium.


[u62]: http://www.unicode.org/versions/Unicode6.2.0/
[u70]: http://www.unicode.org/versions/Unicode7.0.0/
[jep227]: http://openjdk.java.net/jeps/227

Comments
Updating Scope to "SE" to accurately reflect impact to Java SE APIs.
09-12-2016