Back to index

lightning-sunbird  0.9+nobinonly
Public Member Functions | Protected Attributes
nsIFontMetrics Class Reference

Font metrics interface. More...

#include <nsIFontMetrics.h>

Inheritance diagram for nsIFontMetrics:
Inheritance graph
[legend]
Collaboration diagram for nsIFontMetrics:
Collaboration graph
[legend]

List of all members.

Public Member Functions

NS_IMETHOD Init (const nsFont &aFont, nsIAtom *aLangGroup, nsIDeviceContext *aContext)=0
 Initialize the font metrics.
NS_IMETHOD Destroy ()=0
 Destroy this font metrics.
NS_IMETHOD GetXHeight (nscoord &aResult)=0
 Return the font's xheight property, scaled into app-units.
NS_IMETHOD GetSuperscriptOffset (nscoord &aResult)=0
 Return the font's superscript offset (the distance from the baseline to where a superscript's baseline should be placed).
NS_IMETHOD GetSubscriptOffset (nscoord &aResult)=0
 Return the font's subscript offset (the distance from the baseline to where a subscript's baseline should be placed).
NS_IMETHOD GetStrikeout (nscoord &aOffset, nscoord &aSize)=0
 Return the font's strikeout offset (the distance from the baseline to where a strikeout should be placed) and size Positive values are above the baseline, negative below.
NS_IMETHOD GetUnderline (nscoord &aOffset, nscoord &aSize)=0
 Return the font's underline offset (the distance from the baseline to where a underline should be placed) and size.
NS_IMETHOD GetHeight (nscoord &aHeight)=0
 Returns the height (in app units) of the font.
NS_IMETHOD GetLeading (nscoord &aLeading)=0
 Returns the amount of internal leading (in app units) for the font.
NS_IMETHOD GetNormalLineHeight (nscoord &aHeight)=0
 Returns the normal line height (em height + leading).
NS_IMETHOD GetEmHeight (nscoord &aHeight)=0
 Returns the height (in app units) of the Western font's em square.
NS_IMETHOD GetEmAscent (nscoord &aAscent)=0
 Returns, in app units, the ascent part of the Western font's em square.
NS_IMETHOD GetEmDescent (nscoord &aDescent)=0
 Returns, in app units, the descent part of the Western font's em square.
NS_IMETHOD GetMaxHeight (nscoord &aHeight)=0
 Returns the height (in app units) of the Western font's bounding box.
NS_IMETHOD GetMaxAscent (nscoord &aAscent)=0
 Returns, in app units, the maximum distance characters in this font extend above the base line.
NS_IMETHOD GetMaxDescent (nscoord &aDescent)=0
 Returns, in app units, the maximum distance characters in this font extend below the base line.
NS_IMETHOD GetMaxAdvance (nscoord &aAdvance)=0
 Returns, in app units, the maximum character advance for the font.
const nsFontFont ()
 Returns the font associated with these metrics.
NS_IMETHOD GetLangGroup (nsIAtom **aLangGroup)=0
 Returns the language group associated with these metrics.
NS_IMETHOD GetFontHandle (nsFontHandle &aHandle)=0
 Returns the font handle associated with these metrics.
NS_IMETHOD GetAveCharWidth (nscoord &aAveCharWidth)=0
 Returns the average character width.
NS_IMETHOD GetSpaceWidth (nscoord &aSpaceCharWidth)=0
 Returns the often needed width of the space character.

Protected Attributes

nsFont mFont

Detailed Description

Font metrics interface.

This interface may be somewhat misnamed. A better name might be nsIFontList. The style system uses the nsFont struct for various font properties, one of which is font-family, which can contain a list of font names. The nsFont struct is "realized" by asking the device context to cough up an nsIFontMetrics object, which contains a list of real font handles, one for each font mentioned in font-family (and for each fallback when we fall off the end of that list).

The style system needs to have access to certain metrics, such as the em height (for the CSS "em" unit), and we use the first Western font's metrics for that purpose. The platform-specific implementations are expected to select non-Western fonts that "fit" reasonably well with the Western font that is loaded at Init time.

Definition at line 78 of file nsIFontMetrics.h.


Member Function Documentation

NS_IMETHOD nsIFontMetrics::Destroy ( ) [pure virtual]

Returns the font associated with these metrics.

The return value is only defined after Init() has been called.

Definition at line 214 of file nsIFontMetrics.h.

{ return mFont; }

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetAveCharWidth ( nscoord aAveCharWidth) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetEmAscent ( nscoord aAscent) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetEmDescent ( nscoord aDescent) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetEmHeight ( nscoord aHeight) [pure virtual]

Returns the height (in app units) of the Western font's em square.

This is em ascent plus em descent.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsFontMetricsBeOS, nsFontMetricsMac, and nsCairoFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetFontHandle ( nsFontHandle aHandle) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetHeight ( nscoord aHeight) [pure virtual]

Returns the height (in app units) of the font.

This is ascent plus descent plus any internal leading

This method will be removed once the callers have been moved over to the new GetEmHeight (and possibly GetMaxHeight).

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPS, nsFontMetricsPango, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetLangGroup ( nsIAtom **  aLangGroup) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetLeading ( nscoord aLeading) [pure virtual]

Returns the amount of internal leading (in app units) for the font.

This is computed as the "height - (ascent + descent)"

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsCairoFontMetrics, nsFontMetricsBeOS, nsFontMetricsMac, and nsRegressionTestFontMetrics.

NS_IMETHOD nsIFontMetrics::GetMaxAdvance ( nscoord aAdvance) [pure virtual]
NS_IMETHOD nsIFontMetrics::GetMaxAscent ( nscoord aAscent) [pure virtual]

Returns, in app units, the maximum distance characters in this font extend above the base line.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsPh, nsFontMetricsQt, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetMaxDescent ( nscoord aDescent) [pure virtual]

Returns, in app units, the maximum distance characters in this font extend below the base line.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsPh, nsFontMetricsQt, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetMaxHeight ( nscoord aHeight) [pure virtual]

Returns the height (in app units) of the Western font's bounding box.

This is max ascent plus max descent.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsPh, nsFontMetricsQt, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsFontMetricsBeOS, nsFontMetricsMac, and nsCairoFontMetrics.

Returns the normal line height (em height + leading).

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPS, nsFontMetricsPango, nsCairoFontMetrics, nsFontMetricsBeOS, and nsFontMetricsMac.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetSpaceWidth ( nscoord aSpaceCharWidth) [pure virtual]

Returns the often needed width of the space character.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsPh, nsFontMetricsQt, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsPS, nsFontMetricsBeOS, nsFontMetricsMac, and nsCairoFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetStrikeout ( nscoord aOffset,
nscoord aSize 
) [pure virtual]

Return the font's strikeout offset (the distance from the baseline to where a strikeout should be placed) and size Positive values are above the baseline, negative below.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsPS, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetSubscriptOffset ( nscoord aResult) [pure virtual]

Return the font's subscript offset (the distance from the baseline to where a subscript's baseline should be placed).

The value returned will be a positive value.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsPS, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPango, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Return the font's superscript offset (the distance from the baseline to where a superscript's baseline should be placed).

The value returned will be a positive value.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPS, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsBeOS, nsFontMetricsPango, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

NS_IMETHOD nsIFontMetrics::GetUnderline ( nscoord aOffset,
nscoord aSize 
) [pure virtual]

Return the font's underline offset (the distance from the baseline to where a underline should be placed) and size.

Positive values are above the baseline, negative below.

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPh, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsPS, nsFontMetricsPango, nsFontMetricsBeOS, nsFontMetricsMac, nsCairoFontMetrics, and nsRegressionTestFontMetrics.

Here is the caller graph for this function:

NS_IMETHOD nsIFontMetrics::GetXHeight ( nscoord aResult) [pure virtual]
NS_IMETHOD nsIFontMetrics::Init ( const nsFont aFont,
nsIAtom aLangGroup,
nsIDeviceContext aContext 
) [pure virtual]

Initialize the font metrics.

Call this after creating the font metrics. Font metrics you get from the font cache do NOT need to be initialized

See also:
nsIDeviceContext::GetMetricsFor()

Implemented in nsFontMetricsXlib, nsFontMetricsGTK, nsFontMetricsOS2, nsFontMetricsWin, nsFontMetricsQt, nsFontMetricsPS, nsFontMetricsXft, nsFontMetricsXft, nsFontMetricsBeOS, nsFontMetricsPh, nsFontMetricsPango, nsFontMetricsMac, and nsCairoFontMetrics.


Member Data Documentation

Definition at line 238 of file nsIFontMetrics.h.


The documentation for this class was generated from the following file: