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