{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;} {\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}{\f4\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Times;} {\f5\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Helvetica;}{\f6\fmodern\fcharset0\fprq1{\*\panose 00000000000000000000}Courier;}{\f7\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Geneva;} {\f8\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Tms Rmn;}{\f9\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Helv;}{\f10\froman\fcharset0\fprq2{\*\panose 00000000000000000000}MS Serif;} {\f11\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}MS Sans Serif;}{\f12\froman\fcharset0\fprq2{\*\panose 00000000000000000000}New York;}{\f13\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}System;} {\f14\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}Wingdings;}{\f15\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f16\fmodern\fcharset0\fprq1{\*\panose 020b0509030504030204}Lucida Sans Typewriter{\*\falt Tahoma};} {\f17\froman\fcharset0\fprq2{\*\panose 00000000000000000000}CG Times (W1){\*\falt Times New Roman};}{\f18\fnil\fcharset2\fprq2{\*\panose 00000000000000000000}Marlett;}{\f19\fswiss\fcharset0\fprq2{\*\panose 020b0706040902060204}Haettenschweiler;} {\f20\fswiss\fcharset0\fprq2{\*\panose 020b0506020202030204}Arial Narrow;}{\f21\fswiss\fcharset0\fprq2{\*\panose 020b0a04020102020204}Arial Black;}{\f22\froman\fcharset0\fprq2{\*\panose 02050604050505020204}Bookman Old Style;} {\f23\fnil\fcharset2\fprq2{\*\panose 01010601010101010101}Monotype Sorts;}{\f24\froman\fcharset0\fprq2{\*\panose 02020404030301010803}Garamond;}{\f25\fswiss\fcharset0\fprq2{\*\panose 020b0806030902050204}Impact;} {\f26\fnil\fcharset2\fprq2{\*\panose 05000000000000000000}MS Outlook;}{\f27\fscript\fcharset0\fprq2{\*\panose 030f0702030302020204}Comic Sans MS;}{\f28\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Bookshelf Symbol 3;} {\f29\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}AvantGarde;}{\f30\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Bookman;}{\f31\fswiss\fcharset0\fprq2{\*\panose 00000000000000000000}Helvetica-Narrow;} {\f32\froman\fcharset0\fprq2{\*\panose 00000000000000000000}NewCenturySchlbk;}{\f33\froman\fcharset0\fprq2{\*\panose 00000000000000000000}Palatino;}{\f34\froman\fcharset0\fprq2{\*\panose 00000000000000000000}ZapfChancery;} {\f35\fdecor\fcharset2\fprq2{\*\panose 00000000000000000000}ZapfDingbats;}{\f126\fswiss\fcharset238\fprq2 Tahoma CE;}{\f127\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f129\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f130\fswiss\fcharset162\fprq2 Tahoma Tur;} {\f131\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f156\fswiss\fcharset238\fprq2 Arial Narrow CE;}{\f157\fswiss\fcharset204\fprq2 Arial Narrow Cyr;}{\f159\fswiss\fcharset161\fprq2 Arial Narrow Greek;}{\f160\fswiss\fcharset162\fprq2 Arial Narrow Tur;} {\f161\fswiss\fcharset186\fprq2 Arial Narrow Baltic;}{\f162\fswiss\fcharset238\fprq2 Arial Black CE;}{\f163\fswiss\fcharset204\fprq2 Arial Black Cyr;}{\f165\fswiss\fcharset161\fprq2 Arial Black Greek;}{\f166\fswiss\fcharset162\fprq2 Arial Black Tur;} {\f167\fswiss\fcharset186\fprq2 Arial Black Baltic;}{\f168\froman\fcharset238\fprq2 Bookman Old Style CE;}{\f169\froman\fcharset204\fprq2 Bookman Old Style Cyr;}{\f171\froman\fcharset161\fprq2 Bookman Old Style Greek;} {\f172\froman\fcharset162\fprq2 Bookman Old Style Tur;}{\f173\froman\fcharset186\fprq2 Bookman Old Style Baltic;}{\f180\froman\fcharset238\fprq2 Garamond CE;}{\f181\froman\fcharset204\fprq2 Garamond Cyr;}{\f183\froman\fcharset161\fprq2 Garamond Greek;} {\f184\froman\fcharset162\fprq2 Garamond Tur;}{\f185\froman\fcharset186\fprq2 Garamond Baltic;}{\f186\fswiss\fcharset238\fprq2 Impact CE;}{\f187\fswiss\fcharset204\fprq2 Impact Cyr;}{\f189\fswiss\fcharset161\fprq2 Impact Greek;} {\f190\fswiss\fcharset162\fprq2 Impact Tur;}{\f191\fswiss\fcharset186\fprq2 Impact Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0; \red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{ \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \snext0 Normal;}{\s1\sb240\sa240\keepn\nowidctlpar\widctlpar\adjustright \b\caps\f1\fs32\cgrid \sbasedon0 \snext0 heading 1;}{\s2\sb240\sa240\keepn\nowidctlpar\widctlpar\adjustright \b\f1\fs32\cgrid \sbasedon0 \snext0 heading 2;}{\s3\sb240\sa240\keepn\nowidctlpar\widctlpar\adjustright \b\f1\fs28\cgrid \sbasedon0 \snext15 heading 3;}{\s4\sb240\sa240\keepn\nowidctlpar\widctlpar\adjustright \b\i\f1\cgrid \sbasedon0 \snext0 heading 4;}{ \s5\sb40\sa240\sl-240\slmult0\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\i\f1\fs20\cgrid \sbasedon1 \snext0 heading 5;}{\s6\sb240\sa240\sl-238\slmult0 \keepn\nowidctlpar\widctlpar\pvpara\posy0\absh255\dxfrtext130\dfrmtxtx130\dfrmtxty0\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid \sbasedon1 \snext0 heading 6;}{\*\cs10 \additive Default Paragraph Font;}{ \s15\li288\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 Normal Indent;}{\*\cs16 \additive \fs16\cf2 \sbasedon10 annotation reference;}{\s17\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cf6\cgrid \sbasedon0 \snext17 annotation text;}{\s18\li1296\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon0 \snext18 toc 4;}{\s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon0 \snext19 toc 3;}{ \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon21 \snext20 toc 2;}{\s21\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon0 \snext21 toc 1;}{\s22\sa120\nowidctlpar\widctlpar \tqc\tx4320\tqr\tx8640\adjustright \f1\fs16\cgrid \sbasedon0 \snext22 footer;}{\s23\sa120\nowidctlpar\widctlpar\brdrb\brdrs\brdrw15\brsp20 \tqr\tx9936\adjustright \f1\fs20\cgrid \sbasedon0 \snext23 header;}{\s24\fi-288\li288\sa120\nowidctlpar\widctlpar \tx288\adjustright \f1\fs20\cgrid \sbasedon0 \snext24 List1-Hang;}{\s25\li288\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext24 List1-Indent;}{\s26\fi-288\li576\sa120\nowidctlpar\widctlpar\tx576\adjustright \f1\fs20\cgrid \sbasedon0 \snext26 List2-Hang;}{\s27\li576\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext26 List2-Indent;}{\s28\fi-288\li864\sa120\nowidctlpar\widctlpar\tx864\adjustright \f1\fs20\cgrid \sbasedon0 \snext28 List3-Hang;}{ \s29\li864\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext28 List3-Indent;}{\s30\li576\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext24 List1-Code;}{\s31\li576\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \snext0 Normal Code;}{\s32\li1152\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext28 List3-Code;}{\s33\li864\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext26 List2-Code;}{ \s34\li432\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon0 \snext0 Normal Note;}{\s35\li432\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon34 \snext24 List1-Note;}{\s36\li720\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon34 \snext26 List2-Note;}{\s37\li1008\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon34 \snext28 List3-Note;}{\s38\sb120\sa120\nowidctlpar\widctlpar\tqr\tx9936\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid \sbasedon23 \snext38 banner2;}{\s39\qc\sb120\sa120\sl240\slmult0\nowidctlpar\widctlpar\tqr\tx9936\pvpg\phmrg\posy878\dxfrtext187\dfrmtxtx187\dfrmtxty187\adjustright \f1\fs20\cgrid \sbasedon23 \snext39 banner1;}{ \s40\fi-864\li864\sa120\nowidctlpar\widctlpar\tx432\tx864\adjustright \f1\fs20\cgrid \sbasedon0 \snext41 Q&A Question-Hang;}{\s41\fi-432\li864\sa120\nowidctlpar\widctlpar\tx864\adjustright \f1\fs20\cgrid \sbasedon0 \snext40 Q&A Answer-Hang;}{ \s42\li864\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext41 Q&A Question-Indent;}{\s43\sa120\sl-72\slmult0\nowidctlpar\widctlpar\adjustright \v\f1\fs20\cgrid \sbasedon0 \snext43 Fix Headings Bug;}{ \s44\li864\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext40 Q&A Answer-Indent;}{\s45\li720\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext45 Ten1-Code;}{\s46\fi-432\li432\sa120\nowidctlpar\widctlpar \tx432\adjustright \f1\fs20\cgrid \sbasedon0 \snext46 Ten1-Hang;}{\s47\li432\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext47 Ten1-Indent;}{\s48\li576\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon34 \snext48 Ten1-Note;}{\s49\li1008\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon33 \snext49 Ten2-Code;}{\s50\fi-288\li720\sa120\nowidctlpar\widctlpar\tx288\adjustright \f1\fs20\cgrid \sbasedon46 \snext50 Ten2-Hang;}{ \s51\li720\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon47 \snext51 Ten2-Indent;}{\s52\li720\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon48 \snext52 Ten2-Note;}{\s53\li1008\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon0 \snext53 Q&A Answer-Note;}{\s54\li1296\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext54 Q&A Answer-Code;}{\s55\fi-432\li1296\sa120\nowidctlpar\widctlpar\tx1296\adjustright \f1\fs20\cgrid \sbasedon0 \snext55 Q&A Answer2-Hang;}{\s56\li1008\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon0 \snext56 Q&A Question-Note;}{\s57\li1296\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext57 Q&A Question-Code;}{\s58\li1296\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext58 Q&A Answer2-Indent;}{\s59\li1728\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext59 Q&A Answer2-Code;}{ \s60\fi-432\li1728\sa120\nowidctlpar\widctlpar\tx1728\adjustright \f1\fs20\cgrid \sbasedon0 \snext60 Q&A Answer3-Hang;}{\s61\li1440\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon0 \snext61 Q&A Answer2-Note;}{ \s62\li1728\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext62 Q&A Answer3-Indent;}{\s63\li1872\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon34 \snext60 Q&A Answer3-Note;}{ \s64\li2160\sa120\nowidctlpar\widctlpar\adjustright \b\f2\fs20\cgrid \sbasedon31 \snext64 Q&A Answer3-Code;}{\s65\li432\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid \sbasedon0 \snext0 Normal-Note;}{\s66\sa120\nowidctlpar\widctlpar\adjustright \f1\fs10\cgrid \sbasedon0 \snext0 half-line;}{\s67\sa120\nowidctlpar\widctlpar\brdrt\brdrs\brdrw10\brsp20 \adjustright \b\f1\fs14\cf1\cgrid \sbasedon0 \snext67 disclaimer;}{\s68\sb60\sa60\nowidctlpar\widctlpar\adjustright \b\f1\fs20\lang1024\cgrid \sbasedon69 \snext68 Control Word;}{\s69\fi-2880\li2880\nowidctlpar\widctlpar\tx720\tx2880\tx7200\adjustright \fs20\lang1024\cgrid \snext69 TC;}{\s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid \sbasedon0 \snext70 Code;}{ \s71\sa240\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext71 TableLastRow;}{\s72\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs20\cgrid \sbasedon0 \snext72 Syntax;}{\s73\sa120\nowidctlpar\widctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext73 TableRow;}{\s74\li1440\sb120\sa60\nowidctlpar\adjustright \f1\fs22\cgrid \sbasedon0 \snext74 Body 3;}{\*\cs75 \additive \b\f1\fs20 \sbasedon10 RTF Keyword;}{\s76\qj\sa120\nowidctlpar\widctlpar\tx864\adjustright \fs20\cgrid \sbasedon0 \snext0 First Paragraph;}{\s77\qj\li360\sa60\nowidctlpar\widctlpar\tx864\adjustright \f1\fs20\cgrid \sbasedon76 \snext77 Definition;}{\s78\fi-200\li200\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 table of authorities;}{ \s79\sa120\keepn\nowidctlpar\widctlpar\brdrb\brdrs\brdrw15\brsp20 \adjustright \shading2000 \f1\fs20\cgrid \sbasedon0 \snext79 TableSubHead;}{\s80\sa120\sl-120\slmult0\nowidctlpar\widctlpar\adjustright \fs20\cgrid \sbasedon0 \snext80 TableSpace;}{ \s81\nowidctlpar\adjustright \fs20\cgrid \snext81 Nothing;}{\*\cs82 \additive \f0 \sbasedon10 Comment;}{\s83\sa240\nowidctlpar\widctlpar\adjustright \fs48\lang1024\cgrid \snext83 TP;}{\s84\sb240\sa60\nowidctlpar\adjustright \fs22\cgrid \sbasedon0 \snext84 Body 1;}{\*\cs85 \additive \super \sbasedon10 footnote reference;}{\s86\sa120\nowidctlpar\widctlpar\adjustright \fs20\cgrid \sbasedon0 \snext86 footnote text;}{\*\cs87 \additive \sbasedon10 page number;}{ \s88\sb240\sa60\nowidctlpar\widctlpar\adjustright \b\f1\fs48\cgrid \sbasedon0 \snext88 Title;}{\s89\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd toc 6;}{\s90\sb120\sa120\nowidctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext0 caption;}{\s91\sb60\sa120\nowidctlpar\adjustright \cbpat9 \f15\fs20\cgrid \sbasedon0 \snext91 Document Map;}{\s92\fi-200\li200\sb60\sa120\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 1;}{ \s93\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext93 \sautoupd List Bullet;}{\s94\li1728\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd toc 5;}{ \s95\li1200\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd toc 7;}{\s96\li1400\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd toc 8;}{\s97\li1600\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd toc 9;}{\s98\sb240\sl199\slmult1\keepn\nowidctlpar\widctlpar\brdrbtw\brdrs\brdrw15 \adjustright \b\f1\fs20\lang1024\cgrid \sbasedon0 \snext98 Table Header;}{\s99\sb60\sa60\nowidctlpar\adjustright \b\f1\fs20\cgrid \sbasedon0 \snext99 my control word;}{\s100\fi-200\li400\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 2;}{\s101\fi-200\li600\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 3;}{\s102\fi-200\li800\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 4;}{\s103\fi-200\li1000\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 5;}{ \s104\fi-200\li1200\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 6;}{\s105\fi-200\li1400\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 7;}{ \s106\fi-200\li1600\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 8;}{\s107\fi-200\li1800\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext0 \sautoupd index 9;}{ \s108\sb60\sa60\nowidctlpar\adjustright \f1\fs20\cgrid \sbasedon0 \snext92 index heading;}}{\*\listtable{\list\listtemplateid2126434388\listsimple{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelspace0\levelindent0{\leveltext \'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li360\jclisttab\tx360 }{\listname ;}\listid-119}{\list\listtemplateid-1\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat0\levelspace0\levelindent0{\leveltext\'01*;}{\levelnumbers;}} {\listname ;}\listid-2}{\list\listtemplateid-1201087176\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'03\'00) ;}{\levelnumbers\'01;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li1080 } {\listname ;}\listid804352526}{\list\listtemplateid-434048402\listsimple{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat2\levelold\levelspace0\levelindent360{\leveltext\'04(\'00) ;}{\levelnumbers\'02;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li720 }{\listname ;}\listid876161052}{\list\listtemplateid1274449656\listsimple{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'04(\'00) ;}{\levelnumbers\'02;} \b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li720 }{\listname ;}\listid1022779492}{\list\listtemplateid293793728\listsimple{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat3\levelold\levelspace0\levelindent360{\leveltext\'04(\'00) ;}{\levelnumbers \'02;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li720 }{\listname ;}\listid2042240151}{\list\listtemplateid67698703\listsimple{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'02\'00.;}{\levelnumbers \'01;}\fi-360\li360 }{\listname ;}\listid2102526296}}{\*\listoverridetable{\listoverride\listid1022779492\listoverridecount0\ls1}{\listoverride\listid804352526\listoverridecount0\ls2}{\listoverride\listid804352526\listoverridecount1{\lfolevel \listoverrideformat{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat2\levelold\levelspace0\levelindent360{\leveltext\'03\'00) ;}{\levelnumbers\'01;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li1080 }}\ls3}{\listoverride\listid804352526 \listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat3\levelold\levelspace0\levelindent360{\leveltext\'03\'00) ;}{\levelnumbers\'01;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li1080 }}\ls4} {\listoverride\listid876161052\listoverridecount0\ls5}{\listoverride\listid2042240151\listoverridecount0\ls6}{\listoverride\listid2042240151\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc4\leveljc0\levelfollow0\levelstartat4\levelold \levelspace0\levelindent360{\leveltext\'04(\'00) ;}{\levelnumbers\'02;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li720 }}\ls7}{\listoverride\listid2042240151\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc4\leveljc0\levelfollow0 \levelstartat5\levelold\levelspace0\levelindent360{\leveltext\'04(\'00) ;}{\levelnumbers\'02;}\b0\i0\f1\fs20\ulnone\cf1\fbias0 \fi-360\li720 }}\ls8}{\listoverride\listid-119\listoverridecount0\ls9}{\listoverride\listid-2\listoverridecount1{\lfolevel \listoverrideformat{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent360{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-360\li720 }}\ls10}{\listoverride\listid2102526296\listoverridecount0\ls11} {\listoverride\listid2102526296\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat2\levelold\levelspace0\levelindent360{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li360 }}\ls12} {\listoverride\listid2102526296\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc0\leveljc0\levelfollow0\levelstartat3\levelold\levelspace0\levelindent360{\leveltext\'02\'00.;}{\levelnumbers\'01;}\fi-360\li360 }}\ls13} {\listoverride\listid-2\listoverridecount1{\lfolevel\listoverrideformat{\listlevel\levelnfc23\leveljc0\levelfollow0\levelstartat1\levelold\levelspace0\levelindent288{\leveltext\'01\u-3913 ?;}{\levelnumbers;}\f3\fbias0 \fi-288\li288 }}\ls14}}{\*\revtbl {Unknown;}}{\info {\title Appnote Template}{\author Gwynethw}{\operator WRPRC}{\creatim\yr1997\mo5\dy7\hr22\min56}{\revtim\yr1997\mo5\dy7\hr22\min56}{\printim\yr1997\mo4\dy14\hr10\min15}{\version2}{\edmins0}{\nofpages159}{\nofwords40907}{\nofchars233173} {\*\company Microsoft}{\nofcharsws286352}{\vern71}}\margl1080\margr1080\margb1080 \widowctrl\ftnbj\aenddoc\noextrasprl\prcolbl\cvmme\sprsspbf\brkfrm\swpbdr\hyphcaps0\fracwidth\viewkind1\viewscale75\pgbrdrhead\pgbrdrfoot \fet0{\*\template E:\\Tools and Info\\Templates\\WORD7\\APPNOTE.DOT}\sectd \pgnrestart\linex0\footery360\endnhere\titlepg\sectdefaultcl {\header \pard\plain \s23\sa120\nowidctlpar\widctlpar\brdrb\brdrs\brdrw15\brsp20 \tqr\tx10080\adjustright \f1\fs20\cgrid {\b\i Ric h Text Format (RTF) Specification and Sample RTF Reader Program}{\tab Page }{\field{\*\fldinst {page}}{\fldrslt {\lang1024 2}}}{ \par }}{\footer \trowd \trqc\trgaph108\trleft-108\trkeep \clvertalt\clbrdrt\brdrs\brdrw15 \cltxlrtb \cellx9972\pard\plain \s22\qc\sa120\nowidctlpar\widctlpar\intbl\tqc\tx4320\tqr\tx8640\adjustright \f1\fs16\cgrid {Microsoft Technical Support\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\fs16 \row }\pard\plain \s22\sa120\nowidctlpar\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \f1\fs16\cgrid {\fs20 \par }}{\footerf \trowd \trqc\trgaph108\trleft-108\trkeep \clvertalt\clbrdrt\brdrs\brdrw15 \cltxlrtb \cellx9972\pard\plain \s22\qc\sa120\nowidctlpar\widctlpar\intbl\tqc\tx4320\tqr\tx8640\adjustright \f1\fs16\cgrid {Microsoft Technical Support\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard\plain \s22\sa120\nowidctlpar\widctlpar\tqc\tx4320\tqr\tx8640\adjustright \f1\fs16\cgrid {\fs20 \par }}{\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}} {\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8 \pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\trowd \trqc\trkeep \clvertalt\clbrdrt\brdrs\brdrw30 \cltxlrtb \cellx7200\clvertalt\clbrdrt\brdrs\brdrw30 \cltxlrtb \cellx10080\pard\plain \sa120\nowidctlpar\widctlpar\intbl\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\b\fs32\lang1024 {\shp{\*\shpinst\shpleft7512\shptop1248\shpright9816\shpbottom1658\shpfhdr0\shpbxcolumn\shpbypage\shpwr1\shpwrk0\shpfblwtxt0\shpz0\shplockanchor\shplid1028{\sp{\sn shapeType}{\sv 75}}{\sp{\sn fFlipH}{\sv 0}}{\sp{\sn fFlipV}{\sv 0}}{\sp{\sn pib}{\sv {\pict\picscalex145\picscaley154\piccropl0\piccropr0\piccropt0\piccropb0\picw2799\pich469\picwgoal1587\pichgoal266\wmetafile8\bliptag-823879542\blipupi-1108{\*\blipuid cee4988a25518328b158c17fd6d447d7} 010009000001d2060000040026010000000007000000fc020000000000000000040000002d01000008000000fa02050000000000ffffff00040000002d010100 1c000000fb020f000800000000000000000000000002020153797374656d0000972de42d3606000003800d0000000c000900000000000000040000002d010200 050000000102ffffff000400000002010200050000000902000000001e00000024030d000000c20164000000180100001801dc009001000044020000e001c201 5e01c2019001dc002201c201be00c201be00dc008200c2010c00000024030400f401c20144027800bc0278006c02c2010c000000240304004e025000c6025000 da02000062020000f400000024037800fe03f500fe03f000fd03e600fc03dc00fa03d200f703c800f203be00ee03b400e803aa00e203a000de039c00d8039600 d4039300ca038c00c0038400b8038200b6038000ac037d00a2037900980376008e037400840373007a03720070037100660371005c0372005203730048037400 3e037600340378002a03790020037d0016038000140382000c03850002038900fb028c00f8028e00ee029400eb029800e4029b00de02a000da02a300d402aa00 d002ad00c902b400c602b800c102be00bc02c400b802c800b202d200ab02dc00a802e100a602e600a202f0009e02fa009902040196020e019302180192022201 90022c01900236019102400192024a019402540195025e0197026801990272019e027c01a4028601a8029001af029a01b2029d01bc02a401c602ac01c802ae01 d002b301d702b801da02ba01e402bd01ee02c101f802c4010203c5010c03c6011603c7012003c7012a03c7013403c6013e03c5014803c4015203c3015c03c101 6603bf017003bb017a03b6018403b1018e03ac019803a6019c03a401a203a001aa039a01ac039801b6039001c0038601c8037c01ca037a01d1037201d4036d01 d8036801de035e01e3035401e8034a01eb034001f0033601f2032c01f5032201f8031801fa030e01fc030401fd03fa0007000000fc020000ffffff0000000400 00002d0103006e000000240335007d03f0007b03e6007903dc007503d2007003c8006b03c3006603c1005c03c1005203c4004803c7004303ca003e03cf003903 d2003403d7002f03dc002a03e1002803e6002103f0001c03f8001b03fa001603040112030e01100318010d0322010c032c010c0336010c0340010c034a010e03 540110035e01140368011a036d01200372012a037601340377013e0374014403700148036d014f0368015203650158035e015c0357015e03540164034a016603 46016a0340016d03360171032c01750322017703180179030e017b0304017d03fa00070000001b044a010604f5006403040000002d0100004400000024032000 600440014204c201c403c2011a0478008804780084049a0088049600920490009c048800a6048200b0047f00ba047b00c4047800ce047600d8047400e2047400 ec047600d404e600ba04e600b004e700a604ea009c04ee009204f3008b04fa008304ff008004040176040e0174041301720418016c04220169042c0165043601 f4000000240378001006f5001006f0000f06e6000e06dc000c06d2000906c8000406be000006b400fa05aa00f405a000f0059c00ea059600e6059300dc058c00 d2058400ca058200c8058000be057d00b4057900aa057600a0057400960573008c05720082057100780571006e057200640573005a0574005005760046057800 3c05790032057d0028058000260582001e058500140589000d058c000a058e0000059400fd049800f6049b00f004a000ec04a300e604aa00e204ad00db04b400 d804b800d304be00ce04c400ca04c800c404d200bd04dc00ba04e100b804e600b404f000b004fa00ab040401a8040e01a5041801a4042201a2042c01a2043601 a3044001a4044a01a6045401a7045e01a9046801ab047201b0047c01b6048601ba049001c1049a01c4049d01ce04a401d804ac01da04ae01e204b301e904b801 ec04ba01f604bd010005c1010a05c4011405c5011e05c6012805c7013205c7013c05c7014605c6015005c5015a05c4016405c3016e05c1017805bf018205bb01 8c05b6019605b101a005ac01aa05a601ae05a401b405a001bc059a01be059801c8059001d2058601da057c01dc057a01e3057201e6056d01ea056801f0055e01 f5055401fa054a01fd0540010206360104062c01070622010a0618010c060e010e0604010f06fa00040000002d0103006e000000240335008f05f0008d05e600 8b05dc008705d2008205c8007d05c3007805c1006e05c1006405c4005a05c7005505ca005005cf004b05d2004605d7004105dc003c05e1003a05e6003305f000 2e05f8002d05fa002805040124050e01220518011f0522011e052c011e0536011e0540011e054a012005540122055e01260568012c056d01320572013c057601 4605770150057401560570015a056d0161056801640565016a055e016e0557017005540176054a01780546017c0540017f05360183052c018705220189051801 8b050e018d0504018f05fa000a00000024030300aa0554010e062c010e065401040000002d01000026010000240391005c07e6005d07d2005c07c8005b07be00 5907b4005807aa005307a0004e07960044078c003a0787003207820026077a001c0778001207760008077400fe067200f4067100ea067000e0066f00d6066e00 a4066e009a06700090067200860675007c06780072067b0068067d005e068200540687004a068e00400696003606a0002e06aa002906b4002406be002106c800 1f06d2001d06e6002006f0002206fa00240604012a060e013106180136061d013c062201400625014a062b01540631015e0636016806380172063b017c063e01 86064201be065201c2065501c7065901ca065e01cc066301ca066801c7067201c2067701bb067c01ae068201a40685019a06840190068301860680017c067c01 720674016d0668016c065e0170065401ee055401f0057c01f2059001f7059a01fa05a001fd05a4010406ac010e06b3011806b8012206bd012c06c2013606c401 4006c7014a06c8015406c9015e06ca016806cb017206cc01a406cc01ae06cb01b806ca01c206c901cc06c801d606c701e006c401ea06c201f406bd01fe06ba01 0807b8011207b1011c07ac012507a3012e079a01390790013f07860146077c014a0772014e07680151075e015307540153074001500736014f072c0149072201 44071d01400718013a07120135070e01260706011c0702011207fe000807fa00fe06f900f406f600a906e400a406e1009a06dc009506d8009306d2009306c800 9506c4009a06c000a406bc00ae06b800b806b600c206b600cc06b800d606b900e006be00e806c200ea06c800ea06d200e506e600f400000024037800c208f500 c208f000c108e600c008dc00be08d200bb08c800b608be00b208b400ac08aa00a608a000a2089c009c089600980893008e088c00840884007c0882007a088000 70087d00660879005c08760052087400480873003e087200340871002a08710020087200160873000c08740002087600f8077800ee077900e4077d00da078000 d8078200d0078500c6078900bf078c00bc078e00b2079400af079800a8079b00a207a0009e07a3009807aa009407ad008d07b4008a07b8008507be008007c400 7c07c8007607d2006f07dc006c07e1006a07e6006607f0006207fa005d0704015a070e01570718015607220154072c01540736015507400156074a0158075401 59075e015b0768015d07720162077c01680786016c07900173079a0176079d018007a4018a07ac018c07ae019407b3019b07b8019e07ba01a807bd01b207c101 bc07c401c607c501d007c601da07c701e407c701ee07c701f807c6010208c5010c08c4011608c3012008c1012a08bf013408bb013e08b6014808b1015208ac01 5c08a6016008a4016608a0016e089a01700898017a089001840886018c087c018e087a019508720198086d019c086801a2085e01a7085401ac084a01af084001 b4083601b6082c01b9082201bc081801be080e01c0080401c108fa00040000002d0103006e000000240335004108f0003f08e6003d08dc003908d2003408c800 2f08c3002a08c1002008c1001608c4000c08c7000708ca000208cf00fd07d200f807d700f307dc00ee07e100ec07e600e507f000e007f800df07fa00da070401 d6070e01d4071801d1072201d0072c01d0073601d0074001d0074a01d2075401d4075e01d8076801de076d01e4077201ee077601f80777010208740108087001 0c086d0113086801160865011c085e01200857012208540128084a012a0846012e0840013108360135082c01390822013b0818013d080e013f0804014108fa00 040000002d01000084000000240340002409c201a208c201e808d200b608d200ca088200ff08820010094b001409460018093c001e09360024092d002a092800 2e09260038091e00420919004c09140056091300600911006a09100074090f00a6090f00b0091100ba091300a6095400920955008d0956008809590083095f00 8109640078098200ad098200c40932003c0a3200260a82005a0a8200460ad200110ad200ec094a01ea095401e8095e01ea096801ec096d01f10970011e0a7001 000ac201b009c201a609c0019c09bf019209bd018809b9018209b6017909ae017409a8016c099a016a0990016a0986016a097c016b0972016d09680170095e017209540174094a019709d2006a09d2000700000021050100ae008200690a030000000000}}}{\sp{\sn fLine}{\sv 0}}}{\shprslt\par \nowidctlpar\widctlpar\pvpg\posx7511\posy1247\absh410\absw2304\abslock1\dxfrtext180\dfrmtxtx180\dfrmtxty0\adjustright {\pict\picscalex145\picscaley154\piccropl0\piccropr0\piccropt0\piccropb0 \picw2799\pich469\picwgoal1587\pichgoal266\wmetafile8\bliptag-823879542\blipupi-1108{\*\blipuid cee4988a25518328b158c17fd6d447d7} 010009000001d2060000040026010000000007000000fc020000000000000000040000002d01000008000000fa02050000000000ffffff00040000002d010100 1c000000fb020f000800000000000000000000000002020153797374656d0000972de42d3606000003800d0000000c000900000000000000040000002d010200 050000000102ffffff000400000002010200050000000902000000001e00000024030d000000c20164000000180100001801dc009001000044020000e001c201 5e01c2019001dc002201c201be00c201be00dc008200c2010c00000024030400f401c20144027800bc0278006c02c2010c000000240304004e025000c6025000 da02000062020000f400000024037800fe03f500fe03f000fd03e600fc03dc00fa03d200f703c800f203be00ee03b400e803aa00e203a000de039c00d8039600 d4039300ca038c00c0038400b8038200b6038000ac037d00a2037900980376008e037400840373007a03720070037100660371005c0372005203730048037400 3e037600340378002a03790020037d0016038000140382000c03850002038900fb028c00f8028e00ee029400eb029800e4029b00de02a000da02a300d402aa00 d002ad00c902b400c602b800c102be00bc02c400b802c800b202d200ab02dc00a802e100a602e600a202f0009e02fa009902040196020e019302180192022201 90022c01900236019102400192024a019402540195025e0197026801990272019e027c01a4028601a8029001af029a01b2029d01bc02a401c602ac01c802ae01 d002b301d702b801da02ba01e402bd01ee02c101f802c4010203c5010c03c6011603c7012003c7012a03c7013403c6013e03c5014803c4015203c3015c03c101 6603bf017003bb017a03b6018403b1018e03ac019803a6019c03a401a203a001aa039a01ac039801b6039001c0038601c8037c01ca037a01d1037201d4036d01 d8036801de035e01e3035401e8034a01eb034001f0033601f2032c01f5032201f8031801fa030e01fc030401fd03fa0007000000fc020000ffffff0000000400 00002d0103006e000000240335007d03f0007b03e6007903dc007503d2007003c8006b03c3006603c1005c03c1005203c4004803c7004303ca003e03cf003903 d2003403d7002f03dc002a03e1002803e6002103f0001c03f8001b03fa001603040112030e01100318010d0322010c032c010c0336010c0340010c034a010e03 540110035e01140368011a036d01200372012a037601340377013e0374014403700148036d014f0368015203650158035e015c0357015e03540164034a016603 46016a0340016d03360171032c01750322017703180179030e017b0304017d03fa00070000001b044a010604f5006403040000002d0100004400000024032000 600440014204c201c403c2011a0478008804780084049a0088049600920490009c048800a6048200b0047f00ba047b00c4047800ce047600d8047400e2047400 ec047600d404e600ba04e600b004e700a604ea009c04ee009204f3008b04fa008304ff008004040176040e0174041301720418016c04220169042c0165043601 f4000000240378001006f5001006f0000f06e6000e06dc000c06d2000906c8000406be000006b400fa05aa00f405a000f0059c00ea059600e6059300dc058c00 d2058400ca058200c8058000be057d00b4057900aa057600a0057400960573008c05720082057100780571006e057200640573005a0574005005760046057800 3c05790032057d0028058000260582001e058500140589000d058c000a058e0000059400fd049800f6049b00f004a000ec04a300e604aa00e204ad00db04b400 d804b800d304be00ce04c400ca04c800c404d200bd04dc00ba04e100b804e600b404f000b004fa00ab040401a8040e01a5041801a4042201a2042c01a2043601 a3044001a4044a01a6045401a7045e01a9046801ab047201b0047c01b6048601ba049001c1049a01c4049d01ce04a401d804ac01da04ae01e204b301e904b801 ec04ba01f604bd010005c1010a05c4011405c5011e05c6012805c7013205c7013c05c7014605c6015005c5015a05c4016405c3016e05c1017805bf018205bb01 8c05b6019605b101a005ac01aa05a601ae05a401b405a001bc059a01be059801c8059001d2058601da057c01dc057a01e3057201e6056d01ea056801f0055e01 f5055401fa054a01fd0540010206360104062c01070622010a0618010c060e010e0604010f06fa00040000002d0103006e000000240335008f05f0008d05e600 8b05dc008705d2008205c8007d05c3007805c1006e05c1006405c4005a05c7005505ca005005cf004b05d2004605d7004105dc003c05e1003a05e6003305f000 2e05f8002d05fa002805040124050e01220518011f0522011e052c011e0536011e0540011e054a012005540122055e01260568012c056d01320572013c057601 4605770150057401560570015a056d0161056801640565016a055e016e0557017005540176054a01780546017c0540017f05360183052c018705220189051801 8b050e018d0504018f05fa000a00000024030300aa0554010e062c010e065401040000002d01000026010000240391005c07e6005d07d2005c07c8005b07be00 5907b4005807aa005307a0004e07960044078c003a0787003207820026077a001c0778001207760008077400fe067200f4067100ea067000e0066f00d6066e00 a4066e009a06700090067200860675007c06780072067b0068067d005e068200540687004a068e00400696003606a0002e06aa002906b4002406be002106c800 1f06d2001d06e6002006f0002206fa00240604012a060e013106180136061d013c062201400625014a062b01540631015e0636016806380172063b017c063e01 86064201be065201c2065501c7065901ca065e01cc066301ca066801c7067201c2067701bb067c01ae068201a40685019a06840190068301860680017c067c01 720674016d0668016c065e0170065401ee055401f0057c01f2059001f7059a01fa05a001fd05a4010406ac010e06b3011806b8012206bd012c06c2013606c401 4006c7014a06c8015406c9015e06ca016806cb017206cc01a406cc01ae06cb01b806ca01c206c901cc06c801d606c701e006c401ea06c201f406bd01fe06ba01 0807b8011207b1011c07ac012507a3012e079a01390790013f07860146077c014a0772014e07680151075e015307540153074001500736014f072c0149072201 44071d01400718013a07120135070e01260706011c0702011207fe000807fa00fe06f900f406f600a906e400a406e1009a06dc009506d8009306d2009306c800 9506c4009a06c000a406bc00ae06b800b806b600c206b600cc06b800d606b900e006be00e806c200ea06c800ea06d200e506e600f400000024037800c208f500 c208f000c108e600c008dc00be08d200bb08c800b608be00b208b400ac08aa00a608a000a2089c009c089600980893008e088c00840884007c0882007a088000 70087d00660879005c08760052087400480873003e087200340871002a08710020087200160873000c08740002087600f8077800ee077900e4077d00da078000 d8078200d0078500c6078900bf078c00bc078e00b2079400af079800a8079b00a207a0009e07a3009807aa009407ad008d07b4008a07b8008507be008007c400 7c07c8007607d2006f07dc006c07e1006a07e6006607f0006207fa005d0704015a070e01570718015607220154072c01540736015507400156074a0158075401 59075e015b0768015d07720162077c01680786016c07900173079a0176079d018007a4018a07ac018c07ae019407b3019b07b8019e07ba01a807bd01b207c101 bc07c401c607c501d007c601da07c701e407c701ee07c701f807c6010208c5010c08c4011608c3012008c1012a08bf013408bb013e08b6014808b1015208ac01 5c08a6016008a4016608a0016e089a01700898017a089001840886018c087c018e087a019508720198086d019c086801a2085e01a7085401ac084a01af084001 b4083601b6082c01b9082201bc081801be080e01c0080401c108fa00040000002d0103006e000000240335004108f0003f08e6003d08dc003908d2003408c800 2f08c3002a08c1002008c1001608c4000c08c7000708ca000208cf00fd07d200f807d700f307dc00ee07e100ec07e600e507f000e007f800df07fa00da070401 d6070e01d4071801d1072201d0072c01d0073601d0074001d0074a01d2075401d4075e01d8076801de076d01e4077201ee077601f80777010208740108087001 0c086d0113086801160865011c085e01200857012208540128084a012a0846012e0840013108360135082c01390822013b0818013d080e013f0804014108fa00 040000002d01000084000000240340002409c201a208c201e808d200b608d200ca088200ff08820010094b001409460018093c001e09360024092d002a092800 2e09260038091e00420919004c09140056091300600911006a09100074090f00a6090f00b0091100ba091300a6095400920955008d0956008809590083095f00 8109640078098200ad098200c40932003c0a3200260a82005a0a8200460ad200110ad200ec094a01ea095401e8095e01ea096801ec096d01f10970011e0a7001 000ac201b009c201a609c0019c09bf019209bd018809b9018209b6017909ae017409a8016c099a016a0990016a0986016a097c016b0972016d09680170095e017209540174094a019709d2006a09d2000700000021050100ae008200690a030000000000}\par}}}{\b\fs32 Microsoft}{\b\fs16 \'ae}{\b\fs32 } {\field\fldedit\fldlock{\*\fldinst ref {\b\fs32 Product \\* charformat}}{\fldrslt {\b\fs32 MS}{\b\fs16 \'ae}{\b\fs32 -DOS, Windows}{\b\fs16 \'ae}{\b\fs32 , Windows NT}{\b\fs16 \'ae}{\b\fs32 , and Apple Macintosh Applications}}}{\b\fs32 \cell }\pard\plain \s39\qc\sb120\sa120\sl240\slmult0\nowidctlpar\widctlpar\intbl\tqr\tx9936\pvpg\phmrg\posy878\dxfrtext187\dfrmtxtx187\dfrmtxty187\adjustright \f1\fs20\cgrid {\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\trowd \trqc\trkeep \clvertalt\cltxlrtb \cellx1440\clvertalt\cltxlrtb \cellx7200\clvertalt\cltxlrtb \cellx10080\pard\plain \s23\sa120\nowidctlpar\widctlpar\intbl\tqr\tx9936\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\fs24 Version:\cell }\pard\plain \sa120\nowidctlpar\widctlpar\intbl\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\field\fldlock{\*\fldinst ref {\fs24 Version \\* charformat}}{\fldrslt {\fs24 RTF Version 1.5}}}{\cell }\pard\plain \s23\qc\sb120\sa120\nowidctlpar\widctlpar\intbl \tqr\tx9936\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\fs24 Microsoft Technical Support\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\trowd \trqc\trrh402\trkeep \clvertalt\cltxlrtb \cellx1440\clvertalt\cltxlrtb \cellx7200\clvertalt\cltxlrtb \cellx10080\pard\plain \s23\sb60\sa120\nowidctlpar\widctlpar\intbl\tqr\tx9936\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\fs24 Subject:\cell }\pard\plain \sa120\sl168\slmult0 \nowidctlpar\widctlpar\intbl\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\field\fldlock{\*\fldinst ref {\b\fs28 AppnoteTitle \\* charformat}}{\fldrslt {\b\fs28 Rich Text Format (RTF) Specification and Sample RTF Reader Program}}}{\cell }\pard \qc\sa120\nowidctlpar\widctlpar\intbl\pvpg\phmrg\posy878\adjustright {\fs24 Application Note}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trqc\trrh312\trkeep \clvertalt\clbrdrb\brdrs\brdrw30 \cltxlrtb \cellx1440\clvertalt\clbrdrb \brdrs\brdrw30 \cltxlrtb \cellx7200\clvertalt\clbrdrb\brdrs\brdrw30 \cltxlrtb \cellx10080\pard\plain \s38\sb120\sa120\nowidctlpar\widctlpar\intbl\tqr\tx9936\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {Contents:\cell }{\field\fldlock{\*\fldinst {=(} {\field\fldlock{\*\fldinst {numpages}}{\fldrslt {\lang1024 159}}}{ - 2)}}{\fldrslt {\lang1024 157}}}{ }{\field\fldlock{\*\fldinst {if }{\field\fldlock{\*\fldinst {=(}{\field\fldlock{\*\fldinst {numpages}}{\fldrslt {\lang1024 159}}}{ - 1)}}{\fldrslt { \lang1024 158}}}{ = 1 "Page, " "Pages, "}}{\fldrslt {\lang1024 Pages, }}}{\field\fldlock{\*\fldinst ref {contents \\* charformat}}{\fldrslt {1}}}{ }{\field\fldlock{\*\fldinst {if }{\field\fldlock{\*\fldinst ref {contents \\* charformat}}{\fldrslt {1}}}{ = "No" "Disk" }{\field\fldlock{\*\fldinst {if }{\field\fldlock{\*\fldinst ref {contents \\* charformat}}{\fldrslt {1}}}{ > 1 "Disks" "Disk"}}{\fldrslt {\lang1024 Disk}}}}{\fldrslt {\lang1024 Disk}}}{\cell }\pard\plain \qc\sa120\nowidctlpar\widctlpar\intbl\pvpg\phmrg\posy878\adjustright \f1\fs20\cgrid {\field\fldlock{\*\fldinst ref {\fs16 modifydate \\* charformat}}{\fldrslt {\fs16 4/97}}}{\field\flddirty\fldlock{\*\fldinst {\fs16 SYMBOL 45 \\f "Symbol"}}{\fldrslt }}{ \fs16 }{\field\fldlock{\*\fldinst ref {\fs16 AppNumber \\* charformat}}{\fldrslt {\fs16 GC0165}}}{\fs16 \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\tx900\adjustright { \par }\pard\plain \s21\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\field\fldedit\fldlock{\*\fldinst { TOC \\o "1-3" }}{\fldrslt {\lang1024 Introduction\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002166 \\h }{ \lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100360036000000}}}{\fldrslt {\lang1024 2}}}{\lang1024 \par RTF Syntax\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002167 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100360037000000}}}{\fldrslt {\lang1024 3}}}{ \lang1024 \par Conventions of an RTF Reader\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002168 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100360038000000}}}{\fldrslt { \lang1024 4}}}{\lang1024 \par Formal Syntax\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002169 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100360039000000}}}{\fldrslt {\lang1024 6}}}{ \lang1024 \par Contents of an RTF File\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002170 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370030000000}}}{\fldrslt { \lang1024 6}}}{\lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Header\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002171 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370031000000}}}{\fldrslt {\lang1024 6}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 RTF Version\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002172 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370032000000}}}{\fldrslt {\lang1024 7}}}{\lang1024 \par Character Set\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002173 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370033000000}}}{\fldrslt {\lang1024 7}}}{ \lang1024 \par Unicode RTF\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002174 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370034000000}}}{\fldrslt {\lang1024 7}}}{ \lang1024 \par Font Table\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002175 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370035000000}}}{\fldrslt {\lang1024 9}}}{ \lang1024 \par File Table\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002176 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370036000000}}}{\fldrslt {\lang1024 12}}}{ \lang1024 \par Color Table\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002177 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370037000000}}}{\fldrslt {\lang1024 12}}}{ \lang1024 \par Style Sheet\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002178 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370038000000}}}{\fldrslt {\lang1024 13}}}{ \lang1024 \par List Table\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002179 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100370039000000}}}{\fldrslt {\lang1024 15}}}{ \lang1024 \par Track Changes (Revision Marks)\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002180 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380030000000}}}{\fldrslt { \lang1024 18}}}{\lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Document Area\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002181 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380031000000}}}{\fldrslt {\lang1024 18}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Information Group\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002182 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380032000000}}}{\fldrslt {\lang1024 19}}}{\lang1024 \par Document Formatting Properties\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002183 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380033000000}}}{\fldrslt { \lang1024 21}}}{\lang1024 \par Section Text\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002184 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380034000000}}}{\fldrslt {\lang1024 26}}}{ \lang1024 \par Paragraph Text\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002185 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380035000000}}}{\fldrslt {\lang1024 31}}}{ \lang1024 \par Character Text\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002186 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380036000000}}}{\fldrslt {\lang1024 44}}}{ \lang1024 \par Document Variables\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002187 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380037000000}}}{\fldrslt {\lang1024 53 }}}{\lang1024 \par Bookmarks\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002188 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380038000000}}}{\fldrslt {\lang1024 54}}}{ \lang1024 \par Pictures\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002189 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100380039000000}}}{\fldrslt {\lang1024 54}}}{ \lang1024 \par Objects\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002190 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390030000000}}}{\fldrslt {\lang1024 58}}}{ \lang1024 \par Drawing Objects\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002191 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390031000000}}}{\fldrslt {\lang1024 60}}} {\lang1024 \par Word 97 RTF for Drawing Objects (Shapes)\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002192 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390032000000}} }{\fldrslt {\lang1024 66}}}{\lang1024 \par Footnotes\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002193 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390033000000}}}{\fldrslt {\lang1024 84}}}{ \lang1024 \par Comments (Annotations)\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002194 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390034000000}}}{\fldrslt { \lang1024 85}}}{\lang1024 \par Fields\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002195 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390035000000}}}{\fldrslt {\lang1024 86}}}{ \lang1024 \par Form Fields\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002196 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390036000000}}}{\fldrslt {\lang1024 87}}}{ \lang1024 \par Index Entries\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002197 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390037000000}}}{\fldrslt {\lang1024 88}}}{ \lang1024 \par Table of Contents Entries\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002198 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390038000000}}}{\fldrslt { \lang1024 88}}}{\lang1024 \par Bidirectional Language Support\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002199 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003100390039000000}}}{\fldrslt { \lang1024 89}}}{\lang1024 \par }\pard\plain \s21\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Appendix A: Sample RTF Reader Application\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002200 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300030000000}}}{\fldrslt {\lang1024 90}}}{\lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 How to Write an RTF Reader\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002201 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300031000000}}}{\fldrslt {\lang1024 90}}}{\lang1024 \par A Sample RTF Reader Implementation\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002202 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300032000000}} }{\fldrslt {\lang1024 90}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Rtfdecl.h and Rtfreadr.c\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002203 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300033000000}}}{\fldrslt {\lang1024 91}}}{\lang1024 \par Rtftype.h\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002204 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300034000000}}}{\fldrslt {\lang1024 91}}}{ \lang1024 \par Rtfactn.c\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002205 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300035000000}}}{\fldrslt {\lang1024 93}}}{ \lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Notes on Implementing Other RTF Features\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002206 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300036000000}}}{\fldrslt {\lang1024 94}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Tabs and Other Control Sequences Terminating in a Fixed Control\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002207 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300037000000}}}{\fldrslt {\lang1024 94}}}{\lang1024 \par Borders and Other Control Sequences Beginning with a Fixed Control\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002208 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300038000000}}}{\fldrslt {\lang1024 94}}}{\lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Other Problem Areas in RTF\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002209 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200300039000000}}}{\fldrslt {\lang1024 94}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Style Sheets\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002210 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310030000000}}}{\fldrslt {\lang1024 94}}}{\lang1024 \par Property Changes\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002211 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310031000000}}}{\fldrslt {\lang1024 94} }}{\lang1024 \par Fields\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002212 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310032000000}}}{\fldrslt {\lang1024 95}}}{ \lang1024 \par Tables\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002213 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310033000000}}}{\fldrslt {\lang1024 95}}}{ \lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Appendix A-1: Listings\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002214 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310034000000}}}{\fldrslt {\lang1024 96}}}{\lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Rtfdecl.h\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002215 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310035000000}}}{\fldrslt {\lang1024 96}}}{\lang1024 \par Rtftype.h\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002216 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310036000000}}}{\fldrslt {\lang1024 97}}}{ \lang1024 \par Rtfreadr.c\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002217 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310037000000}}}{\fldrslt {\lang1024 100}}}{ \lang1024 \par Makefile\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002218 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310038000000}}}{\fldrslt {\lang1024 114}}}{ \lang1024 \par }\pard\plain \s21\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Appendix B: Word (Asian Versions) Text Format\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002219 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200310039000000}}}{\fldrslt {\lang1024 115}}}{\lang1024 \par }\pard\plain \s20\li432\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 RTF-J\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002220 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320030000000}}}{\fldrslt {\lang1024 115}}}{\lang1024 \par Escaped Expressions\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002221 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320031000000}}}{\fldrslt {\lang1024 115}}}{\lang1024 \par Character Set\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002222 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320032000000}}}{\fldrslt {\lang1024 116}}}{ \lang1024 \par Character Mapping\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002223 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320033000000}}}{\fldrslt {\lang1024 116 }}}{\lang1024 \par Font Family\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002224 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320034000000}}}{\fldrslt {\lang1024 116}}}{ \lang1024 \par }\pard\plain \s19\li864\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Composite Fonts (Associated Fonts for International Runs)\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002225 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320035000000}}}{\fldrslt {\lang1024 116}}}{\lang1024 \par New Control Words Created by Word 6J\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002226 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320036000000}} }{\fldrslt {\lang1024 118}}}{\lang1024 \par New Control Words Created by Asian Versions of Word 97\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002227 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320037000000}}}{\fldrslt {\lang1024 121}}}{\lang1024 \par }\pard\plain \s21\sa40\nowidctlpar\widctlpar\tqr\tldot\tx10080\adjustright \f1\fs20\cgrid {\lang1024 Appendix C: Index of RTF Control Words\tab }{\field\fldlock{\*\fldinst {\lang1024 PAGEREF _Toc386002228 \\h }{\lang1024 {\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f0054006f0063003300380036003000300032003200320038000000}}}{\fldrslt {\lang1024 124}}}{\lang1024 \par }\pard\plain \sa120\nowidctlpar\widctlpar\tx900\adjustright \f1\fs20\cgrid }}\pard\plain \sa120\nowidctlpar\widctlpar\tx900\adjustright \f1\fs20\cgrid { \par }\pard\plain \s1\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid {{\*\bkmkstart _Toc382644177}{\*\bkmkstart _Toc383176008}{\*\bkmkstart _Toc386002166}Introduction{\*\bkmkend _Toc382644177}{\*\bkmkend _Toc383176008} {\*\bkmkend _Toc386002166} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The Rich Text Format (RTF) Specificatio n is a method of encoding formatted text and graphics for easy transfer between applications. Currently, users depend on special translation software to move word-processing documents between different MS-DOS}{\fs12 \'ae}{ , Windows, OS/2, Macintosh, and Power Macintosh applications. \par The RTF Specification 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 t he representation and formatting of a document, both on the screen and in print. With the RTF Specification, documents created under different operating systems and with different software applications can be transferred between those operating systems an d applications. RTF files created in Word 6.0 (and later) for the Macintosh and Power Macintosh have a file type of \ldblquote RTF.\rdblquote \par Software that takes a formatted file and turns it into an RTF file is called a writer. An RTF writer separates the application's contr ol information from the actual text and writes a new file containing the text and the RTF groups associated with that text. Software that translates an RTF file into a formatted file is called a reader. \par Included with the RTF specification is a sample RTF reader application (see "}{\field\fldlock{\*\fldinst {ref _Ref381668418 \\h }{{\*\datafield 08d0c9ea79f9bace118c8200aa004ba90b02000000080000000e0000005f005200650066003300380031003600360038003400310038000000}}}{\fldrslt {Appendix A: Sample RTF Reader Application}}}{" beginning on page }{\field\fldlock{\*\fldinst {pageref _Ref307310408 } }{\fldrslt {\lang1024 89}}}{ of this document). It is designed for use with the specification to assist those users developing their own RTF reader s. The file included with this Application Note, Rtfreadr.exe, contains the sample RTF reader program itself. This file and its use are described in Appendix A. The sample RTF reader is not a for-sale product, and Microsoft does not provide technical or a ny other type of support for the sample RTF reader code or the RTF specification. \par RTF Version 1.5 has been updated to include all new control words introduced by Microsoft Word for Windows 95 version 7.0 and Word 97 for Windows. \par }\pard\plain \s1\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid {{\*\bkmkstart _Toc313960795}{\*\bkmkstart _Toc335399069}{\*\bkmkstart _Toc380819766}{\*\bkmkstart _Toc381591817}{\*\bkmkstart _Toc382644178} {\*\bkmkstart _Toc383176009}{\*\bkmkstart _Toc386002167}RTF Syntax{\*\bkmkend _Toc313960795}{\*\bkmkend _Toc335399069}{\*\bkmkend _Toc380819766}{\*\bkmkend _Toc381591817}{\*\bkmkend _Toc382644178}{\*\bkmkend _Toc383176009}{\*\bkmkend _Toc386002167} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {An RTF file consi sts 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. (Converters that communicate with Microsoft Word for Windows or Microsoft Word for the Macintosh sh ould expect 8-bit characters.) There is no set maximum line length for an RTF file. \par A }{\i 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 cannot be longer than 32 characters. A control word takes the following form: \par }\pard\plain \s15\li288\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {\\LetterSequence}{\i <}{Delimiter}{\i >}{ \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {Note that a backslash begins each control word. \par The LetterSequence is made up of lowercase alphabetic characters between "a" and "z" inclusive. RTF is case sensitive, and all RTF control words must be lowercase. \par The delimiter marks the end of an RTF control word, and can be one of the following: \par }\pard \fi-360\li360\sa120\nowidctlpar\widctlpar\adjustright {\f3 \'b7\tab }{A space. In this case, the space is part of the control word. \par }{\f3 \'b7\tab }{A digit or a hyphen (-), which indicates that a numeric parameter follows. The subsequent digital sequence is then delimited by a space or any character other than a letter or a digit. The p arameter can be a positive or a negative number. The range of the values for the number is generally \endash 32767 through 32767. However, Word tends to restrict the range to \endash 31680 through 31680. Word allows values in the range -2,147,483,648 to 2,147,483,648 for a small number of keywords (specifically }{\b \\bin}{, }{\b \\revdttm,}{ and some picture properties). An RTF parser must handle an arbitrary string of digits as a legal value for a keyword. If a numeric parameter immediately follows the control word, this parameter be comes part of the control word. The control word is then delimited by a space or a nonalphabetic or nonnumeric character in the same manner as any other control word. \par }{\f3 \'b7\tab }{Any character other than a letter or a digit. In this case, the delimiting character terminates the control word but is not actually part of the control word. \par }\pard \sa120\nowidctlpar\widctlpar\adjustright {If a space delimits the control word, the space does not appear in the document. Any characters following the delimiter, including spaces, will appear in the document. For this reason, you should use spaces only where necessary; do not use spaces merely to break up RTF code. \par A }{\i control symbol}{ consists of a backslash followed by a single, nonalphabetic character. For example, \\}{\b ~}{ represents a nonbreaking space. Control symbols take no delimiters. \par A }{\i group}{ consists of text and control words or control symbols enclosed in braces (\{}{\expnd-4\expndtw-20 }{\}). The opening brace (\{}{\expnd-4\expndtw-20 }{) indicates the start of the group and the closing brace (}{\expnd-4\expndtw-20 }{\} ) 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, comments (annotations), headers and footers, summary information, fields, and bookmarks, as well as document-, sec t ion-, paragraph-, and character-formatting properties. If the font, file, style, screen-color, revision mark, 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. \par The control properties of certain control wo rds (such as bold, italic, keep together, and so on) have only two states. When such a control word has no parameter or has a nonzero parameter, it is assumed that the control word turns on the property. When such a control word has a parameter of 0 , it is assumed that the control word turns off the property. For example, \\}{\b b}{ turns on bold, whereas \\}{\b b0}{ turns off bold. \par Certain control words, referred to as }{\i destinations}{, mark the beginning of a collection of related text that could appear at another position, or destination, within the document. Destinations may also be text that is used but should not appear within the document at all. An example of a destination is the \\ footnote group, where the footnote text follows the control word. Page breaks cannot occu r in destination text. Destination control words and their following text must be enclosed in braces. No other control words or text may appear within the destination group. Destinations added after the RTF Specification published in the March 1987 }{\i Microsoft Systems Journal}{ may be preceded by the control symbol \\}{\b *}{ . 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 cont rol symbol when adding new destinations or groups.) Destinations whose related text should be inserted into the document even if the RTF reader does not recognize the destination should not use \\}{\b *}{ . All destinations that were not included in the March 1987 revision of the RTF Specification are shown with \\}{\b *}{ as part of the control word. \par 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, annotation, header, and footer groups (described later in this chapter) 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 }{\b \\sectd, \\pard, }{and }{\b \\plain }{control words, and then add any desired formatting. \par The control words, control symbols, and braces constitute control information. All other characters in the file are plain text. Here is an example of plain text that does not exist within a group: \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid {\{\\rtf\\ansi\\deff0\{\\fonttbl\{\\f0\\froman Tms Rmn;\}\{\\f1\\fdecor \par Symbol;\}\{\\f2\\fswiss Helv;\}\}\{\\colortbl;\\red0\\green0\\blue0; \par \\red0\\green0\\blue255;\\red0\\green255\\blue255;\\red0\\green255\\ \par blue0;\\red255\\green0\\blue255;\\red255\\green0\\blue0;\\red255\\ \par green255\\blue0;\\red255\\green255\\blue255;\}\{\\stylesheet\{\\fs20 \\snext0Normal;\}\}\{\\info\{\\author John Doe\} \par \{\\creatim\\yr1990\\mo7\\dy30\\hr10\\min48\}\{\\version1\}\{\\edmins0\} \par \{\\nofpages1\}\{\\nofwords0\}\{\\nofchars0\}\{\\vern8351\}\}\\widoctrl\\ftnbj \\sectd\\linex0\\endnhere \\pard\\plain \\fs20 This is plain text.\\par\} \par \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The phrase \ldblquote This is plain text\rdblquote is not part of a group and is treated as document text. \par As previously mentioned, the backslash (\\) and braces (\{}{\expnd-4\expndtw-20 }{\}) have special meaning in RTF. To use these characters as text, precede them with a backslash, as in \\\\, \\\{, and \\\}. \par }\pard\plain \s1\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid {{\*\bkmkstart _Toc313960796}{\*\bkmkstart _Toc335399070}{\*\bkmkstart _Toc380819767}{\*\bkmkstart _Toc381591818}{\*\bkmkstart _Toc382644179} {\*\bkmkstart _Toc383176010}{\*\bkmkstart _Toc386002168}Conventions of an RTF Reader{\*\bkmkend _Toc313960796}{\*\bkmkend _Toc335399070}{\*\bkmkend _Toc380819767}{\*\bkmkend _Toc381591818}{\*\bkmkend _Toc382644179}{\*\bkmkend _Toc383176010} {\*\bkmkend _Toc386002168} \par }\pard\plain \sa120\keepn\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The reader of an RTF stream is concerned with the following: \par }\pard \fi-360\li360\sa120\keepn\nowidctlpar\widctlpar\adjustright {\f3 \'b7\tab }{Separating control information from plain text. \par }{\f3 \'b7\tab }{Acting on control information. \par }\pard \fi-360\li360\sa120\nowidctlpar\widctlpar\adjustright {\f3 \'b7\tab }{Collecting and properly inserting text into the document, as directed by the current group state. \par }\pard \sa120\nowidctlpar\widctlpar\adjustright {Acting on control information is designed to be a relatively simple process. Some control information simply contributes special characters to the plain text stream. Other information serves to change the } {\i program state}{, which includes properties of the document as a whole, or to change any of a collection of }{\i group states}{, which apply to parts of the document. \par As previously mentioned, a group state can specify the following: \par }\pard \fi-360\li360\sa120\nowidctlpar\widctlpar\adjustright {\f3 \'b7\tab }{The }{\i destination}{, or part of the document that the plain text is constructing. \par }{\f3 \'b7\tab }{Character-formatting properties, such as bold or italic. \par }{\f3 \'b7\tab }{Paragraph-formatting properties, such as justified or centered. \par }{\f3 \'b7\tab }{Section-formatting properties, such as the number of columns. \par }{\f3 \'b7\tab }{Table-formatting properties, which define the number of cells and dimensions of a table row. \par }\pard \sa120\nowidctlpar\widctlpar\adjustright {In practice, an RTF reader will evaluate each character it reads in sequence as follows: \par }\pard \fi-360\li360\sa120\nowidctlpar\widctlpar\adjustright {\f3 \'b7\tab }{If the character is an opening brace (\{), the reader stores its current state on the stack. If the character is a closing brace (\} ), the reader retrieves the current state from the stack. \par }{\f3 \'b7\tab }{If the character is a backslash (\\), the reader collects the control word or control symbol and its parameter, if any, and looks up the control word or control symbol in a table that maps control words to actions. It then carries out the action prescribed in the table. (The possible actions are discussed below.) The read pointer is left before or after a control-word delimite r, as appropriate. \par }{\f3 \'b7\tab }{If the character is 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. \par }\pard \sa120\nowidctlpar\widctlpar\adjustright {If the RTF reader cannot find a particular control word or control symbol in the look-up table described above, the control word or control symbol should be ignored. If a control word or control symbol is preceded by an opening brace (\{ ), it is part of a group. The current state should be saved on the stack, but no state change should occur. When a closing brace (\}) is encountered, the current state should be retrieved from the stack, thereby resetting the current state. If the \\}{\b *}{ control symbol precedes a control word, then it defines a destination group and was itself preceded by an opening brace (\{). The RTF reader should discard all text up to and including the closing brace (\} ) that closes this group. All RTF readers must recognize all destinations defined in the March 1987 RTF Specification. The reader may skip past the group, but it is not allowed to simply discard the control word. Destinations defined since March 1987 are marked with the \\* control symbol. \par }\pard\plain \s65\li432\sa120\nowidctlpar\widctlpar\adjustright \i\f1\fs20\cgrid {\b Note}{ All RTF readers must implement the \\* control symbol so that they can read RTF files written by newer RTF writers. \par }\pard\plain \sa120\keepn\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {For control words or control symbols that the RTF reader can find in the look-up table, the possible actions are as follows. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx3330\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10152\pard \sa120\keepn\nowidctlpar\widctlpar\intbl\adjustright {\b Action\cell Description\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx3330\clvertalt\cltxlrtb \cellx10152\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {Change Destination\cell The RTF reader changes the destination to the destination described in the table entry. Destination changes are legal only immediately after an opening brace (\{}{\expnd-4\expndtw-20 }{ ). (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 destination are }{\b \\ footnote}{, }{\b \\header}{, }{\b \\footer}{, }{\b \\pict}{, }{\b \\info}{, }{\b \\fonttbl}{, }{\b \\stylesheet}{, and }{\b \\colortbl}{. This Application Note identifies all destination control words where they appear in control-word tables.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {Change Formatting Property\cell The RTF reader changes the property as described in the table entry. The entry will specify whether a parameter is required. The "}{\field\fldlock{\*\fldinst {ref _Ref281731472 }}{\fldrslt {Appendix C: Index of RTF Control Words}}}{ " section at the end of this Application Note also specifies which control words require parameters. If a parameter is needed and not specified, then a default value will be used. The default value used depends on the control word. If the contr ol word does not specify a default, then all RTF readers should assume a default of 0.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {Insert Special Character\cell The reader inserts into the document the character code or codes described in the table entry.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx3330\clvertalt\cltxlrtb \cellx10152\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {Insert Special Character and Perform Action\cell }\pard\plain \s71\sa240\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {The reader inserts into the document the character code or codes described in the table entry and performs whatever other action the entry specifies. For example, when Microsoft Word interprets }{\b \\par}{ , a paragraph mark is inserted in the document and special code is run to record the paragraph properties belonging to that paragraph mark.\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard\plain \s1\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid {{\*\bkmkstart _Toc313960797}{\*\bkmkstart _Toc335399071}{\*\bkmkstart _Toc380819768}{\*\bkmkstart _Toc381591819}{\*\bkmkstart _Toc382644180} {\*\bkmkstart _Toc383176011}{\*\bkmkstart _Toc386002169}Formal Syntax{\*\bkmkend _Toc313960797}{\*\bkmkend _Toc335399071}{\*\bkmkend _Toc380819768}{\*\bkmkend _Toc381591819}{\*\bkmkend _Toc382644180}{\*\bkmkend _Toc383176011}{\*\bkmkend _Toc386002169} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {This Application Note describes RTF using the following syntax, based on Backus-Naur Form. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Syntax\cell Meaning\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\clbrdrt\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrt\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {#PCDATA\cell Text (without control words).\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {#SDATA\cell Hexadecimal data.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {#BDATA\cell Binary data.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {'c'\cell A literal.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell A nonterminal.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b A}{\cell The (terminal) control word a, without a parameter. \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b\i a }{or }{\b a}{\b\i N}{ \cell The (terminal) control word a, with a parameter.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a?\cell Item a is optional.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright { \row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a+\cell One or more repetitions of item a.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a*\cell Zero o r more repetitions of item a.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a b\cell Item a followed by item b.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a | b\cell Item a or item b.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {a & b\cell }\pard\plain \s71\sa240\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {Item a and/or item b, in any order.\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard\plain \s1\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel0\adjustright \b\caps\f1\fs32\cgrid {{\*\bkmkstart _Toc313960798}{\*\bkmkstart _Toc335399072}{\*\bkmkstart _Toc380819769}{\*\bkmkstart _Toc381591820}{\*\bkmkstart _Toc382644181} {\*\bkmkstart _Toc383176012}{\*\bkmkstart _Toc386002170}Contents of an RTF File{\*\bkmkend _Toc313960798}{\*\bkmkend _Toc335399072}{\*\bkmkend _Toc380819769}{\*\bkmkend _Toc381591820}{\*\bkmkend _Toc382644181}{\*\bkmkend _Toc383176012} {\*\bkmkend _Toc386002170} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {An RTF file has the following syntax: \par }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{'
'\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par This syntax is the standard RTF syntax; any RTF reader must be able to correctly interpret RTF written to this syntax. It is worth mentioning again that RTF readers do not have to use all control words, but they must be able to harmlessly ignore unknown (or unused) control words, a nd they must correctly skip over destinations marked with the }{\b \\*}{ control symbol. There may, however, be RTF writers that generate RTF that does not conform to this syntax, and as such, RTF readers should be robust enough to handle some minor variations. Non etheless, if an RTF writer generates RTF conforming to this specification, then any correct RTF reader should be able to interpret it. \par }\pard\plain \s2\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel1\adjustright \b\f1\fs32\cgrid {{\*\bkmkstart _Toc313960799}{\*\bkmkstart _Toc335399073}{\*\bkmkstart _Toc380819770}{\*\bkmkstart _Toc381591821}{\*\bkmkstart _Toc382644182} {\*\bkmkstart _Toc383176013}{\*\bkmkstart _Toc386002171}Header{\*\bkmkend _Toc313960799}{\*\bkmkend _Toc335399073}{\*\bkmkend _Toc380819770}{\*\bkmkend _Toc381591821}{\*\bkmkend _Toc382644182}{\*\bkmkend _Toc383176013}{\*\bkmkend _Toc386002171} \par }\pard\plain \sa120\keepn\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The header has the following syntax: \par }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {
\cell }{\b\i \\rtf}{ }{\b\i \\deff}{? ? ? ? ? ?\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright {{\*\bkmkstart _Ref281719559}{\*\bkmkstart _Toc313960800}{\*\bkmkstart _Toc335399074} \par Each of the various header tables should appear, if they exist, in the above order. Document properties can occur before and between the header tables. A property must be defined before being referenced. Specifically: \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li720\sa120\nowidctlpar\widctlpar\tx720{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls10\adjustright {The style s heet must occur before any style usage. \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li720\sa120\nowidctlpar\widctlpar\tx720{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls10\adjustright { The font table must precede any reference to a font. \par {\pntext\pard\plain\f3\fs20\cgrid \loch\af3\dbch\af0\hich\f3 \'b7\tab}}\pard \fi-360\li720\sa120\nowidctlpar\widctlpar\tx720{\*\pn \pnlvlblt\ilvl0\ls10\pnrnot0\pnf3\pnstart1\pnindent360\pnhang{\pntxtb \'b7}}\ls10\adjustright {The }{\b \\deff}{ keyword must precede any text without an explicit reference to a font, because it specifies the font to use in such cases. \par }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart _Toc380819771}{\*\bkmkstart _Toc381591822}{\*\bkmkstart _Toc382644183}{\*\bkmkstart _Toc383176014}{\*\bkmkstart _Toc386002172}RTF Version {\*\bkmkend _Ref281719559}{\*\bkmkend _Toc313960800}{\*\bkmkend _Toc335399074}{\*\bkmkend _Toc380819771}{\*\bkmkend _Toc381591822}{\*\bkmkend _Toc382644183}{\*\bkmkend _Toc383176014}{\*\bkmkend _Toc386002172} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {An entire RTF file is considered a group and must be enclosed in braces. The \\}{\b rtf}{\b\i N}{ control word must follow the opening brace. The numeric parameter }{\b\i N}{ identifies the major version of the RTF Specification used. The RTF standard described in this Application Note, although titled as version 1.5, continues to correspond syntactically to RTF Specification version 1. Therefore, the numeric parameter }{ \b\i N}{ for the \\}{\b rtf}{ control word should still be emitted as 1. \par }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart charset}{\*\bkmkstart _Toc313960801}{\*\bkmkstart _Toc335399075}{\*\bkmkstart _Toc380819772}{\*\bkmkstart _Toc381591823} {\*\bkmkstart _Toc382644184}{\*\bkmkstart _Toc383176015}{\*\bkmkstart _Toc386002173}Character Set{\*\bkmkend charset}{\*\bkmkend _Toc313960801}{\*\bkmkend _Toc335399075}{\*\bkmkend _Toc380819772}{\*\bkmkend _Toc381591823}{\*\bkmkend _Toc382644184} {\*\bkmkend _Toc383176015}{\*\bkmkend _Toc386002173} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {After specifying the RTF version, you must declare the char acter set used in this document. 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. \par \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Character set\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\ansi\cell }{ANSI (the default)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\mac\cell }{Apple Macintosh\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\pc \cell }{IBM PC code page 437\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\pca\cell }{ IBM PC code page 850, used by IBM Personal System/2 (not implemented in version 1 of Microsoft Word for OS/2)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\f5 \row }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart _Toc379295355}{\*\bkmkstart _Toc380819773}{\*\bkmkstart _Toc381591824}{\*\bkmkstart _Toc382644185}{\*\bkmkstart fonttbl}{\*\bkmkstart _Ref281718258} {\*\bkmkstart _Ref281718288}{\*\bkmkstart _Ref281718720}{\*\bkmkstart _Toc313960802}{\*\bkmkstart _Toc335399076}{\*\bkmkstart _Toc383176016}{\*\bkmkstart _Toc386002174}Unicode RTF{\*\bkmkend _Toc379295355}{\*\bkmkend _Toc380819773} {\*\bkmkend _Toc381591824}{\*\bkmkend _Toc382644185}{\*\bkmkend _Toc383176016}{\*\bkmkend _Toc386002174} \par }\pard\plain \s15\li288\sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {Word 97 is a partially Unicode-enabled application. Text is handled using the 16-b it 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 describ ed here can be applied to any RTF destination or body text. \par \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2112\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10032\pard\plain \s98\sb240\sl199\slmult1\keepn\nowidctlpar\widctlpar\intbl\brdrbtw\brdrs\brdrw15 \adjustright \b\f1\fs20\lang1024\cgrid {Control word\cell Meaning\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2112\clvertalt\cltxlrtb \cellx10032\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\ansicpg}{\i N}{\cell }\pard\plain \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid { This keyword represents the ANSI code page which is used to perform the Unicode to ANSI conversion when writing RTF text. }{\b\i N}{ represents the code page in decimal. Thi s is typically set to the default ANSI code page of the run-time environment (for example }{\b \\ansicpg1252}{ for U.S. Windows). The reader can use the same ANSI code page to convert ANSI text back to Unicode. \par This keyword should be emitted in the RTF header section right after the }{\b \\ansi}{, }{\b \\mac}{, }{\b \\pc}{ or }{\b \\pca}{ keyword.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\upr\cell }\pard\plain \sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid { 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 }{\b \\ud }{keyword to provide b ackward compatibility. The general syntax is as follows: \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\intbl\adjustright \f2\fs16\cgrid {\{\\upr\{keyword ansi_text\}\{\\*\\ud\{keyword Unicode_text\}\}\} \par }\pard\plain \sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {Notice that this keyword-destination does not use the }{\b \\* }{keyword; this forces the old RTF readers to pick up the ANSI representation and discard the Unicode one.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\ud\cell }\pard\plain \sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid { This is a destination which is represented in Unicode. The text is represented using a mixture of ANSI translation and use of }{\b \\u}{\b\i N }{keywords to represent characters which do not have the exact ANSI equivalent.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\u}{\i N}{ \cell }\pard\plain \sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {This keyword repres ents a single Unicode character which has no equivalent ANSI representation based on the current ANSI code page. }{\b\i N}{ represents the Unicode character value expressed as a decimal number. \par This keyword is followed immediately by equivalent character(s) in ANSI representation. In this way, old readers will ignore the }{\b \\u}{\b\i N}{ keyword and pick up the ANSI representation properly. When this keyword is encountered, the reader should ignore the next }{\b\i N}{ characters, where }{\b\i N}{\b }{corresponds to the last }{\b \\uc}{\b\i N}{ value encountered. \par As with all RTF keywords, a keyword-terminating space may be present (before the ANSI characters) which is not counted in the characters to skip. While this is not likely to occur (or recommended), a }{\b \\bin}{ keyword, its argument, and the binary data that follo ws 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 i t 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 (that is, escaped with a backslash,) as in plain text. Any RTF control word or sy mbol is considered a single character for the purposes of counting skippable characters. \par An RTF writer, when it encounters a Unicode character with no corresponding ANSI character, should output }{\b \\u}{\b\i N}{ followed by the best ANSI representation it can manage. Al so, 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 }{\b \\uc}{\b\i N}{ keyword prior to the }{\b \\u}{\b\i N}{\b }{keyword}{\b }{ to notify the reader of the change. \par RTF control words generally accept signed 16-bit numbers as arguments. For this reason, Unicode values greater than 32767 must be expressed as negative numbers.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2112\clvertalt\cltxlrtb \cellx10032\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\uc}{\i N}{\cell }\pard\plain \s74\sa60\nowidctlpar\widctlpar\intbl\adjustright \f1\fs22\cgrid { \fs20 This keyword represents the number of bytes corresponding to a given }{\b\fs20 \\u}{\b\i\fs20 N }{\fs20 Unicode character. This keyword may be used at any time, and values are scoped like character properties. That is, a }{\b\fs20 \\uc}{\b\i\fs20 N }{\fs20 keyword applies only to text following the keyword, and within the same (or deeper) nested braces. On exiting the group, the previous }{\b\fs20 \\uc}{\fs20 value is restored. The reade r must keep a stack of counts seen and use the most recent one to skip the appropriate number of characters when it encounters a }{\b\fs20 \\u}{\b\i\fs20 N }{\fs20 keyword. When leaving an RTF group which specified a }{\b\fs20 \\uc}{\fs20 value, the reader must revert to the previous value. A default of 1 should be assumed if no }{\b\fs20 \\uc}{\fs20 keyword has been seen in the current or outer scopes. \par }\pard \s74\sb120\sa60\nowidctlpar\widctlpar\intbl\adjustright {A }{\fs20 common practice is to emit no ANSI representation for Unicode characters within a Unicode destination context (that is, inside a }{\b\fs20 \\ud}{\fs20 destination.). Typically, the destination will contain a }{\b\fs20 \\uc0}{\fs20 control sequence. There is no need to reset the count on leaving the }{\b\fs20 \\ud }{\fs20 destination as the scoping rules will ensure the previous value is restored.}{ \cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard\plain \s4\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel3\adjustright \b\i\f1\cgrid {{\*\bkmkstart _Toc379295356}{\*\bkmkstart _Toc380819774}Document Text {\*\bkmkend _Toc379295356}{\*\bkmkend _Toc380819774} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {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 }{\b \\uc}{\b\i N}{ and }{\b \\u}{\b\i N}{ keywords. \par For example, the text }{\b Lab}{\field\flddirty\fldlock{\*\fldinst {\b symbol 71 \\f "Symbol" \\s 10}}{\fldrslt {\b\f3 G}}}{\b Value}{ (Unicode characters 0x004c, 0x0061, 0x0062, 0x0393, 0x0056, 0x0061, 0x006 c, 0x0075, 0x0065) should be represented as follows (assuming a previous \\}{\b ucl)}{: \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid {Lab\\u915Gvalue \par }\pard\plain \s4\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel3\adjustright \b\i\f1\cgrid {{\*\bkmkstart _Toc379295357}{\*\bkmkstart _Toc380819775}Destination Text{\*\bkmkend _Toc379295357}{\*\bkmkend _Toc380819775} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {Destination text is defined as any text represented in an RTF destination. A good example is the bookmark name in the }{\b \\bkmkstart}{ destination. \par Any destination containing Unicode characters should be emitted as two destinations within a }{\b \\upr}{ destination to ensure that old readers can read it properly and that no Unicode character encoding is lost when read with a new reader. \par For example, a bookmark name }{\b Lab}{\field\flddirty\fldlock{\*\fldinst {\b symbol 71 \\f "Symbol" \\s 10}}{\fldrslt {\b\f3 G}}}{\b Value}{ (Unicode characters 0x004c, 0x0061, 0x0062, 0x0393, 0x0056, 0x0061, 0x006c, 0x0075, 0x0065) should be represented as follows: \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid {\{\\upr\{\\*\\bkmkstart LabGValue\}\{\\*\\ud\{\\*\\bkmkstart Lab\\u915 Value\}\}\} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The first sub-destination contains only ANSI characters and is the representation that old readers will see. The second sub-destination is a }{\b \\*\\ud }{ destination which contains a second copy of the }{\b \\bkmkstart}{ destination. This copy can contain Unicode characters and is the representation that Unicode-aware readers must pay attention to, ignoring the ANSI-only version. \par }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart _Toc380819776}{\*\bkmkstart _Toc381591825}{\*\bkmkstart _Toc382644186}{\*\bkmkstart _Toc383176017}{\*\bkmkstart _Toc386002175}Font Table {\*\bkmkend fonttbl}{\*\bkmkend _Ref281718258}{\*\bkmkend _Ref281718288}{\*\bkmkend _Ref281718720}{\*\bkmkend _Toc313960802}{\*\bkmkend _Toc335399076}{\*\bkmkend _Toc380819776}{\*\bkmkend _Toc381591825}{\*\bkmkend _Toc382644186}{\*\bkmkend _Toc383176017} {\*\bkmkend _Toc386002175} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The \\}{\b fonttbl}{ control word introduces the font table group. Unique }{\b \\f}{\b\i N}{ control words define each font available in the document, and are used to referen ce that font throughout the document. This group has the syntax listed in the following table. \par }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{' }{\b \\fonttbl }{( | ('\{' '\}'))+ '\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell ?????\line ? ? ';' \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{ \b\i \\f}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\fnil}{ | }{\b \\froman}{ | }{\b \\fswiss}{ | }{\b \\fmodern}{ | }{\b \\fscript}{ | }{\b \\fdecor}{ | }{ \b \\ftech}{ | }{\b \\fbidi}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\}{\b\i fcharset}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\}{\b\i fprq}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell \\*\\}{\b fname}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright { \cell #PCDATA\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{}{\b \\*}{'}{\b \\falt }{#PCDATA '\}'}{\b\i \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{\\*' }{\b \\fontemb}{ ? ? '\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\ftnil}{ | }{\b \\fttruetype}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{\\*' }{\b \\fontfile }{ ? #PCDATA '\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }\pard\plain \s71\sa240\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\\cpg\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par Note for that either or must be present, although both may be present. \par All fonts available to the RTF writer can be included in the font table, even if the document doesn't use all the fonts. \par RTF also supports font families, so that applications can attempt to intelligently choose fonts if the exact font is not present on the reading system. RTF uses the following control words to describe the various font families. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx6498\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx9738\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Font family\cell Examples\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx6498\clvertalt\cltxlrtb \cellx9738\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fnil\cell }{Unknown or default fonts (the default)\cell \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\froman\cell } {Roman, proportionally spaced serif fonts\cell Times New Roman, Palatino\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fswiss\cell }{ Swiss, proportionally spaced sans serif fonts\cell Arial\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fmodern\cell }{Fixed-pitch serif and sans serif fonts\cell Courier New, Pica\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fscript\cell }{Script fonts\cell Cursive\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fdecor\cell }{Decorative fonts\cell Old English, ITC Zapf Chancery\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \ri-720\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\ ftech\cell }{Technical, symbol, and mathematical fonts\cell Symbol\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\f5 \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx6498\clvertalt\cltxlrtb \cellx9738\pard \ri-720\sa240\nowidctlpar\widctlpar\intbl\adjustright {\b \\fbidi\cell }{Arabic, Hebrew, or other bidirectional font\cell Miriam\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\f5 \row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par If an RTF file uses a default font, the default font number is specified with the \\}{\b deff}{\b\i N}{ control word, which must precede the font-table group. The RTF wr iter supplies the default font number used in the creation of the document as the numeric argument }{\b\i N}{. The RTF reader then translates this number through the font table into the most similar font available on the reader's system. \par {\*\bkmkstart cpg}The following control words specify the character set, alternative font name, pitch of a font in the font table, and non-tagged font name. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Definition\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fcharset}{\b\i N }{\b \cell }{ Specifies the character set of a font in the font table. Values for N are defined by Windows header files, and in the file RTFDEFS.H accompanying this document.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\falt\cell }{Indicates alternate font name to use if the specified font in the font table is not available. '}{\b \{\\*' \\falt}{ '}{\b \}'}{ \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fprq}{\b\i N }{\b \cell }{Specifies the pitch of a font in the font table.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10032\pard\plain \s68\sb60\sa60\nowidctlpar\widctlpar\intbl\adjustright \b\f1\fs20\lang1024\cgrid {\\*\\panose\cell }\pard\plain \s21\sa120\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {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.\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\*\\fname\cell }{This is an optional control word in the font table to define the no n-tagged font name. This is the actual name of the font without the tag, used to show which character set is being used. For example, Arial is a non-tagged font name, and Arial (Cyrillic) is a tagged font name. This control word is used by WordPad. Word i gnores this control word (and never creates it).\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10032\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cf1 \\}{\b\cf1 fbias}{\b\i\cf1 N}{\cell }\pard \sa120\nowidctlpar\widctlpar\intbl\tx480\adjustright {\cf1 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 }{\b\cf1 \\fbiasN }{ \cf1 keyword only in the context of bullets or list information (that is, a }{\b\cf1 \\listlevel }{\cf1 destination). The default value of 0 for }{\b\cf1 N}{\cf1 indicates a non-Far East font. A value of 1 indicates a Far East font. Additional values may be defined in future releases. \par }{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par If }{\b \\fprq}{ is specified, the }{\b\i N}{ argument can be one of the following values. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\keepn\nowidctlpar\widctlpar\intbl\adjustright {\b Pitch\cell Value\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\keepn\nowidctlpar\widctlpar\intbl\adjustright {Default pitch\cell 0\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {Fixed pitch\cell 1\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160 \clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {Variable pitch\cell 2\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s4\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel3\adjustright \b\i\f1\cgrid {{\*\bkmkstart _Toc313960803}{\*\bkmkstart _Toc335399077}{\*\bkmkstart _Toc380819777}{\*\bkmkstart _Ref281718077}Font Embedding{\*\bkmkend _Toc313960803}{\*\bkmkend _Toc335399077}{\*\bkmkend _Toc380819777} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {RTF supports embedded fonts with the \\}{\b fontemb}{ group located inside a font definition. An embedded font can be specified by a file name, or the actual font data may be located inside the group. If a file name is specified, it is contained in the \\}{\b fontfile}{ group. The \\}{\b cpg}{ control word can be used to specify the character set for the file name. \par RTF supports TrueType}{\field\fldlock{\*\fldinst {\fs12 symbol 210 \\f "Symbol" \\s 6}}{\fldrslt {\f3\fs12 \u210\'d2}}}{ and other embedded fonts. The type of the embedded font is described by the following control words. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Embedded font type\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\ftnil\cell }{ Unknown or default font type (the default)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\ fttruetype\cell }{TrueType font\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s4\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel3\adjustright \b\i\f1\cgrid {{\*\bkmkstart _Ref284384822}{\*\bkmkstart _Toc313960804} {\*\bkmkstart _Toc335399078}{\*\bkmkstart _Toc380819778}Code Page Support{\*\bkmkstart codepage}{\*\bkmkend cpg}{\*\bkmkend _Ref281718077}{\*\bkmkend _Ref284384822}{\*\bkmkend _Toc313960804}{\*\bkmkend _Toc335399078}{\*\bkmkend _Toc380819778} {\*\bkmkend codepage} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {A font may have a different character set from the character set of the document. For example, the Symbol font has the same characters in the same positions both on the Macintosh and in Windows. RTF describes this with the \\}{\b cpg}{ control word, which names the character set used by the font. In addition, file names (used in field instructions and in embedded fonts) may not necessarily be the same as the character set of the document; the \\}{\b cpg}{ control word can change the character set for these file names as well. However, all RTF documents must still declare a character set (that is, }{\b \\ansi, \\mac, \\pc,}{ or }{\b \\pca}{) to maintain backward compatibility with earlier RTF readers. \par }\pard \sa120\keepn\nowidctlpar\widctlpar\adjustright {The table below describes valid values for \\}{\b cpg}{. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\keepn\nowidctlpar\widctlpar\intbl\adjustright {\b Value\cell Description\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {437\cell United States IBM\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {708\cell Arabic (ASMO 708)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {709\cell Arabic (ASMO 449+, BCON V4)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {710\cell Arabic (transparent Arabic)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {711\cell Arabic (Nafitha Enhanced)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {720\cell Arabic (transparent ASMO)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {819\cell Windows 3.1 (United States and Western Europe)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {850\cell IBM multilingual\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {852\cell Eastern European\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {860\cell Portuguese\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {862\cell Hebrew \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {863\cell French Canadian\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright { 864\cell Arabic\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {865\cell Norwegian\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {866\cell Soviet Union\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {932\cell Japanese\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {1250\cell Windows 3.1 (Eastern European)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {1251\cell Windows 3.1 (Cyrillic)\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid { {\*\bkmkstart filetbl}{\*\bkmkstart _Ref281718621}{\*\bkmkstart _Toc313960805}{\*\bkmkstart _Toc335399079}{\*\bkmkstart _Toc380819779}{\*\bkmkstart _Toc381591826}{\*\bkmkstart _Toc382644187}{\*\bkmkstart stylesheet}{\*\bkmkstart _Toc383176018} {\*\bkmkstart _Toc386002176}{\*\bkmkend filetbl}File Table{\*\bkmkend _Ref281718621}{\*\bkmkend _Toc313960805}{\*\bkmkend _Toc335399079}{\*\bkmkend _Toc380819779}{\*\bkmkend _Toc381591826}{\*\bkmkend _Toc382644187}{\*\bkmkend _Toc383176018} {\*\bkmkend _Toc386002176} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The }{\b \\filetbl}{ control word introduces the file table destination. The only time a file table is created in RTF is when the document c ontains subdocuments. This group defines the files referenced in the document and has the following syntax: \par }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright { \cell '\{\\*' }{\b \\filetbl }{('\{' '\}')+ '\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell \\}{\b file}{ ?? + \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b\i \\fid }{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright { \row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\}{\b\i frelative}{ \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell \\}{\b\i fosnum}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b \\fvalidmac}{ | }{\b \\fvaliddos}{ | }{\b \\fvalidntfs}{ | }{\b \\fvalidhpfs}{ | }{\b \\fnetwork}{\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }\pard\plain \s71\sa240\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {#PCDATA\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par Note that the file name can be any valid alphanumeric string for the named file system, indicating the complete path and file name. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Definition\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\filetbl\cell }{ A list of documents referenced by the current document. The file table has a structure analogous to the style or font table. This is a destination control word output as part of the document header. \cell }\pard \nowidctlpar\widctlpar\intbl\adjustright { \row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\file\cell }{Marks the beginning of a file group, which lists relevant information about the referenced file. This is a destination control word.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fid}{\b\i N}{\b \cell }{File ID number. Files are referenced later in the document using this number.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\frelative}{\b\i N}{\b \cell }{The character position wit hin the path (starting at 0) where the referenced file's path starts to be relative to the path of the owning document. For example, if a document is saved to the path C:\\Private\\Resume\\File1.doc and its file table contains the path C:\\Private\\Resume \\Edu\\File2.doc, then that entry in the file table will be \\}{\b frelative}{18, to point at the character "e" in "edu". This allows preservation of relative paths.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fosnum}{\b\i N}{\b \cell }{Currently only filled in for paths from the Macintosh file system. It is an operating-system-spe cific number for identifying the file, which may be used to speed up access to the file, or find it if the file has been moved to another folder or disk. The Macintosh operating system name for this number is the "file id." Additional meanings of the \\}{ \b fosnum}{\b\i N }{control word may be defined for other file systems in the future.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fvalidmac\cell }{Macintosh file system.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fvaliddos\cell }{MS-DOS file system.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fvalidntfs\cell }{NTFS file system.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\keepn\nowidctlpar\widctlpar\intbl\adjustright {\b \\fvalidhpfs\cell }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {HPFS file system.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\fnetwork\cell }{Network file system. This control word may be used in conjunction with any of the previous file source control words.\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart _Ref281717028}{\*\bkmkstart _Toc313960806}{\*\bkmkstart _Toc335399080}{\*\bkmkstart _Toc380819780}{\*\bkmkstart _Toc381591827} {\*\bkmkstart _Toc382644188}{\*\bkmkstart _Toc383176019}{\*\bkmkstart _Toc386002177}Color Table{\*\bkmkend _Ref281717028}{\*\bkmkend _Toc313960806}{\*\bkmkend _Toc335399080}{\*\bkmkend _Toc380819780}{\*\bkmkend _Toc381591827}{\*\bkmkend _Toc382644188} {\*\bkmkend _Toc383176019}{\*\bkmkend _Toc386002177} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The \\}{\b colortbl}{ control word introduces the color table group, which defines screen colors, character colors, and other color information. This group has the following syntax: \par }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell '\{' }{\b \\colortbl}{ + '\}'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright { \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\cell }{\b\i \\red}{ ? & }{\b\i \\green}{ ? &}{\b\i \\blue}{ ? ';'\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par The following are valid control words for this group. \par }\trowd \trleft432\trkeep\trhdr \clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx2160\clvertalt\clbrdrb\brdrs\brdrw15 \cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b Control word\cell Meaning\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\b \row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sb120\sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\red}{\b\i N}{\b \cell }{Red index\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\green}{\b\i N}{\b \cell }{Green index\cell }\pard \nowidctlpar\widctlpar\intbl\adjustright {\row }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright {\b \\blue}{\b\i N}{\b \cell }\pard\plain \s71\sa240\nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {Blue index\cell }\pard\plain \nowidctlpar\widctlpar\intbl\adjustright \f1\fs20\cgrid {\row }\pard \sa120\nowidctlpar\widctlpar\adjustright { \par Each definition must be delimite d by a semicolon, even if the definition is omitted. If a color definition is omitted, the RTF reader uses its default color. The example below defines the default color table used by Word. The first color is omitted, as shown by the semicolon following t he}{\b \\colortbl }{control word. The missing definition indicates that color 0 is the \lquote \rquote auto\rquote \rquote color. \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid {\{\\colortbl;\\red0\\green0\\blue0;\\red0\\green0\\blue255;\\red0\\green255\\blue255;\\red0\\green255\\blue0;\\red255\\green0\\blue255;\\red255\\green0\\blue0;\\red255\\ green255\\blue0;\\red255\\green255\\blue255;\\red0\\green0\\blue128;\\red0\\green128\\blue128;\\red0\\green128\\blue0;\\red128\\green0\\blue128;\\red128\\green0\\blue0;\\red128\\green128\\blue0;\\red128\\green128\\blue128;\\red192\\green192\\blue192;\} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The foreground and background colors use indexes into the color table to define a color. For more information on color setup, see your Windows documentation. \par The following example defines a block of text in color (where supported). Note that the }{\b cf}{/}{\b cb}{ index is the index of an entry in the color table, which represents a red/green/blue color combination. \par }\pard\plain \s70\li432\sa120\nowidctlpar\widctlpar\adjustright \f2\fs16\cgrid {\{\\f1\\cb1\\cf2 This is colored text. The background is color\line 1 and the foreground is color 2.\} \par \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {If the file is translated for software that does not display color, the reader ignores the color table group. \par }\pard\plain \s3\sb240\sa240\keepn\nowidctlpar\widctlpar\outlinelevel2\adjustright \b\f1\fs28\cgrid {{\*\bkmkstart _Ref281714441}{\*\bkmkstart _Ref281719807}{\*\bkmkstart _Toc313960807}{\*\bkmkstart _Toc335399081}{\*\bkmkstart _Toc380819781} {\*\bkmkstart _Toc381591828}{\*\bkmkstart _Toc382644189}{\*\bkmkstart _Toc383176020}{\*\bkmkstart _Toc386002178}Style Sheet{\*\bkmkend stylesheet}{\*\bkmkend _Ref281714441}{\*\bkmkend _Ref281719807}{\*\bkmkend _Toc313960807}{\*\bkmkend _Toc335399081} {\*\bkmkend _Toc380819781}{\*\bkmkend _Toc381591828}{\*\bkmkend _Toc382644189}{\*\bkmkend _Toc383176020}{\*\bkmkend _Toc386002178} \par }\pard\plain \sa120\nowidctlpar\widctlpar\adjustright \f1\fs20\cgrid {The \\}{\b stylesheet}{ control word introduces the style sheet group, which contains definitions and descriptions of the various styles used in the document. All styles in the document's style sheet can be included, even if not all the styles are us ed. In RTF, a style is a form of shorthand used to specify a set of character, paragraph, or section formatting. \par The style-sheet group has the following syntax: \par }\trowd \trleft432\trkeep \clvertalt\cltxlrtb \cellx2160\clvertalt\cltxlrtb \cellx10080\pard \sa120\nowidctlpar\widctlpar\intbl\adjustright { \cell '\{' }{\b \\stylesheet }{