Wii U - System Font Customization Guide
A guide for customizing the system-wide font on the Wii U.
Custom system font shown in this screenshot is "Pop Happiness".
Download the custom system fonts here
Getting Started
Aroma custom firmware is required to use the mod. Install CFW if you haven’t already.
No system files in the MLC NAND are modified in the process. The custom system font is loaded into RAM only, so it's safe to install a custom system font without worrying about bricking the console.
What You Need:
-
A font you want to install on a Wii U (TTF or OTF)
Recommended OS: Windows 10 or 11, Linux
Merging the Fonts
A Wii U font will be merged into a custom system font so the icon glyphs are preserved.
There are 2 ways to merge the fonts: CLI & GUI
The CLI method involves in using a Python script that calls the FontForge program to merge the fonts automatically, while the GUI method involves in using FontForge itself to merge the fonts manually.
The CLI method is faster than the GUI method. If the CLI method does not work for you, go to the GUI method section.
Method 1: FontForge + Python script
The example custom system font used in this section is PopHappiness.ttf
.
-
Go to the Wii U System Font Replacer plugin repository.
-
Download a Python script:
merge-fonts.py
-
Place those 3 files in a folder:
-
merge-fonts.py
-
Wii U font -
nintendo_NTLG-DB_002.ttf
-
A custom font -
PopHappiness.ttf
(OTF also works)
-
-
Launch the Terminal app by right-clicking on File Explorer’s empty space and clicking
Open in Terminal
. -
Input this command (pick one):
Windows - PowerShell:
& 'C:\Program Files (x86)\FontForgeBuilds\bin\fontforge.exe' merge-fonts.py PopHappiness.ttf nintendo_NTLG-DB_002.ttf PopHappiness_Merged.ttf
Windows - Command Prompt (CMD):
"C:\Program Files (x86)\FontForgeBuilds\bin\fontforge.exe" merge-fonts.py PopHappiness.ttf nintendo_NTLG-DB_002.ttf PopHappiness_Merged.ttf
Linux:
fontforge merge-fonts.py PopHappiness.ttf nintendo_NTLG-DB_002.ttf PopHappiness_Merged.ttf
Those are single line commands - they are wrapped so the whole commands are displayed for easy copy without horizontally scrolling.
The fonts have been merged as
PopHappiness_Merged.ttf
.
Continue to the Installing the Custom System Font to Wii U section.
Method 2: FontForge only
-
Launch FontForge.
-
Open the custom font file (TTF/OTF).
-
Go to
Element
→Font Info...
→General
. -
Set the
Em Size
value to1000
and clickOK
. The custom font size will be adjusted so it matches the Wii U font size. Skip if em size is already 1,000. -
Go to
View
→Goto
, inputU+E000
into the text box to jump to the Private Use Area block. -
If the custom font contains any non-Wii U glyphs in the PUA block, go to
File
→Execute Script
, input this code into the text box:fontforge.activeFont().selection.select(("ranges", None), 0xE000, 0xE099) fontforge.activeFont().clear()
and click
OK
. This will clear out all the non-Wii U glyphs in this block. -
Go to
Element
→Merge Fonts...
and select the Wii U font file. -
Click
Yes
when prompted to retain kerning info. -
Go to
File
→Generate Fonts...
. -
Pick
TrueType
in the combo-box, uncheckValidate Before Saving
, then clickGenerate
. -
On a File Explorer window, open the merged font file.
-
Make sure the outlines format is
TrueType Outlines
. If it’sPostScript Outlines
, you must generate a font as TTF. -
TrueType
orOpenType
on the window title bar doesn’t matter, as long as its outlines format is TrueType Outlines.
-
Installing the Custom System Font to Wii U
-
Add the merged font file to
SDCARD:/wiiu/fonts
. -
Open the Plugin menu (
L + D-Pad ↓ + Select
). -
Go to System Font Replacer.
-
Select the merged font file for Standard font.
-
Disable
Use custom fonts only for Wii U Menu
to apply the font system-wide. -
Reboot the console.
The custom system font has been installed!
Installing the Custom System Font to Cemu
You can also install the custom system font to Cemu emulator.
The font files in /Cemu/resources/sharedFonts
are replacement system fonts
which are used if the real system fonts don't exist in a virtual MLC NAND.
Do not add the custom/real system fonts to this folder,
as those added fonts will be overwritten with replacement ones after Cemu updates.
Instead, the custom/real system fonts should be added to a virtual MLC NAND.
-
Rename the merged font file to
CafeStd.ttf
. -
Launch Cemu.
-
Go to
File
→Open MLC folder
. -
Navigate to
/sys/title/0005001b/10042400/content
. Create folders if those don’t exist. -
Add the
CafeStd.ttf
file here. -
Launch any of the system apps (if installed) and see how the custom system font looks.
The custom system font has been installed.