Windows default font glyphs are rendered wrong on some systems
Christopher Schnick
crschnick at xpipe.io
Fri Dec 20 21:08:08 UTC 2024
Hey Phil,
the linked GitHub comment has debugfonts output hidden in the comment.
It looks like this:
Prism pipeline init order: d3d sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.d3d.D3DPipeline
Loading D3D native library ...
succeeded.
D3DPipelineManager: Created D3D9Ex device
Direct3D initialization succeeded
(X) Got class = class com.sun.prism.d3d.D3DPipeline
Initialized prism pipeline: com.sun.prism.d3d.D3DPipeline
Maximum supported texture size: 16384
Maximum texture size clamped to 4096
OS Information:
Windows version 10.0 build 22631
D3D Driver Information:
Intel(R) Iris(R) Xe Graphics
\\.\DISPLAY1
Driver igd10iumd64.dll, version 30.0.101.3118
Pixel Shader version 3.0
Device : ven_8086, dev_46A8, subsys_00631414
Max Multisamples supported: 4
vsync: true vpipe: true
Loading FontFactory com.sun.javafx.font.directwrite.DWFactory
Subpixel: enabled
No match for name null in C:\WINDOWS\Fonts\segoeui.ttf
No match for name null in C:\WINDOWS\Fonts\segoeuib.ttf
new alphas with length = 16384
new alphas with length = 20480
new alphas with length = 61440
The comment also contains information about the system and fonts.
On 20/12/2024 22:02, Philip Race wrote:
> Very odd. Possibilities :
> - font mixup : the glyph ID is for a different font.
> - cmap bug : the incorrect glyph ID is used for the codepoint.
> - the font is a unicode variable font something goes wrong as a result
> - I doubt this one as the IDs should be the same.
> - something else :-)
>
> Is the D3D pipeline being used ?
> What's the user locale as shown by windows ?
>
> To get some idea of what fonts are being used they could run with
> -Dprism.debugfonts=true
>
> -phil.
>
>
> On 12/20/24 12:48 PM, Christopher Schnick wrote:
>>
>> 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:
>> https://www.reddit.com/r/JavaFX/comments/1hhu0d5/bugs_with_scene_builder_v_2400/
>> and on GitHub with some verbose and debugfonts output:
>> https://github.com/JabRef/jabref/issues/11755#issuecomment-2403606223
>> . It also seems related to this issue:
>> https://bugs.openjdk.org/browse/JDK-8242617
>>
>> On 04/12/2024 18:43, Christopher Schnick wrote:
>>>
>>> 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.
>>>
>>> I can ask them to try other JavaFX applications, but either way how
>>> that goes, it doesn't show the cause.
>>>
>>> On 04/12/2024 18:37, Andy Goryachev wrote:
>>>>
>>>> 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.
>>>>
>>>> Thanks!
>>>>
>>>> -andy
>>>>
>>>> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of
>>>> Andy Goryachev <andy.goryachev at oracle.com>
>>>> *Date: *Wednesday, December 4, 2024 at 09:20
>>>> *To: *Christopher Schnick <crschnick at xpipe.io>,
>>>> openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
>>>> *Subject: *Re: Windows default font glyphs are rendered wrong on
>>>> some systems
>>>>
>>>> I've never seen this... what is the font that causes the issue?
>>>>
>>>> -andy
>>>>
>>>> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of
>>>> Christopher Schnick <crschnick at xpipe.io>
>>>> *Date: *Monday, November 25, 2024 at 02:44
>>>> *To: *openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
>>>> *Subject: *Windows default font glyphs are rendered wrong on some
>>>> systems
>>>>
>>>> Hello,
>>>>
>>>> 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.
>>>>
>>>> This has happened now for multiple users of our application, so I
>>>> figured to report it (Didn't find this in the bug tracker).
>>>>
>>>> Here is there issue, next to how it should look like:
>>>>
>>>> (It is in danish because the user played around with the language
>>>> settings to troubleshoot)
>>>>
>>>> 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.
>>>>
>>>> If there's any additional information required, I can relay that
>>>> request to our affected users.
>>>>
>>>>
>>>> Best
>>>> Christopher Schnick
>>>>
>>>> (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)
>>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20241220/a148411c/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: s.png
Type: image/png
Size: 81374 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20241220/a148411c/s-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Ls6xRvPGaI1BL10B.png
Type: image/png
Size: 69609 bytes
Desc: not available
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20241220/a148411c/Ls6xRvPGaI1BL10B-0001.png>
More information about the openjfx-dev
mailing list