Using Custom Fonts in Tot Pocket

Before you get started, be aware that getting fonts onto iOS is hard. You’re probably going to screw it up, but unlikely to break anything, so try again, and again, and …

Your first difficulty will be finding an app to install the fonts. If you have an Adobe CC subscription, you can use it to install fonts, but we’ve had problems (it’s probably not Adobe’s fault).

We recommend using an open source app called xFonts. You can download it from the App Store. Note that there are other font installers, like the similarly named xFont, but we don't recommend them because we don't really know what they're doing. It would be trivial for a developer to embed a tracker in the font, add unwanted certificates and network configurations, and even change the apps on your home screen.

The basic approach here is to copy font files from your Mac to an iOS device. Once on the device, you’ll use xFonts to create a mobile device configuration profile that adds the fonts in a way that makes them available to all iOS apps. Once that happens, Tot can use the font. Sounds simple, right?

  1. Download xFonts and open the app on your iPhone.
  2. On your Mac, open the app you use for managing your iOS devices (backups, manually adding music and files, etc.). On macOS 10.15 Catalina, this app is the Finder. On older versions of macOS, this app is iTunes. On Catalina, make sure to turn on "CDs, DVDs, and iOS Devices" in Finder Preferences so you can select the device icon in the sidebar.
  3. Select "File Sharing" in iTunes (Mojave) or "Files" in the Finder (Catalina) and then pick the xFonts app from the list.
  4. Copy your fonts to the xFonts file list. The fonts need to be Open Type (.otf) or True Type (.ttf) file format. Fonts for Tot’s rich text view need to have regular, bold, italic, and bold italic variants. The plain text view needs fonts that are monospaced.
  5. Launch xFonts on iOS, and you should see your fonts listed. Tap the "Install" button in the upper-right corner and Safari will open a page at "localhost" that prompts you to "Install Profile". If Safari says that it can’t open the page, try force quitting xFonts and repeating this step.
  6. Tap on "HERE" and a mobile device configuration profile will be created. This is a a file that contains a copy of each font you want to install. You will see a warning that "This website is trying to download a configuration profile". You should be very careful about allowing downloads from a local web server–you’re effectively giving an app the ability to install anything it wants. You should only tap Allow if you have confidence in the source of this configuration profile (which we do with xFonts).
  7. You will then see a dialog that tells you to review the profile in Settings and no other information. Thanks! Tap Close.
  8. Open the Settings app and navigate to General > Profiles > Downloaded Profile > xFonts (# fonts). At this point, you'll see that the configuration profile is unsigned. Again, since we're confident in the source of this profile, it's OK to proceed.
  9. Tap on xFonts and then More Details to verify that the fonts you want are included in the profile. This is also where you can verify that only fonts are included in the profile.
  10. Tap the back button and then tap on "Install" in the upper-right corner.
  11. Enter your passcode to allow the fonts to be installed. You will also be warned that the profile is unsigned, tap Install.
  12. You should now have some custom fonts installed, but you may not be able to use them yet. iOS takes awhile to get things sorted out and make the fonts available to all apps. If you don’t see them immediately, try checking again in a few minutes.

Now comes the easy part, open Tot Pocket and go to its settings. When you tap on the font preview, your new fonts should be listed for both rich and plain text. (Remember, a font needs normal/bold/italic variants to be listed in rich text, and monospaced to be listed for plain text.)

And if you decide you want to add some new fonts? Go back to step 1! You can either create a mobile device configuration file that contains all your fonts, or one that only contains the additional fonts. If you create one for all, you’ll want to delete the existing profile.

If you think this procedure is ridiculous, like we do, we invite you to give Apple some feedback: