| Method from org.apache.poi.hssf.record.FontRecord Detail: |
public boolean equals(Object obj) {
if (this == obj)
return true;
return false;
}
Only returns two for the same exact object -
creating a second FontRecord with the same
properties won't be considered equal, as
the record's position in the record stream
matters. |
protected void fillFields(RecordInputStream in) {
field_1_font_height = in.readShort();
field_2_attributes = in.readShort();
field_3_color_palette_index = in.readShort();
field_4_bold_weight = in.readShort();
field_5_super_sub_script = in.readShort();
field_6_underline = in.readByte();
field_7_family = in.readByte();
field_8_charset = in.readByte();
field_9_zero = in.readByte();
field_10_font_name_len = in.readByte();
if (field_10_font_name_len > 0)
{
if (in.readByte() == 0)
{ // is compressed unicode
field_11_font_name = in.readCompressedUnicode(LittleEndian.ubyteToInt(field_10_font_name_len));
}
else
{ // is not compressed unicode
field_11_font_name = in.readUnicodeLEString(field_10_font_name_len);
}
}
}
|
public short getAttributes() {
return field_2_attributes;
}
get the font attributes (see individual bit getters that reference this method) |
public short getBoldWeight() {
return field_4_bold_weight;
}
get the bold weight for this font (100-1000dec or 0x64-0x3e8). Default is
0x190 for normal and 0x2bc for bold |
public byte getCharset() {
return field_8_charset;
}
|
public short getColorPaletteIndex() {
return field_3_color_palette_index;
}
get the font's color palette index |
public byte getFamily() {
return field_7_family;
}
get the font family (TODO) |
public short getFontHeight() {
return field_1_font_height;
}
gets the height of the font in 1/20th point units |
public String getFontName() {
return field_11_font_name;
}
|
public byte getFontNameLength() {
return field_10_font_name_len;
}
get the length of the fontname string |
public int getRecordSize() {
return (getFontNameLength() * 2) + 20;
}
|
public short getSid() {
return sid;
}
|
public short getSuperSubScript() {
return field_5_super_sub_script;
}
get the type of super or subscript for the font |
public byte getUnderline() {
return field_6_underline;
}
get the type of underlining for the font |
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime
* result
+ ((field_11_font_name == null) ? 0 : field_11_font_name
.hashCode());
result = prime * result + field_1_font_height;
result = prime * result + field_2_attributes;
result = prime * result + field_3_color_palette_index;
result = prime * result + field_4_bold_weight;
result = prime * result + field_5_super_sub_script;
result = prime * result + field_6_underline;
result = prime * result + field_7_family;
result = prime * result + field_8_charset;
result = prime * result + field_9_zero;
result = prime * result + field_10_font_name_len;
return result;
}
|
public boolean isItalic() {
return italic.isSet(field_2_attributes);
}
get whether the font is to be italics or not |
public boolean isMacoutlined() {
return macoutline.isSet(field_2_attributes);
}
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) |
public boolean isMacshadowed() {
return macshadow.isSet(field_2_attributes);
}
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) |
public boolean isStruckout() {
return strikeout.isSet(field_2_attributes);
}
get whether the font is to be stricken out or not |
public int serialize(int offset,
byte[] data) {
int realflen = getFontNameLength() * 2;
LittleEndian.putShort(data, 0 + offset, sid);
LittleEndian.putShort(
data, 2 + offset,
( short ) (15 + realflen
+ 1)); // 19 - 4 (sid/len) + font name length = datasize
// undocumented single byte (1)
LittleEndian.putShort(data, 4 + offset, getFontHeight());
LittleEndian.putShort(data, 6 + offset, getAttributes());
LittleEndian.putShort(data, 8 + offset, getColorPaletteIndex());
LittleEndian.putShort(data, 10 + offset, getBoldWeight());
LittleEndian.putShort(data, 12 + offset, getSuperSubScript());
data[ 14 + offset ] = getUnderline();
data[ 15 + offset ] = getFamily();
data[ 16 + offset ] = getCharset();
data[ 17 + offset ] = field_9_zero;
data[ 18 + offset ] = getFontNameLength();
data[ 19 + offset ] = ( byte ) 1;
if (getFontName() != null) {
StringUtil.putUnicodeLE(getFontName(), data, 20 + offset);
}
return getRecordSize();
}
|
public void setAttributes(short attributes) {
field_2_attributes = attributes;
}
set the font attributes (see individual bit setters that reference this method) |
public void setBoldWeight(short bw) {
field_4_bold_weight = bw;
}
set the bold weight for this font (100-1000dec or 0x64-0x3e8). Default is
0x190 for normal and 0x2bc for bold |
public void setCharset(byte charset) {
field_8_charset = charset;
}
|
public void setColorPaletteIndex(short cpi) {
field_3_color_palette_index = cpi;
}
set the font's color palette index |
public void setFamily(byte f) {
field_7_family = f;
}
set the font family (TODO) |
public void setFontHeight(short height) {
field_1_font_height = height;
}
sets the height of the font in 1/20th point units |
public void setFontName(String fn) {
field_11_font_name = fn;
}
|
public void setFontNameLength(byte len) {
field_10_font_name_len = len;
}
set the length of the fontname string |
public void setItalic(boolean italics) {
field_2_attributes = italic.setShortBoolean(field_2_attributes, italics);
}
set the font to be italics or not |
public void setMacoutline(boolean mac) {
field_2_attributes = macoutline.setShortBoolean(field_2_attributes, 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) |
public void setMacshadow(boolean mac) {
field_2_attributes = macshadow.setShortBoolean(field_2_attributes, 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) |
public void setStrikeout(boolean strike) {
field_2_attributes = strikeout.setShortBoolean(field_2_attributes, strike);
}
set the font to be stricken out or not |
public void setSuperSubScript(short sss) {
field_5_super_sub_script = sss;
}
set the type of super or subscript for the font |
public void setUnderline(byte u) {
field_6_underline = u;
}
set the type of underlining for the font |
public String toString() {
StringBuffer buffer = new StringBuffer();
buffer.append("[FONT]\n");
buffer.append(" .fontheight = ")
.append(Integer.toHexString(getFontHeight())).append("\n");
buffer.append(" .attributes = ")
.append(Integer.toHexString(getAttributes())).append("\n");
buffer.append(" .italic = ").append(isItalic())
.append("\n");
buffer.append(" .strikout = ").append(isStruckout())
.append("\n");
buffer.append(" .macoutlined= ").append(isMacoutlined())
.append("\n");
buffer.append(" .macshadowed= ").append(isMacshadowed())
.append("\n");
buffer.append(" .colorpalette = ")
.append(Integer.toHexString(getColorPaletteIndex())).append("\n");
buffer.append(" .boldweight = ")
.append(Integer.toHexString(getBoldWeight())).append("\n");
buffer.append(" .supersubscript = ")
.append(Integer.toHexString(getSuperSubScript())).append("\n");
buffer.append(" .underline = ")
.append(Integer.toHexString(getUnderline())).append("\n");
buffer.append(" .family = ")
.append(Integer.toHexString(getFamily())).append("\n");
buffer.append(" .charset = ")
.append(Integer.toHexString(getCharset())).append("\n");
buffer.append(" .namelength = ")
.append(Integer.toHexString(getFontNameLength())).append("\n");
buffer.append(" .fontname = ").append(getFontName())
.append("\n");
buffer.append("[/FONT]\n");
return buffer.toString();
}
|
protected void validateSid(short id) {
if (id != sid)
{
throw new RecordFormatException("NOT A FONT RECORD");
}
}
|