Missing glyphs and missing translations are different problems
Games that open console system font sets need files in anyps5-fonts/ beside the output executable, or ANYPS5_SYSTEM_FONTS. Game text language is the console language via ANYPS5_LANGUAGE. This page quotes upstream USAGE.md. It does not claim a title is playable, that Noto matches console SST fonts, or that a language number unlocks undumped text.
v0.1.3 · Content assembled 22 Oct 2026 from current main USAGE.md (System fonts, Console language, Runtime layout, GPU selection) and the v0.1.3 attached USAGE.md. Not a host playtest.
System fonts
Games that open the console’s system font sets (sceFontOpenFontSet) need font files in an anyps5-fonts/ directory beside the output executable. Set ANYPS5_SYSTEM_FONTS to use another directory.
Files dumped from the console are used under their original names. USAGE examples: SST-Roman.otf, SST-Bold.otf, SSTJpPro-Regular.otf, and further SST / console names.
Without those dumps, these openly licensed substitutes are used when present. Names and formats must match USAGE — the CJK family is a .ttc collection, not a renamed .ttf.
Filenames USAGE lists. Copy them; do not invent a rename of an incompatible format.
| File name in USAGE | Scripts USAGE names | Which USAGE |
|---|---|---|
NotoSans-{Light,Regular,Medium,Bold}.ttf | Latin and Vietnamese | v0.1.3 and current main |
NotoSans-{LightItalic,Italic,MediumItalic,BoldItalic}.ttf | Latin and Vietnamese | v0.1.3 and current main |
NotoSansMono-{Light,Regular,Medium,Bold}.ttf | typewriter | v0.1.3 and current main |
NotoSansThai-{Light,Regular,Medium,Bold}.ttf | Thai | v0.1.3 and current main |
NotoSansArabic-{Light,Regular,Medium,Bold}.ttf | Arabic | Current main only |
NotoSansCJK-{Light,Regular,Medium,Bold}.ttc | Japanese, Chinese and Korean (main); Japanese and Chinese (v0.1.3) | v0.1.3 and current main |
On current main, a set that covers several scripts also opens the files of its other scripts (USAGE names SSTThai-*.otf, SSTArabic-*.otf, SSTJpPro-*.otf, DFHEI5-SONY.ttf, SCEPS4Yoongd-*.otf, or their substitutes) for the characters its main file lacks. A missing one leaves those characters without a glyph. The v0.1.3 attached USAGE.md does not include that fallback paragraph.
Without either console files or the named substitutes, opening a system font set fails (the log shows sceFontOpenFontSet with file=(none)). What happens next depends on the game: some show no text in those fonts; others stop at start-up because they assert that the open succeeded. USAGE does not say which outcome a given title takes.
The substitutes come from the Noto project under the SIL Open Font License. USAGE points at fonts/NotoSans/full/ttf, and current main also names fonts/NotoSansArabic/full/ttf for the Arabic files. Copy the files USAGE names into anyps5-fonts/. This site does not redistribute font binaries.
USAGE does not claim the Noto substitutes look identical to the console SST fonts. They are substitutes so the open can succeed.
Current main versus the v0.1.3 attached guide
Current main USAGE.md also lists NotoSansArabic-{Light,Regular,Medium,Bold}.ttf (Arabic) and describes NotoSansCJK as Japanese, Chinese and Korean. The v0.1.3 attached USAGE.md lists the Latin/Vietnamese, mono, Thai, and CJK substitutes and describes CJK as Japanese and Chinese; it does not name the Arabic Noto files. Open the USAGE.md that came with your zip before following main-only filenames.
Console language
Games ask for the console’s language with sceSystemServiceParamGetInt and show their text in it when they have it. It is English (United States) unless ANYPS5_LANGUAGE is set to another console language number.
An empty value is the same as an unset one. Both keep the default: English (United States).
Any other value — not empty, and not one of the numbers 0–30 below — stops the game at its first language query with an error that names the variable.
USAGE example: ANYPS5_LANGUAGE=21 selects Arabic.
ANYPS5_LANGUAGE=21
A language number selects the console language value. It does not download language packs, and it does not unlock translations the dump does not contain. The game shows text in that language when it has it.
| ANYPS5_LANGUAGE | Console language (USAGE names) |
|---|---|
0 | Japanese |
1 | English (United States) |
2 | French |
3 | Spanish |
4 | German |
5 | Italian |
6 | Dutch |
7 | Portuguese (Portugal) |
8 | Russian |
9 | Korean |
10 | Chinese (Traditional) |
11 | Chinese (Simplified) |
12 | Finnish |
13 | Swedish |
14 | Danish |
15 | Norwegian |
16 | Polish |
17 | Portuguese (Brazil) |
18 | English (United Kingdom) |
19 | Turkish |
20 | Spanish (Latin America) |
21 | Arabic |
22 | French (Canada) |
23 | Czech |
24 | Hungarian |
25 | Greek |
26 | Romanian |
27 | Thai |
28 | Vietnamese |
29 | Indonesian |
30 | Ukrainian |
param.json metadata
Some applications also need their original app0/sce_sys/param.json at runtime. USAGE says AnyPS5 reads it for the title ID and display name; it must contain a non-empty titleId string and a non-empty localizedParameters object with a language entry that has a non-empty titleName. It selects the entry named by defaultLanguage (inside localizedParameters, or at the top level); if that entry is absent, it tries en-US, then the first object-valued language entry. Preserve the title’s own metadata and place the file under the same app0/ directory as the other app resources. This page does not add extra param.json rules.
Original app0/eboot.bin — some homebrew fonts
USAGE: place app resources in app0/ separately, including the title’s original eboot.bin. Titles test /app0/eboot.bin to find their own directory. Some homebrew (USAGE names ProsperoTV, ProsperoRadio, ProsperoLight and ProsperoLichess) fall back to an empty /data/homebrew/<title id> and fail to load their fonts without it. Only the converted executable runs. This is a layout note, not a second install guide.
GPU selection is a different setting
USAGE.md on v0.1.3 and current main also documents ANYPS5_GPU. The game runs on the first Vulkan 1.1 device with graphics and compute queues and swapchain presentation, preferring a discrete GPU over an integrated one. Set ANYPS5_GPU to a part of a device name, compared without regard to case; the names are printed at start-up in the Physical device candidate lines. When no usable device contains the text, the start fails and the error lists the device names. That is not a fix for missing glyphs or missing translations.
After this page
Still follow the setup layout: the official pair and app / libs / app0. Windows error 126 or 193 is a loader or layout problem with more than one documented cause — keep that on the troubleshooting guide; this page does not assign a single cause. Filling fonts or setting ANYPS5_LANGUAGE is not a Playable report and does not change a title’s stage.
Setup: two files and folder layout · Troubleshooting: 193, 126, host limits
Do not claim
- That Noto substitutes look identical to console SST fonts.
- That setting ANYPS5_LANGUAGE unlocks translations that are not in the dump.
- That Linux audio is fixed on v0.1.3.
- That any title’s compatibility stage changed because fonts or language were set.
- Which outcome (blank text versus assert-and-stop) a given title takes when sceFontOpenFontSet fails, unless that title’s own report says so.