The Font Store contains all of the fonts and typefaces on a phone. It is encapsulated by the Font and Bitmap server which provides a client-side class that applications use to find which fonts are available and to find fonts to match their requirements.
The Font Store component is sometimes called the Open Font System or Open Font Framework.
You require no background knowledge or experience use the Font Store using the Font and Bitmap Server interfaces.
You require no background knowledge or experience to add new font files to the Font Store. You must simply copy the files to the appropriate location.
To create a font file or a font rasterizer, you require an in-depth knowledge of fonts and Symbian programming.
See Concepts and Terms in the Font and Text Services Collection Overview.
The Font Store can contain three types of font: bitmap fonts, which are stored as fixed-size pixel definitions; open fonts, which may be stored in any format; and linked fonts, which use characters from two or more other fonts. Open fonts must be converted into bitmaps (rasterized) before they can be used so the Font Store must also contain a font rasterizer for each format of open font.
Fonts are stored on Symbian phones as files. The Font Store maintains a list of font files along with specifications for each font that the file contains. When an application requests a font the Font Store searches its list for the best match. If the font is a bitmap font the Font Store loads it into the Font and Bitmap Server's shared heap (unless the font is in eXecute In Place (XIP) ROM, in which case it is accessed directly from ROM). If the font is an open font the Font Store uses the associated open font rasterizer to rasterize glyphs into the heap as they are required. Font rasterizers are ECOM plugins.
Figure: Font Store relationships
The Font Store contains APIs for specifying and selecting fonts and for rasterizing open fonts.
API | Description |
---|---|
Bitmap-based font object |
|
Central font storage class |
|
Linked fonts typeface group |
|
Linked font creation |
|
Linked font typeface element spec |
|
Generic outline font object |
|
Open font file |
|
COpenFontRasterizer |
Open font rasterizer |
Open font rasterizer context |
|
Algorithmic style attributes |
|
Character information |
|
Open font character metrics |
|
Open font typeface information |
|
Basic open font typeface information |
|
Open font glyph information |
|
Open font information |
|
Open font specification |
The following functionality is provided by
the fntstore
subsystem component:
Font linking
The creation and use of Linked Fonts – virtual fonts that are made out of one or (usually) more physical fonts. These can be used to:
Combine multiple character ranges from individual fonts into a single font.
Allow an existing font containing a particular script to be customized to use regional variant characters.
Allow a comprehensive range of scripts to be built into a device ROM and multiple possible subsets to be defined and used by software configuration.
Linked fonts are primarily used for system fonts. The fact that a font is a linked font is invisible to the user.
Font data files are installed in the
read-only folder \resource\fonts
.