Class Java2DFontMetrics
java.lang.Object
org.docx4j.fonts.fop.render.java2d.Java2DFontMetrics
public class Java2DFontMetrics
extends java.lang.Object
This is a FontMetrics to be used for AWT rendering.
It instanciates a font, depening on family and style
values. The java.awt.FontMetrics for this font is then
created to be used for the actual measurement.
Since layout is word by word and since it is expected that
two subsequent words often share the same style, the
Font and FontMetrics is buffered and only changed if needed.
Since FontState and FontInfo multiply all factors by size, we assume a "standard" font of FONT_SIZE.
-
Field Summary
Fields Modifier and Type Field Description static intFONT_FACTORThis factor multiplies the calculated values to scale to FOP internal measurementsstatic intFONT_SIZEFont size standard used for metric measurements -
Constructor Summary
Constructors Constructor Description Java2DFontMetrics()Constructs a new Font-metrics. -
Method Summary
Modifier and Type Method Description intgetAscender(java.lang.String family, int style, int size)Determines the font ascent of the Font described by this FontMetrics objectintgetCapHeight(java.lang.String family, int style, int size)The size of a capital letter measured from the font's baselineintgetDescender(java.lang.String family, int style, int size)Determines the font descent of the Font described by this FontMetrics objectjava.awt.FontgetFont(java.lang.String family, int style, int size)Returns a java.awt.Font instance for the desired family, style and size type.intgetMaxAscent(java.lang.String family, int style, int size)Determines the font's maximum ascent of the Font described by the current FontMetrics objectintgetStrikeoutPosition(java.lang.String family, int style, int size)intgetStrikeoutThickness(java.lang.String family, int style, int size)intgetUnderlinePosition(java.lang.String family, int style, int size)intgetUnderlineThickness(java.lang.String family, int style, int size)int[]getWidths(java.lang.String family, int style, int size)Return widths (in 1/1000ths of point size) of all charactersintgetXHeight(java.lang.String family, int style, int size)Determines the typical font height of a small cap letter FontMetrics objectbooleanhasChar(java.lang.String family, int style, int size, char c)Indicates whether the font contains a particular character/glyph.intwidth(int i, java.lang.String family, int style, int size)Returns width (in 1/1000ths of point size) of character at code point iMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
FONT_SIZE
public static final int FONT_SIZEFont size standard used for metric measurements- See Also:
- Constant Field Values
-
FONT_FACTOR
public static final int FONT_FACTORThis factor multiplies the calculated values to scale to FOP internal measurements- See Also:
- Constant Field Values
-
-
Constructor Details
-
Java2DFontMetrics
public Java2DFontMetrics()Constructs a new Font-metrics.
-
-
Method Details
-
getMaxAscent
public int getMaxAscent(java.lang.String family, int style, int size)Determines the font's maximum ascent of the Font described by the current FontMetrics object- Parameters:
family- font family (java name) to usestyle- font style (java def.) to usesize- font size- Returns:
- ascent in milliponts
-
getAscender
public int getAscender(java.lang.String family, int style, int size)Determines the font ascent of the Font described by this FontMetrics object- Parameters:
family- font family (java name) to usestyle- font style (java def.) to usesize- font size- Returns:
- ascent in milliponts
-
getCapHeight
public int getCapHeight(java.lang.String family, int style, int size)The size of a capital letter measured from the font's baseline- Parameters:
family- font familystyle- font stylesize- font size- Returns:
- capital height in millipoints
-
getDescender
public int getDescender(java.lang.String family, int style, int size)Determines the font descent of the Font described by this FontMetrics object- Parameters:
family- font family (jave name) to usestyle- font style (jave def.) to usesize- font size- Returns:
- descent in milliponts
-
getXHeight
public int getXHeight(java.lang.String family, int style, int size)Determines the typical font height of a small cap letter FontMetrics object- Parameters:
family- font family (jave name) to usestyle- font style (jave def.) to usesize- font size- Returns:
- font height in milliponts
-
getUnderlinePosition
public int getUnderlinePosition(java.lang.String family, int style, int size) -
getUnderlineThickness
public int getUnderlineThickness(java.lang.String family, int style, int size) -
getStrikeoutPosition
public int getStrikeoutPosition(java.lang.String family, int style, int size) -
getStrikeoutThickness
public int getStrikeoutThickness(java.lang.String family, int style, int size) -
width
public int width(int i, java.lang.String family, int style, int size)Returns width (in 1/1000ths of point size) of character at code point i- Parameters:
i- the character for which to get the widthfamily- font family (jave name) to usestyle- font style (jave def.) to usesize- font size- Returns:
- character width in millipoints
-
getWidths
public int[] getWidths(java.lang.String family, int style, int size)Return widths (in 1/1000ths of point size) of all characters- Parameters:
family- font family (jave name) to usestyle- font style (jave def.) to usesize- font size- Returns:
- array of character widths in millipoints
-
getFont
public java.awt.Font getFont(java.lang.String family, int style, int size)Returns a java.awt.Font instance for the desired family, style and size type. This is here, so that the font-mapping of FOP-defined fonts to java-fonts can be done in one place and does not need to occur in AWTFontRenderer.- Parameters:
family- font family (jave name) to usestyle- font style (jave def.) to usesize- font size- Returns:
- font with the desired characeristics.
-
hasChar
public boolean hasChar(java.lang.String family, int style, int size, char c)Indicates whether the font contains a particular character/glyph.- Parameters:
family- font family (jave name) to usestyle- font style (jave def.) to usesize- font sizec- the glyph to check- Returns:
- true if the character is supported
-