Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
07433 Interface Minor Always Sep 23, 2019, 21:15 May 16, 2021, 05:38
Tester Heihachi_73 View Status Public Platform MAME (Official Binary)
Assigned To Resolution Open OS Windows Vista/7/8 (32-bit)
Status [?] Acknowledged Driver
Version 0.213 Fixed in Version Build
Fixed in Git Commit Github Pull Request #
Summary 07433: Internal UI font used for artwork text is missing glyphs
Description It seems that the font used for artwork text is hard coded to Tahoma under Windows Vista (and XP as well); this font does not contain a number of glyphs required by MAME, instead displaying rectangles and causing the artwork to look wrong. The -uifont option does not have any effect on artwork, for example, -uifont Arial will use Arial for the menus instead of the default MAME font, but the artwork still remains as Tahoma.

This affects the vgmplay driver for the play/stop buttons, and gambling games (e.g. several aristmk5 sets such as adonis) where the artwork uses Unicode card suits (♥♦♣♠). Other games may also be affected.
Steps To Reproduce
Additional Information
Github Commit
Flags
Regression Version
Affected Sets / Systems
Attached Files
png file icon adonis.png (111,162 bytes) Sep 24, 2019, 02:00 Uploaded by Heihachi_73
Heihachi_73
png file icon vgmplay.png (22,219 bytes) Sep 24, 2019, 22:45 Uploaded by Heihachi_73
Heihachi_73
Relationships
There are no relationship linked to this issue.
Notes
19
User avatar
No.16952
Tafoid
Administrator
Sep 23, 2019, 23:29
We'd appreciate some actual F12 snapshots of what you are saying is wrong so that we can compare to our own output.
User avatar
No.16953
Heihachi_73
Tester
Sep 24, 2019, 02:04
This screenshot is from a self-compiled 0.209 build but it should be identical since the artwork hasn't changed.
User avatar
No.16954
Tafoid
Administrator
Sep 24, 2019, 03:34
edited on: Sep 24, 2019, 03:37
0.209 and self-compiled? No way you could get a release of 0.213 to test?
If the release versions don't work for your OS (I think XP an earlier may not work), try this one:
http://arcade.mameworld.info/arcade213_32bit.7z

You also mentioned VGMPLAY - can you snapshot that as well?
User avatar
No.16955
hap
Developer
Sep 24, 2019, 09:48
I thought card suits were fair game. I used them in a couple layouts, like fidel_card.cpp
Also, try: mame gamename -uifontprovider dwrite
User avatar
No.16959
Heihachi_73
Tester
Sep 24, 2019, 22:54
@Tafoid, thanks for the offer, but I'm not sure if an arcade-only build would be of much use to vgmplay or gambling games. :)

@hap: The issue seems to be with the fonts themselves rather than MAME. Tahoma simply does not have glyphs in the U+2600 range (which mostly correspond with DOS-like ASCII symbols) - a test can be done on later versions of Windows by generating the four suits in Notepad, then switching the font to Tahoma and seeing them changed to placeholder squares. Coincidentally, the version of Segoe UI (5.00) included with Vista also lacked these symbols but I believe later versions include them (but not Tahoma though, AFAIK even the Windows 10 version lacks them).

I have since compiled the official 0.213 source from mamedev.org as a single-driver vgmplay build (using GCC 6.x which I have used since 0.182) and it's still the same issue. I have now included a screenshot of vgmplay driver (the previous vgmplay screenshot I deleted was a MAME 0.200 offshoot with the ability to output vgm files, but given it wasn't official and was so old I decided it wasn't worth the upload).
User avatar
No.16960
Robbbert
Senior Tester
Sep 25, 2019, 00:59
edited on: Sep 25, 2019, 01:01
It actually should have been this link: http://messui.1emulation.com/mamexp213.7z

However, I no longer use XP for emulation, so I have no idea if it will make any difference to the font issue.
User avatar
No.16961
AJR
Developer
Sep 25, 2019, 01:25
OS X is also affected by this issue of the "default" font not providing suit glyphs.
User avatar
No.16965
Heihachi_73
Tester
Sep 25, 2019, 20:33
Not really worried about Windows XP since virtually no-one uses it these days (aside from old PCs inside arcade cabs), however the same issue still affects Vista. Just need someone who is running 7/8/8.1 and Linux to verify whether or not the issue occurs and/or if it's using a different font which would of course fix the problem.
User avatar
No.16966
Tafoid
Administrator
Sep 25, 2019, 20:53
I see all the symbols, on Windows 7. Win 7's default Font is "Segoe UI"
I don't remember ever changing it - so unless MAME uses another internal one in some instances, that should show what you want.
User avatar
No.16968
Robbbert
Senior Tester
Sep 25, 2019, 23:39
Yeah I use win7 64-bit, and it all *just works*
User avatar
No.16973
Heihachi_73
Tester
Sep 26, 2019, 20:13
Yeah, it seems that only version 5.00 (default with Vista) of Segoe UI lacks the ♥♦♣♠ symbols, even though the other Segoe fonts bundled with Vista have them (Segoe Print and Segoe Script).

Seems like it might date back to when internal OS fonts first replaced BDFs (0.140u1? Could be even earlier, when the text element was first added to the artwork system, but my Google-fu is weak so I don't have a release number for that). Aaron Giles mentioned the text system replacing BDFs way back in 2010: http://www.mameworld.info/ubbthreads/showthreaded.php?&Number=237678
User avatar
No.16974
Robbbert
Senior Tester
Sep 26, 2019, 23:00
In that case, why don't you copy the Segoe fonts from a Win7 computer onto your Vista machine?

Vista is unsupported and doesn't seem to be very commonly used these days.
User avatar
No.16977
hap
Developer
Sep 27, 2019, 10:26
What is the default font for OSX?

font_sdl.cpp picks this as default: name = "Liberation Sans|Regular"; This font does include common characters like the card suits and math symbols. I don't see any default pick in font_osx.cpp.
User avatar
No.17004
Heihachi_73
Tester
Oct 1, 2019, 05:11
Problem with updating system fonts is that a hack/loophole needs to be used to get around System File Protection, and apparently MAME still supports Vista as of 0.214, just not ye olde XP. :)

From what I'm seeing, either MAME or Vista itself is still forcing Tahoma in the artwork section, not Segoe UI, so even if the OS was modified to update the fonts it still wouldn't work. This could easily be fixed if the artwork font could be selected just like the UI font. And as others have mentioned, it's apparently broken on macOS as well.
User avatar
No.17007
AJR
Developer
Oct 1, 2019, 15:44
Liberation Sans doesn't come installed on my computer, so it looks like it defaults to Helvetica or Helvetica Neue instead. It's a bit hard to tell, though, since MAME uses its own aspect ratios for layout text.
User avatar
No.18841
Heihachi_73
Tester
May 13, 2021, 22:08
Tahoma now includes the card suits (and the other DOS-style ASCII characters) as of version 7.00, but it's still a pain that you can't officially update Windows' system-protected fonts to newer versions without hacking the OS.
User avatar
No.18843
Robbbert
Senior Tester
May 14, 2021, 07:42
XP and Vista are no longer supported, and it works on Windows 10 (and as previously noted it works on Windows 7).

Is there any supported system where it doesn't work now?
User avatar
No.18846
Heihachi_73
Tester
May 15, 2021, 05:13
edited on: May 15, 2021, 05:15
This is probably a non-issue these days as the font has since been updated; it was never a MAME issue to begin with since it was upon Microsoft to actually add the symbols like every other font included with Windows. If you have Tahoma version 7 installed (bundled with Windows 10) the suits will be displayed without any issues. Note that Tahoma version 6.05 (Windows 8/8.1) does not have the extra glyphs.
User avatar
No.18850
Robbbert
Senior Tester
May 16, 2021, 05:38
Ok, noted.

Since it isn't (and never was) a MAME issue, are you happy to have it closed?