Class RMFont

All Implemented Interfaces:
RMArchiver.Archiving, Cloneable

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

  • Constructor Details

    • RMFont

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

    • getFont

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

      public static RMFont getFont(String aName, float aSize, boolean substitute)
      Returns the font for the given name and size (with an option to substitue Arial if not found).
    • defaultFont

      public static RMFont defaultFont()
      Returns the user's default font.
    • awt

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

      public String getFontName()
      Returns the name of this font.
    • getFontNameEnglish

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

      public float getSize2D()
      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 float charAdvance(char aChar)
      Returns the char advance for the given char.
    • charKern

      public float 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 float stringAdvance(String aString)
      Returns the horizontal distance spanned by the given string when rendered in this font.
    • getMaxAscent

      public float getMaxAscent()
      Returns the max distance above the baseline that this font goes.
    • getMaxDescent

      public float getMaxDescent()
      Returns the max distance below the baseline that this font goes.
    • getLeading

      public float getLeading()
      Returns the default distance between lines for this font.
    • getHeight

      public float getHeight()
      Returns the height of this font.
    • getLineHeight

      public float getLineHeight()
      Returns the height for a line of text in this font.
    • getUnderlineOffset

      public float getUnderlineOffset()
      Returns the distance below the baseline that an underline should be drawn.
    • getUnderlineThickness

      public float getUnderlineThickness()
      Returns the default thickness that an underline should be drawn.
    • getStrikethroughOffset

      public float 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.
    • style

      public int style()
      Returns the awt style of this font.
    • canDisplay

      public boolean canDisplay(char aChar)
      Returns if this font can display the given char.
    • getBold

      public RMFont getBold()
      Returns the bold version of this font.
    • getItalic

      public RMFont getItalic()
      Returns the italic version of this font.
    • deriveFont

      public RMFont deriveFont(float aPointSize)
      Returns a font with the same family as the receiver but with the given size.
    • getAltFonts

      public static List getAltFonts()
      Returns the list of suggested alternate fonts.
    • equals

      public boolean equals(Object anObj)
      Standard equals implementation.
      Overrides:
      equals in class Object
    • initWithArchiver

      public Object initWithArchiver(RMArchiver anArchiver)
      Legacy unarchival.
      Specified by:
      initWithArchiver in interface RMArchiver.Archiving
      Overrides:
      initWithArchiver in class RMObject
    • toXML

      public RXElement toXML(RXArchiver anArchiver)
      XML archival.
    • fromXML

      public Object fromXML(RXArchiver anArchiver, RXElement anElement)
      XML unarchival.
    • toString

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