#include <mw/AknFontSpecification.h>
Link against: FontUtils.lib
class TAknFontSpecification |
Public Member Enumerations | |
---|---|
enum | TAknFontSpecificationUnits { EPixels, ETwips } |
Public Member Functions | |
---|---|
TAknFontSpecification(TInt) | |
TAknFontSpecification(TAknFontCategory, const TFontSpec &, const MGraphicsDeviceMap *) | |
IMPORT_C TGlyphBitmapType | BitmapType() |
IMPORT_C TBool | ExactMatchRequired() |
IMPORT_C TAknFontCategory | FontCategory() |
IMPORT_C TBool | IsOutlineEffectOn() |
IMPORT_C TFontPosture | Posture() |
IMPORT_C void | SetBitmapType(TGlyphBitmapType) |
IMPORT_C void | SetExactMatchRequired(TBool) |
IMPORT_C void | SetFontCategory(TAknFontCategory) |
IMPORT_C void | SetPosture(TFontPosture) |
IMPORT_C void | SetTextPaneHeight(TInt) |
IMPORT_C void | SetTextPaneHeightIsDesignHeight(TBool) |
IMPORT_C void | SetUnits(TAknFontSpecification::TAknFontSpecificationUnits) |
IMPORT_C void | SetWeight(TFontStrokeWeight) |
IMPORT_C TInt | TextPaneHeight() |
IMPORT_C TBool | TextPaneIsDesignHeight() |
IMPORT_C TAknFontSpecification::TAknFontSpecificationUnits | Units() |
IMPORT_C TFontStrokeWeight | Weight() |
Object representing the series 60 requirements for a font. It contains information from the layout specification that fonts bound to the given font id should honor.
It formst the basis of the request to font provisioning to provide a suitable font
IMPORT_C | TAknFontSpecification | ( | TInt | aFontId | ) |
Construct font specification from Font ID.
Parameters | |
---|---|
aFontId | Series 60 font id from which to create a font. |
IMPORT_C | TAknFontSpecification | ( | TAknFontCategory | aCategory, |
const TFontSpec & | aFontSpec, | |||
const MGraphicsDeviceMap * | aDeviceMap | |||
) |
Construct the font specifiation from Symbian OS TFontSpec and MGraphicsDeviceMap The Symbian OS TFontSpec must be set in Twips. The MGraphicsDeviceMap is used to convert to pixels for the text pane height.
Note that the units policy during and in effect at the end of this constructor is EPixels.
Note that the TTypeface part of the TFontSpec is lost in this construction
Parameters | |
---|---|
aCategory | Series 60 Font category to use |
aFontSpec | Provides the metrics and Style information to use for the match |
aDeviceMap | Device map used to convert the aFontSpec's twips to pixels |
IMPORT_C TGlyphBitmapType | BitmapType | ( | ) | const |
Accessor for the requested bitmap type
IMPORT_C TBool | ExactMatchRequired | ( | ) | const |
Accessor API for whether an exact match is required for the font (See SetExactMatchRequired() )
IMPORT_C TAknFontCategory | FontCategory | ( | ) | const |
Series 60 Layout Specification font category: Primary, Secondary, Title etc.
IMPORT_C TBool | IsOutlineEffectOn | ( | ) | const |
Accessor for the requested outline effect
IMPORT_C TFontPosture | Posture | ( | ) | const |
Accessor for the requested posture
IMPORT_C void | SetBitmapType | ( | TGlyphBitmapType | aBitmapType | ) |
Parameters | |
---|---|
aBitmapType | bitmap type to request |
IMPORT_C void | SetExactMatchRequired | ( | TBool | aRequiresExactMatch | ) |
if a request is made via a generic font family or via a font family enumeration, then typeface is not tested for "exactness"
fonts may be forced to be rendered at certain sizes (within a small number of pixels). This still counts as an exact match
The default value upon construction is EFalse;
IMPORT_C void | SetFontCategory | ( | TAknFontCategory | aCategory | ) |
Sets the Series 60 font category.
Parameters | |
---|---|
aCategory | New category to set. |
IMPORT_C void | SetPosture | ( | TFontPosture | aPosture | ) |
Sets the posture (e.g. upright, italic) of requested font using the Symbian OS enumeration.
IMPORT_C void | SetTextPaneHeight | ( | TInt | aNewHeight | ) |
The requested height for a font. This represents the maximum vertical range that can be guraranteed to draw in the text pane.
Note also that this value is the height requested by layout or the client, and might not correspond to the design height, ascent + descent, or max height reported by the attached font. See the APIs CAknLayoutFont::TextPaneTopToBaseline and BaselineToTextPaneBottom.
If TextPaneHeightIsDesignHeight() is EFalse, then the font will be requested to fit entirely within this range.
If TextPaneHeightIsDesignHeight() is set, then this value is passed to the font request as the font design height, in which case the font may not render entirely within the "text pane height".
Parameters | |
---|---|
aNewHeight | Text pane height to be used by the font. |
IMPORT_C void | SetTextPaneHeightIsDesignHeight | ( | TBool | aTextPaneHeightIsDesignHeight | ) |
Sets the policy to use in requesting the font height. Fonts may be requested either by "design height" (which is usually approximately the ascent + descent) or by maximum height. If false, this setting means the number set by SetTextPaneHeight is intended to match the font's maximum extent; all characters will fit within the text pane. If true, then the value passed by SetTextPaneHeight will be used to request design height.
This API has no effect if called on a TAknFontSpecification that has already been bound to a font
The default value upon construction is EFalse.
Parameters | |
---|---|
aTextPaneHeightIsDesignHeight | If EFalse, ensure that the font fits entirely within the text pane height If not EFalse, then the text pane height is treated as the font design height. |
IMPORT_C void | SetUnits | ( | TAknFontSpecification::TAknFontSpecificationUnits | aUnits | ) |
Sets the units for the Text Pane Height APIs. Note that calling this API does not result in the numerical value of the text pane height being recalculated. Upon construction, TAknFontSpecification objects store TextPaneHeight in pixels. If you then call SetUnits to Twips, you will also have to call SetTextPaneHeight to pass in the new (twips) value.
IMPORT_C void | SetWeight | ( | TFontStrokeWeight | aWeight | ) |
Set the stoke weight to request using the Symbian OS stroke weight enumeration.
aWeight The stroke weight.
IMPORT_C TInt | TextPaneHeight | ( | ) | const |
The requested height of the font. This represents the maximum vertical range that can be guaranteed to draw in the text pane.
Note also that this value is the height requested by layout or the client, and may not correspond to the design height, ascent + descent, or max height reported by the attached font. See the APIs CAknLayoutFont::TextPaneTopToBaseline and BaselineToTextPaneBottom.
If TextPaneHeightIsDesignHeight() is EFalse, then the font is to be requested to fit entirely within this range.
If TextPaneHeightIsDesignHeight() is set, then this value is passed to the font request as the font design height, in which case the font may not render entirely within the "text pane height".
Depending upon the value of TextPaneHeightIsInTwips(), the value returned is in Pixels or Twips. Note that calling SetTextPaneHeightIsInTwips() does not perform any conversion of the text pane height; It retains its set value.
IMPORT_C TBool | TextPaneIsDesignHeight | ( | ) | const |
Accessor API for the height policy.
IMPORT_C TAknFontSpecification::TAknFontSpecificationUnits | Units | ( | ) | const |
Accessor API for the units being used.
IMPORT_C TFontStrokeWeight | Weight | ( | ) | const |
Accessor for the requested weight