MOpenFontShapingExtension Class Reference

class MOpenFontShapingExtension

Open Font System Extension Interface abstract base class.

COpenFont derivers should also derive from this interface to enable complex font "shaping".

This interface should be returned by the overridden COpenFont::ExtendedInterface function when KUidOpenFontShapingExtension is supplied as the UID.

COpenFont KUidOpenFontShapingExtension

Member Functions Documentation

GetExtensionFontMetrics(TExtensionFontMetrics &)

voidGetExtensionFontMetrics(TExtensionFontMetrics &aOut)[pure virtual]

Returns font metrics.

Parameters

TExtensionFontMetrics & aOutFont metrics returned.

GlyphIndex(TInt)

TInt GlyphIndex(TIntaUnicodeCharacter)const [pure virtual]

Maps a character to a glyph index.

Parameters

TInt aUnicodeCharacterUnicode character code to be mapped.

GlyphPointInFontUnits(TInt, TInt, TInt &, TInt &)

TBool GlyphPointInFontUnits(TIntaGlyphIndex,
TIntaPointNumber,
TInt &aX,
TInt &aY
)const [pure virtual]

Returns the coordinates of a particular (unhinted) point in the outline of the given glyph in font units.

Parameters

TInt aGlyphIndex
TInt aPointNumberThe number of the point.
TInt & aXReturns the point's X co-ordinate in font units.
TInt & aYReturns the point's Y co-ordinate in font units.

GlyphPointInHintedPixels(TInt, TInt, TReal &, TReal &)

TBool GlyphPointInHintedPixels(TIntaGlyphIndex,
TIntaPointNumber,
TReal &aX,
TReal &aY
)const [pure virtual]

Returns the hinted pixel coordinates of a particular point in the outline of the given glyph.

Parameters

TInt aGlyphIndex
TInt aPointNumberThe number of the point.
TReal & aXReturns the point's X pixel value.
TReal & aYReturns the point's Y pixel value.

RasterizeGlyphL(TInt, TOpenFontGlyphData *)

voidRasterizeGlyphL(TIntaCode,
TOpenFontGlyphData *aGlyphData
)[pure virtual]

Creates a bitmap for the specified Glyph code.

Implementations of this function should put the bitmap in aGlyphData->iBitmapBuffer, and the character metrics are placed in aGlyphData->iMetricsBuffer. The other parts of aGlyphData should be left alone.

This function provides the same functionality as the COpenFont::RasterizeL() except that the glyph code is supplied rather than the unicode.

For more information: COpenFont::RasterizeL()

Parameters

TInt aCodeThe glyph code of the character for which the bitmap is required.
TOpenFontGlyphData * aGlyphDataThe function puts its output here.