<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Yeah I am out of my element here, I can just add my thoughts.<br>
<br>
Since the kerning / glyph spacing is using the correct glyph info
(but rendering the wrong glyph), this might be a pure display
issue. You can see that if you take a closer look at the
screenshots, the glyphs are aligned as if they were rendering the
correct glyph. So it definitely knows the correct cmap for the
glyph info, it just uses the wrong graphics.<br>
<br>
About the printer issue, wouldn't that even be more peculiar if
installing and using some otf font would break the display (in
this case when printed) of another font? The issue states that
installing the otf font is causing that. If it was printing the
otf font, then it would be the same off-by-2 issue. If it uses a
different font to print, then the otf font is somehow still
interfering with it because without the otf font, this issue
doesn't happen.<br>
</p>
<div class="moz-cite-prefix">On 20/12/2024 22:43, Philip Race wrote:<br>
</div>
<blockquote type="cite"
cite="mid:f5af851b-0d38-4d3e-bf62-e7ff3c57ee32@oracle.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
The OTF bug is about printing. Disregard that. It is a case where
the printer font is not the same as the font used on screen.<br>
<br>
I hear what you say but I can't imagine what code would add any
value to a glyph id. There's no use case for that.<br>
Glyph ids need to be obtained by mapping via the font cmap. They
are just an opaque value you then use to then<br>
map into a table to get the image/outline.<br>
You can't assume ANYTHING about the relationship between glyph
ids.<br>
Glyph ID for 'A' could be 23 .. id for 'B' could be 17 .. etc<br>
<br>
-phil.<br>
<br>
<br>
<div class="moz-cite-prefix">On 12/20/24 1:34 PM, Christopher
Schnick wrote:<br>
</div>
<blockquote type="cite"
cite="mid:777abb08-0a5a-40b0-82e4-eb084e1661ef@xpipe.io">
<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">
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.kP18gbZy.PF0Zu94A@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.rzZKqs5u.to0brLNU@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>
</blockquote>
<br>
</blockquote>
</body>
</html>