TAknFontSpecification Class Reference

class TAknFontSpecification

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

FontUtils.lib
Since
2.8

Constructor & Destructor Documentation

TAknFontSpecification(TInt)

IMPORT_CTAknFontSpecification(TIntaFontId)

Construct font specification from Font ID.

Parameters

TInt aFontIdSeries 60 font id from which to create a font.

TAknFontSpecification(TAknFontCategory, const TFontSpec &, const MGraphicsDeviceMap *)

IMPORT_CTAknFontSpecification(TAknFontCategoryaCategory,
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

TAknFontCategory aCategorySeries 60 Font category to use
const TFontSpec & aFontSpecProvides the metrics and Style information to use for the match
const MGraphicsDeviceMap * aDeviceMapDevice map used to convert the aFontSpec's twips to pixels

Member Functions Documentation

ExactMatchRequired()

IMPORT_C TBoolExactMatchRequired()const

Accessor API for whether an exact match is required for the font (See SetExactMatchRequired() )

FontCategory()

IMPORT_C TAknFontCategoryFontCategory()const

Series 60 Layout Specification font category: Primary, Secondary, Title etc.

IsOutlineEffectOn()

IMPORT_C TBoolIsOutlineEffectOn()const

Accessor for the requested outline effect

Since
5.0

LoadAnyCDLFontInstanceL()

voidLoadAnyCDLFontInstanceL()[private]

Posture()

IMPORT_C TFontPosturePosture()const

Accessor for the requested posture

SetExactMatchRequired(TBool)

IMPORT_C voidSetExactMatchRequired(TBoolaRequiresExactMatch)
Sets a flag indicating to font requests whether they should insist upon an exact match. Whether a font match is treated as exact or not depends upon various things, including:
  • 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;

Parameters

TBool aRequiresExactMatch

SetFontCategory(TAknFontCategory)

IMPORT_C voidSetFontCategory(TAknFontCategoryaCategory)

Sets the Series 60 font category.

Parameters

TAknFontCategory aCategoryNew category to set.

SetPosture(TFontPosture)

IMPORT_C voidSetPosture(TFontPostureaPosture)

Sets the posture (e.g. upright, italic) of requested font using the Symbian OS enumeration.

Parameters

TFontPosture aPosture

SetTextPaneHeight(TInt)

IMPORT_C voidSetTextPaneHeight(TIntaNewHeight)

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

TInt aNewHeightText pane height to be used by the font.

SetTextPaneHeightIsDesignHeight(TBool)

IMPORT_C voidSetTextPaneHeightIsDesignHeight(TBoolaTextPaneHeightIsDesignHeight)

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

TBool aTextPaneHeightIsDesignHeightIf 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.

SetUnits(TAknFontSpecification::TAknFontSpecificationUnits)

IMPORT_C voidSetUnits(TAknFontSpecification::TAknFontSpecificationUnitsaUnits)

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.

SetWeight(TFontStrokeWeight)

IMPORT_C voidSetWeight(TFontStrokeWeightaWeight)

Set the stoke weight to request using the Symbian OS stroke weight enumeration.

aWeight The stroke weight.

Parameters

TFontStrokeWeight aWeight

TextPaneHeight()

IMPORT_C TIntTextPaneHeight()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.

TextPaneIsDesignHeight()

IMPORT_C TBoolTextPaneIsDesignHeight()const

Accessor API for the height policy.

Units()

IMPORT_C TAknFontSpecification::TAknFontSpecificationUnitsUnits()const

Accessor API for the units being used.

Weight()

IMPORT_C TFontStrokeWeightWeight()const

Accessor for the requested weight

Member Enumerations Documentation

Enum TAknFontSpecificationUnits

Enumerators

EPixels = 0
ETwips

Member Data Documentation

TAknFontCategory iBaseFontCategory

TAknFontCategory iBaseFontCategory[private]

TBitFlags iFlags

TBitFlags iFlags[private]

TFontStyle iRequiredStyle

TFontStyle iRequiredStyle[private]

TInt iSpare2

TInt iSpare2[private]

TInt iTextPaneHeight

TInt iTextPaneHeight[private]