Microsoft® Word	®	
Versions:	97	Microsoft Technical Support	
Subject:	Word Rich Text Format (RTF) Addendum	Application Note	
Contents:	49 Pages, No Disk	5/97- GC1282	

Table of Contents

Introduction	2
Header	2
Unicode RTF	2
Document Text	4
Destination Text	4
Font Table	4
Style Sheet	4
List Table	5
Top-level List Properties	5
List Levels	5
Bullets and Numbering (Lists)	8
Document Area	8
Document Formatting Properties	8
Section Text	10
Section Formatting Properties	10
Paragraph Text	11
Paragraph Formatting Properties	11
Paragraph Borders	11
Positioned Objects and Frames	11
Table Definitions	12
Character Text	12
Character Formatting Properties	12
Character Borders and Shading	14
Information Group	15
Pictures	15
Objects	16
Drawing Objects (Shapes)	16
Basic Format	16
Drawing Object Properties	18
Fields	34
Form Fields	35
Word 97 (Asian Versions) Specific Properties	36
Appendix A: Table of RTF Control Words and Types	38

Introduction
This document contains the information necessary to update the RTF Specification to Word 97 (all platforms). It is meant to be used in conjunction with the full RTF Specification (version 1.4 or later) and assumes that you have read that document. Use this document if you are familiar with the full specification and want to learn what changes are necessary to update your RTF reader or writer to be compatible with Word 97.

An updated version of the complete specification (GC0165.exe), version 1.5, is now available from Microsoft Technical Support. You can obtain this document from the Microsoft Software Library which is available on the World Wide Web at the following address:

http://www.microsoft.com/kb/softlib/
Header
The header has the following syntax:
<header>	\ rtf <charset> \ deff? <fonttbl> <filetbl>? <colortbl>? <style sheet>? <listtables>><revtbl>?	

Each of the various header tables should appear in the order listed in the previous table. Document properties can occur before and between the header tables.
A property must be defined before being referenced, specifically:
•	The style sheet must occur before any style usage.
•	The font table must precede any reference to a font.
•	The \deff keyword must precede any text without an explicit reference to a font, because it specifies the font to use in such cases.
Unicode RTF
Word 97 is a partially Unicode-enabled application. Text is handled using the 16-bit Unicode character encoding scheme. Expressing this text in RTF requires a new mechanism, because until this release (version 1.5), RTF has only handled 7-bit characters directly and 8-bit characters encoded as hexadecimal. The Unicode mechanism described here can be applied to any RTF destination or body text.
Control word	Meaning	
\ansicpgN	This keyword represents the ANSI code page that is used to perform the Unicode to ANSI conversion when writing RTF text. N represents the code page in decimal. This is typically set to the default ANSI code page of the run-time environment (for example \ansicpg1252 for U.S. Windows®). The reader can use the same ANSI code page to convert ANSI text back to Unicode. This keyword should be emitted in the RTF header section right after the \ansi, \mac, \pc or \pca keyword.	
\upr	This keyword represents a destination with two embedded destinations, one represented using Unicode and the other using ANSI. This keyword operates in conjunction with the \ud keyword to provide backward compatibility. The general syntax is as follows: {\upr{keyword ansi_text}{\*\ud{keyword Unicode_text}}} Notice that this keyword-destination does not use the \* keyword; this forces the old RTF readers to pick up the ANSI representation and discard the Unicode representation.	
\ud	This is a destination that is represented in Unicode. The text is represented using a mixture of ANSI translation and use of \uN keywords to represent characters that do not have the exact ANSI equivalent.	
\uN	This keyword represents a single Unicode character which has no equivalent ANSI representation based on the current ANSI code page. N represents the Unicode character value expressed as a decimal number. This keyword is followed immediately by equivalent characters in ANSI representation. In this way, old readers will ignore the \uN keyword and pick up the ANSI representation properly. When this keyword is encountered, the reader should ignore the next N characters, where N corresponds to the last \ucN value encountered. As with all RTF keywords, a keyword-terminating space may be present (before the ANSI characters) that is not counted in the characters to skip. While this is not likely to occur, a \bin keyword, its argument, and the binary data that follows are considered one character for skipping purposes. If an RTF scope delimiter character (that is, an opening or closing brace) is encountered while scanning skippable data, the skippable data is considered to be ended before the delimiter. This makes it possible for a reader to perform some rudimentary error recovery. To include an RTF delimiter in skippable data, it must be represented using the appropriate control symbol (backslash) as in plain text. Any RTF control word or symbol is considered a single character for the purposes of counting skippable characters. An RTF writer, when it encounters a Unicode character with no corresponding ANSI character, should output \uN followed by the best ANSI representation it can manage. Also, if the Unicode character translates into an ANSI character stream with count of bytes differing from the current Unicode character byte count, it should emit the \ucN keyword prior to the \uN keyword to notify the reader of the change. RTF control words generally accept signed 16-bit numbers as arguments. For this reason, Unicode values greater than 32,767 must be expressed as negative numbers.	
\ucN	This keyword represents the number of bytes corresponding to a given \uN Unicode character. This keyword may be used at any time, and values are scoped like character properties. That is, a \ucN keyword applies only to text following the keyword, and within the same (or deeper) nested braces. On exiting the group, the previous \uc value is restored. The reader must keep a stack of  counts seen and use the most recent one to skip the appropriate number of characters when it encounters a \uN keyword. When leaving an RTF group that specified a \uc value, the reader must revert to the previous value. A default of 1 should be assumed if no \uc keyword has been seen in the current or outer scopes. A common practice is to emit no ANSI representation for Unicode characters within a Unicode destination context (that is, inside a \ud destination). Typically, the destination will contain a \uc0 control sequence. There is no need to reset the count on leaving the \ud destination because the scoping rules will ensure the previous value is restored.	
Document Text
Document text should be emitted as ANSI characters. If there are Unicode characters that do not have corresponding ANSI characters, they should be output using the \ucN and \uN keywords.
For example, the text LabGValue (Unicode characters 0x004c, 0x0061, 0x0062, 0x0393, 0x0056, 0x0061, 0x006c, 0x0075, 0x0065) should be represented as follows (assuming a previous \ucl):
Lab\u915Gvalue
Destination Text
Destination text is defined as any text represented in an RTF destination. A good example is the bookmark name in the \bkmkstart destination.
Any destination containing Unicode characters should be emitted as two destinations within a \upr destination to ensure both that old readers can read it properly and that no Unicode character encoding is lost when read with a new reader.
For example, a bookmark name LabGValue (Unicode characters 0x004c, 0x0061, 0x0062, 0x0393, 0x0056, 0x0061, 0x006c, 0x0075, 0x0065) should be represented as follows:
{\upr{\*\bkmkstart LabGValue}{\*\ud{\*\bkmkstart Lab\u915 Value}}}
The first sub-destination contains only ANSI characters, and is the representation that old readers will see. The second sub-destination is a \*\ud destination that contains a second copy of the \bkmkstart destination. This copy can contain Unicode characters and is the representation that Unicode-aware readers must pay attention to  (they should ignore the ANSI-only version).
Font Table
<panose>	<data>

Control word	Meaning	
\*\panose	Destination keyword. This destination contains a 10-byte Panose 1 number. Each byte represents a single font property as described by the Panose 1 standard specification.	
\fbiasN	Used to arbitrate between two fonts when a particular character can exist in either non-Far East or Far East font. Word 97 emits the \fbiasN keyword only in the context of bullets or list information (that is, a \listlevel destination). The default value of 0 for N indicates a non-Far East font. A value of 1 indicates a Far East font. Additional values may be defined in future releases.	
Style Sheet
Control word	Meaning	
\sautoupd	Automatically update styles.	
\shidden	Style does not appear in the Styles drop-down in the Style dialog box (on the Format menu, click Styles).	
List Table
Word 97 stores bullets and numbering information very differently from earlier releases. For example, in Word 6.0, number formatting data is stored individually with each paragraph. In Word 97, however, all of the formatting information is stored in a pair of document-wide list tables that act as a style sheet, and each individual paragraph stores only an index to one of the tables, like a style index.
There are two list tables in Word: the List Table (destination \listtable) and the List Override Table (destination \listoverridetable).
The first table Word stores is the List table. A List table is a list of lists (destination \list). Each list contains a number of list properties that pertain to the entire list, and a list of levels (destination \listlevel), each of which contains properties that pertain only to that level.
Top-level List Properties
Control word	Meaning	
\listidN	Each list must have a unique list ID which should be randomly generated. The value N is a long integer. The list ID cannot be between -1 and -5. 	
\listtemplateidN	Each list should have a unique template ID as well, which also should be randomly generated. The template ID cannot be -1. The value N is a long integer. 	
\listsimpleN	1 if the list has one level; 0 if the list has nine levels	
\listrestarthdnN	1 if the list restarts at each section; 0 if it doesn't. Used for Word 7.0 compatibility only. 	
\listname	The argument for \listname is a string that is the name of this list. Names allow ListNum fields to specify the list they belong to. This is a destination control word.	
List Levels
Each list consists of either one or nine list levels depending upon whether the \listsimple flag is set. Each list level contains a number of properties that specify the formatting for that level, such as the start-at value, the text string surrounding the number, its justification and indents, and so on.

Control word	Meaning	
\levelstartatN	N specifies the start-at value for the level.	
\levelnfcN	Specifies the number type for the level:  0	Arabic (1, 2, 3) 1	Uppercase Roman numeral (I, II, III) 2	Lowercase Roman numeral (i, ii, iii) 3	Uppercase letter (A, B, C) 4	Lowercase letter (a, b, c) 5	Ordinal number (1st, 2nd, 3rd) 6	Cardinal text number (One, Two Three) 7	Ordinal text number (First, Second, Third) 22	Arabic with leading zero (01, 02, 03, ..., 10, 11) 23	Bullet (no number at all) 255	No number	
\leveljcN	0	Left justified 1	Centered 2	Right justified	
\leveloldN	1 if this level was converted from Word 6.0 or 7.0, 0 if it is a native Word 97 level.	
\levelprevN	1 if this level includes the text from the previous level (used for Word 7.0 compatibility only); otherwise, the value is 0. This keyword will only be valid if the \leveloldN keyword is emitted.	
\levelprevspaceN	1 if this level includes the indentation from the previous level (used for Word 7.0 compatibility only); otherwise the value is 0. This keyword will only be valid if the \leveloldN keyword is emitted.	
\levelindentN	Minimum distance from the left indent to the start of the paragraph text (used for Word 7.0 compatibility only). This keyword will only be valid if the \leveloldN keyword is emitted.	
\levelspaceN	Minimum distance from the right edge of the number to the start of the paragraph text (used for Word 7.0 compatibility only). This keyword will only be valid if the \leveloldN keyword is emitted.	
\leveltext	The argument for this level should be the number format string for this level. The first character is the length of the string, and any numbers within the level should be replaced by the index of the level they represent. For example, a level three number such as "1.1.1." would generate the following RTF {\leveltext \'06\'00.\'01.\'02.} where'06 is the string length, \'00, \'01, and \'02 are the level place holders, and the periods are the surrounding text. This is a destination control word.	
\levelnumbers	The argument for this destination should be a string which gives the offsets into the \leveltext of the level place holders. In the "1.1.1." example above, the \levelnumbers RTF should be {\levelnumbers \'01\'03\'05}  because the level place holders have indices 1, 3, and 5. This is a destination control word.	
\levelfollowN	Specifies which character follows the level text:   0	Tab 1	Space 2	Nothing	
\levellegalN	1 if any list numbers from previous levels should be converted to arabic numbers; 0 if they should be left with the format specified by their own level's definition.	
\levelnorestartN	1 if this level does not restart its count each time a number of a higher level is reached; 0 if this level does restart its count each time a number of a higher level is reached.	

In addition to all of these properties, each list level can contain any character properties (all of which affect all text for that level) and any combination of three paragraph properties: left indents, first line left indents, and tabs—each of which must be of a the jclisttab type. These paragraph properties will be automatically applied to any paragraph in the list.

List Override Table
The List Override table is a list of list overrides (destination \listoverride). Each list override contains the listid of one of the lists in the List table, as well as a list of any properties it chooses to override. Each paragraph will contain a list override index (keyword ls) which is a 1-based index into this table. Most list overrides don't override any properties—instead, they provide a level of indirection to a list. There are generally two types of list overrides: (1) formatting overrides, which allow a paragraph to be part of a list and are numbered along with the other members of the list, but have different formatting properties; and, (2) start-at overrides, which allow a paragraph to share the formatting properties of a list, but have a different start-at values. The first element in the document with each list override index takes the start-at value the list override specifies as its value, while each subsequent element is assigned the number succeeding the previous element of the list.
List overrides have a few top-level keywords, including a \listoverridecount, which contains a count of the number of levels whose format is overridden. This \listoverridecount should always be either 1 or 9, depending upon whether the list to be overridden is simple or multilevel. All of the actual override information is stored within a list of list override levels (destination \lfolevel).
Control word	Meaning	
\listidN	Should exactly match the \listid of one of the lists in the List table. The value N is a long integer.	
\listoverridecountN	Number of list override levels within this list override (from 0 or 9).	
\ls	The (1-based) index of this \listoverride in the \listoverride table. This value should never be zero inside a \listoverride, and must be unique for all \listoverrides within a document. The valid values are from 1 to 2000.	

List Override Level
Each list override level contains flags to specify whether the formatting or start-at values are being overridden for each level. If the format flag (listoverrideformat) is given, the lfolevel should also contain a list level (listlevel). If the start-at flag (listoverridestart) is given, a start-at value must be provided. If the start-at is overridden but the format is not, then a levelstartat should be provided in the lfolevel itself. If both start-at and format are being overridden, put the levelstartat inside the listlevel contained in the lfolevel.
Control word	Meaning	
\listoverridestartN	Should exactly match the listID of one of the lists in the List Table. The value N is a long integer.	
\listoverrideformatN	Number of List Override Levels within this List Override (should be either 1 or 9).	
Bullets and Numbering (Lists)
Each paragraph that is part of a list must contain some keyword to indicate which list it is in, and which level of the list it belongs to. Word 97 also provides the flat text representation of each number (in the listtext destination). In RTF readers that don't understand Word 97 numbering, the paragraph number and the appropriate character properties will be inserted at the beginning of the paragraph. Any RTF reader that does understand Word 97 numbering should ignore the entire listtext destination.
Control word	Meaning	
\ls	Should exactly match the ls for one of the list overrides in the List Override table.	
\ilvl	The 0-based level of the list to which the paragraph belongs. For all simple lists, this should always be 0. For multilevel lists, it can be 0-8.	
\listtext	Contains the flat text representation of the number, including character properties. Should be ignored by any reader that understands Word 97 numbering. This is a destination control word.	
Document Area
Document Formatting Properties
Control Word	Meaning	
\windowcaption	Sets the caption text for the document window. This is a string value.	
\hlinkbase	The base address that is used for the path of all relative hyperlinks inserted in the document. This can be a path or an Internet address (URL). 	
\doctypeN	An integer (0-2) that describes the document type for AutoFormat: 0	General Document (for formatting most documents, the default) 1	Letter (for formatting letters, and used by Letter Wizard) 2	E-mail (for formatting e-mail, and used by WordMail)	
\fromtext	Indicates document was originally plain text.	
\deflangfe	Default language ID for Asian versions of Word. Deflangfe can also appear in the <header> portion of the RTF.	
Document views and zoom level	
\viewkindN	An integer (0-5) that represents the view mode of the document: 0	None 1	Page Layout view 2	Outline view 3	Master Document view 4	Normal view 5	Online Layout view	
\viewscaleN 	Zoom level of the document; the N argument is a value representing a percentage (the default is 100).	
\viewzkN	An integer (0 to 2) that represents the zoom kind of the document: 0	None 1	Full page 2	Best fit	
\private	Obsolete destination. It has no leading \*. It should be skipped.	
Compatibility Options	
\bdbfhdr	Print body before header/footer. Option for compatibility with Word for the Macintosh 5.x.	
\dntblnsbdb	Don't balance SBCS/DBCS characters. Option for compatibility with Word 6.0 (Japanese).	
\expshrtn	Expand character spaces on line ending with shift+return. Option for compatibility with Word 6.0 (Japanese).	
\lytexcttp	Don't center exact line height lines.	
\lytprtmet	Use printer metrics to lay out document.	
\msmcap	Small caps like Word for the Macintosh 5.x.	
\nolead	No external leading. Option for compatibility with Word for the Macintosh 5.x.	
\nospaceforul	Don't add space for underline. Option for compatibility with Word 6.0 (Japanese).	
\noultrlspc	Don't underline trailing spaces. Option for compatibility with Word 6.0 (Japanese).	
\noxlattoyen	Don't translate backslash to Yen sign. Option for compatibility with Word 6.0 (Japanese).	
\oldlinewrap	Lines wrap like Word 6.0.	
\sprsbsp	Suppress extra line spacing at bottom of page.	
\sprstsm	Does nothing. This keyword should be ignored.	
\wpjst	Do full justification like WordPerfect 6.x for Windows.	
\wpsp	Set the width of a space like WordPerfect 5.x.	
Page Borders	
\pgbrdrhead	Page border surrounds header.	
\pgbrdrfoot	Page border surrounds footer.	
\pgbrdrt	Page border top.	
\pgbrdrb	Page border bottom.	
\pgbrdrl	Page border left.	
\pgbrdrr	Page border right.	
\brdrartN	Page border art; the N argument is a value from 1-165 representing the number of the border.	
\pgbrdroptN	8	Page border measure from text. Always display in front option is set to off.  32	Page border measure from edge of page. Always display in front option is set to on. 40	Page border measure from edge of page. Always display in front option is set to off.	
\pgbrdrsnap	Align paragraph borders and table edges with page border.	
Track Changes (Revision Marks)	
\crauthN	Index into the revision table. The content of the Nth group in the revision table is considered to be the author of that revision. Note This keyword is used to indicate formatting revisions, such as bold, italic, and so on.	
\crdateN	Time of the revision. The 32-bit DTTM structure is emitted as a long integer.	
\revauthdelN	Index into the revision table. The content of the Nth group in the revision table is considered to be the author of that deletion. 	
\revdttmdelN	Time of the deletion. The 32-bit DTTM structure is emitted as a long integer.	

Note The color, width, border style, and border spacing keywords for page borders are the same as the keywords defined for paragraph borders.
Section Text
Section Formatting Properties
Control word	Meaning	
\stextflow	Section property for specifying text flow: 0	Text flows left to right and top to bottom 1	Text flows top to bottom and right to left, vertical 2	Text flows left to right and bottom to top 3	Text flows right to left and top to bottom 4	Text flows left to right and top to bottom, vertical 5	Text flows vertically, non-vertical font	

Note Page border properties can be used for document sections as well (page border properties are listed in the "Document Formatting" section on page 9 of this document).
Paragraph Text
Paragraph Formatting Properties
Control word	Meaning	
\outlinelevelN	Outline level of paragraph; the N argument is a value from 0-8 representing the outline level of the paragraph. In the default case, no outline level is specified (same as body text). 	
Paragraph Borders
Control word	Meaning	
\brdrdashsm	Dash border (small).	
\brdrdashd	Dot dash border.	
\brdrdashdd	Dot dot dash border.	
\brdrtriple	Triple border.	
\brdrtnthsg	Thick thin border (small).	
\brdrthtnsg	Thin thick border (small).	
\brdrtnthtnsg	Thin thick thin border (small).	
\brdrtnthmg	Thick thin border (medium).	
\brdrthtnmg	Thin thick border (medium).	
\brdrtnthtnmg	Thin thick thin border (medium).	
\brdrtnthlg	Thick thin border (large).	
\brdrthtnlg	Thin thick border (large).	
\brdrtnthtnlg	Thin thick thin border (large).	
\brdrwavy	Wavy border.	
\brdrwavydb	Double wavy border.	
\brdrdashdotstr	Striped border.	
\brdremboss	Emboss border.	
\brdrengrave	Engrave border.	
Positioned Objects and Frames
Control word	Meaning	
Text Wrapping		
\overlay	Text flows underneath frame.	
\posyin	Positions the paragraph vertically inside the reference frame.	
\posyout	Positions the paragraph vertically outside the reference frame.	
Table Definitions
Control word	Meaning	
\ tcelld	Sets table cell defaults.	
\clvertalt	Text is top-aligned in cell (the default).	
\clvertalc	Text is centered vertically in cell.	
\clvertalb	Text is bottom-aligned in cell.	
\cltxlrtb	Vertical text aligned left (direction bottom up).	
\cltxtbrl 	Vertical text aligned right (direction top down).	

Character Text
Character Formatting Properties
Control word	Meaning	
\animtextN 	Animated text properties: 1	Las Vegas lights 2	Blinking background 3	Sparkle text 4	Marching black ants 5	Marching red ants 6	Shimmer	
\strikedl	Double strikethrough.	
\embo	Emboss.	
\impr	Engrave.	
\ulth	Thick underline.	
\uldash	Dash underline.	
\uldashd	Dot dash underline.	
\uldashdd	Dot dot dash underline.	
\ulwave	Wave underline.	
\charscalexN 	Character scaling value; the N argument is a value representing a percentage (the default is 100).	

Paragraph numbers and ListNum fields track revision information with special properties applied to the paragraph mark and ListNum field, respectively. The special properties hold the "old" value of the number—the value it held when revision-mark tracking began. At display time, Word checks the current value of the number and compares it with this "old" value to tell if it has changed: if the numbers are different, the old value shows up as deleted and the new value as inserted; if the numbers are the same, Word displays the new value normally, with no revision information. If there was no old value, the new value shows up as inserted. The following table lists the RTF specifications for these special properties.

Control word	Meaning	
Track changes (Revision mark) properties for paragraph numbers	
\pnrauthN	Index into the revision table. The content of the Nth group in the revision table is considered to be the author of that revision. Note This keyword is used to indicate paragraph number revisions.	
\pnrdateN	Time of the revision. The 32-bit DTTM structure is emitted as a long integer.	
\pnrnot	Indicates if the paragraph number for the current paragraph is marked as "inserted."	
\pnrxstN	The keywords \pnrxst, \pnrrgb, \pnrpnbr, and \pnrnfc describe the "deleted number" text for the paragraph number. Their values are binary. Each of these keywords is represented as an array. The deleted number is written out with a \pnrstart keyword, followed by the array's keyword, followed by the first byte of the array, followed by the array's keyword followed by the second byte of the array's keyword, followed by the array's keyword followed by the third byte of the array's keyword, and so on. This sequence is followed by the \pnrstop keyword. \pnrxst is a 32-item Unicode character array (double bytes for each character) with a length byte as the first number—it has the actual text of the number, with "level" placeholders written out as digits from 0-8.	
\pnrrgbN	Nine-item array of indices of the level place holders in the \pnrxst array.	
\pnrnfcN	Nine-item array of the number format codes of each level (using the same values as the \levelnfc keyword). The number format code is represented as a short integer. 	
\pnrpnbrN	Nine-item array of the actual values of the number in each level. The number is represented as a long integer	
\pnrstartN	The \pnrxst, \pnrrgb, \pnrpnbr, and \pnrnfc arrays  are each preceded by the \pnrstart keyword, whose argument is 0-3 depending on the array.	
\pnrstopN	The \pnrxst, \pnrrgb, \pnrpnbr, and \pnrnfc arrays are each terminated by the \pnrstop keyword, whose argument is the number of bytes written out in the array.	

Example:
Let's take an example of the number "3-4b." which represents the third level of the list. The following table lists the values of each array.

Array	Binary	Comment	
pnrxst	\'05\'00-\'01\'02	The length of the string is 5. Then, first level (level 0), followed by a dash, followed by the second and third levels (levels 1 and 2), followed by a period.	
pnrrgb	\'01\'03\'04	The level placeholders are at indices 1, 3, and 4 in the string.	
pnrnfc	\'00\'00\'04	The nfc values are arabic (0), arabic (0), and lower case letter (4).	
pnrpnbr	\'03\'04\'02	The numbers or 3, 4, and 2 (b)	

The RTF for this number is as follows:

\pnrstart0
\pnrxst0\pnrxst5\pnrxst0\pnrxst1\pnrxst0\pnrxst45\pnrxst0\pnrxst2\pnrxst0\pnrxst3\pnrxst0\pnrxst46
\pnrstop12

\pnrstart1
\pnrrgb1\pnrrgb3\pnrrgb4
\pnrrgb0\pnrrgb0\pnrrgb0
\pnrrgb0\pnrrgb0\pnrrgb0
\pnrstop9

\pnrstart2
\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc4
\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0
\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0\pnrnfc0
\pnrstop18

\pnrstart3
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr3
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr4
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr2
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrpnbr0\pnrpnbr0\pnrpnbr0\pnrpnbr0
\pnrstop36

Control word	Meaning	
Track Changes (Revision mark) properties for ListNum fields	
\dfrauthN	Index into the revision table. The content of the Nth group in the revision table is considered to be the author of that revision. (Note This keyword is used to indicate the deleted value of a ListNum field.)	
\dfrdateN	Time of the revision. The 32-bit DTTM structure is emitted as a long integer.	
\dfrxst	Unicode character array with a length byte	
\dfrstart	The \dfrxst array is preceded by the \dfrstart keyword.	
\dfrstop	The \dfrxst array is terminated by the \dfrstop keyword.	

Example:
Let's take the earlier example "3-4b." If you deleted this number, the RTF code would be

\dfrstart0\dfrxst0\dfrxst5\dfrxst0\dfrxst51\dfrxst0\dfrxst45\dfrxst0\dfrxst52
\dfrxst0\dfrxst66\dfrxst0\dfrxst46\dfrstop10

where 5 is the length byte, 51 is Unicode for "3," 45 is Unicode for "-," 52 is Unicode for "4," and so on.
Character Borders and Shading
Character shading has the following syntax:
<shading>	( \ chshdng | <pat>) \ chcfpat? \ chcbpat?	
<pat>	\ chbghoriz | \c hbgvert | \ chbgfdiag | \ chbgbdiag | \ chbgcross | \ chbgdcross | \ chbgdkhoriz | \ch bgdkvert | \ chbgdkfdiag | \ chbgdkbdiag | \ chbgdkcross | \ch bgdkdcross 	

Control word	Meaning	
\chbrdr	Character border (border always appears on all sides).	
\chshdngN	Character shading; the N argument is a value representing the shading of the text in hundreths of a percent.	
\chcfpatN	N is the fill color, specified as an index into the document's color table. 	
\chcbpatN	 N is the color of the background pattern, specified as an index into the document's color table.	
\chbghoriz	Specifies a horizontal background pattern for the text.	
\chbgvert	Specifies a vertical background pattern for the text.	
\chbgfdiag	Specifies a forward diagonal background pattern for the text ( \ \ \ \ ).	
\chbgbdiag	Specifies a backward diagonal background pattern for the text (////).	
\chbgcross	Specifies a cross background pattern for the text.	
\chbgdcross	Specifies a diagonal cross background pattern for the text.	
\chbgdkhoriz	Specifies a dark horizontal background pattern for the text.	
\chbgdkvert	Specifies a dark vertical background pattern for the text.	
\chbgdkfdiag	Specifies a dark forward diagonal background pattern for the text ( \ \ \ \ ).	
\chbgdkbdiag	Specifies a dark backward diagonal background pattern for the text (//// ).	
\chbgdkcross	Specifies a dark cross background pattern for the text.	
\chbgdkdcross	Specifies a dark diagonal cross background pattern for the text.	

Note The color, width, and border style keywords for character borders are the same as the keywords for paragraph borders.
Information Group
Control word	Meaning	
\nofcharsws	Number of characters without spaces. 	
Pictures
<picttype>	| \emfblip | \pngblip | \jpegblip

Control word	Meaning	
\emfblip	Source of the picture is an EMF (enhanced metafile).	
\pngblip	Source of the picture is a PNG.	
\jpegblip	Source of the picture is a JPEG.	
\shppict	Specifies a Word 97 picture. This is a destination control word.	
\nonshppict	Specifies that Word 97 has written a {\pict destination that it will not read on input. This keyword is for compatibility with other readers.	
\picprop	Indicates there are shape properties applied to an inline picture. This is a destination control word.	
\blipupiN	N represents units per inch on a picture (only certain image types need or output this control word).	
\blipuid XXXXX	Used as: {\*\blipuid XXXXX} where XXXX is a 16-byte identification number for the image.	
\bliptagN	A mostly unique identifier for a picture, where N is a long (32-bit) integer value.	

Example:
{\*\shppict {\pict \emfblip ….. }}{\nonshppict {\pict ….}}
Objects
Control word	Meaning	
Object Type		
\objhtml	An object type of HTML control.	
\objocx	An object type of OLE control.	
Drawing Objects (Shapes)
Basic Format
The basic format for drawing objects in RTF is as follows

{ \shp   ........ { \*\shpinst  { \spp  { \sn .......... }  { \sp .............. }  }  }
            { \shprslt   ............... }   }

The first destination (\shp) is always present. This control word groups everything related to a shape together. Following the destination change comes basic information regarding the shape. The following keywords with values can appear in any order after the \shp control word.
Control word	Meaning	
Shape keywords		
\shpleftN	The value N is a measurement in twips. Specifies position of shape from the left of the anchor.	
\shptopN	The value N is a measurement in twips. Specifies position of shape from top of the anchor.	
\shpbottomN	The value N is a measurement in twips. Specifies position of shape from bottom of the anchor.	
\shprightN	The value N is a measurement in twips. Specifies position of shape from right of the anchor.	
\shplidN	A number that is unique to each shape. This keyword is primarily used for linked text boxes. The value N is a long integer.	
\shpzN	Describes z-order of shape. It starts at 0 for the back-most shape and proceed to N for the top-most shape. The shapes that appear inside of the header-document will have a separate z-order as compared to the z-order of the main document's shapes. For instance the back-most shape in the header will have z-order number 0, and the back-most main-document shape will also have z-order number 0.	
\shpfhdrN	0 if the shape is in the main document; 1 if the shape is in the header document	
\shpbxpage 	The shape is positioned relative to the page in the x (horizontal) direction. 	
\shpbxmargin 	The shape is positioned relative to the margin in the x (horizontal) direction.	
\shpbxcolumn	The shape is positioned relative to the column in the x (horizontal) direction.	
\shpbypage 	The shape is positioned relative to the page in the y (vertical) direction.	
\shpbymargin 	The shape is positioned relative to the margin in the y (vertical) direction.	
\shpbypara	The shape is positioned relative to the paragraph in the y (vertical) direction.	
\shpwrN	Describes the type of wrap for the shape: 1	Wrap around top and bottom of shape (no text allowed beside shape) 2	Wrap around shape 3	None (wrap as if shape isn't present) 4	Wrap tightly around shape 5	Wrap text through shape	
\shpwrkN	Wrap on side (for types 2 and 4 for \shpwrN ): 0	Wrap both sides of shape 1	Wrap left side only 2	Wrap right side only 3	Wrap only on largest side	
\shpfblwtxtN	Describes relative z-ordering: 0	Text is below shape 1	Shape is below text	
\shplockanchor	Lock anchor for shape.	
\shptxt	Text for a shape. The text must come after all the other properties for the shape (inside the \shpinst destination) in the following format:  { \shptxt  Any Valid RTF for the current textbox }  Note For linked text boxes, the first text box of the linked set has the entire story, so all following text boxes will not have a \shptxt field.	
\shprslt	This is where Word 6.0/Word 7.0 drawn object RTF can be placed. 	
\shpgrp	Specifies a group shape. The parameters following this keyword are the same as those following \shp. The order of the shapes inside a group is from bottom to top in z-order.  Inside of a \shpgrp, no { \shprslt .... } fields would be generated (that is, only the root-level shape can have a \shprslt field (this field describes the entire group). For example: { \shpgrp  ....... { \shp ..... (and all sub-items as usual) } 	           { \shp ......(and all sub-items as usual) }  Note A { \shpgrp ...... } can be substituted for a { \shp ..... } at any place (to accomplish groups inside of groups).	

With the exception of \shplid, these keywords do not apply to shapes that are within a group (for more information groups, see the "Introduction" section of the RTF Specification, version 1.5). 

Control word	Meaning	
\background	Specifies the document background. This is a destination keyword. It contains the \shp keyword and all the shape properties.	
Drawing Object Properties
The { \shp ............ control word is followed by this:
{ \*\shpinst

The bulk of a shape is defined as a series of properties. Following the  { \*\shpinst   is a list of all the properties of a shape each in the following format:
{ \sp  { \sn PropertyName } { \sv PropertyValueInformation } }

The control word for the drawing object property is \sp. Each property has a pair of name (\sn) and value (\sv) control words placed in the shape property group. For example, the vertical flip property is represented as:
{\sp{\sn fFlipV}{\sv 1}}

Here, the name of the property is fFlipV and the value is 1 which indicates True. All shape properties follow this basic format. Only properties that have been explicitly set for a shape are written out in RTF format. Other properties assume the default values (a property can be set to the default value explicitly).

The following table describes all the names of properties for drawing objects along with the type of their corresponding value.

Property	Type of Value	Meaning	
Object Type			
Rotation	Angle	Rotation of the shape.	
FFlipV	Boolean	Vertical flip, applied after the rotation.	
FFlipH	Boolean	Horizontal flip, applied after the rotation.	
ShapeType		See below for values. 0 indicates user-drawn freeforms and polygons. 	
WzName	String	Shape name (only set through Visual Basic® for Applications).	
pWrapPolygonVertices	Array	Points of the text wrap polygon.	
dxWrapDistLeft	EMU	Left wrapping distance from text.	
dyWrapDistTop	EMU	Top wrapping distance from text.	
dxWrapDistRight	EMU	Right wrapping distance from text.	
dyWrapDistBottom	EMU	Bottom wrapping distance from text.	
fBehindDocument	Boolean	Place the shape behind text.	
fIsButton	Boolean	Specified whether the shape is a button.	
fHidden	Boolean	Do not display or print (only set through Visual Basic for Applications).	
Lock			
fLockRotation	Boolean	Lock rotation.	
fLockAspectRatio	Boolean	Lock aspect ratio.	
fLockAgainstSelect	Boolean	No selecting this shape.	
fLockCropping	Boolean	No cropping this shape.	
fLockVerticies	Boolean	No points edit mode.	
fLockText	Boolean	Do not edit text.	
fLockAdjustHandles	Boolean	Do not adjust.	
fLockAgainstGrouping	Boolean	Do not group this shape.	
Text Box			
dxTextLeft	EMU	Left internal margin of the text box.	
dyTextTop	EMU	Top internal margin of the text box.	
dxTextRight	EMU	Right internal margin of the text box.	
dyTextBottom	EMU	Bottom internal margin of the text box.	
WrapText		Wrap text at shape margins: 0	Square 1	Tight 2	None 3	Top Bottom 4	Through	
anchorText		Text anchor point: 0	Top 1	Middle 2	Bottom 3	Top Centered 4	Middle Centered 5	Bottom Centered 6	Bottom Centered Baseline	
txflTextFlow		Text flow: 0	Horizontal non-ASCII font 1	Top to bottom ASCII font 2	Bottom to top non-ASCII font 3	Top to bottom non-ASCII font 4	Horizontal ASCII font	
WordArt Effect			
gtextUNICODE	String	Unicode text string.	
gtextAlign		Alignment on curve: 0	Stretch each line of text to fit width 1	Center text on width 2	Left justify 3	Right justify 4	Spread letters out to fit width 5	Spread words out to fit width	
gtextSize	Fixed	Default point size.	
gtextSpacing	Fixed	Adjust the spacing between characters (1.0 is normal).	
gtextFont	String	Font name.	
fGtext	Boolean	True if the text effect properties (gtext*) are used. False if these properties are ignored.	
gtextFVertical	Boolean	If an @ font is available use it; otherwise, rotate individual characters 90 degrees counter clockwise.	
gtextFKern	Boolean	If the font supports character pair kerning use it.	
gtextFTight	Boolean	Adjust the spacing between characters rather than the character advance by the gtextSpacingratio.	
gtextFStretch	Boolean	Stretch the text to fit shape. 	
gtextFShrinkFit	Boolean	When laying out the characters, consider the glyph bounding box rather than the nominal font character bounds.	
gtextFBestFit	Boolean	Scale text laid out on a path to fit the path. 	
gtextFNormalize	Boolean	Stretch individual character heights independently to fit.	
gtextFDxMeasure	Boolean	When laying out characters, measure distances along the x-axis rather than along the path.	
gtextFBold	Boolean	Bold font (if available).	
gtextFItalic	Boolean	Italic font (if available).	
gtextFUnderline	Boolean	Underline font (if available).	
gtextFShadow	Boolean	Shadow font (if available).	
gtextFSmallcaps	Boolean	Small caps font (if available).	
gtextFStrikethrough	Boolean	Strikethrough font (if available).	
Picture			
cropFromTop	Fixed	Top cropping percentage. 	
cropFromBottom	Fixed	Bottom cropping percentage.	
cropFromLeft	Fixed	Left cropping percentage.	
cropFromRight	Fixed	Right cropping percentage.	
pib	Picture	Binary picture data.	
pibName	String	Picture file name for link to file pictures.	
pibFlags		Flags for linked to file pictures: 0	No links (default) 10	Link to file; save with document 14	Link to file; do not save picture with document	
pictureTransparent	Color	Transparent color.	
pictureContrast	Fixed	Contrast setting.	
PictureBrightness	Fixed	Brightness setting.	
pictureGamma	Fixed	Gamma correction setting.	
pictureGray	Boolean	Display grayscale.	
pictureBiLevel	Boolean	Display bi-level 	
Geometry			
geoLeft	Long integer	Left edge of the bounds of a user-drawn shape. 	
geoTop	Long integer	Top edge of the bounds of a user-drawn shape.	
geoRight	Long integer	Right edge of the bounds of a user-drawn shape.	
geoBottom	Long integer	Bottom edge of the bounds of a user-drawn shape.	
pVerticies	Array	The points of the shape.	
pSegmentInfo	Array	The segment information.	
adjustValue	Integer	First adjust value from an adjust handle. The interpretation varies with the shape type. Adjust values alter the geometry of the shape in smart ways. 	
adjust2Value	Integer	Second adjust value.	
adjust3Value	Integer	Third adjust value.	
adjust4Value	Integer	Fourth adjust value.	
adjust5Value	Integer	Fifth adjust value.	
adjust6Value	Integer	Sixth adjust value.	
adjust7Value	Integer	Seventh adjust value.	
adjust8Value	Integer	Eighth adjust value.	
adjust9Value	Integer	Ninth adjust value.	
adjust10Value	Integer	Tenth adjust value.	
Fill			
fillType	Fill type	Type of fill: 0	A solid color 1	A pattern (bitmap) 2	A texture (pattern with its own color map) 3	A picture centered in the shape 4	Shade from start to end points 5	Shade from bounding rectangle to end point 6	Shade from shape outline to end point 7	Shade using the fillAngle 	
fillColor	Color	Foreground color.	
fillOpacity	Fixed	Opacity. Normal is 1.0.	
fillBackColor	Color	Background color.	
fillBackOpacity	Fixed	Opacity for shades only. Normal is 1.0.	
fillBlip	Picture	Pattern/texture picture for the fill.	
fillBlipName	String	Picture file name for custom fills.	
fillblipflags		Flags for fills: 0	No links (default) 10	Link to file; save with document 14		Link to file; do not save picture with document	
fillWidth	EMU	The pattern or tile will be expanded to approximately this size. 	
fillHeight	EMU	The pattern or tile will be expanded to approximately this size.	
fillAngle	Fixed	Fade angle number of degrees.	
fillFocus		Linear shaded fill focus percent. 	
fillToLeft	Fixed	The fillToLeft,  fillToTop, fillToRight, and fillToBottom values define the "focus" rectangle for concentric shapes; they are specified as a fraction of the outer rectangle of the shade.	
fillToTop	Fixed	See fillToLeft definition.	
fillToRight	Fixed	See fillToLeft definition.	
fillToBottom	Fixed	See fillToLeft definition.	
fillShadeColors	Array	Custom or preset color ramps for graduated fills on shapes. 	
fillOriginX	Fixed	When a textured fill is used, the texture may be aligned to with shape (fFillShape)—if this is done, the default alignment is to the top left. The values  FillOriginY FillShapeOriginX fillShapeOriginY allow an arbitrary position in the texture (relative to the top-left proportion of the texture's height and width) to be aligned on an arbitrary position on the shape (relative to the top-left proportion of the width and height of the bounding box). Note that all these values are fixed point fractions of the relevant width or height.	
fillOriginY	Fixed	See fillOriginX definition.	
fillShapeOriginX	Fixed	See fillOriginX definition.	
fillShapeOriginY	Fixed	See fillOriginX definition.	
fFilled	Boolean	The shape is filled.	
Line			
lineColor	Color	Color of the line.	
lineBackColor	Color	Background color of the pattern.	
lineType	Line type	Type of line: 0	Solid fill with the line color 1	Patterned fill with the lineFillBlip 2	Textured fill with the lineFillBlip 3	Picture fill with the lineFillBlip	
lineFillBlip	Picture	Pattern for the line.	
lineblipflags		Flags for patterned lines: 0	No links (default) 10	Link to file; Save with document 14	Link to file; Do not save picture with document	
lineFillWidth	EMU	Width of the pattern.	
lineFillHeight	EMU	Height of the pattern.	
lineWidth	EMU	Line width.	
lineStyle		Line style: 0	Single line (of width lineWidth) 1	Double lines of equal width 2	Double lines, one thick, one thin 3	Double lines, reverse order 4	Three lines, thin, thick, thin	
lineDashing		Dashing: 0	Solid  1	Dash (Windows) 2	Dot (Windows) 3	Dash dot (Windows) 4	Dash dot dot (Windows) 6	Dot 7	Dash 8	Long dash  9	Dash dot  10	Long dash dot  11	Long dash dot dot	
lineStartArrowhead		Start arrow type: 0	Nothing 1	Arrow 2	Stealth arrow 3	Diamond 4	Oval 6	Open arrow 7	Chevron arrow 8	Double chevron arrow	
lineEndArrowhead		End arrow type (same values as for lineStartArrowhead).	
lineStartArrowWidth		Start arrow width: 0	Narrow 1	Medium 2	Wide	
lineStartArrowLength		Start arrow length: 0	Short 1	Medium 2	Long	
lineEndArrowWidth		End arrow width (same values as for lineStartArrowWidth).	
lineEndArrowLength		End arrow length (same values as for lineStartArrowLength).	
fLine	Boolean	Has a line.	
Shadow			
shadowType		Type of shadow: 0	Offset shadow 1	Double offset shadow 2	Rich perspective shadow (cast relative to shape) 3	Rich perspective shadow (cast in shape space) 4	Perspective shadow cast in drawing space 6	Emboss or engrave	
shadowColor	Color	Foreground color.	
shadowHighlight	Color	Embossed color.	
shadowOpacity	Fixed	Opacity of the shadow. Normal is 1.0.	
shadowOffsetX	EMU	Shadow offset toward the right.	
shadowOffsetY	EMU	Shadow offset toward the bottom.	
shadowSecondOffsetX	EMU	Double shadow offset toward the right.	
shadowSecondOffsetY	EMU	Double shadow offset toward the bottom.	
shadowScaleXToX	Fixed	The shadowScaleXToX to shadowWeight define a 3x2 transform matrix that is applied to the shape to generate the shadow.	
shadowScaleYToX	Fixed	See definition for shadowScaleXToX.	
shadowScaleXToY	Fixed	See definition for shadowScaleXToX.	
shadowScaleYToY	Fixed	See definition for shadowScaleXToX.	
shadowPerspectiveX	Fixed	See definition for shadowScaleXToX.	
shadowPerspectiveY	Fixed	See definition for shadowScaleXToX.	
shadowWeight	Fixed	See definition for shadowScaleXToX.	
shadowOriginX	Fixed	Define the position of the origin relative to the center of the shape— this position is determined based on a proportion of the rotated shape width and height. The shape will be rotated and then positioned such that the point is at (0,0) before the transformation is applied. 	
ShadowOriginY	Fixed	See the definition for shadowOriginX.	
fShadow	Boolean	Switches the shadow on or off.	
3-D Effects			
c3DSpecularAmt	Fixed	Specular amount for the material. 	
c3DDiffuseAmt	Fixed	Diffusion amount for the material. 	
c3DShininess	Fixed	Shininess of the material.	
c3DEdgeThickness	EMU	Specular edge thickness.	
c3DExtrudeForward	EMU	Extrusion amount forward.	
c3DExtrudeBackward	EMU	Extrusion amount backward.	
c3DExtrusionColor	Color	Color of the extrusion.	
f3D	Boolean	True if shape has a three-dimensional (3D) effect, False if it does not.	
fc3DMetallic	Boolean	True if shape uses metallic specularity, False if it does not.	
fc3DUseExtrusionColor	Boolean	Extrusion color is set explicitly. 	
fc3DLightFace	Boolean	Light the face of the shape.	
c3DYRotationAngle	Angle	Degrees about y-axis. If fc3DconstrainRotation (a Boolean property which defaults to True) is True, the rotation is restricted to x-y rotation and the final rotation results from first rotating by c3DYRotationAngle degrees about the y-axis and then by c3DXRotationAngle degrees about the z-axis.  If fc3DconstrainRotation is False, the final rotation results from a single rotation of c3DrotationAngle about the axis specified by c3DrotationAxisX, c3DrotationAxisY, and c3DrotationAxisZ.	
c3DXRotationAngle	Angle	Degrees about x-axis.	
c3DRotationAxisX	Long integer	These specify the rotation axis; only their relative magnitudes matter.	
c3DRotationAxisY	Long integer	See the c3DYRotationAxisX definition.	
c3DRotationAxisZ	Long integer	See the c3DYRotationAxisX definition.	
c3DRotationAngle	Angle	The rotation about the axis (defined above in the c3DRotationAxisX, Y, and Z parameter sections).	
fC3DRotationCenterAut	Boolean	If fC3DRotationCenterAuto is True, the rotation will be about the center of the 3-D bounding cube of the 3-D group; otherwise, the rotation center will be about c3DRotationCenterX, c3DRotationCenterY, and c3DRotationCenterZ.	
c3DRotationCenterX	Fixed	Rotation center (X). The X and Y values are a 16.16 fraction of the geometry width and height, with (0,0) being at the center of the geometry. The Z value must be in absolute units (EMUs).	
c3DRotationCenterY	Fixed	Rotation center (Y). If fC3DRotationCenterAuto is True, the rotation will be about the center of the 3-D bounding cube of the 3-D group; otherwise, the rotation center will be about c3DRotationCenterX, c3DRotationCenterY, and c3DRotationCenterZ. The x-values and y-values are a fraction of the geometry width and height, with (0,0) being at the center of the geometry. The z-value is in absolute units.	
c3DRotationCenterZ	EMU	See c3DRotationCenterY above.	
c3DRenderMode	Long Integer	0	Render with full detail 1	Render as a wire frame 2	Render a bounding cube	
c3DXViewpoint	EMU	X view point.	
c3DYViewpoint	EMU	Y view point. 	
c3DZViewpoint	EMU	Z view distance.	
c3DOriginX	Fixed	The following c3DOriginY and c3DSkewAngle values define the origin relative to which the viewpoint origin is measured. These values are 16.16 numbers that specify the position of the origin within the shape bounding box as multiples of the width and height of that bounding box and relative to the center (that is, they are displaced from the center). When these values are applied, the actual transformed shape path is used rather than the shape geometry (compare with the shadow and perspective values, which necessarily work on the geometry bounding box, not the actual points). This means that a shape that extends outside the geometry bounding box (such as a text effect) is handled "correctly" for the calculation of the 3-D origin.	
c3DOriginY	Fixed	See the definition for c3DOriginX.	
c3DSkewAngle	Fixed	Skew angle.	
c3DSkewAmount	Fixed	Percentage skew amount.	
c3DAmbientIntensity	Fixed	Ambient intensity should be low (0 to .1) to avoid washed out appearance. 	
c3DKeyX	Long integer	Key light source direction. Values may be any number; only their relative magnitudes matter. 	
c3DKeyY	Long integer	See c3DKeyX definition above.	
c3DKeyZ	Long integer	See c3DKeyX definition above.	
c3DKeyIntensity	Fixed	Fixed point intensity. Theoretical maximum is 1, but can be higher.	
c3DFillX	Long integer	Fill light source direction; only their relative magnitudes matter. This direction defines a second light source arbitrarily called the "fill light." Generally this will be positioned 90-180 degrees away from the key light and very roughly in front of the scene to fill in any harsh shadows. This fill will be dim compared to the first light source. Theoretically, it should be non-harsh, but harsh fill lighting looks better sometimes.	
c3DFillY	Long integer	See c3DfillX definition.	
c3DFillZ	Long integer	See c3DfillX definition.	
c3DFillIntensity	Fixed	Theoretical maximum is 1, but can be higher.	
fc3DParallel	Boolean	True if the fill has parallel projection, False if it does not. If fc3DParallel is True, the fc3DKeyHarsh and fc3DFillHarsh properties determine the parallel projection used. A skew amount of 0 means the projection is orthographic.	
fc3DKeyHarsh	Boolean	True if key lighting is harsh, False if it is not.	
fc3DFillHarsh	Boolean	True if  fill lighting harsh, False if it is not.	
Callout			
spcot		Callout type: 1	Right angle 2	One segment 3	Two segments 4	Three segments	
dxyCalloutGap	EMU	Distance from box to first point.	
spcoa		Callout angle: 1	Any angle 2	30 degrees 3	43 degrees 4	60 degrees 5	90 degrees	
spcod		Callout drop type: 0	Top 1	Center 2	Bottom 3	Specified by dxyCalloutDropSpecified	
dxyCalloutDropSpecified	EMU	If spcod is 3, then this holds the actual drop distance.	
dxyCalloutLengthSpecified	EMU	In the case where fCalloutLengthSpecified is True, this holds the actual distance.	
fCallout	Boolean	This is a callout.	
fCalloutAccentBar	Boolean	Callout has an accent bar.	
fCalloutTextBorder	Boolean	Callout has a text border.	
fCalloutDropAuto	Boolean	True if Auto attach is on; False if it is off. If this is True, then the converter should occasionally invert the drop distance.	
fCalloutLengthSpecified	Boolean	True if the callout length is specified; False if it is not. If True, use dxyCalloutLengthSpecified. If False, the Best Fit option is on.	

The format of the value depends on the property name it is paired with. Many values are simple single numbers. Distances are expressed in EMU units. There are 12700 EMU units in a point, hence 914,400 in an inch and 360,000cm-1. Fractional or fixed values are expressed using units that are 1/65536th of a whole. Angles are expressed as fractions of a degree. Colors are 24-bit color values. Boolean values have two possible values: 1 for True and 0 for False. 
Arrays are formatted as a sequence of numbers separated by semicolons. The first number tells the size of each element in the array in bytes. The number of bytes per element may be 2, 4, or 8. When the size of the element is 8, each element is represented as a group of two numbers. The second number tells the number of elements in the array. For example, the points of a square polygon are written as:
{sv 8;4;{0,0};{100,0};{100,100};{0,100}}

The ShapeType property can have the following possible values.
Value	Description	
0	Freeform or non-autoshape	
1	Rectangle	
2	Round rectangle	
3	Ellipse	
4	Diamond	
5	Isosceles triangle	
6	Right triangle	
7	Parallelogram	
8	Trapezoid	
9	Hexagon	
10	Octagon	
11	Plus Sign	
12	Star	
13	Arrow	
14	Thick arrow	
15	Home plate	
16	Cube	
17	Balloon	
18	Seal	
19	Arc	
20	Line	
21	Plaque	
22	Can	
23	Donut	
24	Text simple	
25	Text octagon	
26	Text hexagon	
27	Text curve	
28	Text wave	
29	Text ring	
30	Text on curve	
31	Text on ring	
41	Callout 1	
42	Callout 2	
43	Callout 3	
44	Accent Callout 1	
45	Accent Callout 2	
46	Accent Callout 3	
47	Border Callout 1	
48	Border Callout 2	
49	Border Callout 3	
50	Accent Border Callout 1	
51	Accent Border Callout 2	
52	Accent Border Callout 3	
53	Ribbon	
54	Ribbon2	
55	Chevron	
56	Pentagon	
57	No Smoking	
58	Seal8	
59	Seal16	
60	Seal32	
61	Wedge Rect Callout 	
62	Wedge RRect Callout 	
63	Wedge Ellipse Callout 	
64	Wave	
65	Folded Corner	
66	Left Arrow	
67	Down Arrow	
68	Up Arrow	
69	Left Right Arrow	
70	Up Down Arrow	
71	IrregularSeal1	
72	IrregularSeal2	
73	Lightning Bolt	
74	Heart	
75	Picture Frame	
76	Quad Arrow	
77	Left Arrow Callout 	
78	Right Arrow Callout 	
79	Up Arrow Callout 	
80	Down Arrow Callout 	
81	Left Right Arrow Callout 	
82	Up Down Arrow Callout 	
83	Quad Arrow Callout 	
84	Bevel	
85	Left Bracket	
86	Right Bracket	
87	Left Brace	
88	Right Brace	
89	Left Up Arrow	
90	Bent Up Arrow	
91	Bent Arrow	
92	Seal24	
93	Striped Right Arrow	
94	Notched Right Arrow	
95	Block Arc	
96	Smiley Face	
97	Vertical Scroll	
98	Horizontal Scroll	
99	Circular Arrow	
100	Notched Circular Arrow	
101	Uturn Arrow	
102	Curved Right Arrow	
103	Curved Left Arrow	
104	Curved Up Arrow	
105	Curved Down Arrow	
106	Cloud Callout 	
107	Ellipse Ribbon	
108	Ellipse Ribbon 2	
109	Flow Chart Process	
110	Flow Chart Decision	
111	Flow Chart Input Output	
112	Flow Chart Predefined Process	
113	Flow Chart Internal Storage	
114	Flow Chart Document	
115	Flow Chart Multidocument	
116	Flow Chart Terminator	
117	Flow Chart Preparation	
118	Flow Chart Manual Input	
119	Flow Chart Manual Operation	
120	Flow Chart Connector	
121	Flow Chart Punched Card	
122	Flow Chart Punched Tape	
123	Flow Chart Summing Junction	
124	Flow Chart Or	
125	Flow Chart Collate	
126	Flow Chart Sort	
127	Flow Chart Extract	
128	Flow Chart Merge	
129	Flow Chart Offline Storage	
130	Flow Chart Online Storage	
131	Flow Chart Magnetic Tape	
132	Flow Chart Magnetic Disk	
133	Flow Chart Magnetic Drum	
134	Flow Chart Display	
135	Flow Chart Delay	
136	Text Plain Text 	
137	Text Stop	
138	Text Triangle	
139	Text Triangle Inverted	
140	Text Chevron	
141	Text Chevron Inverted	
142	Text Ring Inside	
143	Text Ring Outside	
144	Text Arch Up Curve	
145	Text Arch Down Curve	
146	Text Circle Curve	
147	Text Button Curve	
148	Text Arch Up Pour	
149	Text Arch Down Pour	
150	Text Circle Pour	
151	Text Button Pour	
152	Text Curve Up	
153	Text Curve Down	
154	Text Cascade Up	
155	Text Cascade Down	
156	Text Wave1	
157	Text Wave2	
158	Text Wave3	
159	Text Wave4	
160	Text Inflate	
161	Text Deflate	
162	Text Inflate Bottom	
163	Text Deflate Bottom	
164	Text Inflate Top	
165	Text Deflate Top	
166	Text Deflate Inflate	
167	Text Deflate Inflate Deflate	
168	Text Fade Right	
169	Text Fade Left	
170	Text Fade Up	
171	Text Fade Down	
172	Text Slant Up	
173	Text Slant Down	
174	Text Can Up	
175	Text Can Down	
176	Flow Chart Alternate Process	
177	Flow Chart Off-Page Connector	
178	Callout 90	
179	Accent Callout 90	
180	Border Callout 90	
181	Accent Border Callout 90	
182	Left Right Up Arrow	
183	Sun	
184	Moon	
185	Bracket Pair	
186	Brace Pair	
187	Seal4	
188	Double Wave	
201	Host Control	
202	Text Box	

The following keywords are related to defining a hyperlink hanging off of a shape (that is, all of them are inside of a {\sp {\sn … } {\sp …}}). These keywords can occur in the \sp to define a property that is a hyperlink. They are used like this:

{ \hl  { \hlloc  RTF-string } { \hlsrc RTF-string } { \hlfr RTF-string } }

The three groups can be in any order. These provide the three strings needed to describe a hyperlink fully. 
Control word	Meaning	
Hyperlink property for shapes	
\hlloc	Location string for hyperlink.	
\hlsrc	Source string for hyperlink.	
\hlfr	Friendly name for hyperlink.	

Fields
Control word	Meaning	
\fldtype	This is an obsolete field destination. It does not have a leading *. It should be skipped.	
\date	This keyword should be ignored.	
\time	This keyword should be ignored.	
\wpeqn	This keyword should be ignored.	
Form Fields 
Control word	Meaning	
\formfield	Group destination keyword indicating start of form field data.	
\fftypeN	Form field type: 0	Text 1	Check box 2	List	
\ffownhelpN	1 if there is associated Help text (defined under \ffhelptext), 0 otherwise.	
\ffownstatN	1 if there is associated status line text (defined under \ffstattext), 0 otherwise.	
\ffprotN	1 if this field is protected, 0 otherwise.	
\ffsizeN	Type of size selected for check box field: 0	Auto 1	Exact	
\fftypetxtN	Type of text field: 0	Regular text 1	Number 2	Date 3 	Current date 4	Current time 5	Calculation	
\ffrecalcN	1 if the field should be calculated on exit, 0 otherwise.	
\ffhaslistboxN	1 if this field has list box attached to it, 0 otherwise.	
\ffmaxlen	Number of characters for text field.	
\ffhpsN	Check box size (half-point sizes).	
\ffname	Form field name (string). This is a destination control word.	
\ffdeftext	Default text for text field (string). This is a destination control word.	
\ffdefres	Default entry for list field (for example 0 = first list item, 1 = second list item).	
\ffformat	Format for text field (string). This is a destination control word.	
\ffhelptext	Help text (string). This is a destination control word.	
\ffstattext	Status line text (string). This is a destination control word.	
\ffentrymcr	Macro to be executed upon entry into this form field (string). This is a destination control word.	
\ffexitmcr	Macro to be executed upon exit from this form field (string). This is a destination control word.	
\ffl	List of text for list field. This is a destination control word. 	
\ffresN	Result field for a form field. Values from 0 to N-1, where N is the number of \ffl entries.	
Word 97 (Asian Versions) Specific Properties
This section contains the information to the Rich Text Format (RTF) specification for the Asian versions of Word 97.
Control word	Meaning	
Character Formatting Properties	
\cgridN	Character grid.	
\g	Destination related to character grids.	
\gcw	Grid column width.	
\gridtbl	Destination keyword related to character grids.	
\nosectexpand	Disable character space basement.	
Paragraph Formatting Properties	
\nosnaplinegrid	Disable snap line to grid.	
\faauto	Font alignment. The default setting for this is Auto.	
Borders		
\brdrframe	Border resembles a frame.	
Bullets and Numbers	
\pnaiueo	46 phonetic Katakana characters in "aiueo" order (*aiueo).	
\pnaiueod	46 phonetic double-byte Katakana characters (*aiueo*dbchar).	
\pndbnumd	Kanji numbering with the digit character (*dbnum2).	
\pndbnumt	Kanji numbering 3 (*dbnum3).	
\pndbnuml	Kanji numbering 3 (*dbnum3).	
\pndbnumk	Kanji numbering 4 (*dbnum4).	
\pnganada	Korean numbering 2 (*ganada).	
\pngbnum	Chinese numbering 1 (*gb1).	
\pngbnumd	Chinese numbering 2 (*gb2).	
\pngbnuml	Chinese numbering 3 (*gb3).	
\pngbnumk	Chinese numbering 4 (*gb4).	
\pnzodiac	Chinese Zodiac numbering 1 (*zodiac1).	
\pnzodiacd	Chinese Zodiac numbering 2 (*zodiac2).	
\pnzodiacl	Chinese Zodiac numbering 3 (*zodiac3).	
\pnganada	Korean numbering 1 (*ganada).	
\pnchosung	Korean numbering 2 (*chosung).	
Endnotes and Footnotes	
\ftnnchosung	Footnote Korean numbering 1 (*chosung).	
\ftnncnum	Footnote circle numbering (*circlenum).	
\ftnndbnum	Foonote Kanji numbering without the digit character (*dbnum1).	
\ftnndbnumd	Footnote Kanji numbering with the digit character (*dbnum2).	
\ftnndbnumt	Footnote Kanji numbering 3 (*dbnum3).	
\ftnndbnumk	Footnote Kanji numbering 4 (*dbnum4).	
\ftnndbar	Footnote double-byte numbering (*dbchar).	
\ftnnganada	Footnote Korean numbering 2 (*ganada).	
\ftnngbnum	Footnote Chinese numbering 1 (*gb1).	
\ftnngbnumd	Footnote Chinese numbering 2 (*gb2).	
\ftnngbnuml	Footnote Chinese numbering 3 (*gb3).	
\ftnngbnumk	Footnote Chinese numbering 4 (*gb4).	
\ftnnzodiac	Footnote numbering— Chinese Zodiac numbering 1 (* zodiac1) 	
\ftnnzodiacd	Footnote numbering— Chinese Zodiac numbering 2 (* zodiac2) 	
\ftnnzodiacl	Footnote numbering— Chinese Zodiac numbering 3 (* zodiac3).	
\aftnnchosung	Endnote Korean numbering 1 (*chosung).	
\aftnncnum	Endnote Circle numbering (*circlenum).	
\aftnndbnum	Endnote Kanji numbering without the digit character (*dbnum1).	
\aftnndbnumd	Endnote Kanji numbering with the digit character (*dbnum2).	
\aftnndbnumt	Endnote Kanji numbering 3 (*dbnum3).	
\aftnndbnumk	Endnote Kanji numbering 4 (*dbnum4).	
\aftnndbar	Endnote double-byte numbering (*dbchar).	
\aftnnganada	Endnote Korean numbering 2 (*ganada).	
\aftnngbnum	Endnote Chinese numbering 1 (*gb1).	
\aftnngbnumd	Endnote Chinese numbering 2 (*gb2).	
\aftnngbnuml	Endnote Chinese numbering 3 (*gb3).	
\aftnngbnumk	Endnote Chinese numbering 4 (*gb4).	
\aftnnzodiac	Endnote numbering— Chinese Zodiac numbering 1 (* zodiac1) 	
\aftnnzodiacd	Endnote numbering— Chinese Zodiac numbering 2 (* zodiac2) 	
\aftnnzodiacl	Endnote numbering— Chinese Zodiac numbering 3 (* zodiac3).	
Section Formatting Properties	
\pgnchosung	Korean numbering 1 (* chosung).	
\pgncnum	Circle numbering (*circlenum).	
\pgndbnumt	Kanji numbering 3 (*dbnum3).	
\pgndbnumk	Kanji numbering 4 (*dbnum4).	
\pgnganada	Korean numbering 2 (*ganada)	
\pgngbnum	Chinese numbering 1 (*gb1).	
\pgngbnumd	Chinese numbering 2 (*gb2).	
\pgngbnuml	Chinese numbering 3 (*gb3).	
\pgngbnumk	Chinese numbering 4 (*gb4).	
\pgnzodiac	Chinese Zodiac numbering 1 (*zodiac1).	
\pgnzodiacd	Chinese Zodiac numbering 2 (*zodiac2).	
\pgnzodiacl	Chinese Zodiac numbering 3 (*zodiac3).	
\sectexpandN	Character space basement.	
\sectlinegridN	Line grid.	
\sectdefaultclN	Default state of section. Indicates \sectspecifyclN and \sectspecifylN are not emitted.	
\sectspecifyclN	Specify number of characters per line only.	
\sectspecifylN	Specify both number of characters per line and number of lines per page.	
\adjustright	Adjust right indent.	
Document Formatting Properties	
\dgmargin	Grid to follow margins.	
Index Entries		
\yxe	Pronunciation for index entry.	

Appendix A: Table of RTF Control Words and Types
The following table contains a list of each RTF control word, the name of the section where it may be found, and a brief description of the type of control word. The types are described in the following table.
Type	Description	
Flag	This control word ignores any parameter.	
Destination	This control word starts a group or destination. It ignores any parameter.	
Symbol	This control word represents a special character.	
Toggle	This control word distinguishes between the on and off states for the given property. The control word with no parameter or a nonzero parameter is used to turn on the property, while the control word with a zero parameter is used to turn it off.	
Value	This control word requires a parameter.	

Control Word	Described in Section 	Type	
\adjustright	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnnchosung	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnncnum	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnndbar	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnndbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnndbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnndbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnndbnumt	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnnganada	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnngbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnngbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnngbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnngbnuml	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnnzodiac	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnnzodiacd	Word 97 (Asian Versions) Specific Properties	Flag	
\aftnnzodiacl	Word 97 (Asian Versions) Specific Properties	Flag	
\animtextN 	Character Text	Value	
\ansicpgN	Unicode RTF	Value	
\background	Drawing Objects (Shapes)	Destination	
\bdbfhdr	Document Formatting Properties	Flag	
\bliptagN	Pictures	Value	
\blipuid	Pictures	Value	
\blipupiN	Pictures	Value	
\brdrartN	Document Formatting Properties	Value	
\brdrdashd	Paragraph Text	Flag	
\brdrdashdd	Paragraph Text	Flag	
\brdrdashdotstr	Paragraph Text	Flag	
\brdrdashsm	Paragraph Text	Flag	
\brdremboss	Paragraph Text	Flag	
\brdrengrave	Paragraph Text	Flag	
\brdrframe	Word 97 (Asian Versions) Specific Properties	Flag	
\brdrthtnlg	Paragraph Text	Flag	
\brdrthtnmg	Paragraph Text	Flag	
\brdrthtnsg	Paragraph Text	Flag	
\brdrtnthlg	Paragraph Text	Flag	
\brdrtnthmg	Paragraph Text	Flag	
\brdrtnthsg	Paragraph Text	Flag	
\brdrtnthtnlg	Paragraph Text	Flag	
\brdrtnthtnmg	Paragraph Text	Flag	
\brdrtnthtnsg	Paragraph Text	Flag	
\brdrtriple	Paragraph Text	Flag	
\brdrwavy	Paragraph Text	Flag	
\brdrwavydb	Paragraph Text	Flag	
\cgridN	Word 97 (Asian Versions) Specific Properties	Value	
\charscalexN 	Character Text	Value	
\chbgbdiag	Character Text	Flag	
\chbgcross	Character Text	Flag	
\chbgdcross	Character Text	Flag	
\chbgdkbdiag	Character Text	Flag	
\chbgdkcross	Character Text	Flag	
\chbgdkdcross	Character Text	Flag	
\chbgdkfdiag	Character Text	Flag	
\chbgdkhoriz	Character Text	Flag	
\chbgdkvert	Character Text	Flag	
\chbgfdiag	Character Text	Flag	
\chbghoriz	Character Text	Flag	
\chbgvert	Character Text	Flag	
\chbrdr	Character Text	Flag	
\chcbpatN	Character Text	Value	
\chcfpatN	Character Text	Value	
\chshdngN	Character Text	Value	
\cltxlrtb	Paragraph Text	Flag	
\cltxtbrl 	Paragraph Text	Flag	
\clvertalb	Paragraph Text	Flag	
\clvertalc	Paragraph Text	Flag	
\clvertalt	Paragraph Text	Flag	
\crauthN	Document Formatting Properties	Value	
\crdateN	Document Formatting Properties	Value	
\date	Fields	Flag	
\deflangfe	Document Formatting Properties	Value	
\dfrauthN	Character Text	Value	
\dfrdateN	Character Text	Value	
\dfrstart	Character Text	Value	
\dfrstop	Character Text	Value	
\dfrxst	Character Text	Value	
\dgmargin	Word 97 (Asian Versions) Specific Properties	Flag	
\dntblnsbdb	Document Formatting Properties	Flag	
\doctypeN	Document Formatting Properties	Value	
\embo	Character Text	Toggle	
\emfblip	Pictures	Flag	
\expshrtn	Document Formatting Properties	Flag	
\faauto	Word 97 (Asian Versions) Specific Properties	Value	
\fbiasN	Font Table	Value	
\ffdefres	Form Fields 	Value	
\ffdeftext	Form Fields 	Destination	
\ffentrymcr	Form Fields 	Destination	
\ffexitmcr	Form Fields 	Destination	
\ffformat	Form Fields 	Destination	
\ffhaslistboxN	Form Fields 	Value	
\ffhelptext	Form Fields 	Destination	
\ffhpsN	Form Fields 	Value	
\ffl	Form Fields 	Destination	
\ffmaxlen	Form Fields 	Value	
\ffname	Form Fields 	Destination	
\ffownhelpN	Form Fields 	Value	
\ffownstatN	Form Fields 	Value	
\ffprotN	Form Fields 	Value	
\ffrecalcN	Form Fields 	Value	
\ffresN	Form Fields 	Value	
\ffsizeN	Form Fields 	Value	
\ffstattext	Form Fields 	Destination	
\fftypeN	Form Fields 	Value	
\fftypetxtN	Form Fields 	Value	
\fldtype	Fields	Destination	
\formfield	Form Fields 	Destination	
\fromtext	Document Formatting Properties	Flag	
\ftnnchosung	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnncnum	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnndbar	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnndbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnndbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnndbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnndbnumt	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnnganada	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnngbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnngbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnngbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnngbnuml	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnnzodiac	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnnzodiacd	Word 97 (Asian Versions) Specific Properties	Flag	
\ftnnzodiacl	Word 97 (Asian Versions) Specific Properties	Flag	
\g	Word 97 (Asian Versions) Specific Properties	Destination	
\gcw	Word 97 (Asian Versions) Specific Properties	Value	
\gridtbl	Word 97 (Asian Versions) Specific Properties	Destination	
\hlfr	Drawing Objects (Shapes)	Value	
\hlinkbase	Document Formatting Properties	Value	
\hlloc	Drawing Objects (Shapes)	Value	
\hlsrc	Drawing Objects (Shapes)	Value	
\ilvl	Bullets and Numbering (Lists)	Value	
\impr	Character Text	Toggle	
\jpegblip	Pictures	Flag	
\levelfollowN	List Table	Value	
\levelindentN	List Table	Value	
\leveljcN	List Table	Value	
\levellegalN	List Table	Value	
\levelnfcN	List Table	Value	
\levelnorestartN	List Table	Value	
\levelnumbers	List Table	Destination	
\leveloldN	List Table	Value	
\levelprevN	List Table	Value	
\levelprevspaceN	List Table	Value	
\levelspaceN	List Table	Value	
\levelstartatN	List Table	Value	
\leveltext	List Table	Value	
\listidN	List Table	Value	
\listidN	List Table	Value	
\listname	List Table	Destination	
\listoverridecountN	List Table	Value	
\listoverrideformatN	List Table	Value	
\listoverridestartN	List Table	Value	
\listrestarthdnN	List Table	Value	
\listsimpleN	List Table	Value	
\listtemplateidN	List Table	Value	
\listtext	Bullets and Numbering (Lists)	Destination	
\ls	List Table	Value	
\ls	Bullets and Numbering (Lists)	Value	
\lytexcttp	Document Formatting Properties	Flag	
\lytprtmet	Document Formatting Properties	Flag	
\msmcap	Document Formatting Properties	Flag	
\nofcharsws	Information Group	Value	
\nolead	Document Formatting Properties	Flag	
\nonshppict	Pictures	Flag	
\nosectexpand	Word 97 (Asian Versions) Specific Properties	Flag	
\nosnaplinegrid	Word 97 (Asian Versions) Specific Properties	Flag	
\nospaceforul	Document Formatting Properties	Flag	
\noultrlspc	Document Formatting Properties	Flag	
\noxlattoyen	Document Formatting Properties	Flag	
\objhtml	Objects	Flag	
\objocx	Objects	Flag	
\oldlinewrap	Document Formatting Properties	Flag	
\outlinelevelN	Paragraph Text	Value	
\overlay	Paragraph Text	Flag	
\panose	Font Table	Destination	
\pgbrdrb	Document Formatting Properties	Flag	
\pgbrdrfoot	Document Formatting Properties	Flag	
\pgbrdrhead	Document Formatting Properties	Flag	
\pgbrdrl	Document Formatting Properties	Flag	
\pgbrdroptN	Document Formatting Properties	Value	
\pgbrdrr	Document Formatting Properties	Flag	
\pgbrdrsnap	Document Formatting Properties	Flag	
\pgbrdrt	Document Formatting Properties	Flag	
\pgnchosung	Word 97 (Asian Versions) Specific Properties	Flag	
\pgncnum	Word 97 (Asian Versions) Specific Properties	Flag	
\pgndbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\pgndbnumt	Word 97 (Asian Versions) Specific Properties	Flag	
\pgnganada	Word 97 (Asian Versions) Specific Properties	Flag	
\pgngbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\pgngbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\pgngbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\pgngbnuml	Word 97 (Asian Versions) Specific Properties	Flag	
\pgnzodiac	Word 97 (Asian Versions) Specific Properties	Flag	
\pgnzodiacd	Word 97 (Asian Versions) Specific Properties	Flag	
\pgnzodiacl	Word 97 (Asian Versions) Specific Properties	Flag	
\picprop	Pictures	Destination	
\pnaiueo	Word 97 (Asian Versions) Specific Properties	Flag	
\pnaiueod	Word 97 (Asian Versions) Specific Properties	Flag	
\pnchosung	Word 97 (Asian Versions) Specific Properties	Flag	
\pndbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\pndbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\pndbnuml	Word 97 (Asian Versions) Specific Properties	Flag	
\pndbnumt	Word 97 (Asian Versions) Specific Properties	Flag	
\pnganada	Word 97 (Asian Versions) Specific Properties	Flag	
\pnganada	Word 97 (Asian Versions) Specific Properties	Flag	
\pngblip	Pictures	Flag	
\pngbnum	Word 97 (Asian Versions) Specific Properties	Flag	
\pngbnumd	Word 97 (Asian Versions) Specific Properties	Flag	
\pngbnumk	Word 97 (Asian Versions) Specific Properties	Flag	
\pngbnuml	Word 97 (Asian Versions) Specific Properties	Flag	
\pnrauthN	Character Text	Value	
\pnrdateN	Character Text	Value	
\pnrnfcN	Character Text	Value	
\pnrnot	Character Text	Flag	
\pnrpnbrN	Character Text	Value	
\pnrrgbN	Character Text	Value	
\pnrstartN	Character Text	Value	
\pnrstopN	Character Text	Value	
\pnrxstN	Character Text	Value	
\pnzodiac	Word 97 (Asian Versions) Specific Properties	Flag	
\pnzodiacd	Word 97 (Asian Versions) Specific Properties	Flag	
\pnzodiacl	Word 97 (Asian Versions) Specific Properties	Flag	
\posyin	Paragraph Text	Flag	
\posyout	Paragraph Text	Flag	
\private	Document Formatting Properties	Destination	
\revauthdelN	Document Formatting Properties	Value	
\revdttmdelN	Document Formatting Properties	Value	
\sautoupd	Style Sheet	Flag	
\sectdefaultclN	Word 97 (Asian Versions) Specific Properties	Value	
\sectexpandN	Word 97 (Asian Versions) Specific Properties	Value	
\sectlinegridN	Word 97 (Asian Versions) Specific Properties	Value	
\sectspecifyclN	Word 97 (Asian Versions) Specific Properties	Value	
\sectspecifylN	Word 97 (Asian Versions) Specific Properties	Value	
\shidden	Style Sheet	Flag	
\shpbottomN	Drawing Objects (Shapes)	Value	
\shpbxcolumn	Drawing Objects (Shapes)	Flag	
\shpbxmargin 	Drawing Objects (Shapes)	Flag	
\shpbxpage 	Drawing Objects (Shapes)	Flag	
\shpbymargin 	Drawing Objects (Shapes)	Flag	
\shpbypage 	Drawing Objects (Shapes)	Flag	
\shpbypara	Drawing Objects (Shapes)	Flag	
\shpfblwtxtN	Drawing Objects (Shapes)	Value	
\shpfhdrN	Drawing Objects (Shapes)	Value	
\shpgrp	Drawing Objects (Shapes)	Value	
\shpleftN	Drawing Objects (Shapes)	Value	
\shplidN	Drawing Objects (Shapes)	Value	
\shplockanchor	Drawing Objects (Shapes)	Flag	
\shppict	Pictures	Destination	
\shprightN	Drawing Objects (Shapes)	Value	
\shprslt	Drawing Objects (Shapes)	Value	
\shptopN	Drawing Objects (Shapes)	Value	
\shptxt	Drawing Objects (Shapes)	Value	
\shpwrkN	Drawing Objects (Shapes)	Value	
\shpwrN	Drawing Objects (Shapes)	Value	
\shpzN	Drawing Objects (Shapes)	Value	
\sprsbsp	Document Formatting Properties	Flag	
\sprstsm	Document Formatting Properties	Flag	
\stextflow	Section Text	Value	
\strikedl	Character Text	Toggle	
\tcelld	Paragraph Text	Flag	
\time	Fields	Flag	
\ucN	Unicode RTF	Value	
\ud	Unicode RTF	Destination	
\uldash	Character Text	Toggle	
\uldashd	Character Text	Toggle	
\uldashdd	Character Text	Toggle	
\ulth	Character Text	Toggle	
\ulwave	Character Text	Toggle	
\uN 	Unicode RTF	Value	
\upr	Unicode RTF	Destination	
\viewkindN	Document Formatting Properties	Value	
\viewscaleN 	Document Formatting Properties	Value	
\viewzkN	Document Formatting Properties	Value	
\windowcaption	Document Formatting Properties	Value	
\wpeqn	Fields	Flag	
\wpjst	Document Formatting Properties	Flag	
\wpsp	Document Formatting Properties	Flag	
\yxe	Word 97 (Asian Versions) Specific Properties	Flag	

#######

The disk and software contained on it, including any accompanying documentation (the "Software"), are provided to you at no additional charge. Microsoft Corporation owns all rights, title, and interest in and to the Software. The user assumes the entire risk as to the accuracy and the use of the Software.

COPYRIGHT NOTICE. Copyright © 1997 Microsoft Corporation. Microsoft and/or its suppliers, One Microsoft Way, Redmond, Washington 98052-6399 U.S.A. All rights reserved.

TRADEMARKS. Microsoft, Windows, Windows NT, MSN, The Microsoft Network and/or other Microsoft products referenced herein are either trademarks or registered trademarks of Microsoft. Other product and company names mentioned herein may be the trademarks of their respective owners.

The names of companies, products, people, characters and/or data mentioned herein are fictitious and are in no way intended to represent any real individual, company, product or event, unless otherwise noted.

NO WARRANTY. THE SOFTWARE IS PROVIDED "AS-IS," WITHOUT WARRANTY OF ANY KIND, AND ANY USE OF THIS SOFTWARE PRODUCT IS AT YOUR OWN RISK. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO THE SOFTWARE.

LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL MICROSOFT OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF MICROSOFT HAS BEEN ADVISED OF THE POSSIBLITY OF SUCH DAMAGES.  BECAUSE SOME STATES AND JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY.  MICROSOFT'S ENTIRE LIABILITY AND YOUR EXCLUSIVE REMEDY UNDER THIS EULA SHALL NOT EXCEED FIVE DOLLARS (US$5.00).

The following conditions also apply to your use of the Software:

The Software may be copied and distributed internally only, subject to the following conditions:
All | text must be copied without modification and all pages must be included; 
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];  
All components of this Software must be distributed together;  and  
This Software may not be distributed to any third party. 

If you are not a Microsoft Premier customer, Microsoft shall not provide technical support for this Software.  

The Software is provided with RESTRICTED RIGHTS.  Use, duplication, or disclosure by the Government is subject to restrictions set forth in subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Software—Restricted Rights at 48 CFR 52.227-19, as applicable.  Manufacturer is Microsoft Corporation, One Microsoft Way, Redmond, WA  98052-6399.  Any transfer of the Software must be accompanied by this statement and may only be transferred if first approved by Microsoft.

You agree that you will not export or re-export the Software to any country, person, entity or end user subject to U.S.A. export restrictions, and you are responsible for complying with all applicable U.S. and local export laws in connection with the use of this Software.  You warrant and represent that neither the U.S.A. Bureau of Export Administration nor any other federal agency has suspended, revoked or denied you export privileges.

This EULA is governed by the laws of the State of Washington, U.S.A.