/** * Writes the font beginning * * @return A byte array with the font start data */ public virtual void WriteBegin(Stream result) { byte[] t; if (this.fontNumber != Font.UNDEFINED) { result.Write(RtfFontList.FONT_NUMBER, 0, RtfFontList.FONT_NUMBER.Length); result.Write(t = IntToByteArray(fontNumber), 0, t.Length); } if (this.fontSize != Font.UNDEFINED) { result.Write(FONT_SIZE, 0, FONT_SIZE.Length); result.Write(t = IntToByteArray(fontSize * 2), 0, t.Length); } if (this.fontStyle != UNDEFINED) { if ((fontStyle & STYLE_BOLD) == STYLE_BOLD) { result.Write(FONT_BOLD, 0, FONT_BOLD.Length); } if ((fontStyle & STYLE_ITALIC) == STYLE_ITALIC) { result.Write(FONT_ITALIC, 0, FONT_ITALIC.Length); } if ((fontStyle & STYLE_UNDERLINE) == STYLE_UNDERLINE) { result.Write(FONT_UNDERLINE, 0, FONT_UNDERLINE.Length); } if ((fontStyle & STYLE_STRIKETHROUGH) == STYLE_STRIKETHROUGH) { result.Write(FONT_STRIKETHROUGH, 0, FONT_STRIKETHROUGH.Length); } if ((fontStyle & STYLE_HIDDEN) == STYLE_HIDDEN) { result.Write(FONT_HIDDEN, 0, FONT_HIDDEN.Length); } if ((fontStyle & STYLE_DOUBLE_STRIKETHROUGH) == STYLE_DOUBLE_STRIKETHROUGH) { result.Write(FONT_DOUBLE_STRIKETHROUGH, 0, FONT_DOUBLE_STRIKETHROUGH.Length); result.Write(t = IntToByteArray(1), 0, t.Length); } if ((fontStyle & STYLE_SHADOW) == STYLE_SHADOW) { result.Write(FONT_SHADOW, 0, FONT_SHADOW.Length); } if ((fontStyle & STYLE_OUTLINE) == STYLE_OUTLINE) { result.Write(FONT_OUTLINE, 0, FONT_OUTLINE.Length); } if ((fontStyle & STYLE_EMBOSSED) == STYLE_EMBOSSED) { result.Write(FONT_EMBOSSED, 0, FONT_EMBOSSED.Length); } if ((fontStyle & STYLE_ENGRAVED) == STYLE_ENGRAVED) { result.Write(FONT_ENGRAVED, 0, FONT_ENGRAVED.Length); } } if (color != null) { color.WriteBegin(result); } }