
Introduction
"Easy to Understand! Embedded Fonts" is a blog that explains the basics and terminology of embedded fonts. This time, we have compiled an explanation of "outline fonts" such as weights, scalable fonts, font rendering engines, and formats.
What are outline fonts?
This font is made up of coordinate data that is the basis of the character shape and data on the lines and curves that connect it. Depending on the environment and size used, characters can be displayed and printed clearly even when enlarged or reduced.
For example, most fonts currently displayed on PCs are outline fonts, such as TrueType fonts, OpenType fonts, and ATM fonts.

Since the character outlines are stored as data, a variety of font designs are possible.

Weight
The thickness of a font is called its "weight." Some fonts have several weights, which make up a "family."
The role of "weight" is to make it easier to understand by using it appropriately depending on the character and character size.

Weights can vary depending on the typeface, and Morisawa's Shin Go typeface comes in eight weights ranging from extra thin to extra thick: "EL", "L", "R", "M", "DB", "B", "H", and "U".
The number of weights and how they are written varies depending on the typeface, but it is common to list the weight after the typeface name.
Morisawa displays font names as follows:

In addition to the weight, font names may also indicate the character set they use. Each set has a different number of characters, making it easy to distinguish between character sets.
*Character sets will be explained in detail in "Easy to Understand! Built-in Fonts: Part 4: Character Sets and Character Codes."
Scalable Fonts
This is a general term for fonts that store character data as coordinate values (vector data) for lines and curves, and whose display and print quality does not deteriorate even when enlarged or reduced. Outline fonts and the stroke fonts introduced last time are also included in scalable fonts.

Font Rendering Engine
A font rendering engine is a module (a group of programs that implements specific functions) that converts scalable fonts (vector data) into bitmap graphics (raster data). A font rendering engine (rasterizer) is essential because display devices and printers represent images as a collection of points.

General-purpose operating systems such as Windows, Mac, and Linux have font rendering engines, so they can display and print using only font data in general-purpose formats such as TrueType. However, in embedded products, the environment may not allow the use of general-purpose operating systems.
In this case, an embedded real-time OS is used, but because real-time OSes do not include a font rendering engine, the font data and font rendering engine must be incorporated into the product as a set.
Gradation
When the font rendering engine converts to raster data, it specifies the number of gradations (the number of levels of color and brightness expression). The quality of the characters also changes depending on the gradation.
For example, 2-tone is expressed using two levels (two colors) of background color and text color, but 256-tone allows for smooth text expression using 256 levels of gradation information including background color and text color (anti-aliasing: gradual change of background color and text color).

Morisawa offers the optimal font rendering engine for your environment and purpose.
- RT++ Engine: Lightweight outline fonts that enable high-speed, high-quality output
- MobileFont: Lightweight outline fonts with low data usage
- KS Engine: A lightweight stroke font with a data capacity of about 1/10 of that of an outline font.
format
There are several standard data formats for outline fonts, including TrueType, OpenType, PostScript fonts (Type 1 fonts and CID fonts), and for web use, WOFF (Web Open Font Format).
When using a font rendering engine, font data in a dedicated format is required.
Embedded use
| ●General OS (Windows, MacOS, Linux, etc.): TrueType, OpenType |
| Used in various hardware products, apps, games, etc. |
| ● Real-time OS (μITRON, T-Kernel, etc.): Font data + rendering engine |
| Used in measuring instruments, various industrial and medical products, handheld devices, etc. |
Usage environment
If you are considering installing a font rendering engine, please check the following:
| OS | [Example] μiTRON |
| CPU | [Example] ARM11 500MHz (500MHz: clock frequency, a number that indicates the CPU's processing performance) *If the clock frequency is low, the rendering (image generation) process will also be slower. |
| ROM | [Example] 10MB (data storage capacity) *The required data capacity varies depending on the font and language used. |
| Memory capacity | [Example] 4GB (work memory capacity available for rendering processing) |
This concludes our explanation of outline fonts.
If you have any questions, please contact us directly by email.

Contact
株式会社モリサワ セールスイノベーション課 salesinnovation@morisawa.co.jp