Fonts

Displaying text requires a text rendering library and font assets. On Fuchsia, a text rendering library needs to built into each runtime, but for fonts, runtimes have the option of using assets provided by a Fuchsia system service.

Read more about:

Glossary

character
A symbol used in writing, as an abstract concept. For example, this refers to the concept of the "upper-case Latin letter A", not its graphical representation as three connected lines, nor its assigned Unicode code point of 0x41, nor any possible encodings of it in memory or on disk.
code point
A value in the Unicode codespace, in the closed range [0, 0x10FFFF]. Assigned code points generally correspond to specific characters.
glyph
A vector or bitmap image that visually represents a character.
font family
A group of typefaces, typically in a variety of styles, sharing common design features. Examples include Noto Sans, Noto Sans Mono, Arial, Roboto, Times New Roman, and thousands of others.
font file (or asset)

A file containing glyphs, a table mapping code points to glyphs, and other metadata required for rendering text.

Font files can have a variety of formats (encodings). On Fuchsia, the most common font file format is TrueType (file extension .ttf). Fuchsia also uses TrueType Collection files (.ttc), which contain multiple typefaces in a single file.

generic font family

A general category of font families. The ones supported by Fuchsia are those listed in the CSS spec: serif, sans-serif, monospace, cursive, fantasy, emoji, math, and fangsong. Please see the CSS spec for detailed descriptions and examples.

style

A collection of visual properties of the glyphs of a typeface, such as width, slant (upright, italic, or oblique), and weight.

typeface

A collection of glyphs sharing a common appearance, usually corresponding to a single font family, a set of style properties, and one or more supported scripts.