Windows default font glyphs are rendered wrong on some systems
Philip Race
philip.race at oracle.com
Fri Dec 20 21:24:45 UTC 2024
There's some hard-coding of names to files in WindowsFontMap.java
Maybe that's part of it, but its very much a guess.
It would be interesting to try a build which excludes using that pure
"optimization"
-phil.
On 12/20/24 1:12 PM, Philip Race wrote:
> That just looks like prism.verbose output
> I see someone suggested prism.debugfonts but I don't see that any
> results were ever provided.
>
> -phil.
>
>
> On 12/20/24 1:08 PM, Christopher Schnick wrote:
>>
>> 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/fcf0b0b9/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/fcf0b0b9/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/fcf0b0b9/Ls6xRvPGaI1BL10B-0001.png>
More information about the openjfx-dev
mailing list