Tutorial  Updated

Customising a System Font

Hey. I'm gonna show you how to install a custom font on a Nintendo Switch.

This is the Super Mario Sunshine font showing on Home Menu and some other games that use system font.

2019010311591600-57B4628D2267231D57E0FC1078C0596D.jpg




The easy way (recommended)

- Get NXThemesInstaller
- Drop .nro into sdmc:/switch
- Add TTF fonts to sdmc:/themes
- Launch NXThemesInstaller
- Install the font
- Reboot CFW
- Done :)

This was before the NXThemesInstaller font support exists.

What you need
BFTTFutil


Creating BFTTF - Binary Café TrueType

First of all, we are going to convert TTF/OTF to BFTTF.

Put both BFTTFutil.exe and the .ttf or .otf in the same folder.
2019-01-03_12-03-50_explorer.png


Open up PowerShell or Command Prompt and type this command
Code:
BFTTFutil.exe -enc_nx Delfino.ttf Delfino.bfttf
or
Code:
BFTTFutil.exe -enc_nx Delfino.otf Delfino.bfttf
2019-01-03_12-05-49_powershell.png


2019-01-03_12-07-50_powershell.png


You'll get the BFTTF
2019-01-03_12-08-29_explorer.png


Thanks to @p-sam for finding a way to load fonts via LayeredFS so we don't need to permanently replace system files thus risking a brick.

Copy the bfttf to D:\atmosphere\titles\0100000000000811\romfs
Rename the bfttf to nintendo_udsg-r_std_003.bfttf
2019-02-13_17-28-30_explorer.png


Go to D:\atmosphere\titles\0100000000000039\flags
Create a new file as fsmitm.flag
2019-02-13_17-43-49_explorer.png



Boot in Atmosphere CFW.

If you get past the Nintendo Switch splashscreen, congratulations! :D



Known issues

Filesize limitation
For some reason, fonts can't be bigger than the original font, the font (bfttf) has to be less than 1.95MB or else your Switch won't boot. You could try trimming some unused characters with FontForge.


Happy font hacking!
 
Last edited by ,

Sakuraibr

Well-Known Member
Newcomer
Joined
Jan 3, 2019
Messages
62
Trophies
0
XP
450
Country
Brazil
Very, very nice and great tutorial!
The console is 200% cuter with Super Mario Sunshine font haha

Hope no one bricks their system because of a font hack, though ^^'
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
OP
This is very nice, actually. Nervous to try, but awesome. Are there other things we could possibly change with this?
Replacing system file is the only way. LayeredFS won't work with these system titles, even I tried fsmitm.flag and boot2.flag .
 

Essasetic

General Spectator
Member
Joined
Jun 16, 2018
Messages
1,573
Trophies
1
XP
3,304
Country
United Kingdom
I'll wait till Atmosphere releases their version of EmuNAND to try this. Seems too risky at this point of what's only a theming option.
 

p-sam

Well-Known Member
Member
Joined
Feb 3, 2019
Messages
108
Trophies
0
XP
663
Country
France
Replacing system file is the only way. LayeredFS won't work with these system titles, even I tried fsmitm.flag and boot2.flag .

fsmitm does work, you just need to enable it for the shared database services.

For those who would wanna try it:
  • Create an empty file at sd:/atmosphere/titles/0100000000000039/flags/fsmitm.flag
  • Copy your custom font encoded earlier with bftffutil at sd:/atmosphere/titles/0100000000000811/romfs/nintendo_udsg-r_std_003.bfttf
 
Last edited by p-sam,

Essasetic

General Spectator
Member
Joined
Jun 16, 2018
Messages
1,573
Trophies
1
XP
3,304
Country
United Kingdom
fsmitm does work, you just need to enable it for the shared database services.

For those who would wanna try it:
  • Create an empty file at sd:/atmosphere/titles/0100000000000039/flags/fsmitm.flag
  • Copy your custom font encoded earlier with bftffutil at sd:/atmosphere/titles/100000000000811/romfs/nintendo_udsg-r_std_003.bfttf
So this basically removed the risk of bricking?

EDIT: Got it working but the file path for the font is actually "0100000000000811". Apart from that everything was right and I got my font of choice working on my switch. Thanks :)
 
Last edited by Essasetic,

p-sam

Well-Known Member
Member
Joined
Feb 3, 2019
Messages
108
Trophies
0
XP
663
Country
France
So this basically removed the risk of bricking?

EDIT: Got it working but the file path for the font is actually "0100000000000811". Apart from that everything was right and I got my font of choice working on my switch. Thanks :)

Indeed I made a typo, a 0 is missing, thanks for that i'll edit the message.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended