Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 To: "Steven R. Loomis" Cc: Toshio 5 Nakamura , 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 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 wrote on 2018/05/18 13:39:35: > From: Philip Race > To: Toshio 5 Nakamura > 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->CallV
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 <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 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 mailto:toshi...@jp.ibm.com>> wrote: Thank you for your review, Phil. I'm working to handle your points. Toshio Nakamura Philip Race mailto:philip.r...@oracle.com>> wrote on 2018/05/18 13:39:35: > From: Philip Race mailto:philip.r...@oracle.com>> > To: Toshio 5 Nakamura mailto:toshi...@jp.ibm.com>> > Cc: 2d-dev <2d-dev@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
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 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 > wrote: > >> Updated webrev: >> >> http://cr.openjdk.java.net/~srl/8187100/webrev.01/ >> >> On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura >> wrote: >> >>> Thank you for your review, Phil. >>> I'm working to handle your points. >>> >>> Toshio Nakamura >>> >>> Philip Race wrote on 2018/05/18 13:39:35: >>> >>> > From: Philip Race >>> > To: Toshio 5 Nakamura >>> > 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
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
I'll generate a delta El El vie, jun. 22, 2018 a las 2:59 PM, Phil Race escribió: > 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 > wrote: > >> Updated webrev: >> >> http://cr.openjdk.java.net/~srl/8187100/webrev.01/ >> >> On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura >> wrote: >> >>> Thank you for your review, Phil. >>> I'm working to handle your points. >>> >>> Toshio Nakamura >>> >>> Philip Race wrote on 2018/05/18 13:39:35: >>> >>> > From: Philip Race >>> > To: Toshio 5 Nakamura >>> > 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" >>
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 <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 mailto:toshi...@jp.ibm.com>> wrote: Thank you for your review, Phil. I'm working to handle your points. Toshio Nakamura Philip Race mailto:philip.r...@oracle.com>> wrote on 2018/05/18 13:39:35: > From: Philip Race mailto:philip.r...@oracle.com>> > To: Toshio 5 Nakamura mailto:toshi...@jp.ibm.com>> > Cc: 2d-dev <2d-dev@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" mailto:srl...@gmail.com>> > > To: 2d-dev <2d-dev@openjdk.java.net <mailto:2d-dev@openjdk.java.net>> > > Date: 2018/05/03 03:27 > > Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: su
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 wrote: > Updated webrev: > > http://cr.openjdk.java.net/~srl/8187100/webrev.01/ > > On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura > wrote: > >> Thank you for your review, Phil. >> I'm working to handle your points. >> >> Toshio Nakamura >> >> Philip Race wrote on 2018/05/18 13:39:35: >> >> > From: Philip Race >> > To: Toshio 5 Nakamura >> > 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" >> > > 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 >> wrote: >> > > (Retrying as actual text) >> > > >> > > Support Unicode Variation Selectors. >> > > >> > > Code by my colleague Toshio Nakamura, I added a simple test, and >> > > in
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Composite fonts are imperfect. Hence exclusion ranges which create other problems. And monospaced fonts, well, aren't .. But I think opentype layout likes to take as much as it can from the same font, and other cases should be the same. If VS were common you might say otherwise.. or make sure the VS enabled font were the preferred one. But we can leave it as is until we see a problem in practice. -phil. On 6/20/18, 4:47 PM, Toshio 5 Nakamura wrote: Hi Phil, Thank you for your comments. That situation (mixing fonts by characters) sometimes occurs in Japanese environment, and I naturally thought displaying specified glyph has priority. For example, a composite font has FontA (contains Japanese Kanji Level 1/2 (basic)) and FontB (contains Kanji Level 1/2/3/4 (basic+extension)). Then, if using a Kanji Level 3 character among Kanji Level 1/2 characters, FontB appears among FontA. The behavior of composite font with VS is not described in Unicode Standard. I'm not sure which behavior should be chosen. Best regards, Toshio Nakamura Inactive hide details for Phil Race ---2018/06/20 05:38:24---On 06/18/2018 10:28 AM, Toshio 5 Nakamura wrote: >Phil Race ---2018/06/20 05:38:24---On 06/18/2018 10:28 AM, Toshio 5 Nakamura wrote: > From: Phil Race To: Toshio 5 Nakamura , "Steven R. Loomis" Cc: 2d-dev <2d-dev@openjdk.java.net>, srl...@gmail.com Date: 2018/06/20 05:38 Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend) On 06/18/2018 10:28 AM, Toshio 5 Nakamura 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/%7Esrl/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. right and I was saying in my email of 11th June, that your way of detecting if a VS char is there could be more efficient It is somewhat improved in this update .. (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. I believe that if you are looking for a glyph for (say) U+ then it should always come from the same slot of a composite font whether a variation selector is specified or not. Otherwise you may get glyphs with variations from a different font than the glyphs from the same script without variations and that may look very wrong. So I am not sure about that and maybe we'll change it in the future. I am running some general font tests to make sure this does not break anything, If that passes OK then we should be OK. -phil. - 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 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" __ <mailto:s...@icu-project.org> To: Toshio 5 Nakamura __ <mailto:toshi...@jp.ibm.com> Cc: Philip Race __ <mailto:philip.r...@oracle.com>, 2d-dev _<2d-dev@openjdk.java.net>_ <mailto: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: _srl295@gmail.com_ <mailto:srl...@gmail.com> Updated webrev 02 _http://cr.openj
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Hi Phil, Thank you for your comments. That situation (mixing fonts by characters) sometimes occurs in Japanese environment, and I naturally thought displaying specified glyph has priority. For example, a composite font has FontA (contains Japanese Kanji Level 1/2 (basic)) and FontB (contains Kanji Level 1/2/3/4 (basic+extension)). Then, if using a Kanji Level 3 character among Kanji Level 1/2 characters, FontB appears among FontA. The behavior of composite font with VS is not described in Unicode Standard. I'm not sure which behavior should be chosen. Best regards, Toshio Nakamura From: Phil Race To: Toshio 5 Nakamura , "Steven R. Loomis" Cc: 2d-dev <2d-dev@openjdk.java.net>, srl...@gmail.com Date: 2018/06/20 05:38 Subject: Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend) On 06/18/2018 10:28 AM, Toshio 5 Nakamura 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/ 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. right and I was saying in my email of 11th June, that your way of detecting if a VS char is there could be more efficient It is somewhat improved in this update .. (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. I believe that if you are looking for a glyph for (say) U+ then it should always come from the same slot of a composite font whether a variation selector is specified or not. Otherwise you may get glyphs with variations from a different font than the glyphs from the same script without variations and that may look very wrong. So I am not sure about that and maybe we'll change it in the future. I am running some general font tests to make sure this does not break anything, If that passes OK then we should be OK. -phil. - 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 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" To: Toshio 5 Nakamura Cc: Philip Race , 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/ 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 wrote on 2018/05/18 13:39:35: > From: Philip Race > To: Toshio 5 Nakamura > 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{ whi
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Hi Phil. >> > Updated webrev >> 02 _http://cr.openjdk.java.net/~srl/8187100/webrev.02/_ >> <http://cr.openjdk.java.net/%7Esrl/8187100/webrev.02/> I think that this patch is better than my patch. So I drop my patch. Thanks. Akira Nakajima On 2018/06/20 5:38, Phil Race wrote: On 06/18/2018 10:28 AM, Toshio 5 Nakamura 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/%7Esrl/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. right and I was saying in my email of 11th June, that your way of detecting if a VS char is there could be more efficient It is somewhat improved in this update .. (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. I believe that if you are looking for a glyph for (say) U+ then it should always come from the same slot of a composite font whether a variation selector is specified or not. Otherwise you may get glyphs with variations from a different font than the glyphs from the same script without variations and that may look very wrong. So I am not sure about that and maybe we'll change it in the future. I am running some general font tests to make sure this does not break anything, If that passes OK then we should be OK. -phil. - 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 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" To: Toshio 5 Nakamura Cc: Philip Race , 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/%7Esrl/8187100/webrev.02/> 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. >
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
On 06/18/2018 10:28 AM, Toshio 5 Nakamura 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/%7Esrl/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. right and I was saying in my email of 11th June, that your way of detecting if a VS char is there could be more efficient It is somewhat improved in this update .. (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. I believe that if you are looking for a glyph for (say) U+ then it should always come from the same slot of a composite font whether a variation selector is specified or not. Otherwise you may get glyphs with variations from a different font than the glyphs from the same script without variations and that may look very wrong. So I am not sure about that and maybe we'll change it in the future. I am running some general font tests to make sure this does not break anything, If that passes OK then we should be OK. -phil. - 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 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" To: Toshio 5 Nakamura Cc: Philip Race , 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/%7Esrl/8187100/webrev.02/> 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
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 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" > To: Toshio 5 Nakamura > Cc: Philip Race , 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* > > 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* > 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* <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,
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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/ 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 From: "Steven R. Loomis" To: Toshio 5 Nakamura Cc: Philip Race , 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/ On Thu, May 31, 2018 at 3:19 PM, Steven R. Loomis wrote: Updated webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.01/ On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura wrote: Thank you for your review, Phil. I'm working to handle your points. Toshio Nakamura Philip Race wrote on 2018/05/18 13:39:35: > From: Philip Race > To: Toshio 5 Nakamura > 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/ >
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Updated webrev 02 http://cr.openjdk.java.net/~srl/8187100/webrev.02/ On Thu, May 31, 2018 at 3:19 PM, Steven R. Loomis wrote: > Updated webrev: > > http://cr.openjdk.java.net/~srl/8187100/webrev.01/ > > On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura > wrote: > >> Thank you for your review, Phil. >> I'm working to handle your points. >> >> Toshio Nakamura >> >> Philip Race wrote on 2018/05/18 13:39:35: >> >> > From: Philip Race >> > To: Toshio 5 Nakamura >> > 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" >> > > 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 >> 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 >> > > Web
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
l chars to glyph used even by drawGlyphVector If this can't be made more efficient, then maybe it should be just part of the TextLayout path as mentioned earlier. can we have a boolean maybeVariationSelector(char c) { return c >= HI_SURROGATE_START;} 99.99% of the time that one test will return false and then you know you will not see a variation selector, or a surrogate encoded variation selector supplement code point since all possibilities are excluded. So you can write boolean maybe = maybeVariationSelector(unicodes[i+step]); if (maybe) { ... only then do the detailed checking } 56 env->ExceptionDescribe(); This is for debugging. Don't use it in production code. Since we are trying to be careful about clearing exceptions, I am fairly sure the allocation calls like this : 65 unicodes = env->NewIntArray(2); and 69 results = env->NewIntArray(2); may throw OutOfMemoryError as well as returning NULL. So cleanup: should start with if (env->ExceptionOccurred()) { env->ExceptionClear(); } This : 74 tmp = new jint[2]; would be more efficient as a stack allocation and then you don't need to free it either -phil. On 05/31/2018 03:19 PM, Steven R. Loomis 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 mailto:toshi...@jp.ibm.com>> wrote: Thank you for your review, Phil. I'm working to handle your points. Toshio Nakamura Philip Race mailto:philip.r...@oracle.com>> wrote on 2018/05/18 13:39:35: > From: Philip Race mailto:philip.r...@oracle.com>> > To: Toshio 5 Nakamura mailto:toshi...@jp.ibm.com>> > Cc: 2d-dev <2d-dev@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 <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" mailto:srl...@gmail.com>> > > To: 2d-dev <2d-dev@op
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Updated webrev: http://cr.openjdk.java.net/~srl/8187100/webrev.01/ On Fri, May 18, 2018 at 9:16 AM, Toshio 5 Nakamura wrote: > Thank you for your review, Phil. > I'm working to handle your points. > > Toshio Nakamura > > Philip Race wrote on 2018/05/18 13:39:35: > > > From: Philip Race > > To: Toshio 5 Nakamura > > 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" > > > 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 > 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: > > > &g
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
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 >
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" <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/ <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 >
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors (Resend)
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. Loomiswrote: > (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 > > >
Re: [OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors(Resend)
Hi Steven, Thank you for becoming the sponsor of my proposal and creating an official Webrev and tests. Of course, they are fine for me. Toshio Nakamura From: "Steven R. Loomis"To: 2d-dev <2d-dev@openjdk.java.net> Date: 2018/04/26 00:41 Subject:[OpenJDK 2D-Dev] RFR: JDK-8187100: support Variation Selectors (Resend) Sent by:"2d-dev" <2d-dev-boun...@openjdk.java.net> (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