Hi Phil, Steven, Thank you so much for your support, and sorry for taking your time.
As Akira-san suggested, Harfbuzz has VS capability. It seems difficult to use its glyph picking up mechanism in this case, but its layout mechanism we can use. And, I tried to use it. Regarding default UVS table, if composite fonts keep font slot, we just need to check whether Base+VS is defined in Non-default UVS table or not. When Non-default UVS doesn't have the entry, we always use its default glyph. Best regards, Toshio Nakamura From: Phil Race <philip.r...@oracle.com> To: "Steven R. Loomis" <s...@icu-project.org> Cc: Toshio 5 Nakamura <toshi...@jp.ibm.com>, 2d-dev <2d-dev@openjdk.java.net> Date: 2018/06/23 07:34 Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend) Oh .. so this is doing what I suggested a couple of emails back. If we see a VS we always delegate to TextLayout ? Yes, it does simplify the patch a lot and I am perfectly OK with this approach but I am surprised as, but Toshio was very keen on having it there without TextLayout being needed .. why the change of heart ? But I don't get the removal (skipping) of the Default UVS table ? -phil. On 06/22/2018 03:26 PM, Steven R. Loomis wrote: Phil, does this help: https://gist.github.com/srl295/a81ec3a8495d53b85f368a7872138e86#file-webrev-02-vs-03-diff it is a diff between the 02 and 03 versions. On Fri, Jun 22, 2018 at 2:59 PM Phil Race <philip.r...@oracle.com> wrote: Please save me time and tell me where I will find the changes from the .02 version ? In particular I mean where are the changes associated with "Use TextLayout (Harfbuzz) if VS appears." ? -phil. On 06/22/2018 12:59 PM, Steven R. Loomis wrote: Updated webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.03 - Use TextLayout (Harfbuzz) if VS appears. - Composite font's behavior was changed to not change the font by VS. These changes made the patch so simplified. - add comment about suggested DejaVu version On Thu, May 31, 2018 at 3:19 PM Steven R. Loomis < s...@icu-project.org> wrote: Updated webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.01/ On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura < toshi...@jp.ibm.com> wrote: Thank you for your review, Phil. I'm working to handle your points. Toshio Nakamura Philip Race <philip.r...@oracle.com> wrote on 2018/05/18 13:39:35: > From: Philip Race <philip.r...@oracle.com> > To: Toshio 5 Nakamura <toshi...@jp.ibm.com> > Cc: 2d-dev <2d-dev@openjdk.java.net> > Date: 2018/05/18 13:39 > Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation > Selectors(Resend) > > There's a lot to think about here but I have some requests to first > clean up the proposed code to conform to coding standards. > > I see lots of lines > 80 chars. Please fix > > I see if(foo){ and else{ which should be "if (foo) {" and "else {" > > Basically always have a space before { and after ) and around "=" and "==" > > One line that WAS > 51 hb_codepoint_t u = (variation_selector==0) ? unicode : > variation_selector; > > has no spaces around "==" almost certainly to avoid going over 80 chars. > Now you've broken the line you can fix that. > > Eliminate all wild card imports and import exactly what is needed. > Maybe this is only about the test. > > remove what looks like SCCS style comments on the @test line. > Make the test simply print a warning if the person didn't install > fonts where you expected. > Why? Because @ignore defaults to .. not being ignored. > > For the JNI methods calls read the spec and see if calling them may > throw an exception > > I'm looking at sequences like > env->SetIntArrayRegion(unicodes, 0, 2, tmp); > 71 env->CallVoidMethod(font2D, > sunFontIDs.f2dCharsToGlyphsMID, 2, unicodes, results); > 72 env->GetIntArrayRegion(results, 0, 2, tmp); > 73 *glyph = tmp[0]; > 74 cleanup: > 75 if (unicodes != NULL) env->DeleteLocalRef (unicodes); > 76 if (results != NULL) env->DeleteLocalRef (results); > > If call GetIntArrayRegion may leave a pending exception it needs to > be checked and cleared > before you make another call. > > Look at the performance implications of things like the extra > work done now in FontUtilities.isSimpleChar() and see how to minimise > it since it could affect all text rendering in a way that is measurable > in at least some way. > > I idly wonder if > > > public static boolean isBaseChar(int charCode){ ... > > might be more cleanly or efficiently implemented with a switch ? > > Not sure. > > -phil. > > On 5/14/18, 1:28 AM, Toshio 5 Nakamura wrote: > Could someone review our proposal to support Unicode Variation Selectors? > > Bug: https://bugs.openjdk.java.net/browse/JDK-8187100 > > Webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.00/ > > Toshio Nakamura > > > From: "Steven R. Loomis" <srl...@gmail.com> > > To: 2d-dev <2d-dev@openjdk.java.net> > > Date: 2018/05/03 03:27 > > Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation > > Selectors (Resend) > > Sent by: "2d-dev" <2d-dev-boun...@openjdk.java.net> > > > > I added a screenshot to https://bugs.openjdk.java.net/browse/JDK-8187100 > > if anyone wants to see what the impact of this fix is > > > > On Wed, Apr 25, 2018 at 8:39 AM, Steven R. Loomis < srl...@gmail.com> wrote: > > (Retrying as actual text) > > > > Support Unicode Variation Selectors. > > > > 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.) > > > > Bug: https://bugs.openjdk.java.net/browse/JDK-8187100 > > Webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.00/ > > > > On 04/08/2018 11:46 PM, Toshio 5 Nakamura wrote: > > > > > > Hello > > > > > > IBM would like to propose Unicode Variation Selector [1] capability to AWT > > > and Swing components. > > > (This proposal was posted to i18n-dev first, and I got a suggestion to > > > discuss > > > in 2d-dev.) > > > > > > This proposal changed the following files: > > > src/java.desktop/share/classes/sun/font/CMap.java > > > src/java.desktop/share/classes/sun/font/CharToGlyphMapper.java > > > src/java.desktop/share/classes/sun/font/CompositeGlyphMapper.java > > > src/java.desktop/share/classes/sun/font/Font2D.java > > > src/java.desktop/share/classes/sun/font/FontRunIterator.java > > > src/java.desktop/share/classes/sun/font/FontUtilities.java > > > src/java.desktop/share/classes/sun/font/TrueTypeGlyphMapper.java > > > src/java.desktop/share/native/common/font/sunfontids.h > > > src/java.desktop/share/native/libfontmanager/hb-jdk-font.cc > > > src/java.desktop/share/native/libfontmanager/sunFont.c > > > src/java.desktop/share/classes/javax/swing/text/DefaultEditorKit.java > > > 542 lines will be changed. > > > > > > There are three parts. > > > 1) Adding CMap format 14 support > > > 2) Adding CharsToGlyphs functions support Variation Selector Sequences > > > 3) Swing text component's DEL and BS key operations change > > > > > > > > > How would I go about obtaining a sponsor? > > > > > > [1] _ http://www.unicode.org/versions/Unicode10.0.0/ch23.pdf_ > > > Chapter 23.4 Variation Selectors > > > > > > Best regards, > > > > > > Toshio Nakamura > > > IBM Japan > >