TerminalFontRepresentation

This is a demo implementation of MeasurableFont. The expectation is more often that you'd use a arsd.simpledisplay.OperatingSystemFont, which also implements this interface, but if you wanted to do your own thing this basic demo might help.

class TerminalFontRepresentation : MeasurableFont {}

Members

Functions

ascent
int ascent()

since it is a grid this is a bit bizarre to translate.

Inherited Members

From MeasurableFont

isMonospace
bool isMonospace()

Returns true if it is a monospace font, meaning each of the glyphs (at least the ascii characters) have matching width and no kerning, so you can determine the display width of some strings by simply multiplying the string width by averageWidth.

averageWidth
int averageWidth()

The average width of glyphs in the font, traditionally equal to the width of the lowercase x. Can be used to estimate bounding boxes, especially if the font isMonospace.

height
int height()

The height of the bounding box of a line.

ascent
int ascent()

The maximum ascent of a glyph above the baseline.

descent
int descent()

The maximum descent of a glyph below the baseline. For example, how low the g might go.

stringWidth
int stringWidth(const(char)[] s, SimpleWindow window)

The display width of the given string, and if you provide a window, it will use it to make the pixel count on screen more accurate too, but this shouldn't generally be necessary.

Meta