Thank you. I did not add the note about DejaVu — it seems at least version
2.20 from 2007 has the Variation Selector support.


On Mon, Jun 18, 2018 at 10:28 AM, Toshio 5 Nakamura <toshi...@jp.ibm.com>
wrote:

> Hi Phil,
>
> Thank you very much for your great comments.
> I tried to handle your comment as much as I could. Could you kindly
> rereview it?
> (So far, it contains only our contribution.)
>
> > Updated webrev 02 *http://cr.openjdk.java.net/~srl/8187100/webrev.02/*
> <http://cr.openjdk.java.net/~srl/8187100/webrev.02/>
>
> The following points were not directly applicable. I'd like to explain
> them.
>
> - Performance concern of fast path
> We'd like to handle direct drawing such as Graphics2D.drawString, and
> layout is not used in this case.
> I tired to separate the original methods and VS capable ones to minimize a
> impact.
> Only if VS character appears, VS capable method will be called.
> (except FontRunIterator.java:next, which uses a member variable and
> couldn't use that way.)
>
> - Complex code of CMap
> Composite fonts need to search a glyph by two steps.
> 1 - Search VS specific glyph in each composed font.
> 2 - If it's not available in all fonts, search a glyph without VS.
> I changed getGlyph method with allowFallback parameter,
> hope it clears our purpose.
>
> - isVariationSelector for two blocks
> VS characters are U+FE00-U+FE0F and U+E0100-U+E01FF.
> The latter is represented by Surrogate pair in a char array.
> My previous code named the same for them, and it may cause a confusion.
> I updated the names to isVariationSelectorBMP and isVariationSelectorExt.
>
>
> Steven,
> Thank you for your kind support.
>
> Best regards,
> Toshio Nakamura, IBM Japan
>
> [image: Inactive hide details for "Steven R. Loomis" ---2018/06/19
> 02:02:35---Updated webrev 02 https://urldefense.proofpoint.com/v2/ur]"Steven
> R. Loomis" ---2018/06/19 02:02:35---Updated webrev 02 INVALID URI REMOVED
>
> From: "Steven R. Loomis" <s...@icu-project.org>
> To: Toshio 5 Nakamura <toshi...@jp.ibm.com>
> Cc: Philip Race <philip.r...@oracle.com>, 2d-dev <2d-dev@openjdk.java.net>
> Date: 2018/06/19 02:02
> Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation
> Selectors(Resend)
> Sent by: srl...@gmail.com
> ------------------------------
>
>
>
> Updated webrev 02 *http://cr.openjdk.java.net/~srl/8187100/webrev.02/*
> <http://cr.openjdk.java.net/~srl/8187100/webrev.02/>
>
> On Thu, May 31, 2018 at 3:19 PM, Steven R. Loomis <*s...@icu-project.org*
> <s...@icu-project.org>> wrote:
>
>    Updated webrev:
>
>    *http://cr.openjdk.java.net/~srl/8187100/webrev.01/*
>    <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* <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* <philip.r...@oracle.com>> wrote
>    on 2018/05/18 13:39:35:
>
>    > From: Philip Race <*philip.r...@oracle.com* <philip.r...@oracle.com>>
>    > To: Toshio 5 Nakamura <*toshi...@jp.ibm.com* <toshi...@jp.ibm.com>>
>    > Cc: 2d-dev <*2d-dev@openjdk.java.net* <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*
>    <https://bugs.openjdk.java.net/browse/JDK-8187100>
>    > > Webrev: *http://cr.openjdk.java.net/~srl/8187100/webrev.00/*
>    <http://cr.openjdk.java.net/~srl/8187100/webrev.00/>
>    >
>    > Toshio Nakamura
>    >
>    > > From: "Steven R. Loomis" <*srl...@gmail.com* <srl...@gmail.com>>
>    > > To: 2d-dev <*2d-dev@openjdk.java.net* <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*
>    <2d-dev-boun...@openjdk.java.net>>
>    > >
>    > > I added a screenshot to
>    *https://bugs.openjdk.java.net/browse/JDK-8187100*
>    <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* <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*
>    <https://bugs.openjdk.java.net/browse/JDK-8187100>
>    > > Webrev: *http://cr.openjdk.java.net/~srl/8187100/webrev.00/*
>    <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_*
>    <http://www.unicode.org/versions/Unicode10.0.0/ch23.pdf_>
>    > > >      Chapter 23.4 Variation Selectors
>    > > >
>    > > > Best regards,
>    > > >
>    > > > Toshio Nakamura
>    > > > IBM Japan
>    > >
>
>
>
>
>
>

Reply via email to