https://bugs.winehq.org/show_bug.cgi?id=57076
Bug ID: 57076 Summary: Harmony Assistant 9.9.8d (64 bit) reports missing stoccata.ttf font on startup Product: Wine Version: 9.3 Hardware: x86-64 URL: https://web.archive.org/web/20240613075500/https://www .myriad-online.com/win/harmony998d-x64-install.exe OS: Linux Status: NEW Keywords: download, regression Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs@winehq.org Reporter: arethusa26@gmail.com CC: smazza@codeweavers.com Regression SHA1: ba4681e776c0c1cef9b5b2610dc67f634999d095 Distribution: ---
Created attachment 76949 --> https://bugs.winehq.org/attachment.cgi?id=76949 Harmony Assistant standard error output
With the fix from bug 56825 in the latest master, when launching Harmony Assistant, a message box appears on startup with the text:
The font 'stoccata.ttf' is not installed in your system. Download it from http://www.myriad-online.com/fonts/stoccata.ttf and install it.
The stoccata.ttf file is already present in the Harmony Assistant font directory, and this message box does not appear in wine-9.0.
Regression testing identified the following breaking change:
ba4681e776c0c1cef9b5b2610dc67f634999d095 is the first bad commit commit ba4681e776c0c1cef9b5b2610dc67f634999d095 Author: Santino Mazza smazza@codeweavers.com Date: Tue Nov 14 19:22:25 2023 -0300
gdiplus: Implement font linking for gdiplus.
Installing native gdiplus from winetricks successfully avoids display of the message box on startup.
https://bugs.winehq.org/show_bug.cgi?id=57076
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=57076
Bartosz gang65@poczta.onet.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gang65@poczta.onet.pl
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #1 from Esme Povirk madewokherd@gmail.com --- Seems like the application calls GdipMeasureCharacterRanges with its font to measure "\f0dd" (a private-use character) and has expectations about the size. Without substitution it gets 13x52. With substitution it uses Droid Sans Fallback and gets 64x84.
A size of 0x0 is accepted, so I guess it doesn't like the character to be "too big"?
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- Unsure if the bug is in mlang or gdiplus's use of it.
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #3 from Hans Leidekker hans@meelstraat.net --- Bug 56452 points to the same regression commit.
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #4 from Esme Povirk madewokherd@gmail.com --- Did some testing with Wingdings. The algorithm gdiplus uses produces the same result on Wine and Windows: using Arial for the full string. I also tested with Tahoma and didn't get a replacement font.
So mlang is working correctly.
I think maybe gdiplus should be checking whether glyphs exist in the base font, rather than their codepage, when deciding whether to replace them. Not sure how to test that though.
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #5 from Esme Povirk madewokherd@gmail.com --- Created attachment 77669 --> https://bugs.winehq.org/attachment.cgi?id=77669 mlang test program
Here's my test program used to conclude mlang behaves the same between Wine and Windows, just in case it's ever of interest to someone.
https://bugs.winehq.org/show_bug.cgi?id=57076
--- Comment #6 from Esme Povirk madewokherd@gmail.com --- Made an MR: https://gitlab.winehq.org/wine/wine/-/merge_requests/7054