FTScaledFont

Font support for FreeType

static if(CAIRO_HAS_FT_FONT)
class FTScaledFont : ScaledFont {}

Constructors

this
this(cairo_scaled_font_t* ptr)

Create a FTScaledFont from a existing cairo_scaled_font_t*. FTScaledFont is a garbage collected class. It will call cairo_scaled_font_destroy when it gets collected by the GC or when dispose() is called.

Members

Functions

lockFace
FT_Face lockFace()

lockFace() gets the FT_Face object from a FreeType backend font and scales it appropriately for the font. You must release the face with unlockFace() when you are done using it. Since the FT_Face object can be shared between multiple ScaledFont objects, you must not lock any other font objects until you unlock this one. A count is kept of the number of times lockFace() is called. unlockFace() must be called the same number of times.

unlockFace
void unlockFace()

Releases a face obtained with lockFace().

Inherited Members

From ScaledFont

__anonymous
mixin CairoCountedClass!(cairo_scaled_font_t*, "cairo_scaled_font_")
checkError
void checkError()

Method for use in subclasses. Calls cairo_scaled_font_status(nativePointer) and throws an exception if the status isn't CAIRO_STATUS_SUCCESS

createFromNative
ScaledFont createFromNative(cairo_scaled_font_t* ptr, bool adjRefCount)

The createFromNative method for the ScaledFont classes. See https://github.com/jpf91/cairoD/wiki/Memory-Management#createFromNative for more information.

extents
FontExtents extents()

Gets the metrics for a ScaledFont.

textExtents
TextExtents textExtents(string text)

Gets the extents for a string of text. The extents describe a user-space rectangle that encloses the "inked" portion of the text drawn at the origin (0,0) (as it would be drawn by Context.showText() if the cairo graphics state were set to the same fontFace, fontMatrix, ctm, and fontOptions as ScaledFont). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context.showText().

glyphExtents
TextExtents glyphExtents(Glyph[] glyphs)

Gets the extents for an array of glyphs. The extents describe a user-space rectangle that encloses the "inked" portion of the glyphs, (as they would be drawn by Context.showGlyphs() if the cairo graphics state were set to the same fontFace, fontMatrix, ctm, and fontOptions as scaled_font). Additionally, the x_advance and y_advance values indicate the amount by which the current point would be advanced by Context.showGlyphs().

textToGlyphs
Glyph[] textToGlyphs(double x, double y, string text, Glyph[] glyphBuffer)
Glyph[] textToGlyphs(Point!double p1, string text, Glyph[] glyphBuffer)
textToTextGlyph
TextGlyph textToTextGlyph(double x, double y, string text, Glyph[] glyphBuffer, TextCluster[] clusterBuffer)
TextGlyph textToTextGlyph(Point!double p1, string text, Glyph[] glyphBuffer, TextCluster[] clusterBuffer)

Converts UTF-8 text to an array of glyphs, optionally with cluster mapping, that can be used to render later using ScaledFont.

getFontFace
FontFace getFontFace()

Gets the font face that this scaled font uses. This is the font face passed to new ScaledFont().

fontFace
alias fontFace = getFontFace

convenience alias

getFontOptions
FontOptions getFontOptions()

Returns the font options with which ScaledFont was created.

fontOptions
alias fontOptions = getFontOptions

convenience alias

getFontMatrix
Matrix getFontMatrix()

Returns the font matrix with which ScaledFont was created.

fontMatrix
alias fontMatrix = getFontMatrix

convenience alias

getCTM
Matrix getCTM()

Returns the CTM with which ScaledFont was created. Note that the translation offsets (x0, y0) of the CTM are ignored by new ScaledFont(). So, the matrix this function returns always has 0,0 as x0,y0.

CTM
alias CTM = getCTM

convenience alias

getScaleMatrix
Matrix getScaleMatrix()

Returns the scale matrix of ScaledFont. The scale matrix is product of the font matrix and the ctm associated with the scaled font, and hence is the matrix mapping from font space to device space.

scaleMatrix
alias scaleMatrix = getScaleMatrix

convenience alias

getType
FontType getType()

This function returns the C type of a ScaledFont. See FontType for available types.

type
alias type = getType

convenience alias

Meta