#include <textbase.h>
| class CFont : public CBase |
| Public Member Enumerations | |
|---|---|
| enum | TCharacterDataAvailability { ENoCharacterData, ECharacterWidthOnly, EAllCharacterData } |
| enum | TTextDirection { EHorizontal, EVertical } |
| Protected Member Functions | |
|---|---|
| virtual | ~CFont() |
| virtual IMPORT_C TInt | DoExtendedFunction(TUid, TAny *) |
| virtual IMPORT_C TCharacterDataAvailability | DoGetCharacterData(TUint, TOpenFontCharMetrics &, const TUint8 *&, TSize &) |
| virtual IMPORT_C TBool | DoGetCharacterPosition(TPositionParam &) |
Abstract font interface.
The CFont class provides a device-independent interface to a device-dependent font usually obtained from a call to GetNearestFont...() on a graphics device. It is used as a handle in CGraphicsContext::UseFont() and to obtain device-dependent information about the font - notably the pixel width of a text string.
See also: CFbsFont CGraphicsContext::UseFont()
Data availability flags.
Some fonts like printer fonts may only have width information and can return ECharacterWidthOnly to show this: the text drawing routines in CFont synthesize the rest of the data if necessary.
See also: GetCharacterData()
| Enumerator | Value | Description |
|---|---|---|
| ENoCharacterData |
No font information available. | |
| ECharacterWidthOnly |
Width information only is available. | |
| EAllCharacterData |
All character data is available. |
Text direction flags.
This enum is used in TMeasureTextInput and determines whether the text is drawn horizontally or vertically. Note: text is drawn vertically in some styles of Japanese, etc.
See also: TMeasureTextInput
| Enumerator | Value | Description |
|---|---|---|
| EHorizontal |
Text is drawn horizontally. Text is drawn horizontally. | |
| EVertical |
Text is drawn vertically. |
| IMPORT_C | ~CFont | ( | ) | [protected, virtual] |
| IMPORT_C TInt | AscentInPixels | ( | ) | const |
Gets the font ascent in pixels. Note that this deprecated function is replaced by the new FontMaxAscent() or in some cases FontCapitalAscent().
See also: FontCapitalAscent() FontMaxAscent()
| IMPORT_C TInt | BaselineOffsetInPixels | ( | ) | const |
Gets the baseline offset in pixels.
The baseline offset is how far a font is raised or lowered from its normal baseline.
Gets the width in pixels in this font of the specified character.
Note: For OpenType fonts this function returns the horizontal advance of the character, which may be different from the actual width.
| Parameters | |
|---|---|
| aChar | The character whose width should be determined. |
| IMPORT_C TInt | DescentInPixels | ( | ) | const |
Gets the font descent in pixels. Note that this deprecated function is replaced by the new FontMaxDescent() or in some cases FontStandardDescent().
See also: FontStandardDescent() FontMaxDescent()
| IMPORT_C TCharacterDataAvailability | DoGetCharacterData | ( | TUint | aCode, |
| TOpenFontCharMetrics & | aMetrics, | |||
| const TUint8 *& | aBitmap, | |||
| TSize & | aBitmapSize | |||
| ) | const [protected, virtual] | |||
| IMPORT_C TBool | DoGetCharacterPosition | ( | TPositionParam & | aParam | ) | const [protected, virtual] |
| TInt | FontCapitalAscent | ( | ) | const [inline] |
Gets the ascent of an ANSI capital letter in the font whether or not there are any ANSI capitals in the font.
| TInt | FontLineGap | ( | ) | const [inline] |
Gets the suggested line gap for the font. This is the recommended baseline to baseline distance between successive lines of text in the font.
| TInt | FontMaxAscent | ( | ) | const [inline] |
Gets the max ascent of any pre-composed glyph in the font. This will include accents or diacritics that form part of pre-composed glyphs. It is not guaranteed to cover the max ascent of composite glyphs that have to be created by a layout engine. This is also the recommended distance between the top of a text box and the baseline of the first line of text.
| TInt | FontMaxDescent | ( | ) | const [inline] |
Gets the max descent of any pre-composed glyph in the font. This will include accents or diacritics that form part of pre-composed glyphs. It is not guaranteed to cover the max descent of composite glyphs that have to be created by a layout engine.
| TInt | FontMaxHeight | ( | ) | const [inline] |
Gets the (positive) maximum height in pixels of the font. This may differ from the design height.
| IMPORT_C TFontSpec | FontSpecInTwips | ( | ) | const |
Gets the font specification of this font in twips.
| TInt | FontStandardDescent | ( | ) | const [inline] |
Gets the descent of an ANSI descending character in the font. Whether or not there are any ANSI descenders in the font.
| IMPORT_C TCharacterDataAvailability | GetCharacterData | ( | TUint | aCode, |
| TOpenFontCharMetrics & | aMetrics, | |||
| const TUint8 *& | aBitmap, | |||
| TSize & | aBitmapSize | |||
| ) | const | |||
| IMPORT_C TBool | GetCharacterPosition | ( | TPositionParam & | aParam | ) | const |
| IMPORT_C TBool | GetCharacterPosition2 | ( | TPositionParam & | aParam, |
| RShapeInfo & | aShapeInfo | |||
| ) | const | |||
| IMPORT_C TInt | HeightInPixels | ( | ) | const |
Gets the font height in pixels. Note that this deprecated function is replaced by the new FontMaxHeight().
See also: FontMaxHeight()
| IMPORT_C TInt | MaxCharWidthInPixels | ( | ) | const |
Gets the width in pixels of the widest character in this font.
| IMPORT_C TInt | MaxNormalCharWidthInPixels | ( | ) | const |
Gets the width in pixels of the widest normal character in this font.
Normal characters include all character in a character set except non-alphabetic characters (e.g. the copyright symbol, or a block graphics symbol, for example).
| IMPORT_C TInt | MeasureText | ( | const TDesC & | aText, |
| const TMeasureTextInput * | aInput = 0, | |||
| TMeasureTextOutput * | aOutput = 0 | |||
| ) | const | |||
Gets how much of the specified descriptor can be displayed in this font without exceeding the specified width.
Note:
This function does not display any of the descriptor itself - it is used before display, to test whether the whole descriptor can be displayed.
| Parameters | |
|---|---|
| aText | The descriptor. |
| aWidthInPixels | The available width for character display. |
Gets how much of the specified descriptor can be displayed in this font without exceeding the specified width.
It also returns the excess width - defined as the specified available width minus the width of the portion of the descriptor which can be displayed without exceeding the available width.
| Parameters | |
|---|---|
| aText | The descriptor. |
| aWidthInPixels | The available width for character display. |
| aExcessWidthInPixels | The excess width after displaying the portion of the descriptor, in pixels. |
| IMPORT_C TInt | TextWidthInPixels | ( | const TDesC & | aText, |
| const TMeasureTextInput * | aParam | |||
| ) | const | |||
Gets the width in pixels of the specified descriptor when displayed in this font.
| Parameters | |
|---|---|
| aText | The descriptor whose width should be determined. |
| aParam | Parameter block that controls how much of aText is measured |
| IMPORT_C TUid | TypeUid | ( | ) | const |
Gets run-time identity of the actual font type. This enables safe casting to a derived type.
For example, if the derived type is a CFbsFont, the return value is KCFbsFontUid. You would need to cast to a CFbsFont to get a character bounding box. Similarly, a CBitmapFont returns KCBitmapFontUidVal.