`======================================================================
` Microsoft Product Support Services Application Note (Text File)
` GC0165: RICH-TEXT FORMAT (RTF) SPECIFICATION
`======================================================================
` Revision Date: 6/92
` No Disk Included
`
`The following information applies to using RTF version 1.0 with
`Microsoft MS-DOS(R), Windows(TM), OS/2(R), and Apple(R) Macintosh(R)
`Applications.
`
` --------------------------------------------------------------------
`| INFORMATION PROVIDED IN THIS DOCUMENT AND ANY SOFTWARE THAT MAY |
`| ACCOMPANY THIS DOCUMENT (collectively referred to as an |
`| Application Note) IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY |
`| KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO |
`| THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A |
`| PARTICULAR PURPOSE. The user assumes the entire risk as to the |
`| accuracy and the use of this Application Note. This Application |
`| Note may be copied and distributed subject to the following |
`| conditions: 1) All text must be copied without modification and |
`| all pages must be included; 2) If software is included, all files |
`| on the disk(s) must be copied without modification [the MS-DOS(R) |
`| utility DISKCOPY is appropriate for this purpose]; 3) All |
`| components of this Application Note must be distributed together; |
`| and 4) This Application Note may not be distributed for profit. |
`| |
`| Copyright (c) 1989-1992 Microsoft Corporation. All Rights Reserved.|
`| Microsoft and MS-DOS are registered trademarks and Windows is a |
`| trademark of Microsoft Corporation. OS/2 is a registered trademark |
`| licensed to Microsoft Corporation. Apple, Macintosh, and TrueType |
`| are registered trademarks and QuickDraw is a trademark of Apple |
`| Computer, Inc. IBM and Personal System/2 are registered trademarks |
`| of International Business Machines Corporation. PostScript is a |
`| registered trademark of Adobe Systems, Inc. Times Roman, Palatino, |
`| and Helvetica are registered trademarks of Linotype AG and/or its |
`| subsidiaries. Swiss is a trademark of Bitstream, Inc. ITC Zapf |
`| Chancery is a registered trademark of the International Typeface |
`| Corporation. MathType is a trademark of Design Science, Inc. This |
`| document was created using Microsoft Word for Windows. |
` --------------------------------------------------------------------
`
`
`
` OVERVIEW
` ========
`
`The rich-text format (RTF) standard is a method of encoding formatted
`text and graphics for easy transfer between MS-DOS, Windows, OS/2, and
`Apple Macintosh applications.
`
`The RTF standard provides a format for text and graphics interchange
`that can be used with different output devices, operating
`environments, and operating systems. RTF uses the ANSI, PC-8,
`Macintosh, or IBM PC character set to control the representation and
`formatting of a document, both on the screen and in print. With the
`RTF standard, you can transfer documents created under different
`operating systems and with different software applications among those
`operating systems and applications.
`
`Software that takes a formatted file and turns it into an RTF file is
`called a "writer." An RTF writer separates the application’s control
`information from the actual text and writes a new file containing the
`Page 1
`
`Ex. 1009 - Page 1 of 37
`
`Groupon, Inc.
`Exhibit 1009
`
`
`
`1009.txt
`text and the RTF groups associated with that text. Software that
`translates an RTF file into a formatted file is called a "reader."
`
`
` RTF SYNTAX
` ==========
`
`An RTF file consists of unformatted text, control words, control
`symbols, and groups. For ease of transport, a standard RTF file can
`consist of only 7-bit ASCII characters. However, Word for Windows uses
`8-bit characters in the RTF stream given to converter DLLs.
`
`A "control word" is a specially formatted command that RTF uses to
`mark printer control codes and information that applications use to
`manage documents. A control word takes the following form:
`
` \<LetterSequence>[<NumericParameter>]<delimiter>
`
`For example:
`
` A B C
` | | |
` | ----- |
` \ r t f 1
`
` A A backslash begins each control word
` B Letter sequence
` C Numeric parameter
`
`The "Letter Sequence" is made up of uppercase or lowercase alphabetic
`characters between A and Z inclusive.
`
`The "Numeric Parameter" begins with a digit or a minus sign (-). The
`range of the values for the numeric parameter is -32,767 through
`32,767. However, Microsoft Word for Windows, Word for OS/2, and Word
`for the Macintosh restrict the range to -31,680 through 31,680. If a
`numeric parameter immediately follows the control word, this parameter
`becomes part of the control word and the delimiter follows the
`parameter.
`
`The "delimiter" marks the end of an RTF control word or symbol. A
`delimiter can be one of the following:
`
` - A space. If a space delimits a control word, the space does not
` appear in the document. Any characters following the delimiter,
` including spaces, do appear in the document. For this reason, you
` should use spaces only where necessary; do not use spaces merely to
` break up RTF code.
`
` - A backslash (\), opening brace ({), or closing brace (}). These
` characters are used to mark the beginning of a new control word or
` symbol, the beginning of a group, and end of a group, respectively.
` More information about control symbols and groups is provided later
` in this document.
`
` - Any character other than a letter or a digit. In this case, the
` character terminates the control word but is not actually part of
` the control word. The character is considered part of the document
` text.
`
`Some control words govern properties that have only two states (for
`example, bold, which is either turned on or turned off). When such a
`control word has no parameter or has a nonzero parameter, it is
`Page 2
`
`Ex. 1009 - Page 2 of 37
`
`
`
`1009.txt
`assumed that the control word turns on the property. When such a
`control word has a parameter of 0 (zero), it is assumed that the
`control word turns off the property. For example, \b turns on bold,
`whereas \b0 turns off bold.
`
`A "control symbol" consists of a backslash followed by a single,
`nonalphabetic character. For example, \~ represents a nonbreaking
`space. Control symbols take no delimiters.
`
`A "group" consists of text and control words or control symbols
`enclosed in braces ({ }). The opening brace indicates the start of the
`group and the closing brace indicates the end of the group. Each group
`specifies the text affected by the group and the different attributes
`of that text. The RTF file can also include groups for fonts, styles,
`screen color, pictures, footnotes, annotations, headers and footers,
`summary information, fields, and bookmarks, as well as document-,
`section-, paragraph-, and character-formatting properties. If the
`font, style, screen color, and summary information groups and document
`formatting properties are included, they must precede the first plain-
`text character in the document. These groups form the RTF file header.
`If the group for fonts is included, it should precede the group for
`styles. If any group is not used, it can be omitted. The groups are
`discussed in the following sections.
`
`Certain groups, referred to as "destinations," mark the beginning of a
`collection of related text that could appear at another position, or
`destination, within the document. Destinations can also be text that
`is used but should not appear within the document at all. Destinations
`are sometimes distinguished from other groups by a \* control symbol
`immediately following the opening brace of the group. The \* is
`followed by a control word that defines the type of the destination.
`This control symbol identifies destinations whose related text should
`be ignored if the RTF reader does not recognize the destination. (RTF
`writers should follow the convention of using this control symbol when
`adding new control words.) Destinations whose related text should be
`inserted into the document even if the RTF reader does not recognize
`the destination should not use \*. An example of a destination is the
`\footnote group, where the footnote text follows the control word.
`
`Formatting specified within a group affects only the text within that
`group. Generally, text within a group inherits the formatting of the
`text in the preceding group. However, Microsoft implementations of RTF
`assume that the footnote, header and footer, and annotation groups
`(described later in this document) do not inherit the formatting of
`the preceding text. Therefore, to ensure that these groups are always
`formatted correctly, you should set the formatting within these groups
`to the default with the \sectd, \pard, and \plain control words, and
`then add any desired formatting.
`
`The control words, control symbols, and braces constitute control
`information. All other characters in the file are plain text. The
`following is an example of plain text that does not exist within a
`group:
`
` ...
` \linex0endnhere \pard\plain \fs20 This is plain text.
` ...
`
`The phrase, "This is plain text" is not part of a group and is treated
`as document text.
`
`As previously mentioned, the backslash (\) and braces ({ }) have
`special meaning in RTF. To use these characters as text, precede them
`Page 3
`
`Ex. 1009 - Page 3 of 37
`
`
`
`with a backslash, as follows:
`
`1009.txt
`
` \\
` \{
` \}
`
`
` CONVENTIONS OF AN RTF READER
` ============================
`
`The reader of an RTF stream is concerned with the following:
`
` - Separating control information from plain text
` - Acting on control information
` - Collecting and properly inserting text into the document, as
` directed by the state of the current group
`
`The process of acting on control information is designed to be
`relatively simple. Some control information only contributes special
`characters to the plain text stream. Other information changes the
`"program state," which includes properties of the document as a whole,
`or changes a collection of "group states," which applies to parts of
`the document.
`
`As previously mentioned, a group state can specify the following:
`
` - The "destination," or part of the document that the plain text is
` constructing
` - Character formatting properties, such as bold or italic
` - Paragraph formatting properties, such as justified or centered
` - Section formatting properties, such as the number of columns
` - Table formatting properties, which define the number of cells and
` dimensions of a table row
`
`An RTF reader performs the following procedure:
`
` 1. The reader reads the next character.
`
` 2. If the next character is:
`
` - An opening brace, the reader stores the current state of the
` document on the stack.
`
` - A closing brace, the reader retrieves the current state of
` the document from the stack.
`
` - A backslash, the reader marks the beginning of an RTF
` control. The reader collects the control word or control
` symbol and its parameter, if any, and carries out the action
` prescribed for that control. The meaning of each of the
` controls is discussed in the section "Contents of an RTF
` File" in this document. The read pointer is left on the next
` nonspace delimiter following the control.
`
` - Anything other than an opening brace, closing brace, or
` backslash, the reader assumes that the character is plain
` text and writes the character to the current destination
` using the current formatting properties.
`
` 3. The reader then reads the next character.
`
`If the RTF reader does not recognize a particular control word or
`control symbol, the reader ignores it. When the reader encounters a
`Page 4
`
`Ex. 1009 - Page 4 of 37
`
`
`
`1009.txt
`control word or control symbol preceded by an opening brace, the
`reader recognizes the control as part of a group. The reader saves the
`current state on the stack but does not change the state. When the
`reader encounters a closing brace, the reader retrieves the current
`state from the stack, thereby resetting the current state. If the \*
`control symbol precedes the unknown control word, \* defines a
`destination group and is preceded by an opening brace. The RTF reader
`will discard all text and subgroups up to and including the brace that
`closes this group.
`
`For control words or control symbols recognized by the RTF reader, the
`possible actions are as follows:
`
` Action Description
` ------ -----------
`
` Change The RTF reader changes the destination to
` destination the destination described in the table
` entry. Destination changes are legal only
` immediately after an opening brace. (Other
` restrictions may also apply; for example,
` footnotes cannot be nested.) Many
` destination changes imply that the current
` property settings will be reset to their
` default settings. Examples of control
` words that change the destination are
` \footnote, \header, \footer, \pict, \info,
` \fonttbl, \stylesheet, and \colortbl.
`
` Change The RTF reader changes the property as
` formatting described in the table entry. The entry
` property specifies whether a parameter is required.
`
` Insert special The reader inserts into the document the
` character character code or codes described in the
` table entry.
`
` Insert special The reader inserts into the document the
` character and character code or codes described in the
` perform action table entry and performs whatever other
` action the entry specifies. For example,
` when Microsoft Word interprets \par, Word
` inserts a paragraph mark in the document,
` along with the paragraph properties
` belonging to that paragraph mark.
`
`
` CONTENTS OF AN RTF FILE
` =======================
`
`An RTF file can contain combinations of the following elements:
`
`THE RTF VERSION
`===============
`
`An entire RTF file is considered a group and must be enclosed in
`braces. The control word \rtf<N> must follow the opening brace. The
`numeric parameter <N> identifies the version of the RTF standard used.
`The RTF standard described in this document is version 1.0.
`
`THE CHARACTER SET
`
`Page 5
`
`Ex. 1009 - Page 5 of 37
`
`
`
`=================
`
`1009.txt
`
`After specifying the RTF version, you must declare the character set.
`The control word for the character set must precede any plain text or
`any table control words. The RTF specification currently supports the
`following character sets:
`
` Control Word Character Set
` ------------ -------------
`
` \ansi ANSI (the default)
`
` \mac Apple Macintosh
`
` \pc IBM(R) PC Code Page 437
`
` \pca IBM PC Code Page 850, used by IBM Personal
` System/2(R) (not implemented in version 1.0 of
` Microsoft Word for OS/2)
`
`The Font Table
`--------------
`
`This group begins with the control word \fonttbl and contains
`descriptions of fonts. All fonts available to the RTF writer can be
`included in the font table, even if the document doesn’t use all the
`fonts.
`
`A font is defined by a font number, a font family, and a font name as
`shown in the following example:
`
` A B C D
` | | | |
` -------- | ------- ---------
` {\fonttbl\f0\froman Tms Rmn;}...
`
` A Control word
` B Font number
` C Font family
` D Font name
`
`Semicolons separate one font from the next. The font numbers represent
`the full font definitions in the group and vary with each document.
`The font families are listed below:
`
` Control Word Font Family
` ------------ -----------
`
` \fnil Unknown or default fonts (the default)
`
` \fRoman Roman, proportionally spaced serif fonts (for
` example, Times Roman(R) and Palatino(R))
`
` \fswiss Swiss(TM), proportionally spaced sans serif fonts
` (for example, Swiss Helvetica(R))
`
` \fmodern Fixed-pitch serif and sans serif fonts (for
` example, Courier and Pica)
`
` \fscript Script fonts (for example, Cursive)
`
` \fdecor Decorative fonts (for example, Old English and
` ITC Zapf Chancery(R))
`Page 6
`
`Ex. 1009 - Page 6 of 37
`
`
`
`1009.txt
`
` \ftech Technical, symbol, and mathematical fonts (for
` example, Symbol)
`
`If an RTF file uses a default font, the default font number is
`specified with the \deff<N> control word, which must precede the font-
`table group. The RTF writer supplies the default font number used in
`the creation of the document as the numeric argument <N>. The RTF
`reader then translates this number through the font table into the
`most similar font available on the reader’s system.
`
`THE STYLE SHEET
`===============
`
`The style sheet group begins with the control word \stylesheet. This
`group contains definitions and descriptions of the various styles used
`in the document. The style sheet is declared only once, before any
`document text. All styles in the document’s style sheet can be
`included, even if not all the styles are used.
`
` Control Word Meaning
` ------------ -------
`
` \sbasedon<N> Defines the number of the style on which the
` current style is based. Word for Windows defaults
` to the Normal style--style number 222--if
` \sbasedon is omitted.
`
` \snext<N> For paragraph styles, \snext defines the style
` automatically assigned to a paragraph created
` following the paragraph with the current style.
` If \snext omitted, the next paragraph is given
` the same style as the current paragraph.
`
` \keycode Specified within the description of a style in
` the style sheet in the RTF header. The syntax for
` this group is {\*\keycode <Keys>} where <Keys>
` are the characters used in the key code. For
` example, a Normal style may be defined {\s0
` {\*\keycode \shift\ctrl n}Normal;} within the RTF
` style sheet. See the "Special Characters" control
` words for the characters outside of the
` alphanumeric range that can be used.
`
`An example of an RTF style sheet and styles follows:
`
` ...
` --
` | {\stylesheet{\fs20 \sbasedon222\snext10{keycode \shift...}
` A---| {\s1 \ar \fs20 \sbasedon0\snext1 FLUSHRIGHT}{\s2\fi...}
` | \sbasedon0snext2 IND:}}
` --
` ...
` --
` | \widowctrl\ftnbj\ftnrestart \sectd \linex0\endnhere
` | \pard\plain \fs20 This is Normal style.
` B---| \par \pard\plain \s1
` | This is right justified. I call this style FLUSHRIGHT.
` | \par \pard\plain \s2
` | This is an indented paragraph. I call this style IND...
` --
` \par}
`
`Page 7
`
`Ex. 1009 - Page 7 of 37
`
`
`
`1009.txt
`
` ...
`
` A Style sheet
` B Styles applied to text
`
` This is Normal Style.
` This is right justified. I call this style FLUSHRIGHT.
` This is an indented paragraph. I call this style IND. It produces
` a hanging indent.
`
`
`In this example, PostScript(R) is declared but not used. Some of the
`control words in this example are discussed in the following sections.
`
`THE COLOR TABLE
`===============
`
`Screen colors, character colors, and other color information are
`contained in the color table group. The control word \colortbl begins
`this group. Additional control words for red, green, and blue and the
`foreground and background colors then use parameter values (0-255)
`corresponding to the color indexes used by Microsoft Windows to define
`the amount of red, green, and blue that makes up a color. For more
`information on color setup, see your Windows documentation.
`
`The following are valid control words for this group:
`
` Control Word Meaning
` ------------ -------
`
` \red<N> Red index
` \green<N> Green index
` \blue<N> Blue index
` \cf<N> Foreground color (the default is 0)
` \cb<N> Background color (the default is 0)
`
`Each definition must be delimited by a semicolon, even if the
`definition is omitted. If a color definition is omitted, the RTF
`reader uses its default color. In the example that follows, three
`colors are defined. The first color is omitted, as shown by the
`semicolon following the \colortbl control word.
`
` ...
` {\colortbl;\red0\green0\blue0;\red0\green0\blue255;}
` ...
`
`The following example defines a block of text in color (where
`supported). Note that the cf/cb index is the index of an entry in the
`color table, which represents a red/green/blue color combination.
`
` ...
` {\f1\cb1\cf2 This is colored text. The background is color
` 1 and the foreground is color 2.
` ...
`
`If the file is translated for software that does not display color,
`the reader ignores the color table group.
`
`PICTURES
`========
`
`Page 8
`
`Ex. 1009 - Page 8 of 37
`
`
`
`1009.txt
`An RTF file can include picture files created with other applications.
`These files are in hexadecimal (the default) or binary format. The
`control word \pict begins this group. Control words that define and
`describe the picture parameters follow the \pict control word. These
`control words are listed in the following table (some measurements in
`this table are in twips; a twip is one-twentieth of a point):
`
` General
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ -------
`
` \macpict The source file of the picture is QuickDraw(TM).
`
` \pmmetafile<N> The source file of the picture is an OS/2
` metafile; the <N> argument identifies the
` metafile type.
`
` \wmetafile<N> The source file of the picture is a Windows
` metafile; the <N> argument identifies the
` metafile type (the default is 1, meaning the
` metafile type is MM_TEXT).
`
` \dibitmap<N> The source file of the picture is a device
` independent bitmap; the <N> argument identifies
` the bitmap type (the default is 0).
`
` \wbitmap<N> The source file of the picture is a bitmap; the
` <N> argument identifies the bitmap type (the
` default is 0, meaning that the bitmap is a
` logical bitmap).
`
` Bitmap Information
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ -------
`
` \wbmbitspixel<N> The number of bitmap bits per pixel (the default
` is 1).
` \wbmplanes<N> The number of bitmap planes (the default is 1).
` \wbmwidthbytes<N> The bitmap width in bytes.
`
` Picture Size, Scaling, and Cropping
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ -------
`
` \picw<N> The <xExt> field if the picture is a metafile;
` the picture width in pixels if the picture is a
` bitmap or is from QuickDraw.
`
` \pich<N> The <yExt> field if the picture is a metafile;
` the picture height in pixels if the picture is a
` bitmap or from QuickDraw.
`
` \picwgoal<N> The desired width of the picture in twips.
`
` \pichgoal<N> The desired height of the picture in twips.
`
` \picscalex<N> The horizontal scaling value; the <N> argument is
`Page 9
`
`Ex. 1009 - Page 9 of 37
`
`
`
`1009.txt
` a value representing a percentage (the default is
` 100).
`
` \picscaley<N> The vertical scaling value; the <N> argument is a
` value representing a percentage (the default is
` 100).
`
` \picscaled Scales the picture to fit within the specified
` frame; used only with \macpict pictures.
`
` \piccropt<N> The top cropping value in twips; a positive value
` crops toward the center of the picture; a
` negative value crops away from the center, adding
` a space border around the picture (the default is
` 0).
`
` \piccropb<N> The bottom cropping value in twips; a positive
` value crops toward the center of the picture; a
` negative value crops away from the center, adding
` a space border around the picture (the default is
` 0).
`
` \piccropl<N> The left cropping value in twips; a positive
` value crops toward the center of the picture; a
` negative value crops away from the center, adding
` a space border around the picture (the default is
` 0).
`
` \piccropr<N> The right cropping value in twips; a positive
` value crops toward the center of the picture; a
` negative value crops away from the center, adding
` a space border around the picture (the default is
` 0).
`
` Picture Border
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ --------
`
` \brdrs A single picture border.
` \brdrdb A double picture border.
` \brdrth A thick picture border.
` \brdrsh A shadow picture border.
` \brdrdot A dotted picture border.
` \brdrhair A hairline picture border.
`
` \brdrw<N> <N> is the width in twips of the picture border
` line. This control should follow the picture
` border controls \brdrt, \brdrr, \brdrb, and
` \brdrl.
`
` \brdrcf<N> <N> is the color of the picture border from the
` color table in the RTF header. This control
` should follow the picture border controls \brdrt,
` \brdrr, \brdrb, and \brdrl.
`
` Picture Background Shading
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ -------
`
`
`Page 10
`
`Ex. 1009 - Page 10 of 37
`
`
`
`1009.txt
` \shading<N> <N> is the shading of the picture in hundredths
` of a percent.
`
` \bghoriz Specifies a horizontal background pattern for the
` picture.
`
` \bgvert Specifies a vertical background pattern for the
` picture.
`
` \bgfdiag Specifies a forward diagonal background pattern
` for the picture (\\\\).
`
` \bgbdiag Specifies a backward diagonal background pattern
` for the picture (////).
`
` \bgcross Specifies a cross-hatched background pattern for
` the picture.
`
` \bgdcross Specifies a diagonal cross-hatched background
` pattern for the picture.
`
` \bgdkhoriz Specifies a dark horizontal background pattern
` for the picture.
`
` \bgdkvert Specifies a dark vertical background pattern for
` the picture.
`
` \bgdkfdiag Specifies a dark forward diagonal background
` pattern for the picture (\\\\).
`
` \bgdkbdiag Specifies a dark backward diagonal background
` pattern for the picture (////).
`
` \bgdkcross Specifies a dark cross-hatched background pattern
` for the picture.
`
` \bgdkdcross Specifies a dark diagonal cross-hatched
` background pattern for the picture.
`
` \cfpat<N> <N> is the line color of the background pattern.
`
` \cbpat<N> <N> is the background color of the background
` pattern.
`
` Picture Data
` --------------------------------------------------------------------
`
` Control Word Meaning
` ------------ -------
`
` \bin<N> The picture is in binary format; the numeric
` parameter <N> is the number of bytes that follow.
`
`The \wbitmap control word is optional; if neither \wmetafile nor
`\macpict is specified, the picture is assumed to be a Windows bitmap.
`If \wmetafile is specified, the <N> argument can be one of the
`following types:
`
` Type <N> Argument
` ---- -------------
`
` MM_TEXT 1
` MM_LOMETRIC 2
`
`Page 11
`
`Ex. 1009 - Page 11 of 37
`
`
`
` MM_HIMETRIC 3
` MM_LOENGLISH 4
` MM_HIENGLISH 5
` MM_TWIPS 6
` MM_ISOTROPIC 7
` MM_ANISOTROPIC 8
`
`1009.txt
`
`If \pmmetafile is specified, the <N> argument can be one of the
`following types:
`
` Type <N> Argument
` ---- -------------
`
` PU_ARBITRARY 4
` PU_PELS 8
` PU_LOMETRIC 12
` PU_HIMETRIC 16
` PU_LOENGLISH 20
` PU_HIENGLISH 24
` PU_TWIPS 28
`
`Be careful with spaces following control words when dealing with
`pictures in binary format. When reading files, RTF considers the first
`space after a control word the delimiter and subsequent spaces part of
`the document text. Therefore, any extra spaces are attached to the
`picture, with unpredictable results.
`
`RTF writers should not use the carriage-return/linefeed (CRLF)
`combination to break up pictures in binary format. If they do, the
`CRLF is treated as literal text and considered part of the picture
`data.
`
`The picture in hexadecimal or binary format follows the picture-group
`control words. The following example illustrates the group format:
`
` A B C D E
` | | | | |
` -------- ------- ------ ------------- ----------
` {\pict\wbitmap0\picw170\pich77\wbmbitspixel1\wbmplanes1
`
` F G
` | |
` --------------- -----------
` \wmbwidthbytes22\picwgoal505
`
` H--- \pichgoal221
` I--- \picscalex172
` J--- \picscaley172
` - 49f2000000000273023d1101a030
` | 3901000a000000000273023d98
` | 0048000200000275
` | 02040000200010275023e000000000
` K--| 273023d000002b90002b90002
` | b90002b90002b9
` | 0002b90002b90002b90002b90002b90002
` | b92222b90002b90002b90
` | 002b90002b9
` - 0002b90002b90002b90002b9000
` ...
` A Source
` B Width
` C Height
` D Bits per pixel
`
`Page 12
`
`Ex. 1009 - Page 12 of 37
`
`
`
`1009.txt
`
` E Bitmap planes
` F Width of picture in bytes
` G Desired picture width
` H Desired picture height
` I Horizontal scaling value
` J Vertical scaling value
` K Hexadecimal data
`
` NOTE: The controls \pichgoal, \picscalex, and \picscaley in
` this example are on separate lines for the purpose of
` illustration only. In actual RTF code, they can be included on
` the same line.
`
`FOOTNOTES
`=========
`
`The group containing footnote text begins with the control word
`\*\footnote. Footnotes are anchored to the character that immediately
`precedes the footnote group. If automatic footnoting is defined, the
`group can be preceded by a footnote reference character, identified by
`the control word \chftn.
`
`The following is an example of a group containing footnotes:
`
` ...
` \ftnbj\ftnrestart \sectd \\linemod0\linex0\endnhere
` \pard\plain \ri1170 \fs20 {pu