Class FontRecord

All Implemented Interfaces:
Duplicatable, GenericRecord

public final class FontRecord extends StandardRecord
Describes a font in the workbook
  • Field Details

  • Constructor Details

    • FontRecord

      public FontRecord()
    • FontRecord

      public FontRecord(FontRecord other)
    • FontRecord

      public FontRecord(RecordInputStream in)
  • Method Details

    • setFontHeight

      public void setFontHeight(short height)
      sets the height of the font in 1/20th point units
      Parameters:
      height - fontheight (in points/20)
    • setAttributes

      public void setAttributes(short attributes)
      set the font attributes (see individual bit setters that reference this method)
      Parameters:
      attributes - the bitmask to set
    • setItalic

      public void setItalic(boolean italics)
      set the font to be italics or not
      Parameters:
      italics - - whether the font is italics or not
      See Also:
    • setStrikeout

      public void setStrikeout(boolean strike)
      set the font to be stricken out or not
      Parameters:
      strike - - whether the font is stricken out or not
      See Also:
    • setMacoutline

      public void setMacoutline(boolean mac)
      whether to use the mac outline font style thing (mac only) - Some mac person should comment this instead of me doing it (since I have no idea)
      Parameters:
      mac - - whether to do that mac font outline thing or not
      See Also:
    • setMacshadow

      public void setMacshadow(boolean mac)
      whether to use the mac shado font style thing (mac only) - Some mac person should comment this instead of me doing it (since I have no idea)
      Parameters:
      mac - - whether to do that mac font shadow thing or not
      See Also:
    • setColorPaletteIndex

      public void setColorPaletteIndex(short cpi)
      set the font's color palette index
      Parameters:
      cpi - - font color index
    • setBoldWeight

      public void setBoldWeight(short bw)
      set the bold weight for this font (100-1000dec or 0x64-0x3e8). Default is 0x190 for normal and 0x2bc for bold
      Parameters:
      bw - - a number between 100-1000 for the fonts "boldness"
    • setSuperSubScript

      public void setSuperSubScript(short sss)
      set the type of super or subscript for the font
      Parameters:
      sss - super or subscript option
      See Also:
    • setUnderline

      public void setUnderline(byte u)
      set the type of underlining for the font
      Parameters:
      u - super or subscript option
      See Also:
    • setFamily

      public void setFamily(byte f)
      set the font family (TODO)
      Parameters:
      f - family
    • setCharset

      public void setCharset(byte charset)
      set the character set
      Parameters:
      charset - - character set
    • setFontName

      public void setFontName(String fn)
      set the name of the font
      Parameters:
      fn - - name of the font (i.e. "Arial")
    • getFontHeight

      public short getFontHeight()
      gets the height of the font in 1/20th point units
      Returns:
      fontheight (in points/20)
    • getAttributes

      public short getAttributes()
      get the font attributes (see individual bit getters that reference this method)
      Returns:
      attribute - the bitmask
    • isItalic

      public boolean isItalic()
      get whether the font is to be italics or not
      Returns:
      italics - whether the font is italics or not
      See Also:
    • isStruckout

      public boolean isStruckout()
      get whether the font is to be stricken out or not
      Returns:
      strike - whether the font is stricken out or not
      See Also:
    • isMacoutlined

      public boolean isMacoutlined()
      whether to use the mac outline font style thing (mac only) - Some mac person should comment this instead of me doing it (since I have no idea)
      Returns:
      mac - whether to do that mac font outline thing or not
      See Also:
    • isMacshadowed

      public boolean isMacshadowed()
      whether to use the mac shado font style thing (mac only) - Some mac person should comment this instead of me doing it (since I have no idea)
      Returns:
      mac - whether to do that mac font shadow thing or not
      See Also:
    • getColorPaletteIndex

      public short getColorPaletteIndex()
      get the font's color palette index
      Returns:
      cpi - font color index
    • getBoldWeight

      public short getBoldWeight()
      get the bold weight for this font (100-1000dec or 0x64-0x3e8). Default is 0x190 for normal and 0x2bc for bold
      Returns:
      bw - a number between 100-1000 for the fonts "boldness"
    • getSuperSubScript

      public short getSuperSubScript()
      get the type of super or subscript for the font
      Returns:
      super or subscript option
      See Also:
    • getUnderline

      public byte getUnderline()
      get the type of underlining for the font
      Returns:
      super or subscript option
      See Also:
    • getFamily

      public byte getFamily()
      get the font family (TODO)
      Returns:
      family
    • getCharset

      public byte getCharset()
      get the character set
      Returns:
      charset - character set
    • getFontName

      public String getFontName()
      get the name of the font
      Returns:
      fn - name of the font (i.e. "Arial")
    • serialize

      public void serialize(LittleEndianOutput out)
      Description copied from class: StandardRecord
      Write the data content of this BIFF record. The 'ushort sid' and 'ushort size' header fields have already been written by the superclass.

      The number of bytes written must equal the record size reported by RecordBase.getRecordSize()} minus four ( record header consisting of a 'ushort sid' and 'ushort reclength' has already been written by their superclass).

      Specified by:
      serialize in class StandardRecord
      Parameters:
      out - the output object
    • getDataSize

      protected int getDataSize()
      Specified by:
      getDataSize in class StandardRecord
    • getSid

      public short getSid()
      Description copied from class: Record
      return the non static version of the id for this record.
      Specified by:
      getSid in class Record
      Returns:
      he id for this record
    • cloneStyleFrom

      public void cloneStyleFrom(FontRecord source)
      Clones all the font style information from another FontRecord, onto this one. This will then hold all the same font style options.
      Parameters:
      source - the record to clone the properties from
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • sameProperties

      public boolean sameProperties(FontRecord other)
      Does this FontRecord have all the same font properties as the supplied FontRecord? Note that equals(Object) will check for exact objects, while this will check for exact contents, because normally the font record's position makes a big difference too.
      Parameters:
      other - the record to compare with
      Returns:
      true, if the properties match
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • copy

      public FontRecord copy()
      Specified by:
      copy in interface Duplicatable
      Specified by:
      copy in class StandardRecord
      Returns:
      a deep copy of the implementing class / instance
    • getGenericRecordType

      public HSSFRecordTypes getGenericRecordType()
      Specified by:
      getGenericRecordType in interface GenericRecord
      Specified by:
      getGenericRecordType in class Record
    • getGenericProperties

      public Map<String,Supplier<?>> getGenericProperties()