Package com.inductiveautomation.snap.gfx
Class SnapFont
- java.lang.Object
-
- com.inductiveautomation.snap.gfx.SnapFont
-
public class SnapFont extends java.lang.Object
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 SnapFont
Helvetica10
static SnapFont
Helvetica12
static SnapFont
Helvetica14
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.awt.Font
awt()
Returns the awt 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.double
charKern(char aChar1, char aChar2)
Returns the kerning for the given pair of characters (no way to do this in Java!).SnapFont
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.SnapFont
getBold()
Returns the bold version of this font.double
getCharAdvance(char aChar, boolean isFractional)
Returns the char advance for a given character.java.lang.String
getFamily()
Returns the family name of this font.java.lang.String
getFamilyEnglish()
Returns the family name of this font in English.SnapFontFile
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.double
getHeight()
Returns the height of this font.SnapFont
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.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.int
hashCode()
Standard hashcode implementation.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.SnapFont
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.java.lang.String
toString()
Returns the font name, size and family for this font.
-
-
-
Method Detail
-
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.
-
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 SnapFontFile getFontFile()
Returns the font file for this font.
-
charAdvance
public double charAdvance(char aChar)
Returns the char advance for the given char.
-
getCharAdvance
public double getCharAdvance(char aChar, boolean isFractional)
Returns the char advance for a given character.
-
charKern
public double charKern(char aChar1, char aChar2)
Returns the kerning for the given pair of characters (no way to do this in Java!).
-
stringAdvance
public double stringAdvance(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
public SnapFont getBold()
Returns the bold version of this font.
-
getItalic
public SnapFont getItalic()
Returns the italic version of this font.
-
deriveFont
public SnapFont deriveFont(double aPointSize)
Returns a font with the same family as the receiver but with the given size.
-
scaleFont
public SnapFont 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
-
hashCode
public int hashCode()
Standard hashcode implementation.- Overrides:
hashCode
in classjava.lang.Object
-
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.
-
-