Package com.inductiveautomation.rm.text
Class RMFont
- java.lang.Object
-
- com.inductiveautomation.rm.text.RMFont
-
- All Implemented Interfaces:
Archivable
public class RMFont extends java.lang.Object implements Archivable
This class represents a font for use in rich text. Currently this is necessary because Java fonts are missing so much basic typographic information.
-
-
Field Summary
Fields Modifier and Type Field Description static RMFont
Helvetica10
static RMFont
Helvetica12
static RMFont
Helvetica14
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description java.awt.Font
awt()
Returns the AWT font for this font.boolean
canDisplay(char aChar)
Returns if this font can display the given char.double
charAdvance(char aChar)
Returns the char advance for the given char.RMRect
charBounds(char aChar)
Returns the bounds for a given character.double
charKern(char aChar1, char aChar2)
Returns the kerning for the given pair of characters (no way to do this in Java!).RMPath
charPath(char c)
Returns the path for a given character.RMFont
deriveFont(double aPointSize)
Returns a font with the same family as the receiver but with the given size.boolean
equals(java.lang.Object anObj)
Standard equals implementation.java.lang.Object
fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.RMFont
getBold()
Returns the bold version of this font.static RMFont
getDefaultFont()
Returns the user's default font.java.lang.String
getFamily()
Returns the family name of this font.java.lang.String
getFamilyEnglish()
Returns the family name of this font in English.static RMFont
getFont(java.awt.Font aFont)
Returns the font for the given name and size (substitutes Arial if not found).static RMFont
getFont(java.lang.String aName, double aSize)
Deprecated.RMFontFile
getFontFile()
Returns the font file for this font.java.lang.String
getFontName()
Returns the name of this font.java.lang.String
getFontNameEnglish()
Returns the name of this font in English.int
getFontStyle()
double
getHeight()
Returns the height of this font.RMFont
getItalic()
Returns the italic version of this font.double
getLeading()
Returns the default distance between lines for this font.double
getLineAdvance()
Returns the distance from the top of a line of text to the to top of a successive line of text.double
getLineHeight()
Returns the height for a line of text in this font.java.lang.String
getLogicalName()
double
getMaxAscent()
Returns the max distance above the baseline that this font goes.double
getMaxDescent()
Returns the max distance below the baseline that this font goes.java.lang.String
getPSName()
Returns the PostScript name of this font.double
getSize()
Returns the font size of this font.double
getStrikethroughOffset()
Returns the distance above the baseline that a strikethrough should be drawn.double
getUnderlineOffset()
Returns the distance below the baseline that an underline should be drawn.double
getUnderlineThickness()
Returns the default thickness that an underline should be drawn.boolean
isBold()
Returns whether this font is considered bold.boolean
isItalic()
Returns whether this font is considered italic.boolean
isSubstitute()
Returns whether font had to substitute because name wasn't found.RMFont
scaleFont(double aScale)
Returns a font with the same family as the receiver but with size adjusted by given scale factor.double
stringAdvance(java.lang.String aString)
Returns the horizontal distance spanned by the given string when rendered in this font.RMFont
toggleStyle(int style)
Returns a new RMFont with style toggled.java.lang.String
toString()
Returns the font name, size and family for this font.RXElement
toXML(RXArchiver anArchiver)
XML archival.
-
-
-
Method Detail
-
getFont
@Deprecated public static RMFont getFont(java.lang.String aName, double aSize)
Deprecated.Returns the font for the given name and size (substitutes Arial if not found).
-
getFont
public static RMFont getFont(java.awt.Font aFont)
Returns the font for the given name and size (substitutes Arial if not found).
-
getDefaultFont
public static RMFont getDefaultFont()
Returns the user's default font.
-
getFontName
public java.lang.String getFontName()
Returns the name of this font.
-
getFontNameEnglish
public java.lang.String getFontNameEnglish()
Returns the name of this font in English.
-
getLogicalName
public java.lang.String getLogicalName()
-
getFontStyle
public int getFontStyle()
-
getSize
public double getSize()
Returns the font size of this font.
-
getFamily
public java.lang.String getFamily()
Returns the family name of this font.
-
getFamilyEnglish
public java.lang.String getFamilyEnglish()
Returns the family name of this font in English.
-
getPSName
public java.lang.String getPSName()
Returns the PostScript name of this font.
-
getFontFile
public RMFontFile getFontFile()
Returns the font file for this font.
-
charAdvance
public double charAdvance(char aChar)
Returns the char advance for the given char.
-
charKern
public double charKern(char aChar1, char aChar2)
Returns the kerning for the given pair of characters (no way to do this in Java!).
-
charPath
public RMPath charPath(char c)
Returns the path for a given character.
-
charBounds
public RMRect charBounds(char aChar)
Returns the bounds for a given character.
-
stringAdvance
public double stringAdvance(@Nonnull java.lang.String aString)
Returns the horizontal distance spanned by the given string when rendered in this font.
-
getMaxAscent
public double getMaxAscent()
Returns the max distance above the baseline that this font goes.
-
getMaxDescent
public double getMaxDescent()
Returns the max distance below the baseline that this font goes.
-
getLeading
public double getLeading()
Returns the default distance between lines for this font.
-
getHeight
public double getHeight()
Returns the height of this font.
-
getLineHeight
public double getLineHeight()
Returns the height for a line of text in this font.
-
getLineAdvance
public double getLineAdvance()
Returns the distance from the top of a line of text to the to top of a successive line of text.
-
getUnderlineOffset
public double getUnderlineOffset()
Returns the distance below the baseline that an underline should be drawn.
-
getUnderlineThickness
public double getUnderlineThickness()
Returns the default thickness that an underline should be drawn.
-
getStrikethroughOffset
public double getStrikethroughOffset()
Returns the distance above the baseline that a strikethrough should be drawn.
-
isBold
public boolean isBold()
Returns whether this font is considered bold.
-
isItalic
public boolean isItalic()
Returns whether this font is considered italic.
-
isSubstitute
public boolean isSubstitute()
Returns whether font had to substitute because name wasn't found.
-
canDisplay
public boolean canDisplay(char aChar)
Returns if this font can display the given char.
-
getBold
@Nonnull public RMFont getBold()
Returns the bold version of this font.
-
getItalic
@Nonnull public RMFont getItalic()
Returns the italic version of this font.
-
toggleStyle
@Nonnull public RMFont toggleStyle(int style)
Returns a new RMFont with style toggled.
-
deriveFont
public RMFont deriveFont(double aPointSize)
Returns a font with the same family as the receiver but with the given size.
-
scaleFont
public RMFont scaleFont(double aScale)
Returns a font with the same family as the receiver but with size adjusted by given scale factor.
-
equals
public boolean equals(java.lang.Object anObj)
Standard equals implementation.- Overrides:
equals
in classjava.lang.Object
-
toXML
public RXElement toXML(RXArchiver anArchiver)
XML archival.- Specified by:
toXML
in interfaceArchivable
-
fromXML
public java.lang.Object fromXML(RXArchiver anArchiver, RXElement anElement)
XML unarchival.- Specified by:
fromXML
in interfaceArchivable
-
toString
public java.lang.String toString()
Returns the font name, size and family for this font.- Overrides:
toString
in classjava.lang.Object
-
awt
public java.awt.Font awt()
Returns the AWT font for this font.
-
-