Font Decisions for a Game UI

When creating a game user interface in Scaleform, developers will need to make a number of decisions related to font use, configuration, and internationalization approach. In this document, these decisions are broken down into four separate categories:

Creating the Game Font Library refers to choosing the fonts styles that the game interface should rely on, a step that should normally take place before the game UI assets are developed. On the art side, using a standard font library is important to make sure that different fonts are used consistently for the same purpose in all of the UI files. On the technical side, it is important to keep the number of embedded fonts in check so that they fit into the applications memory budget.

Once the game fonts are determined, it is time to decide how they are going to be internationalized. Part 2 discusses three possible models for internationalization:

Since fonts can come from a number of sources in Scaleform, correct configuration is very important. To help with this font configuration, Part 3: Configuring Font Sources describes the Scaleform font lookup process in detail, including the examples of how GFx::FontLib and font providers are set up. Font providers are user-configurable classes used to support system fonts and FreeType 2 fonts, which can be used instead of GFx::FontLib to access fonts without embedding.

The Part 4 of this document, Configuring Font Rendering, describes the font rendering approaches used in Scaleform and focuses on the three font texture initialization choices available: pre-rendering textures during preprocessing by gfxexport, packing static textures generated at load time, and using a dynamic texture cache that is updated on demand. The document discusses the configuration options available for each approach allowing developers to pick the right one for the application and target platform.