Metaphor: ReFantazio · Arabic fan localization
1.16 million words made playable in Arabic on a closed engine with no Arabic shaping and no right-to-left. Every line is shaped, wrapped, and reordered before the engine draws a single character.
Atlus's engine draws text strictly left-to-right, in byte order. I built the extraction and RTL pipeline from scratch and shipped a one-click installer players run without touching a config file.
- Words
- 1.16M
- Engine
- GFD · Studio Zero
- Approach
- Offline RTL baker
Engineering detail
Metaphor runs on GFD, Studio Zero's in-house engine, the same
family as Persona 5 and Catherine. Its text lives inside an 85 GB
CRIWARE CPK archive under per-file CRILAYLA compression, with
dialogue held in AtlusScript .msg files. The engine
performs no Arabic shaping and no bidirectional reordering, and
the usual trick of flipping the font's line metrics is dead here
(GFD reads usWinAscent/usWinDescent,
not signed metrics), so the text has to arrive already correct.
A custom CPK extractor handles the CRILAYLA decompression. An offline RTL baker then shapes each line into presentation forms, wraps it to a per-label box capacity derived from Atlus's own Japanese hand-wrapped line breaks, and reorders it visually: Latin islands stay in place, brackets get mirrored, and the hard line breaks land where the engine expects them. Colour tags, paired markup, and engine tokens survive the reversal intact. The Arabic font goes into all nine font slots, and UI sprites are round-tripped through BC7 textures. More than 75,000 message entries went through the pipeline end to end.