Class RMFont

java.lang.Object
com.inductiveautomation.rm.text.RMFont
All Implemented Interfaces:
Archivable

public class RMFont extends 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 Details

    • Helvetica10

      public static RMFont Helvetica10
    • Helvetica12

      public static RMFont Helvetica12
    • Helvetica14

      public static RMFont Helvetica14
  • Constructor Details

    • RMFont

      public RMFont()
      Creates an empty font (really only used for unarchival).
    • RMFont

      @Deprecated public RMFont(String aName, double aSize)
      Deprecated.
      Returns the font for the given name and size.
    • RMFont

      public RMFont(@Nonnull Font aFont)
  • Method Details

    • getFont

      @Deprecated public static RMFont getFont(String aName, double aSize)
      Deprecated.
      Returns the font for the given name and size (substitutes Arial if not found).
    • getFont

      public static RMFont getFont(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 String getFontName()
      Returns the name of this font.
    • getFontNameEnglish

      public String getFontNameEnglish()
      Returns the name of this font in English.
    • getLogicalName

      public String getLogicalName()
    • getFontStyle

      public int getFontStyle()
    • getSize

      public double getSize()
      Returns the font size of this font.
    • getFamily

      public String getFamily()
      Returns the family name of this font.
    • getFamilyEnglish

      public String getFamilyEnglish()
      Returns the family name of this font in English.
    • getPSName

      public 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 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(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class Object
    • toXML

      public RXElement toXML(RXArchiver anArchiver)
      XML archival.
      Specified by:
      toXML in interface Archivable
    • fromXML

      public Object fromXML(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
      Specified by:
      fromXML in interface Archivable
    • toString

      public String toString()
      Returns the font name, size and family for this font.
      Overrides:
      toString in class Object
    • awt

      public Font awt()
      Returns the AWT font for this font.