<div class="socmaildefaultfont" dir="ltr" style="font-family:Arial, Helvetica, sans-serif;font-size:10.5pt" ><div dir="ltr" >Support Unicode Variation Selectors.</div>
<div dir="ltr" > </div>
<div dir="ltr" >Code by my colleague Toshio Nakamura,  I added a simple test, and include a test that was part of JDK 8187100. (Both tests are run manually.) </div>
<div dir="ltr" > </div>
<div dir="ltr" >Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8187100" >https://bugs.openjdk.java.net/browse/JDK-8187100</a></div>
<div dir="ltr" >Webrev: <a href="http://cr.openjdk.java.net/~srl/8187100/webrev.00/" >http://cr.openjdk.java.net/~srl/8187100/webrev.00/</a></div>
<div dir="ltr" > </div>
<div dir="ltr" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >On 04/08/2018 11:46 PM, </span><span class="il" style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" >Toshio</span><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" > 5 Nakamura wrote:</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> Hello</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> IBM would like to propose Unicode Variation Selector[1] capability to AWT</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> and Swing components.</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> (This proposal was posted to i18n-dev first, and I got a suggestion to </span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> discuss</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >>  in 2d-dev.)</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> This proposal changed the following files:</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/CMap.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >CharToGlyphMapper.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >CompositeGlyphMapper.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/Font2D.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >FontRunIterator.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >FontUtilities.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/sun/font/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >TrueTypeGlyphMapper.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/native/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >common/font/sunfontids.h</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/native/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >libfontmanager/hb-jdk-font.cc</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/native/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >libfontmanager/sunFont.c</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> src/java.desktop/share/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >classes/javax/swing/text/</span><wbr style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >DefaultEditorKit.java</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> 542 lines will be changed.</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> There are three parts.</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> 1) Adding CMap format 14 support</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> 2) Adding CharsToGlyphs functions support Variation Selector Sequences</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> 3) Swing text component's DEL and BS key operations change</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> How would I go about obtaining a sponsor?</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> [1] _</span><a data-saferedirecturl="https://www.google.com/url?hl=en&q=http://www.unicode.org/versions/Unicode10.0.0/ch23.pdf_&source=gmail&ust=1524699934111000&usg=AFQjCNET2-TfW6Q36aemIBtiPdhh2BSCZA" href="http://www.unicode.org/versions/Unicode10.0.0/ch23.pdf_" rel="noreferrer" style="color: rgb(17, 85, 204); font-family: arial, sans-serif; font-size: 12.800000190734863px;" target="_blank" >http://www.unicode.org/<wbr>versions/Unicode10.0.0/ch23.<wbr>pdf_</a><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >>      Chapter 23.4 Variation Selectors</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> Best regards,</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >></span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> </span><span class="il" style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" >Toshio</span><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" > Nakamura</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" ><span style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px; background-color: rgb(255, 255, 255);" >> IBM Japan</span><br style="caret-color: rgb(34, 34, 34); color: rgb(34, 34, 34); font-family: arial, sans-serif; font-size: 12.800000190734863px;" > </div>
<div dir="ltr" > </div>
<div dir="ltr" ><div class="socmaildefaultfont" dir="ltr" style="font-family:Arial;font-size:10.5pt" ><div dir="ltr" style="margin-top: 20px;" ><div style="font-size: 12pt; font-weight: bold; font-family: sans-serif;" ><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2" ><font color="#7c7c5f" >Steven R. Loomis</font></font></div>
<div style="font-size: 10pt; font-weight: bold; font-family: sans-serif;" ><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2" >IBM Global Foundations Technology Team</font></div>
<div style="font-size: 10pt; font-weight: bold; font-family: sans-serif;" ><font face="Default Sans Serif,Verdana,Arial,Helvetica,sans-serif" size="2" ><a href="https://ibm.biz/srloomis" >https://ibm.biz/srloomis</a> </font></div></div></div></div></div><BR>