Skip to content

[Bug]: Polish diacritical characters (ą, ć, ę, ł, ń, ó, ś, ź, ż) render as question marks in-game #110

Description

@derrickmehaffy

Plugin Version

0.12.0

Operating System

Linux (Debian/Ubuntu)

Bug Description

Polish diacritical characters (ą, ć, ę, ł, ń, ó, ś, ź, ż) display as question marks (?) in-game when using the Polish (pl-PL) language. The i18n system loads and resolves translations correctly — the issue is that Hytale's in-game font likely does not include glyphs for these extended Latin characters.

This affects all translated strings containing Polish-specific characters, including GUI text (buttons, labels, activity log entries) and chat messages.

Steps to Reproduce

  1. Set HyperFactions language to Polish (pl-PL) via /f admin config or config file
  2. Open the faction GUI (e.g., /f info or /f admin)
  3. Observe button labels, activity log entries, and other translated text
  4. Polish characters (ą, ć, ę, ł, ń, ó, ś, ź, ż) render as ?

Expected Behavior

Polish characters should render correctly in-game. Since this appears to be a Hytale font limitation, the practical fix is to add a fallback/transliteration layer that strips diacritics from characters the font cannot render before sending text to the client:

  • ą → a, ć → c, ę → e, ł → l, ń → n, ó → o, ś → s, ź → z, ż → z

This should apply automatically for characters the font cannot render, and ideally be extensible for other affected languages.

Debug / Research Phase

Before implementing a fix, we should identify the full scope of affected characters across all 10 supported languages. Create a character test page (/f admin test chars) that renders all unique characters from every supported locale in a simple grid layout so we can visually confirm which glyphs Hytale's font supports and which ones break.

Supported languages to test: en-US, es-ES, de-DE, fr-FR, pt-BR, ru-RU, pl-PL, it-IT, nl-NL, tl-PH

Characters to include per language:

  • All unique non-ASCII characters from that locale's translation file
  • Extended Latin: àáâãäåæçèéêëìíîïðñòóôõöùúûüýþ ąćęłńóśźż etc.
  • Cyrillic (ru-RU): абвгдежзийклмнопрстуфхцчшщъыьэюя
  • Any special punctuation or symbols used in translations

This will tell us exactly which characters need transliteration vs which ones render fine, and whether this affects languages beyond Polish (Russian Cyrillic is likely affected too).

Logs

No response

Code Snippets

No response

Media

Screenshot from Discord report by She1lob (PLGY community member), showing the faction GUI with Polish translation active — button labels and activity log entries contain ? where diacritical characters should appear.

Additional information

  • Reported by community member She1lob (PLGY) on Discord (March 21, 2026)
  • This is likely a Hytale client font limitation, not a HyperFactions encoding issue
  • She1lob notes it may be a font issue rather than a Unicode/encoding issue
  • Other languages with extended Latin characters (French é/è/ê, German ü/ö/ä, Portuguese ã/ç) should be tested too
  • Russian (ru-RU) Cyrillic characters are very likely affected as well
  • A java.text.Normalizer-based diacritic stripper would handle most Latin-based languages; Cyrillic would need a separate transliteration map

Confirmation Checklist

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status
    In progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions