Package org.docx4j.fonts.fop.fonts
Class LazyFont
java.lang.Object
org.docx4j.fonts.fop.fonts.Typeface
org.docx4j.fonts.fop.fonts.LazyFont
- All Implemented Interfaces:
FontDescriptor,FontMetrics
public class LazyFont extends Typeface implements FontDescriptor
This class is used to defer the loading of a font until it is really used.
-
Field Summary
-
Constructor Summary
Constructors Constructor Description LazyFont(EmbedFontInfo fontInfo, FontResolver resolver)Main constructor -
Method Summary
Modifier and Type Method Description intgetAscender()Returns the ascender value of the font.intgetAscender(int size)Returns the ascent of the font described by this FontMetrics object.intgetCapHeight()Returns the capital height of the font.intgetCapHeight(int size)Returns the size of a capital letter measured from the font's baseline.intgetDescender()Returns the descender value of the font.intgetDescender(int size)Returns the descent of the font described by this FontMetrics object.java.lang.StringgetEmbedFontName()Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").java.lang.StringgetEncodingName()Get the encoding of the font.java.util.SetgetFamilyNames()Returns the font's family names as a Set of Strings (Example: "Helvetica").intgetFlags()Returns the flags for the font.int[]getFontBBox()Returns the font's bounding box.java.lang.StringgetFontName()Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").FontTypegetFontType()Returns the type of the font.java.lang.StringgetFullName()Returns the font's full name (Example: "Helvetica Bold Oblique").intgetItalicAngle()Returns the italic angle for the font.java.util.MapgetKerningInfo()Returns the kerning map for the font.intgetMaxAscent(int size)Returns the maximum ascent of the font described by this FontMetrics object.TypefacegetRealFont()Gets the real font.intgetStemV()Returns the vertical stem width for the font.intgetWidth(int i, int size)Return the width (in 1/1000ths of point size) of the character at code point i.int[]getWidths()Return the array of widths.intgetXHeight(int size)Determines the typical font height of this FontMetrics objectbooleanhadMappingOperations()Indicates whether this font had to do any character mapping operations.booleanhasChar(char c)Determines whether this font contains a particular character/glyph.booleanhasKerningInfo()Indicates if the font has kering information.booleanisEmbeddable()Indicates if this font may be embedded.booleanisMultiByte()Determines whether the font is a multibyte font.booleanisSymbolicFont()Indicates whether the font is a symbolic font.charmapChar(char c)Map a Unicode character to a code point in the font.java.lang.StringtoString()Methods inherited from class org.docx4j.fonts.fop.fonts.Typeface
notifyMapOperation, setEventListener, warnMissingGlyph
-
Constructor Details
-
LazyFont
Main constructor- Parameters:
fontInfo- the font info to embedresolver- the font resolver to handle font URIs
-
-
Method Details
-
toString
public java.lang.String toString() -
getRealFont
Gets the real font.- Returns:
- the real font
-
getEncodingName
public java.lang.String getEncodingName()Get the encoding of the font.- Specified by:
getEncodingNamein classTypeface- Returns:
- the encoding
-
mapChar
public char mapChar(char c)Map a Unicode character to a code point in the font. -
hadMappingOperations
public boolean hadMappingOperations()Indicates whether this font had to do any character mapping operations. If that was not the case, it's an indication that the font has never actually been used.- Overrides:
hadMappingOperationsin classTypeface- Returns:
- true if the font had to do any character mapping operations
-
hasChar
public boolean hasChar(char c)Determines whether this font contains a particular character/glyph. -
isMultiByte
public boolean isMultiByte()Determines whether the font is a multibyte font.- Overrides:
isMultiBytein classTypeface- Returns:
- True if it is multibyte
-
getFontName
public java.lang.String getFontName()Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").- Specified by:
getFontNamein interfaceFontMetrics- Returns:
- the font name
-
getEmbedFontName
public java.lang.String getEmbedFontName()Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").- Specified by:
getEmbedFontNamein interfaceFontMetrics- Returns:
- the name for font embedding
-
getFullName
public java.lang.String getFullName()Returns the font's full name (Example: "Helvetica Bold Oblique").- Specified by:
getFullNamein interfaceFontMetrics- Returns:
- the font's full name
-
getFamilyNames
public java.util.Set getFamilyNames()Returns the font's family names as a Set of Strings (Example: "Helvetica").- Specified by:
getFamilyNamesin interfaceFontMetrics- Returns:
- the font's family names (a Set of Strings)
-
getMaxAscent
public int getMaxAscent(int size)Returns the maximum ascent of the font described by this FontMetrics object. Note: This is not the same as getAscender().- Specified by:
getMaxAscentin interfaceFontMetrics- Overrides:
getMaxAscentin classTypeface- Parameters:
size- font size- Returns:
- ascent in milliponts
-
getAscender
public int getAscender(int size)Returns the ascent of the font described by this FontMetrics object. It returns the nominal ascent within the em box.- Specified by:
getAscenderin interfaceFontMetrics- Parameters:
size- font size- Returns:
- ascent in milliponts
-
getCapHeight
public int getCapHeight(int size)Returns the size of a capital letter measured from the font's baseline.- Specified by:
getCapHeightin interfaceFontMetrics- Parameters:
size- font size- Returns:
- height of capital characters
-
getDescender
public int getDescender(int size)Returns the descent of the font described by this FontMetrics object.- Specified by:
getDescenderin interfaceFontMetrics- Parameters:
size- font size- Returns:
- descent in milliponts
-
getXHeight
public int getXHeight(int size)Determines the typical font height of this FontMetrics object- Specified by:
getXHeightin interfaceFontMetrics- Parameters:
size- font size- Returns:
- font height in millipoints
-
getWidth
public int getWidth(int i, int size)Return the width (in 1/1000ths of point size) of the character at code point i.- Specified by:
getWidthin interfaceFontMetrics- Parameters:
i- code point indexsize- font size- Returns:
- the width of the character
-
getWidths
public int[] getWidths()Return the array of widths.This is used to get an array for inserting in an output format. It should not be used for lookup.
- Specified by:
getWidthsin interfaceFontMetrics- Returns:
- an array of widths
-
hasKerningInfo
public boolean hasKerningInfo()Indicates if the font has kering information.- Specified by:
hasKerningInfoin interfaceFontMetrics- Returns:
- True, if kerning is available.
-
getKerningInfo
public java.util.Map getKerningInfo()Returns the kerning map for the font.- Specified by:
getKerningInfoin interfaceFontMetrics- Returns:
- the kerning map
-
getCapHeight
public int getCapHeight()Returns the capital height of the font.- Specified by:
getCapHeightin interfaceFontDescriptor- Returns:
- the capital height
-
getDescender
public int getDescender()Returns the descender value of the font. (Descent in pdf spec)- Specified by:
getDescenderin interfaceFontDescriptor- Returns:
- the descender value
-
getAscender
public int getAscender()Returns the ascender value of the font. (Ascent in pdf spec)- Specified by:
getAscenderin interfaceFontDescriptor- Returns:
- the ascender
-
getFlags
public int getFlags()Returns the flags for the font. (See pdf spec)- Specified by:
getFlagsin interfaceFontDescriptor- Returns:
- the flags
-
isSymbolicFont
public boolean isSymbolicFont()Indicates whether the font is a symbolic font.- Specified by:
isSymbolicFontin interfaceFontDescriptor- Returns:
- true if the font is a symbolic font (i.e. Symbol or ZapfDingbats)
-
getFontBBox
public int[] getFontBBox()Returns the font's bounding box.- Specified by:
getFontBBoxin interfaceFontDescriptor- Returns:
- the bounding box
-
getItalicAngle
public int getItalicAngle()Returns the italic angle for the font.- Specified by:
getItalicAnglein interfaceFontDescriptor- Returns:
- the italic angle
-
getStemV
public int getStemV()Returns the vertical stem width for the font.- Specified by:
getStemVin interfaceFontDescriptor- Returns:
- the vertical stem width
-
getFontType
Returns the type of the font.- Specified by:
getFontTypein interfaceFontMetrics- Returns:
- the font type
-
isEmbeddable
public boolean isEmbeddable()Indicates if this font may be embedded.- Specified by:
isEmbeddablein interfaceFontDescriptor- Returns:
- True, if embedding is possible/permitted
-