Specific MAME localization troubleshooting / 2026-08-09

Fix boxes or missing characters in MAME's Android UI font

Separate an absent translation from UI font coverage, fontpath, and a wrapper that does not expose upstream font controls.

8 minute diagnosisOfficial MAME 0.289 UI font semantics; Android ports control packaged fonts and path access

Fix boxes or missing characters in MAME's Android UI font

If menu labels exist but some characters render as boxes, keep the selected language fixed and return uifont to default first. MAME documents that available characters depend on the UI font and that fallback substitution is not guaranteed. Use only a font lawfully installed or supplied by the package, confirm the effective fontpath, restart, and compare the same label.

Do this in order

  1. 01

    Capture the exact missing label, chosen MAME UI language, package version, uifont value, and effective fontpath.

  2. 02

    Switch uifont to MAME's default without changing the language, restart, and inspect the same label.

  3. 03

    Confirm the selected language's files are present; a missing translation and a missing glyph are different failures.

  4. 04

    If the default still lacks coverage, use only a documented package font or a font you are licensed to use and the port can read.

  5. 05

    Restart after each single font change and compare menus, arrows, punctuation, and one configuration screen.

  6. 06

    Restore the last readable font if coverage remains incomplete and report the package, language, font, and exact characters to its maintainer.

Decision and diagnostic table

EvidenceMeaningAction
English text appears insteadTranslation entry/file missingVerify language package
Boxes replace some charactersFont lacks glyphsTest default or documented font
Font option has no effectWrapper/provider boundaryRead effective configuration
All UI text disappearsInvalid font/pathRestore default immediately

A glyph box is evidence

It usually shows that MAME has text to draw but the active font cannot represent a character. Preserve the exact character sequence because broad statements like 'translation broken' hide the useful boundary.

Font files have rights too

A font being technically compatible does not make it redistributable. Prefer the package default or a font whose license covers installation and use on the device.

First-party sources

Related guides