libretro / mame

MAME - Multiple Arcade Machine Emulator
Other
64 stars 73 forks source link

mame built-in cheats cannot recognize East Asian characters #454

Open crashGG opened 1 year ago

crashGG commented 1 year ago

mame built-in cheats ( .\system\mame\cheat.zip)cannot recognize East Asian characters(Chinese, Japanese and Korean)

Here is an example cheat.zip

with Retroarch 1.16 + mame current core 0.258:

2023-09-20_085050

with stand alone mame/arcade 0.258:

1
Immersion95 commented 1 year ago

I would love this to be implemented

sonninnos commented 1 year ago

Since the reason is not "cheats" per se, but the fonts in the internal menu, fixing this is very very very unlikely. Or does standalone that uses that same internal menu show them correctly?

crashGG commented 1 year ago

Since the reason is not "cheats" per se, but the fonts in the internal menu, fixing this is very very very unlikely. Or does standalone that uses that same internal menu show them correctly?

As my second picture shows, standalone mame using that same internal menu show them correctly

sonninnos commented 1 year ago

That clearly is not the same internal menu.

crashGG commented 1 year ago
2023-10-05_184655

this picture, I used mame’s default ui color scheme

sonninnos commented 1 year ago

Ok, that is more like it. The font is different from the basic bitmap one meant for small resolutions. Kinda like with RA menu driver RGUI vs the rest.

Does it change at all if you force the resolution bigger with "alternate renderer"? There should be nothing in this core that disables or removes the MAME internal UI features though. But I wouldn't be surprised that those kinds of truetype fonts are not accessible and/or built-in.

crashGG commented 1 year ago

I've tried using"alternate renderer",The Chinese cheat entry has the same display issues.

sonninnos commented 1 year ago

Oh right, just noticed that an issue about the font already exists: https://github.com/libretro/mame/issues/259

crashGG commented 8 months ago

Finally, I found a solution. The sad thing about mame core is that it does not support ttf fonts, so we need to use the bitmap bdf font supported by mame core to solve it. Copy this uismall.zip font file to the \RetroArch\system\mame directory, and then edit the \RetroArch\system\mame\ini\mame.ini related options QQ图片20240313203126

Finally edit the core options file MAME.opt and set mame_read_config = "enabled", or enable it in the core menu. The final effect is as follows: QQ图片20240313202323

crashGG commented 8 months ago

This method can also be used to localize the UI interface. Just copy the official mame language directory to \RetroArch\system\mame, and then edit the language field in mame.ini