Ask an AI about this
If your language's characters show up as empty boxes in a game, the game's font simply doesn't know them. The Fonts page is how you fix that, permanently, for everyone who installs your translation.
Fonts & glyphs
If your language's characters show up as empty boxes in a game, the game's font simply doesn't know them. The Fonts page is how you fix that, permanently, for everyone who installs your translation.
Why fonts matter
Here's a surprise that catches every first-time translator: you can translate every line of a game perfectly and still see nothing but empty boxes in-game. The reason is fonts. A font only contains the characters its designer drew, and many games ship with fonts that cover the Latin alphabet and little else. If your language is written in Japanese kana and kanji, Georgian, Cyrillic, Greek, Armenian, or any other script, the game's font may simply have no drawing (no glyph) for your characters.
- はじめから
- つづきから
- 設定
- デスクトップに戻る
Every character has a glyph. The menu reads.
Font without your script
□□□□□□□□
Every character renders as an empty box.
Font with your script
ようこそ、旅の方
The same text, readable.
The fix is to bundle a font that covers your script into the translation, and the Fonts page is where you do it. Your patch then carries the font with it, so every player who installs your translation sees real letters.
Font overrides, the two-pane way
The Fonts page shows two lists. On the left are the fonts the game itself uses, found during the scan when you added it. On the right is Tranzio's font library, a curated set with real previews. Your job is to draw a line between them: for each game font your language can't survive, pick a library font that covers it.
Each game font is drawn in its own typeface, read straight out of the game's archives. That matters more than it sounds: a list of names like OldStyle_boxed and BlooberSpecial tells you nothing about which one is the menu, which is a chalk scrawl on a blackboard, and which the player never sees. Clicking a row shows the same font large, above whatever you are replacing it with, so the two can be compared side by side.
3 of 3 overridden
Game fonts
- Silksong DisplayNoto Sans JP
- Silksong SerifNoto Serif JP
- Silksong UI SmallNoto Sans JP
Font library
- Noto Sans JPはじめから
- Noto Serif JPはじめから
- Noto Sans Georgianდაიწყე თამაში
- Target a row, then pick
Click a game font to arm it. A banner appears saying what you're assigning to, and the next library font you open offers "Use for that font".
- Or just drag
Drag any card onto a game-font row, from any of the three shelves. Rows light up as drop targets while you drag, in green for an empty row and amber for one that already has a replacement.
- Narrow the library
The library opens filtered to the language you're translating into, because that's almost always what you want. Search by name, or switch language to see what covers a different script.
- Say when nothing is needed
A game ships fonts for scripts nobody is translating into. Press "No replacement needed" on those rows and they stop counting as untouched, so the list can actually reach the end.
- Apply and save
Nothing is written until you hit Apply & save. A bar appears at the bottom while you have unsaved picks, with Discard next to it, and "Reset all" at the top clears every one.
| Shortcut | Action |
|---|---|
| Ctrl+F | Focus the font library search |
| Ctrl+S | Apply and save your replacements |
Pick a font whose shapes sit close to the game's original: similar weight, similar mood. Games usually draw headings and body text with different fonts, so match each one rather than pointing everything at a single replacement. Your text should feel like the game always spoke your language, not like a subtitle laid over it.
Where the fonts come from
Three shelves, switched with the chips above the grid. Every card renders its specimen in the real typeface, whichever shelf it is on, so you are always judging letterforms rather than a name.
| Where | What it does |
|---|---|
| Tranzio | The curated library. Every font in it is cleared to redistribute inside a patch, which is exactly why it is curated rather than uploaded by you. |
| Google Fonts | Google's whole catalogue, narrowed to the families that can actually draw your language. Nothing is downloaded when you pick one: the file is fetched at build time, so trying five fonts costs nothing. |
| Yours | Font files you added yourself, described below. They stay on your computer and only travel baked inside a build you publish. |
| Language filter | The picker beside the search box narrows all three shelves at once, and sets what the specimens are written in. It opens on the language you are translating into. |
| Real sentences | Cards draw Google's own specimen rather than a row of the alphabet, because how a face reads at length is the thing you are actually judging. A font is shown in its own script (a Japanese face in Japanese), or in your language when it covers it. |
Using your own font
Drop a .ttf or .otf on the box under the library, or click it to choose one. Tranzio copies the file in beside the game, so it keeps working after you clean out your Downloads folder, and reads it before accepting it: you get the family name, the glyph count, and a straight answer about whether it can draw the language you are translating into.
Then it asks what to call it. A file named NotoSansGeorgian-VariableFont_wdth,wght.ttf is not a name, and you are the only one who can supply a better one, so give it a name and it joins the Yours shelf. From there it behaves like any other card: drag it onto a game font, or open it and use it. Had you armed a row before adding the file, it is applied there straight away as well.
Your fonts stay on your computer. Nothing is uploaded when you add one. The file lives in this game's folder, and the only way it travels is baked inside a pak, which happens when you build and publish a release.
A web font (.woff or .woff2) is refused, because Unreal cannot load one. Convert it to .ttf or .otf first and pick that.
Games store fonts in two ways and Tranzio handles both without asking you which is which. Some keep the font as its own file next to the asset, and replacing it is a swap. Most keep it inside the asset, and there the build has to take the original apart and rebuild it around your font. That second kind used to be invisible: Little Nightmares II shows nineteen fonts on this page, and only two of them are the first kind.
Missing glyphs
A glyph is the drawn shape of a single character. Even a font that mostly covers your language can be missing a few characters (a rare accent mark, a special punctuation), and a font you never replaced will be missing all of them. Picking your own font checks this for you, as above. Two habits cover the rest.
The first is the font coverage figure on the Build page. It sits beside text and audio coverage and counts how many of the game's fonts you have replaced. It won't tell you which characters are missing, but a low number is a reliable warning that boxes are coming.
The second is to play it. Build, install locally, and walk through the menus, a shop, a cutscene and the settings screen. Boxes are impossible to miss once they're on screen, and a five-minute pass catches the fonts you forgot existed.
Fonts are licensed work. A font is someone's craft, just like your translation. Tranzio's library only carries fonts that are cleared to redistribute, which is exactly why it's curated. If you ever bundle a font from elsewhere, check its license first (open licenses like the SIL Open Font License are the safe standard).