[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] Fw: RFR: JDK-8187100: support VariationSelectors(Resend)
From:       "Steven R. Loomis" <srl () icu-project ! org>
Date:       2018-06-25 18:52:32
Message-ID: CAFYQx+AfoFMjeBCmq8S6knOjbvZrnaTpGDS1m+eW11i=L0RHvw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Pushed… thanks!

On Mon, Jun 25, 2018 at 11:40 AM Phil Race <philip.race@oracle.com> wrote:

> 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" <TOSHIONA@jp.ibm.com> <TOSHIONA@jp.ibm.com>
> To: Phil Race <philip.race@oracle.com> <philip.race@oracle.com>
> Cc: 2d-dev <2d-dev@openjdk.java.net> <2d-dev@openjdk.java.net>, "Steven
> R. Loomis" <srl@icu-project.org> <srl@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-bounces@openjdk.java.net>
> <2d-dev-bounces@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
> 
> [image: 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. I]Phil 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.race@oracle.com> <philip.race@oracle.com>
> To: "Steven R. Loomis" <srl@icu-project.org> <srl@icu-project.org>
> Cc: Toshio 5 Nakamura <TOSHIONA@jp.ibm.com> <TOSHIONA@jp.ibm.com>, 2d-dev
> <2d-dev@openjdk.java.net> <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*
>  <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* <philip.race@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*
> <srl@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@jp.ibm.com*
> <TOSHIONA@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*
> <philip.race@oracle.com>> wrote on
> 2018/05/18 13:39:35:
> 
> > From: Philip Race <
> *philip.race@oracle.com*
> <philip.race@oracle.com>>
> > To: Toshio 5 Nakamura <
> *TOSHIONA@jp.ibm.com*
> <TOSHIONA@jp.ibm.com>>
> > Cc: 2d-dev <
> *2d-dev@openjdk.java.net*
> <2d-dev@openjdk.java.net>>
> > Date: 2018/05/18 13:39
> 
> 
> > Subject: Re: [OpenJDK 2D-Dev] RFR:
> JDK-8187100: support Variation
> > Selectors(Resend)
> > 
> > There's a lot to think about here
> but I have some requests to first
> > clean up the proposed code to
> conform to coding standards.
> > 
> > I see lots of lines > 80 chars.
> Please fix
> > 
> > I see if(foo){ and else{ which
> should be "if (foo) {" and "else {"
> > 
> > Basically always have a space
> before { and after ) and around "=" and "=="
> > 
> > One line that WAS
> > 51     hb_codepoint_t u =
> (variation_selector==0) ? unicode :
> > variation_selector;
> > 
> > has no spaces around "==" almost
> certainly to avoid going over 80 chars.
> > Now you've broken the line you can
> fix that.
> 
> > 
> > Eliminate all wild card imports and
> import exactly what is needed.
> > Maybe this is only about the test.
> > 
> > remove what looks like SCCS style
> comments on the @test line.
> > Make the test simply print a
> warning if the person didn't install
> > fonts where you expected.
> > Why? Because @ignore defaults to ..
> not being ignored.
> > 
> > For the JNI methods calls read the
> spec and see if calling them may
> > throw an exception
> > 
> > I'm looking at sequences like
> > env->SetIntArrayRegion(unicodes, 0,
> 2, tmp);
> > 71
> env->CallVoidMethod(font2D,
> > sunFontIDs.f2dCharsToGlyphsMID, 2,
> unicodes, results);
> > 72
> env->GetIntArrayRegion(results, 0, 2, tmp);
> > 73         *glyph = tmp[0];
> > 74 cleanup:
> > 75         if (unicodes != NULL)
> env->DeleteLocalRef(unicodes);
> > 76         if (results != NULL)
> env->DeleteLocalRef(results);
> > 
> 
> > If call GetIntArrayRegion may leave
> a pending exception it needs to
> > be checked and cleared
> > before you make another call.
> > 
> > Look at the performance
> implications of things like the extra
> > work done now in
> FontUtilities.isSimpleChar() and see how to minimise
> > it since it could affect all text
> rendering in a way that is measurable
> > in at least some way.
> > 
> > I idly wonder if
> > 
> > 
> > public static boolean
> isBaseChar(int charCode){ ...
> > 
> > might be more cleanly or
> efficiently implemented with a switch ?
> > 
> > Not sure.
> > 
> > -phil.
> > 
> > On 5/14/18, 1:28 AM, Toshio 5
> Nakamura wrote:
> > Could someone review our proposal
> to support Unicode Variation Selectors?
> > > Bug:
> *https://bugs.openjdk.java.net/browse/JDK-8187100*
> <https://bugs.openjdk.java.net/browse/JDK-8187100>
> > > Webrev:
> *http://cr.openjdk.java.net/~srl/8187100/webrev.00/*
> <http://cr.openjdk.java.net/%7Esrl/8187100/webrev.00/>
> > 
> > Toshio Nakamura
> > 
> > > From: "Steven R. Loomis" <
> *srl295@gmail.com* <srl295@gmail.com>>
> > > To: 2d-dev <
> *2d-dev@openjdk.java.net*
> <2d-dev@openjdk.java.net>>
> > > Date: 2018/05/03 03:27
> > > Subject: Re: [OpenJDK 2D-Dev]
> RFR: JDK-8187100: support Variation
> > > Selectors (Resend)
> > > Sent by: "2d-dev" <
> *2d-dev-bounces@openjdk.java.net*
> <2d-dev-bounces@openjdk.java.net>>
> > > 
> > > I added a screenshot to
> *https://bugs.openjdk.java.net/browse/JDK-8187100*
> <https://bugs.openjdk.java.net/browse/JDK-8187100>
> > > if anyone wants to see what the
> impact of this fix is
> > > 
> > > On Wed, Apr 25, 2018 at 8:39 AM,
> Steven R. Loomis <*srl295@gmail.com*
> <srl295@gmail.com>> wrote:
> > > (Retrying as actual text)
> > > 
> > > Support Unicode Variation
> Selectors.
> > > 
> > > Code by my colleague Toshio
> Nakamura,  I added a simple test, and
> > > include a test that was part of
> JDK 8187100. (Both tests are run manually.)
> > > 
> > > Bug:
> *https://bugs.openjdk.java.net/browse/JDK-8187100*
> <https://bugs.openjdk.java.net/browse/JDK-8187100>
> > > Webrev:
> *http://cr.openjdk.java.net/~srl/8187100/webrev.00/*
> <http://cr.openjdk.java.net/%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_*
> <http://www.unicode.org/versions/Unicode10.0.0/ch23.pdf_>
> > > > Chapter 23.4 Variation
> Selectors
> > > > 
> > > > Best regards,
> > > > 
> > > > Toshio Nakamura
> > > > IBM Japan
> > > 
> 
> 
> 
> 
> 
> 


[Attachment #5 (text/html)]

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

</blockquote></div>


["1D300196.gif" (image/gif)]
["1D300196.gif" (image/gif)]

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic