Skip to content

Fonts

You can use custom fonts on your Wii U using System Font Replacer


System Font Replacer

This is an Aroma plugin to safely temporarily replace the Wii U's system font.

The perfect solution for completing your custom Wii U Menu theme, without having to modify anything in your NAND.

No system file is modified by this plugin. All changes are done in RAM only.

What you need

Installation

  1. Download the system-font-replacer.wps file and copy it to SD:/wiiu/environments/aroma/plugins.
  2. Download the system-font-replacer-helper.wuhb file and copy it to SD:/wiiu/apps.

  3. Create a fonts folder inside your wiiu folder.

  4. Place your .ttf fonts inside the fonts folder

Usage

The plugin will load TrueType (.ttf) fonts from SD:/wiiu/fonts/

  1. Open up the WUPS menu (L + ↓ + SELECT) and enter the System Font Replacer menu.

  2. Ensure the "Enabled" option is set to "yes", otherwise the plugin won't do anything.

  3. Select the "Std Font" option, and press A to start editing it:

  4. Press ← or → to cycle through the fonts in SD:/wiiu/fonts/.

  5. Press X to reset back to the default value (empty, no font)
  6. Press A to confirm, or B to cancel the change.

    Std font is used for Western and Japanese text. Use the Cn, Kr or Tw options if you want to replace the Simplified Chinese, Korean, or Traditional Chinese fonts. Most official games and apps do not use these fonts, so there almost no reason to replace them.

  7. Exit the plugin menu.

  8. Reload the Wii U Menu

You can reload the Wii U Menu by launching a game/app and returning to the Wii U menu or by rebooting the console

Success

You should now see your custom font.

Warning

If you have any issues getting your fonts to work check Issues

"Use custom fonts only for Wii U Menu"

If you disable this option, the font will show up in any other software that requests the system font. Some of them may crash, or might not render properly. To avoid surprises, leave this option enabled ("yes"), so only the Wii U Menu is affected by the custom font. If you trust your custom font to not crash the on-screen keyboard, the System Settings, the Friends List, etc, you can disable this option ("no").


System Font Replacer Helper

This is a companion app for the System Font Replacer plugin.

With it you can:

  • Process .bps font patches in SD:/wiiu/fonts/ to create .ttf fonts;
  • Export the system fonts to SD:/wiiu/fonts/.

Info

No system file is modified by this application. All changes are done to the SD card only.

Creating .ttf fonts from .bps patches

  1. Copy the font .bps patches to SD:/wiiu/fonts/.

  2. Run the app by tapping on the System Font Replacer Helper icon.

  3. When prompted, press A to process all the .bps patches.

  4. At the end, press the HOME button and close the app.

You will now find the corresponding .ttf fonts in SD:/wiiu/fonts/, ready to be used in the plugin configuration.

Exporting the system fonts

  1. Run the app, by tapping on the System Font Replacer Helper icon.

  2. When prompted, press + to export the system fonts.

  3. At the end, press the HOME button and close the app.

You will now find copies of the system fonts (CafeCn.ttf, CafeKr.ttf, CafeStd.ttf, CafeTw.ttf) in SD:/wiiu/fonts/.


Issues

Freezes/Crashes and text glitches

Not every game/app has good a font rendering implementation. Some cannot handle more "advanced" TTF fonts, and will either render it incorrectly, or outright crash.

Large font files

Aroma plugins have very limited amount of memory to use. If the font file is too large, it might use too much memory, and other plugins might stop working. Fonts up to 12.5 MiB in size seem to work fine; larger fonts have not been tested.

Missing symbols

Some Wii U software make use of the system font's Private Use Area (PUA) block (from U+E000 to U+E099), to show symbols for gamepad buttons, sticks, etc. If the replacement font doesn't have the correct symbols in that block, the text might be rendered incorrectly. To get correct text rendering you have to edit your custom font, to add the correct symbols to that block.

In this repository you can find a Python script, merge-fonts.py, that uses the FontForge program to do that automatically, copying the PUA block (and any other missing symbol) from the original system font into your custom font.

  1. Start by getting a copy of the original system fonts on your Wii U. The System Font Replacer Helper can do that for you, with a single button press.

  2. Assuming the font you want to use on your Wii U is called myfont.ttf, and you want to use it as the "Std Font" font (replacing CafeStd.ttf), you can execute the script like this:

    ./merge-fonts.py  myfont.ttf  path/to/original/CafeStd.ttf  myfont+CafeStd.ttf
    

    or

    fontforge  merge-fonts.py  myfont.ttf  path/to/original/CafeStd.ttf  myfont+CafeStd.ttf
    
    • The first font has priority, all symbols from it will be copied to the output.

    • The PUA block (if it exists) is removed from the output.

    • Every missing symbol (including the PUA block) in the output will be filled in with symbols from the second font.

    • The last argument is optional, it's the name of the output file. It's a good idea to use the names of both source fonts, so you remember what's in the output.

    • There's also the copy-pua.py script, that only copies in the PUA symbols from the second font, and nothing else. The result is a much smaller output font, but it might still be missing some symbols; it depends on how "complete" your source font is.

  3. Copy the output font to your SD card, into SD:/wiiu/fonts/, then configure the plugin to use it.


Credits to Daniel K.O for the information in this page & for creating the System Font Replacer plugin