[OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Phil Race
philip.race at oracle.com
Fri Jun 22 22:33:45 UTC 2018
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 at oracle.com
> <mailto:philip.race at 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 at icu-project.org <mailto:srl at 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
>> <TOSHIONA at jp.ibm.com <mailto:TOSHIONA at jp.ibm.com>> wrote:
>>
>> Thank you for your review, Phil.
>> I'm working to handle your points.
>>
>> Toshio Nakamura
>>
>> Philip Race <philip.race at oracle.com
>> <mailto:philip.race at oracle.com>> wrote on 2018/05/18
>> 13:39:35:
>>
>> > From: Philip Race <philip.race at oracle.com
>> <mailto:philip.race at oracle.com>>
>> > To: Toshio 5 Nakamura <TOSHIONA at jp.ibm.com
>> <mailto:TOSHIONA at jp.ibm.com>>
>> > Cc: 2d-dev <2d-dev at openjdk.java.net
>> <mailto:2d-dev at 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 at gmail.com
>> <mailto:srl295 at gmail.com>>
>> > > To: 2d-dev <2d-dev at openjdk.java.net
>> <mailto:2d-dev at 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-bounces at openjdk.java.net
>> <mailto:2d-dev-bounces at 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 at gmail.com <mailto:srl295 at 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
>> > >
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/2d-dev/attachments/20180622/348f4ab9/attachment-0001.html>
More information about the 2d-dev
mailing list