January 2018 - Windows.
▼ Soft Translation
▼ Using the Sample Profiles
▼ Usage Example
Font Based Character Recognizer
is a Windows utility that detects visually any Japanese text in a running game and copies it to the clipboard. It is then possible to use a 3rd party software such as Translation Aggregator
to display the furiganas (Kanji readings), or even a soft translation
/ machine translation in English!
The requirement is to provide a profile for each game, including a pixel perfect matching font.
This is a viable alternative to text hooking in many situations, such as console games, or even some PC games.
[el] (elf, Windows)
Such fonts can be obtained by:
- Manual extraction from screenshots.
- Extraction from the game's ROM / CD or the system's BIOS.
- Using Font Builder
, an included Windows utility that can generate it from a profile and any fonts installed on Windows.
Most early Japanese PC games use either MS Gothic
or MS Mincho
, in various sizes / slight variations. Both of these fonts are still available in modern Windows.
PC98 games require the font NEC PC98
to be installed. You can build it using mk98font
FB usage: Just drag-and-drop a font profile .txt file on FB.exe in the fonts sub-folder.
All the detected texts will be saved in the dumps
sub-folder. Multiple profiles can share the same dump as long as they use the same id
If you translate each line and save it with a language code, such as id_of_the_game.EN.txt
, then activate the translation in the profile by adding the command translation:EN
, the translations will be copied to the clipboard instead of the Japanese text!
I've called this system soft translation
as it doesn't require patching the game.
Using the Sample Profiles
The sample profiles might need a few adjustments depending on your setup:
- The game's window name need to match the profile command. For instance, if you're using Neko Project, the command should looks like:
- The scale of the game's window need to be specified in the profile. If the window is native, the scale command should looks like:
- The width / height commands are the size of the zone where the text is, relative to the game's window client area. The left / top commands are the position of that zone. All the values should be relative to a scale of 1.
When the profile is active, press the F9 key. This will generate 3 images in the same folder as the FBCR.exe file. Check the image with a name ending in _full.bmp, the width / height / left / top values should be relative to this image.
The values in the sample profiles should be good enough, but sometimes the dimensions of the grabbed image from the game can change a bit. Use the F9 trick to adjust those values, especially the top value.
Usage Example: Surging Aura (SEGA, MegaDrive)
- Launch RetroArch in windowed mode, disable Bilinear Filtering and Shaders, enable Integer Scale and set Aspect Ratio to 1:1 PAR (for having perfectly square pixels).
- Launch the game. On the title screen, set the windowed scale to 2x.
- Launch Translation Aggregator or any other software that displays the clipboard in real-time.
- Launch FBCR, it will appear as a grayed icon in the notifications area on the task bar. Left-click it and select the Surging Aura profile.
- Start a new game. The Japanese text should appear in Translation Aggregator!
You can hover on any word to see the dictionary definition.
You can improve the experience by setting the windowed scale to the value that you like, and set the scale
command in the profile to the same value (without the x).
You can also activate a partial English translation by setting the translation
command in the profile to EN
. You'll need to use another software that displays the clipboard as Translation Aggregator does't display English.
Please note that this is just a proof of concept: The provided font is incomplete - only contains around 100 characters, and the English translation is just for the opening.
Font Based Character Recognizer
( v1.000 - 06 January 2018 )
Design & Development: