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:
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.