Ok. Approved.

-phil.

On 06/25/2018 10:20 AM, Toshio 5 Nakamura wrote:

Hi Phil,

In other words, I just misunderstood your suggestion below.
Recent discussions led me correct understanding, and I took this way.
sorry for your confusion.

> For example we could explore having isComplexCharCode return true for these and > directing all uses down the layout path ? Then we can maybe remove all this logic from
> case used by the fast path code.

Toshio Nakamura
----- Forwarded by Toshio 5 Nakamura/Japan/IBM on 2018/06/26 02:09 -----

From: "Toshio 5 Nakamura" <toshi...@jp.ibm.com>
To: Phil Race <philip.r...@oracle.com>
Cc: 2d-dev <2d-dev@openjdk.java.net>, "Steven R. Loomis" <s...@icu-project.org>
Date: 2018/06/23 09:08
Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Sent by: "2d-dev" <2d-dev-boun...@openjdk.java.net>

------------------------------------------------------------------------



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

Inactive hide details for Phil Race ---2018/06/23 07:34:06---Oh .. so this is doing what I suggested a couple of emails back. IPhil Race ---2018/06/23 07:34:06---Oh .. so this is doing what I suggested a couple of emails back. If we see a VS we always delegate t

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.race@oracle.com_
                <mailto: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_
                                        
<http://cr.openjdk.java.net/%7Esrl/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
                                        <_srl@icu-project.org_
                                        <mailto:s...@icu-project.org>>
                                        wrote:
                                        Updated webrev:
                                        _
                                        
__http://cr.openjdk.java.net/~srl/8187100/webrev.01/_
                                        
<http://cr.openjdk.java.net/%7Esrl/8187100/webrev.01/>

                                        On Fri, May 18, 2018 at 9:16
                                        AM, Toshio 5 Nakamura
                                        <_toshi...@jp.ibm.com_
                                        <mailto:toshi...@jp.ibm.com>>
                                        wrote:
                                                Thank you for your
                                                review, Phil.
                                                I'm working to handle
                                                your points.

                                                Toshio Nakamura

                                                Philip Race
                                                <_philip.race@oracle.com_
                                                <mailto:philip.r...@oracle.com>>
                                                wrote on 2018/05/18
                                                13:39:35:

                                                > From: Philip Race
                                                <_philip.race@oracle.com_
                                                <mailto:philip.r...@oracle.com>>
                                                > To: Toshio 5
                                                Nakamura
                                                <_toshi...@jp.ibm.com_
                                                <mailto:toshi...@jp.ibm.com>>
                                                > Cc: 2d-dev
                                                <_2d-...@openjdk.java.net_
                                                
<mailto: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/_
                                                
<http://cr.openjdk.java.net/%7Esrl/8187100/webrev.00/>
                                                >
                                                > Toshio Nakamura
                                                >
                                                > > From: "Steven R.
                                                Loomis"
                                                <_srl295@gmail.com_
                                                <mailto:srl...@gmail.com>>
                                                > > To: 2d-dev
                                                <_2d-...@openjdk.java.net_
                                                
<mailto: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_
                                                
<mailto: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
                                                <_srl295@gmail.com_
                                                <mailto: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/_
                                                
<http://cr.openjdk.java.net/%7Esrl/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
                                                > >





Reply via email to