<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I'm not a font wizard, the only a consistent thing about this
      issue is that the glyph indices are always off by 2. The linked
      otf bug tracker issue has that same issue, and that is using a
      completely different font.<br>
      <br>
      If I had to debug this, I would probably think of something where
      some rare condition is true for the affected systems where some
      part of the code does a +1 on the glyph index to adjust for
      something but should instead do a -1. And since that condition
      seems to be very rare, normal testing doesn't catch that.<br>
    </p>
    <div class="moz-cite-prefix">On 20/12/2024 22:24, Philip Race wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:8909aa3d-ddf4-419a-91a2-65ac0936f625@oracle.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      There's some hard-coding of names to files in WindowsFontMap.java<br>
      Maybe that's part of it, but its very much a guess.<br>
      It would be interesting to try a build which excludes using that
      pure "optimization"<br>
      <br>
      -phil.<br>
      <br>
      <br>
      <div class="moz-cite-prefix">On 12/20/24 1:12 PM, Philip Race
        wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:f03aeb46-61a0-4f99-b76d-10721814563e@oracle.com"> That
        just looks like prism.verbose output<br>
        I see someone suggested prism.debugfonts but I don't see that
        any results were ever provided.<br>
        <br>
        -phil.<br>
        <br>
        <br>
        <div class="moz-cite-prefix">On 12/20/24 1:08 PM, Christopher
          Schnick wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:0e15e82e-24e3-4548-82a4-d79ff210a053@xpipe.io">
          <p>Hey Phil,</p>
          <p>the linked GitHub comment has debugfonts output hidden in
            the comment. It looks like this:</p>
          <p><font face="monospace">Prism pipeline init order: d3d sw<br>
              Using Double Precision Marlin Rasterizer<br>
              Using dirty region optimizations<br>
              Not using texture mask for primitives<br>
              Not forcing power of 2 sizes for textures<br>
              Using hardware CLAMP_TO_ZERO mode<br>
              Opting in for HiDPI pixel scaling<br>
              Prism pipeline name = com.sun.prism.d3d.D3DPipeline<br>
              Loading D3D native library ...<br>
                      succeeded.<br>
              D3DPipelineManager: Created D3D9Ex device<br>
              Direct3D initialization succeeded<br>
              (X) Got class = class com.sun.prism.d3d.D3DPipeline<br>
              Initialized prism pipeline: com.sun.prism.d3d.D3DPipeline<br>
              Maximum supported texture size: 16384<br>
              Maximum texture size clamped to 4096<br>
              OS Information:<br>
                      Windows version 10.0 build 22631<br>
              D3D Driver Information:<br>
                      Intel(R) Iris(R) Xe Graphics<br>
                      \\.\DISPLAY1<br>
                      Driver igd10iumd64.dll, version 30.0.101.3118<br>
                      Pixel Shader version 3.0<br>
                      Device : ven_8086, dev_46A8, subsys_00631414<br>
                      Max Multisamples supported: 4<br>
               vsync: true vpipe: true<br>
              Loading FontFactory
              com.sun.javafx.font.directwrite.DWFactory<br>
              Subpixel: enabled<br>
              No match for name null in C:\WINDOWS\Fonts\segoeui.ttf<br>
              No match for name null in C:\WINDOWS\Fonts\segoeuib.ttf<br>
              new alphas with length = 16384<br>
              new alphas with length = 20480<br>
              new alphas with length = 61440</font></p>
          <p>The comment also contains information about the system and
            fonts.<font face="monospace"><br>
            </font></p>
          <div class="moz-cite-prefix">On 20/12/2024 22:02, Philip Race
            wrote:<br>
          </div>
          <blockquote type="cite"
            cite="mid:8d78c99f-1360-4695-a933-8159531baf2e@oracle.com">
            Very odd. Possibilities :<br>
            - font mixup :  the glyph ID is for a different font.<br>
            - cmap bug : the incorrect glyph ID is used for the
            codepoint.<br>
            - the font is a unicode variable font something goes wrong
            as a result - I doubt this one as the IDs should be the
            same.<br>
            - something else  :-)<br>
            <br>
            Is the D3D pipeline being used ? <br>
            What's the user locale as shown by windows ?<br>
            <br>
            To get some idea of what fonts are being used they could run
            with -Dprism.debugfonts=true <br>
            <br>
            -phil.<br>
            <br>
            <br>
            <div class="moz-cite-prefix">On 12/20/24 12:48 PM,
              Christopher Schnick wrote:<br>
            </div>
            <blockquote type="cite"
              cite="mid:46a73c76-38e7-4ef2-899e-37d50eeea3f4@xpipe.io">
              <p>So as a follow-up to this, this is a general JavaFX
                issue and not related to a certain application. You can
                find references to this on reddit: <a
                  class="moz-txt-link-freetext"
href="https://www.reddit.com/r/JavaFX/comments/1hhu0d5/bugs_with_scene_builder_v_2400/"
                  moz-do-not-send="true">https://www.reddit.com/r/JavaFX/comments/1hhu0d5/bugs_with_scene_builder_v_2400/</a>
                and on GitHub with some verbose and debugfonts output: <a
                  class="moz-txt-link-freetext"
href="https://github.com/JabRef/jabref/issues/11755#issuecomment-2403606223"
                  moz-do-not-send="true">https://github.com/JabRef/jabref/issues/11755#issuecomment-2403606223</a>
                . It also seems related to this issue: <a
                  class="moz-txt-link-freetext"
                  href="https://bugs.openjdk.org/browse/JDK-8242617"
                  moz-do-not-send="true">https://bugs.openjdk.org/browse/JDK-8242617</a><br>
              </p>
              <div class="moz-cite-prefix">On 04/12/2024 18:43,
                Christopher Schnick wrote:<br>
              </div>
              <blockquote type="cite"
                cite="mid:5572a0e6-43e4-4dee-a333-a4d0bd59ee1a@xpipe.io">
                <p>I'm not able to reproduce it, but some of my users
                  are. If anyone who knows the font renderer maybe wants
                  additional information or has some ideas on what the
                  users can try to either fix or diagnose the root
                  cause, I can relay that request to them.</p>
                <p>I can ask them to try other JavaFX applications, but
                  either way how that goes, it doesn't show the cause.<br>
                </p>
                <div class="moz-cite-prefix">On 04/12/2024 18:37, Andy
                  Goryachev wrote:<br>
                </div>
                <blockquote type="cite"
cite="mid:BYAPR10MB301357AE9F271BDFBF59983FE5372@BYAPR10MB3013.namprd10.prod.outlook.com">
                  <meta name="Generator"
                    content="Microsoft Word 15 (filtered medium)">
                  <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
                  <style>@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
        {font-family:Aptos;
        panose-1:2 11 0 4 2 2 2 2 2 4;}@font-face
        {font-family:"Iosevka Fixed SS16";
        panose-1:2 0 5 9 3 0 0 0 0 4;}@font-face
        {font-family:"Times New Roman \(Body CS\)";
        panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:10.0pt;
        font-family:"Aptos",sans-serif;}span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Iosevka Fixed SS16";
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        mso-ligatures:none;}div.WordSection1
        {page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
                  <div class="WordSection1">
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">I
                        might suggest trying to run some other JavaFX
                        application using the same setup.  Or better
                        yet, if you can come up with a short reproducer,
                        please file a bug.<o:p></o:p></span></p>
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">Thanks!<o:p></o:p></span></p>
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy<o:p></o:p></span></p>
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
                    <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""><o:p> </o:p></span></p>
                    <div id="mail-editor-reference-message-container">
                      <div>
                        <div>
                          <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                            <p class="MsoNormal"
                              style="margin-bottom:12.0pt"><b><span
                                  style="font-size:12.0pt;color:black">From:
                                </span></b><span
                                style="font-size:12.0pt;color:black">openjfx-dev
                                <a class="moz-txt-link-rfc2396E"
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true"><openjfx-dev-retn@openjdk.org></a>
                                on behalf of Andy Goryachev <a
                                  class="moz-txt-link-rfc2396E"
href="mailto:andy.goryachev@oracle.com" moz-do-not-send="true"><andy.goryachev@oracle.com></a><br>
                                <b>Date: </b>Wednesday, December 4,
                                2024 at 09:20<br>
                                <b>To: </b>Christopher Schnick <a
                                  class="moz-txt-link-rfc2396E"
                                  href="mailto:crschnick@xpipe.io"
                                  moz-do-not-send="true"><crschnick@xpipe.io></a>,
                                <a
class="moz-txt-link-abbreviated moz-txt-link-freetext"
                                  href="mailto:openjfx-dev@openjdk.org"
                                  moz-do-not-send="true">openjfx-dev@openjdk.org</a>
                                <a class="moz-txt-link-rfc2396E"
                                  href="mailto:openjfx-dev@openjdk.org"
                                  moz-do-not-send="true"><openjfx-dev@openjdk.org></a><br>
                                <b>Subject: </b>Re: Windows default
                                font glyphs are rendered wrong on some
                                systems<o:p></o:p></span></p>
                          </div>
                          <div>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">I've
                                never seen this...  what is the font
                                that causes the issue?</span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16"">-andy</span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Iosevka Fixed SS16""> </span><o:p></o:p></p>
                            <div
id="mail-editor-reference-message-container">
                              <div>
                                <div>
                                  <div
style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
                                    <p class="MsoNormal"
                                      style="margin-bottom:12.0pt"><b><span
style="font-size:12.0pt;color:black">From: </span></b><span
style="font-size:12.0pt;color:black">openjfx-dev <a
                                          class="moz-txt-link-rfc2396E"
href="mailto:openjfx-dev-retn@openjdk.org" moz-do-not-send="true"><openjfx-dev-retn@openjdk.org></a>
                                        on behalf of Christopher Schnick
                                        <a class="moz-txt-link-rfc2396E"
href="mailto:crschnick@xpipe.io" moz-do-not-send="true"><crschnick@xpipe.io></a><br>
                                        <b>Date: </b>Monday, November
                                        25, 2024 at 02:44<br>
                                        <b>To: </b><a
class="moz-txt-link-abbreviated moz-txt-link-freetext"
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true">openjfx-dev@openjdk.org</a>
                                        <a class="moz-txt-link-rfc2396E"
href="mailto:openjfx-dev@openjdk.org" moz-do-not-send="true"><openjfx-dev@openjdk.org></a><br>
                                        <b>Subject: </b>Windows default
                                        font glyphs are rendered wrong
                                        on some systems</span><o:p></o:p></p>
                                  </div>
                                  <p class="MsoNormal"><span
                                      style="font-size:12.0pt">Hello,</span><o:p></o:p></p>
                                  <p>for some of our users, the font
                                    glyphs of the default Windows font
                                    are wrong by an offset of +2. E.g.
                                    the letter D is rendered as F, the
                                    symbol - is rendered as /, and so on
                                    ... However, the glyph spacings and
                                    kernings are using the correct
                                    values for the original letter, only
                                    the actual glyph itself is wrong.
                                    This is happening on the latest
                                    24-ea build on Windows 11, but also
                                    occurred on version 21 a while ago.
                                    I wasn't able to reproduce it
                                    myself, only some users were.<o:p></o:p></p>
                                  <p class="MsoNormal"><span
                                      style="font-size:12.0pt">This has
                                      happened now for multiple users of
                                      our application, so I figured to
                                      report it (Didn't find this in the
                                      bug tracker). </span><o:p></o:p></p>
                                  <p>Here is there issue, next to how it
                                    should look like:<o:p></o:p></p>
                                  <p class="MsoNormal"><span
                                      style="font-size:12.0pt"><img
                                        width="1289" height="713"
style="width:13.427in;height:7.427in" id="_x0000_i1026"
src="cid:part1.N3FfiowQ.W6PiBSIw@xpipe.io" class=""></span><o:p></o:p></p>
                                  <p><img width="1282" height="752"
style="width:13.3541in;height:7.8333in" id="_x0000_i1025"
src="cid:part2.saozU8aP.ufMRbcJF@xpipe.io" class=""><o:p></o:p></p>
                                  <p>(It is in danish because the user
                                    played around with the language
                                    settings to troubleshoot)<o:p></o:p></p>
                                  <p>There was no explicit -fx-font set,
                                    so the application uses the default
                                    one. When the users change to using
                                    -fx-font: Roboto, which is bundled
                                    with our application, the glyphs are
                                    rendered normally. So this issue is
                                    specific to certain fonts.<o:p></o:p></p>
                                  <p>If there's any additional
                                    information required, I can relay
                                    that request to our affected users.<o:p></o:p></p>
                                  <p class="MsoNormal"><br>
                                    <span style="font-size:12.0pt">Best<br>
                                      Christopher Schnick </span><o:p></o:p></p>
                                  <p>(I resent this mail as it got stuck
                                    in the moderation queue for being
                                    too big due to me accidentally
                                    pasting the screenshot as a .bmp)<o:p></o:p></p>
                                </div>
                              </div>
                            </div>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </blockquote>
              </blockquote>
            </blockquote>
            <br>
          </blockquote>
        </blockquote>
        <br>
      </blockquote>
      <br>
    </blockquote>
  </body>
</html>