Font Combining


When making Rockbox themes, there are numerous built in fonts to choose from. However sometimes, these may not suit the theme you are building. In situations like these, users can make their own fonts. This guide goes over several ways people can achieve this, including a guide on combining two different fonts together to create a wider language supporting font.


Making Rockbox Fonts

Rockbox uses it’s own, custom font format for it’s interface. Therefore it’s necessary to convert our fonts for use in themes. This process is slightly different for colour and monochrome models, the former allowing anti-aliasing and the latter using exclusively bitmaps fonts. For the moment I’ve focused on the non-bitmap conversion process.

Getting convttf

If you don’t already have the convttf tool, then you’ll need to build it from the source using the following guide.


Using Convttf

Convttf is used via the command line, and I find it useful to move the executable into the directory of fonts I’m working with. The executable can be used like the following.

/convttf -p 16 -c 1 fontfile.ttf

Notes



A desktop running fontforge, with a text document and a file browser open.

Combining Two Fonts with Fontforge

This is a method of combining two different .ttf fonts into one. Useful for making CJK supported fonts for Rockbox, or adding glyphs into a font for web purposes etc. Fontforge is the main application used, however if you intend to make fonts for Rockbox, you’ll need convttf from their dev tools. This guide focuses on combining CJK fonts with non-CJK fonts.

Preparing the Secondary Font

Firstly, we’re going to get a secondary font. In this case we’ll be looking for a font for asian characters, known as a CJK Font (for Chinese, Japanese and Korean). The best font for this job is Noto CJK.


Combining the Fonts

Firstly, we’re going to get a secondary font. In this case we’ll be looking for a font for asian characters, known as a CJK Font (for Chinese, Japanese and Korean). The best font for this job is Noto CJK.