| 
                   | 
               
                  
                   | 
            |
During Font and bitmap server startup:
                  The Font and bitmap server calls the factory function for all
                  rasterizer DLLs found in \resources\fonts\ on all drives. This
                  will include the rasterizer DLL for TrueType fonts, freetype.dll,
                  if it is present.
                  
               
                  Files found in \resources\fonts\ on all drives are
                  offered to all Open Font System rasterizers, one at a time, by calling the
                  rasterizer's NewFontFileL() function. 
                  
               
                  The first rasterizer that recognises and accepts the file returns a
                  non-null COpenFontFile object. The COpenFontFile
                  object is then added to a list of Open Font files. Fonts not accepted by any
                  rasterizer are assumed to be Symbian-format bitmap files.
                  
               
            Clients request a CFont* matching a particular font
            specification using CBitmapDevice::GetNearestFontInPixels().
            
         
The framework then:
Modifies the font specification by reducing the size of the font if superscript or subscript is specified.
Finds the best matching Open Font System font.
                  It does this by calling
                  COpenFontFile::GetNearestFontInPixels() for each loaded Open Font
                  System font file object and calculating a weighting for how well each font
                  matches the specification. 
                  
               
Finds the best matching Bitmap font.
Selects the best matching font (from between the best Open Font System font and the best Bitmap font) and returns it to the client.
If there is no Open Font System font the Bitmap font is selected, and vice versa. If both candidates exist, the best match of the two is used. If they are both perfect matches then the Bitmap font is used.
Note that there is no way for the user to request a particular type of font format, e.g. It is not possible to specifically request a TrueType font or an Adobe Type 1 font etc.
            The Font and Bitmap Server gets the glyph for each character, using
            this CFont, as required. Glyphs that have already been created are
            taken from a glyph cache.
            
         
            New glyphs are created by implementations of the virtual function
            COpenFont::RasterizeL(), and are then added to a per-font cache.