#ifndef _RTF #define _RTF #include <stdarg.h> #include <stdio.h> #include "windef.h" #include "winbase.h" #include "wingdi.h" #include "winuser.h" #include "richedit.h" /* The following defines are automatically generated. Do not edit. */ /* These must be sequential beginning from zero */ #define rtfSC_nothing 0 #define rtfSC_space 1 #define rtfSC_exclam 2 #define rtfSC_quotedbl 3 #define rtfSC_numbersign 4 #define rtfSC_dollar 5 #define rtfSC_percent 6 #define rtfSC_ampersand 7 #define rtfSC_quoteright 8 #define rtfSC_parenleft 9 #define rtfSC_parenright 10 #define rtfSC_asterisk 11 #define rtfSC_plus 12 #define rtfSC_comma 13 #define rtfSC_hyphen 14 #define rtfSC_period 15 #define rtfSC_slash 16 #define rtfSC_zero 17 #define rtfSC_one 18 #define rtfSC_two 19 #define rtfSC_three 20 #define rtfSC_four 21 #define rtfSC_five 22 #define rtfSC_six 23 #define rtfSC_seven 24 #define rtfSC_eight 25 #define rtfSC_nine 26 #define rtfSC_colon 27 #define rtfSC_semicolon 28 #define rtfSC_less 29 #define rtfSC_equal 30 #define rtfSC_greater 31 #define rtfSC_question 32 #define rtfSC_at 33 #define rtfSC_A 34 #define rtfSC_B 35 #define rtfSC_C 36 #define rtfSC_D 37 #define rtfSC_E 38 #define rtfSC_F 39 #define rtfSC_G 40 #define rtfSC_H 41 #define rtfSC_I 42 #define rtfSC_J 43 #define rtfSC_K 44 #define rtfSC_L 45 #define rtfSC_M 46 #define rtfSC_N 47 #define rtfSC_O 48 #define rtfSC_P 49 #define rtfSC_Q 50 #define rtfSC_R 51 #define rtfSC_S 52 #define rtfSC_T 53 #define rtfSC_U 54 #define rtfSC_V 55 #define rtfSC_W 56 #define rtfSC_X 57 #define rtfSC_Y 58 #define rtfSC_Z 59 #define rtfSC_bracketleft 60 #define rtfSC_backslash 61 #define rtfSC_bracketright 62 #define rtfSC_asciicircum 63 #define rtfSC_underscore 64 #define rtfSC_quoteleft 65 #define rtfSC_a 66 #define rtfSC_b 67 #define rtfSC_c 68 #define rtfSC_d 69 #define rtfSC_e 70 #define rtfSC_f 71 #define rtfSC_g 72 #define rtfSC_h 73 #define rtfSC_i 74 #define rtfSC_j 75 #define rtfSC_k 76 #define rtfSC_l 77 #define rtfSC_m 78 #define rtfSC_n 79 #define rtfSC_o 80 #define rtfSC_p 81 #define rtfSC_q 82 #define rtfSC_r 83 #define rtfSC_s 84 #define rtfSC_t 85 #define rtfSC_u 86 #define rtfSC_v 87 #define rtfSC_w 88 #define rtfSC_x 89 #define rtfSC_y 90 #define rtfSC_z 91 #define rtfSC_braceleft 92 #define rtfSC_bar 93 #define rtfSC_braceright 94 #define rtfSC_asciitilde 95 #define rtfSC_exclamdown 96 #define rtfSC_cent 97 #define rtfSC_sterling 98 #define rtfSC_fraction 99 #define rtfSC_yen 100 #define rtfSC_florin 101 #define rtfSC_section 102 #define rtfSC_currency 103 #define rtfSC_quotedblleft 104 #define rtfSC_guillemotleft 105 #define rtfSC_guilsinglleft 106 #define rtfSC_guilsinglright 107 #define rtfSC_fi 108 #define rtfSC_fl 109 #define rtfSC_endash 110 #define rtfSC_dagger 111 #define rtfSC_daggerdbl 112 #define rtfSC_periodcentered 113 #define rtfSC_paragraph 114 #define rtfSC_bullet 115 #define rtfSC_quotesinglbase 116 #define rtfSC_quotedblbase 117 #define rtfSC_quotedblright 118 #define rtfSC_guillemotright 119 #define rtfSC_ellipsis 120 #define rtfSC_perthousand 121 #define rtfSC_questiondown 122 #define rtfSC_grave 123 #define rtfSC_acute 124 #define rtfSC_circumflex 125 #define rtfSC_tilde 126 #define rtfSC_macron 127 #define rtfSC_breve 128 #define rtfSC_dotaccent 129 #define rtfSC_dieresis 130 #define rtfSC_ring 131 #define rtfSC_cedilla 132 #define rtfSC_hungarumlaut 133 #define rtfSC_ogonek 134 #define rtfSC_caron 135 #define rtfSC_emdash 136 #define rtfSC_AE 137 #define rtfSC_ordfeminine 138 #define rtfSC_Lslash 139 #define rtfSC_Oslash 140 #define rtfSC_OE 141 #define rtfSC_ordmasculine 142 #define rtfSC_ae 143 #define rtfSC_dotlessi 144 #define rtfSC_lslash 145 #define rtfSC_oslash 146 #define rtfSC_oe 147 #define rtfSC_germandbls 148 #define rtfSC_Aacute 149 #define rtfSC_Acircumflex 150 #define rtfSC_Adieresis 151 #define rtfSC_Agrave 152 #define rtfSC_Aring 153 #define rtfSC_Atilde 154 #define rtfSC_Ccedilla 155 #define rtfSC_Eacute 156 #define rtfSC_Ecircumflex 157 #define rtfSC_Edieresis 158 #define rtfSC_Egrave 159 #define rtfSC_Eth 160 #define rtfSC_Iacute 161 #define rtfSC_Icircumflex 162 #define rtfSC_Idieresis 163 #define rtfSC_Igrave 164 #define rtfSC_Ntilde 165 #define rtfSC_Oacute 166 #define rtfSC_Ocircumflex 167 #define rtfSC_Odieresis 168 #define rtfSC_Ograve 169 #define rtfSC_Otilde 170 #define rtfSC_Scaron 171 #define rtfSC_Thorn 172 #define rtfSC_Uacute 173 #define rtfSC_Ucircumflex 174 #define rtfSC_Udieresis 175 #define rtfSC_Ugrave 176 #define rtfSC_Yacute 177 #define rtfSC_Ydieresis 178 #define rtfSC_aacute 179 #define rtfSC_acircumflex 180 #define rtfSC_adieresis 181 #define rtfSC_agrave 182 #define rtfSC_aring 183 #define rtfSC_atilde 184 #define rtfSC_brokenbar 185 #define rtfSC_ccedilla 186 #define rtfSC_copyright 187 #define rtfSC_degree 188 #define rtfSC_divide 189 #define rtfSC_eacute 190 #define rtfSC_ecircumflex 191 #define rtfSC_edieresis 192 #define rtfSC_egrave 193 #define rtfSC_eth 194 #define rtfSC_iacute 195 #define rtfSC_icircumflex 196 #define rtfSC_idieresis 197 #define rtfSC_igrave 198 #define rtfSC_logicalnot 199 #define rtfSC_minus 200 #define rtfSC_multiply 201 #define rtfSC_ntilde 202 #define rtfSC_oacute 203 #define rtfSC_ocircumflex 204 #define rtfSC_odieresis 205 #define rtfSC_ograve 206 #define rtfSC_onehalf 207 #define rtfSC_onequarter 208 #define rtfSC_onesuperior 209 #define rtfSC_otilde 210 #define rtfSC_plusminus 211 #define rtfSC_registered 212 #define rtfSC_thorn 213 #define rtfSC_threequarters 214 #define rtfSC_threesuperior 215 #define rtfSC_trademark 216 #define rtfSC_twosuperior 217 #define rtfSC_uacute 218 #define rtfSC_ucircumflex 219 #define rtfSC_udieresis 220 #define rtfSC_ugrave 221 #define rtfSC_yacute 222 #define rtfSC_ydieresis 223 #define rtfSC_Alpha 224 #define rtfSC_Beta 225 #define rtfSC_Chi 226 #define rtfSC_Delta 227 #define rtfSC_Epsilon 228 #define rtfSC_Phi 229 #define rtfSC_Gamma 230 #define rtfSC_Eta 231 #define rtfSC_Iota 232 #define rtfSC_Kappa 233 #define rtfSC_Lambda 234 #define rtfSC_Mu 235 #define rtfSC_Nu 236 #define rtfSC_Omicron 237 #define rtfSC_Pi 238 #define rtfSC_Theta 239 #define rtfSC_Rho 240 #define rtfSC_Sigma 241 #define rtfSC_Tau 242 #define rtfSC_Upsilon 243 #define rtfSC_varUpsilon 244 #define rtfSC_Omega 245 #define rtfSC_Xi 246 #define rtfSC_Psi 247 #define rtfSC_Zeta 248 #define rtfSC_alpha 249 #define rtfSC_beta 250 #define rtfSC_chi 251 #define rtfSC_delta 252 #define rtfSC_epsilon 253 #define rtfSC_phi 254 #define rtfSC_varphi 255 #define rtfSC_gamma 256 #define rtfSC_eta 257 #define rtfSC_iota 258 #define rtfSC_kappa 259 #define rtfSC_lambda 260 #define rtfSC_mu 261 #define rtfSC_nu 262 #define rtfSC_omicron 263 #define rtfSC_pi 264 #define rtfSC_varpi 265 #define rtfSC_theta 266 #define rtfSC_vartheta 267 #define rtfSC_rho 268 #define rtfSC_sigma 269 #define rtfSC_varsigma 270 #define rtfSC_tau 271 #define rtfSC_upsilon 272 #define rtfSC_omega 273 #define rtfSC_xi 274 #define rtfSC_psi 275 #define rtfSC_zeta 276 #define rtfSC_nobrkspace 277 #define rtfSC_nobrkhyphen 278 #define rtfSC_lessequal 279 #define rtfSC_greaterequal 280 #define rtfSC_infinity 281 #define rtfSC_integral 282 #define rtfSC_notequal 283 #define rtfSC_radical 284 #define rtfSC_radicalex 285 #define rtfSC_approxequal 286 #define rtfSC_apple 287 #define rtfSC_partialdiff 288 #define rtfSC_opthyphen 289 #define rtfSC_formula 290 #define rtfSC_lozenge 291 #define rtfSC_universal 292 #define rtfSC_existential 293 #define rtfSC_suchthat 294 #define rtfSC_congruent 295 #define rtfSC_therefore 296 #define rtfSC_perpendicular 297 #define rtfSC_minute 298 #define rtfSC_club 299 #define rtfSC_diamond 300 #define rtfSC_heart 301 #define rtfSC_spade 302 #define rtfSC_arrowboth 303 #define rtfSC_arrowleft 304 #define rtfSC_arrowup 305 #define rtfSC_arrowright 306 #define rtfSC_arrowdown 307 #define rtfSC_second 308 #define rtfSC_proportional 309 #define rtfSC_equivalence 310 #define rtfSC_arrowvertex 311 #define rtfSC_arrowhorizex 312 #define rtfSC_carriagereturn 313 #define rtfSC_aleph 314 #define rtfSC_Ifraktur 315 #define rtfSC_Rfraktur 316 #define rtfSC_weierstrass 317 #define rtfSC_circlemultiply 318 #define rtfSC_circleplus 319 #define rtfSC_emptyset 320 #define rtfSC_intersection 321 #define rtfSC_union 322 #define rtfSC_propersuperset 323 #define rtfSC_reflexsuperset 324 #define rtfSC_notsubset 325 #define rtfSC_propersubset 326 #define rtfSC_reflexsubset 327 #define rtfSC_element 328 #define rtfSC_notelement 329 #define rtfSC_angle 330 #define rtfSC_gradient 331 #define rtfSC_product 332 #define rtfSC_logicaland 333 #define rtfSC_logicalor 334 #define rtfSC_arrowdblboth 335 #define rtfSC_arrowdblleft 336 #define rtfSC_arrowdblup 337 #define rtfSC_arrowdblright 338 #define rtfSC_arrowdbldown 339 #define rtfSC_angleleft 340 #define rtfSC_registersans 341 #define rtfSC_copyrightsans 342 #define rtfSC_trademarksans 343 #define rtfSC_angleright 344 #define rtfSC_mathplus 345 #define rtfSC_mathminus 346 #define rtfSC_mathasterisk 347 #define rtfSC_mathnumbersign 348 #define rtfSC_dotmath 349 #define rtfSC_mathequal 350 #define rtfSC_mathtilde 351 #define rtfSC_MaxChar 352 /* * rtf.h - RTF document processing stuff. Release 1.10. */ /* * Twentieths of a point (twips) per inch (Many RTF measurements * are in twips per inch (tpi) units). Assumes 72 points/inch. */ # define rtfTpi 1440 /* * RTF buffer size (avoids BUFSIZ, which differs across systems) */ # define rtfBufSiz 1024 /* * Tokens are associated with up to three classification numbers: * * Class number: Broadest (least detailed) breakdown. For programs * that only care about gross token distinctions. * Major/minor numbers: Within their class, tokens have a major * number, and may also have a minor number to further * distinquish tokens with the same major number. * * *** Class, major and minor token numbers are all >= 0 *** * * Tokens that can't be classified are put in the "unknown" class. * For such, the major and minor numbers are meaningless, although * rtfTextBuf may be of interest then. * * Text tokens are a single character, and the major number indicates * the character value (note: can be non-ascii, i.e., greater than 127). * There is no minor number. * * Control symbols may have a parameter value, which will be found in * rtfParam. If no parameter was given, rtfParam = rtfNoParam. * * RTFGetToken() return value is the class number, but it sets all the * global token vars. * * rtfEOF is a fake token used by the reader; the writer never sees * it (except in the token reader hook, if it installs one). */ # ifdef THINK_C # define rtfNoParam (-32768) /* 16-bit max. neg. value */ # endif # ifndef rtfNoParam # define rtfNoParam (-1000000) # endif /* * For some reason, the no-style number is 222 */ # define rtfNoStyleNum 222 # define rtfNormalStyleNum 0 /* * Token classes (must be zero-based and sequential) */ # define rtfUnknown 0 # define rtfGroup 1 # define rtfText 2 # define rtfControl 3 # define rtfEOF 4 # define rtfMaxClass 5 /* highest class + 1 */ /* * Group class major numbers */ # define rtfBeginGroup 0 # define rtfEndGroup 1 /* * Control class major and minor numbers. */ # define rtfVersion 0 # define rtfDefFont 1 # define rtfCharSet 2 # define rtfAnsiCharSet 0 # define rtfMacCharSet 1 # define rtfPcCharSet 2 # define rtfPcaCharSet 3 /* destination minor numbers should be zero-based and sequential */ # define rtfDestination 3 # define rtfFontTbl 0 # define rtfFontAltName 1 /* new in 1.10 */ # define rtfEmbeddedFont 2 /* new in 1.10 */ # define rtfFontFile 3 /* new in 1.10 */ # define rtfFileTbl 4 /* new in 1.10 */ # define rtfFileInfo 5 /* new in 1.10 */ # define rtfColorTbl 6 # define rtfStyleSheet 7 # define rtfKeyCode 8 # define rtfRevisionTbl 9 /* new in 1.10 */ # define rtfInfo 10 # define rtfITitle 11 # define rtfISubject 12 # define rtfIAuthor 13 # define rtfIOperator 14 # define rtfIKeywords 15 # define rtfIComment 16 # define rtfIVersion 17 # define rtfIDoccomm 18 # define rtfIVerscomm 19 # define rtfNextFile 20 /* reclassified in 1.10 */ # define rtfTemplate 21 /* reclassified in 1.10 */ # define rtfFNSep 22 # define rtfFNContSep 23 # define rtfFNContNotice 24 # define rtfENSep 25 /* new in 1.10 */ # define rtfENContSep 26 /* new in 1.10 */ # define rtfENContNotice 27 /* new in 1.10 */ # define rtfPageNumLevel 28 /* new in 1.10 */ # define rtfParNumLevelStyle 29 /* new in 1.10 */ # define rtfHeader 30 # define rtfFooter 31 # define rtfHeaderLeft 32 # define rtfHeaderRight 33 # define rtfHeaderFirst 34 # define rtfFooterLeft 35 # define rtfFooterRight 36 # define rtfFooterFirst 37 # define rtfParNumText 38 /* new in 1.10 */ # define rtfParNumbering 39 /* new in 1.10 */ # define rtfParNumTextAfter 40 /* new in 1.10 */ # define rtfParNumTextBefore 41 /* new in 1.10 */ # define rtfBookmarkStart 42 # define rtfBookmarkEnd 43 # define rtfPict 44 # define rtfObject 45 # define rtfObjClass 46 # define rtfObjName 47 # define rtfObjTime 48 /* new in 1.10 */ # define rtfObjData 49 # define rtfObjAlias 50 # define rtfObjSection 51 # define rtfObjResult 52 # define rtfObjItem 53 /* new in 1.10 */ # define rtfObjTopic 54 /* new in 1.10 */ # define rtfDrawObject 55 /* new in 1.10 */ # define rtfFootnote 56 # define rtfAnnotRefStart 57 /* new in 1.10 */ # define rtfAnnotRefEnd 58 /* new in 1.10 */ # define rtfAnnotID 59 /* reclassified in 1.10 */ # define rtfAnnotAuthor 60 /* new in 1.10 */ # define rtfAnnotation 61 /* reclassified in 1.10 */ # define rtfAnnotRef 62 /* new in 1.10 */ # define rtfAnnotTime 63 /* new in 1.10 */ # define rtfAnnotIcon 64 /* new in 1.10 */ # define rtfField 65 # define rtfFieldInst 66 # define rtfFieldResult 67 # define rtfDataField 68 /* new in 1.10 */ # define rtfIndex 69 # define rtfIndexText 70 # define rtfIndexRange 71 # define rtfTOC 72 # define rtfNeXTGraphic 73 # define rtfMaxDestination 74 /* highest dest + 1 */ # define rtfFontFamily 4 # define rtfFFNil 0 # define rtfFFRoman 1 # define rtfFFSwiss 2 # define rtfFFModern 3 # define rtfFFScript 4 # define rtfFFDecor 5 # define rtfFFTech 6 # define rtfFFBidirectional 7 /* new in 1.10 */ # define rtfColorName 5 # define rtfRed 0 # define rtfGreen 1 # define rtfBlue 2 # define rtfSpecialChar 6 /* special chars seen in \info destination */ # define rtfIIntVersion 0 # define rtfICreateTime 1 # define rtfIRevisionTime 2 # define rtfIPrintTime 3 # define rtfIBackupTime 4 # define rtfIEditTime 5 # define rtfIYear 6 # define rtfIMonth 7 # define rtfIDay 8 # define rtfIHour 9 # define rtfIMinute 10 # define rtfISecond 11 /* new in 1.10 */ # define rtfINPages 12 # define rtfINWords 13 # define rtfINChars 14 # define rtfIIntID 15 /* other special chars */ # define rtfCurHeadDate 16 # define rtfCurHeadDateLong 17 # define rtfCurHeadDateAbbrev 18 # define rtfCurHeadTime 19 # define rtfCurHeadPage 20 # define rtfSectNum 21 /* new in 1.10 */ # define rtfCurFNote 22 # define rtfCurAnnotRef 23 # define rtfFNoteSep 24 # define rtfFNoteCont 25 # define rtfCell 26 # define rtfRow 27 # define rtfPar 28 # define rtfSect 29 # define rtfPage 30 # define rtfColumn 31 # define rtfLine 32 # define rtfSoftPage 33 /* new in 1.10 */ # define rtfSoftColumn 34 /* new in 1.10 */ # define rtfSoftLine 35 /* new in 1.10 */ # define rtfSoftLineHt 36 /* new in 1.10 */ # define rtfTab 37 # define rtfEmDash 38 # define rtfEnDash 39 # define rtfEmSpace 40 /* new in 1.10 */ # define rtfEnSpace 41 /* new in 1.10 */ # define rtfBullet 42 # define rtfLQuote 43 # define rtfRQuote 44 # define rtfLDblQuote 45 # define rtfRDblQuote 46 # define rtfFormula 47 # define rtfNoBrkSpace 49 # define rtfNoReqHyphen 50 # define rtfNoBrkHyphen 51 # define rtfOptDest 52 # define rtfLTRMark 53 /* new in 1.10 */ # define rtfRTLMark 54 /* new in 1.10 */ # define rtfNoWidthJoiner 55 /* new in 1.10 */ # define rtfNoWidthNonJoiner 56 /* new in 1.10 */ # define rtfCurHeadPict 57 /* valid? */ /*# define rtfCurAnnot 58*/ /* apparently not used */ # define rtfStyleAttr 7 # define rtfAdditive 0 /* new in 1.10 */ # define rtfBasedOn 1 # define rtfNext 2 # define rtfDocAttr 8 # define rtfDefTab 0 # define rtfHyphHotZone 1 # define rtfHyphConsecLines 2 /* new in 1.10 */ # define rtfHyphCaps 3 /* new in 1.10 */ # define rtfHyphAuto 4 /* new in 1.10 */ # define rtfLineStart 5 # define rtfFracWidth 6 # define rtfMakeBackup 7 # define rtfRTFDefault 8 # define rtfPSOverlay 9 # define rtfDocTemplate 10 /* new in 1.10 */ # define rtfDefLanguage 11 # define rtfFENoteType 12 /* new in 1.10 */ # define rtfFNoteEndSect 13 # define rtfFNoteEndDoc 14 # define rtfFNoteText 15 # define rtfFNoteBottom 16 # define rtfENoteEndSect 17 /* new in 1.10 */ # define rtfENoteEndDoc 18 /* new in 1.10 */ # define rtfENoteText 19 /* new in 1.10 */ # define rtfENoteBottom 20 /* new in 1.10 */ # define rtfFNoteStart 21 # define rtfENoteStart 22 /* new in 1.10 */ # define rtfFNoteRestartPage 23 /* new in 1.10 */ # define rtfFNoteRestart 24 # define rtfFNoteRestartCont 25 /* new in 1.10 */ # define rtfENoteRestart 26 /* new in 1.10 */ # define rtfENoteRestartCont 27 /* new in 1.10 */ # define rtfFNoteNumArabic 28 /* new in 1.10 */ # define rtfFNoteNumLLetter 29 /* new in 1.10 */ # define rtfFNoteNumULetter 30 /* new in 1.10 */ # define rtfFNoteNumLRoman 31 /* new in 1.10 */ # define rtfFNoteNumURoman 32 /* new in 1.10 */ # define rtfFNoteNumChicago 33 /* new in 1.10 */ # define rtfENoteNumArabic 34 /* new in 1.10 */ # define rtfENoteNumLLetter 35 /* new in 1.10 */ # define rtfENoteNumULetter 36 /* new in 1.10 */ # define rtfENoteNumLRoman 37 /* new in 1.10 */ # define rtfENoteNumURoman 38 /* new in 1.10 */ # define rtfENoteNumChicago 39 /* new in 1.10 */ # define rtfPaperWidth 40 # define rtfPaperHeight 41 # define rtfPaperSize 42 /* new in 1.10 */ # define rtfLeftMargin 43 # define rtfRightMargin 44 # define rtfTopMargin 45 # define rtfBottomMargin 46 # define rtfFacingPage 47 # define rtfGutterWid 48 # define rtfMirrorMargin 49 # define rtfLandscape 50 # define rtfPageStart 51 # define rtfWidowCtrl 52 # define rtfLinkStyles 53 /* new in 1.10 */ # define rtfNoAutoTabIndent 54 /* new in 1.10 */ # define rtfWrapSpaces 55 /* new in 1.10 */ # define rtfPrintColorsBlack 56 /* new in 1.10 */ # define rtfNoExtraSpaceRL 57 /* new in 1.10 */ # define rtfNoColumnBalance 58 /* new in 1.10 */ # define rtfCvtMailMergeQuote 59 /* new in 1.10 */ # define rtfSuppressTopSpace 60 /* new in 1.10 */ # define rtfSuppressPreParSpace 61 /* new in 1.10 */ # define rtfCombineTblBorders 62 /* new in 1.10 */ # define rtfTranspMetafiles 63 /* new in 1.10 */ # define rtfSwapBorders 64 /* new in 1.10 */ # define rtfShowHardBreaks 65 /* new in 1.10 */ # define rtfFormProtected 66 /* new in 1.10 */ # define rtfAllProtected 67 /* new in 1.10 */ # define rtfFormShading 68 /* new in 1.10 */ # define rtfFormDisplay 69 /* new in 1.10 */ # define rtfPrintData 70 /* new in 1.10 */ # define rtfRevProtected 71 /* new in 1.10 */ # define rtfRevisions 72 # define rtfRevDisplay 73 # define rtfRevBar 74 # define rtfAnnotProtected 75 /* new in 1.10 */ # define rtfRTLDoc 76 /* new in 1.10 */ # define rtfLTRDoc 77 /* new in 1.10 */ # define rtfSectAttr 9 # define rtfSectDef 0 # define rtfENoteHere 1 # define rtfPrtBinFirst 2 # define rtfPrtBin 3 # define rtfSectStyleNum 4 /* new in 1.10 */ # define rtfNoBreak 5 # define rtfColBreak 6 # define rtfPageBreak 7 # define rtfEvenBreak 8 # define rtfOddBreak 9 # define rtfColumns 10 # define rtfColumnSpace 11 # define rtfColumnNumber 12 /* new in 1.10 */ # define rtfColumnSpRight 13 /* new in 1.10 */ # define rtfColumnWidth 14 /* new in 1.10 */ # define rtfColumnLine 15 # define rtfLineModulus 16 # define rtfLineDist 17 # define rtfLineStarts 18 # define rtfLineRestart 19 # define rtfLineRestartPg 20 # define rtfLineCont 21 # define rtfSectPageWid 22 # define rtfSectPageHt 23 # define rtfSectMarginLeft 24 # define rtfSectMarginRight 25 # define rtfSectMarginTop 26 # define rtfSectMarginBottom 27 # define rtfSectMarginGutter 28 # define rtfSectLandscape 29 # define rtfTitleSpecial 30 # define rtfHeaderY 31 # define rtfFooterY 32 # define rtfPageStarts 33 # define rtfPageCont 34 # define rtfPageRestart 35 # define rtfPageNumRight 36 /* renamed in 1.10 */ # define rtfPageNumTop 37 # define rtfPageDecimal 38 # define rtfPageURoman 39 # define rtfPageLRoman 40 # define rtfPageULetter 41 # define rtfPageLLetter 42 # define rtfPageNumHyphSep 43 /* new in 1.10 */ # define rtfPageNumSpaceSep 44 /* new in 1.10 */ # define rtfPageNumColonSep 45 /* new in 1.10 */ # define rtfPageNumEmdashSep 46 /* new in 1.10 */ # define rtfPageNumEndashSep 47 /* new in 1.10 */ # define rtfTopVAlign 48 # define rtfBottomVAlign 49 # define rtfCenterVAlign 50 # define rtfJustVAlign 51 # define rtfRTLSect 52 /* new in 1.10 */ # define rtfLTRSect 53 /* new in 1.10 */ # define rtfTblAttr 10 # define rtfRowDef 0 # define rtfRowGapH 1 # define rtfCellPos 2 # define rtfMergeRngFirst 3 # define rtfMergePrevious 4 # define rtfRowLeft 5 # define rtfRowRight 6 # define rtfRowCenter 7 # define rtfRowLeftEdge 8 # define rtfRowHt 9 # define rtfRowHeader 10 /* new in 1.10 */ # define rtfRowKeep 11 /* new in 1.10 */ # define rtfRTLRow 12 /* new in 1.10 */ # define rtfLTRRow 13 /* new in 1.10 */ # define rtfRowBordTop 14 /* new in 1.10 */ # define rtfRowBordLeft 15 /* new in 1.10 */ # define rtfRowBordBottom 16 /* new in 1.10 */ # define rtfRowBordRight 17 /* new in 1.10 */ # define rtfRowBordHoriz 18 /* new in 1.10 */ # define rtfRowBordVert 19 /* new in 1.10 */ # define rtfCellBordBottom 20 # define rtfCellBordTop 21 # define rtfCellBordLeft 22 # define rtfCellBordRight 23 # define rtfCellShading 24 # define rtfCellBgPatH 25 # define rtfCellBgPatV 26 # define rtfCellFwdDiagBgPat 27 # define rtfCellBwdDiagBgPat 28 # define rtfCellHatchBgPat 29 # define rtfCellDiagHatchBgPat 30 # define rtfCellDarkBgPatH 31 # define rtfCellDarkBgPatV 32 # define rtfCellFwdDarkBgPat 33 # define rtfCellBwdDarkBgPat 34 # define rtfCellDarkHatchBgPat 35 # define rtfCellDarkDiagHatchBgPat 36 # define rtfCellBgPatLineColor 37 # define rtfCellBgPatColor 38 # define rtfParAttr 11 # define rtfParDef 0 # define rtfStyleNum 1 # define rtfHyphenate 2 /* new in 1.10 */ # define rtfInTable 3 # define rtfKeep 4 # define rtfNoWidowControl 5 /* new in 1.10 */ # define rtfKeepNext 6 # define rtfOutlineLevel 7 /* new in 1.10 */ # define rtfNoLineNum 8 # define rtfPBBefore 9 # define rtfSideBySide 10 # define rtfQuadLeft 11 # define rtfQuadRight 12 # define rtfQuadJust 13 # define rtfQuadCenter 14 # define rtfFirstIndent 15 # define rtfLeftIndent 16 # define rtfRightIndent 17 # define rtfSpaceBefore 18 # define rtfSpaceAfter 19 # define rtfSpaceBetween 20 # define rtfSpaceMultiply 21 /* new in 1.10 */ # define rtfSubDocument 22 /* new in 1.10 */ # define rtfRTLPar 23 /* new in 1.10 */ # define rtfLTRPar 24 /* new in 1.10 */ # define rtfTabPos 25 # define rtfTabLeft 26 /* new in 1.10 */ # define rtfTabRight 27 # define rtfTabCenter 28 # define rtfTabDecimal 29 # define rtfTabBar 30 # define rtfLeaderDot 31 # define rtfLeaderHyphen 32 # define rtfLeaderUnder 33 # define rtfLeaderThick 34 # define rtfLeaderEqual 35 # define rtfParLevel 36 /* new in 1.10 */ # define rtfParBullet 37 /* new in 1.10 */ # define rtfParSimple 38 /* new in 1.10 */ # define rtfParNumCont 39 /* new in 1.10 */ # define rtfParNumOnce 40 /* new in 1.10 */ # define rtfParNumAcross 41 /* new in 1.10 */ # define rtfParHangIndent 42 /* new in 1.10 */ # define rtfParNumRestart 43 /* new in 1.10 */ # define rtfParNumCardinal 44 /* new in 1.10 */ # define rtfParNumDecimal 45 /* new in 1.10 */ # define rtfParNumULetter 46 /* new in 1.10 */ # define rtfParNumURoman 47 /* new in 1.10 */ # define rtfParNumLLetter 48 /* new in 1.10 */ # define rtfParNumLRoman 49 /* new in 1.10 */ # define rtfParNumOrdinal 50 /* new in 1.10 */ # define rtfParNumOrdinalText 51 /* new in 1.10 */ # define rtfParNumBold 52 /* new in 1.10 */ # define rtfParNumItalic 53 /* new in 1.10 */ # define rtfParNumAllCaps 54 /* new in 1.10 */ # define rtfParNumSmallCaps 55 /* new in 1.10 */ # define rtfParNumUnder 56 /* new in 1.10 */ # define rtfParNumDotUnder 57 /* new in 1.10 */ # define rtfParNumDbUnder 58 /* new in 1.10 */ # define rtfParNumNoUnder 59 /* new in 1.10 */ # define rtfParNumWordUnder 60 /* new in 1.10 */ # define rtfParNumStrikethru 61 /* new in 1.10 */ # define rtfParNumForeColor 62 /* new in 1.10 */ # define rtfParNumFont 63 /* new in 1.10 */ # define rtfParNumFontSize 64 /* new in 1.10 */ # define rtfParNumIndent 65 /* new in 1.10 */ # define rtfParNumSpacing 66 /* new in 1.10 */ # define rtfParNumInclPrev 67 /* new in 1.10 */ # define rtfParNumCenter 68 /* new in 1.10 */ # define rtfParNumLeft 69 /* new in 1.10 */ # define rtfParNumRight 70 /* new in 1.10 */ # define rtfParNumStartAt 71 /* new in 1.10 */ # define rtfBorderTop 72 # define rtfBorderBottom 73 # define rtfBorderLeft 74 # define rtfBorderRight 75 # define rtfBorderBetween 76 # define rtfBorderBar 77 # define rtfBorderBox 78 # define rtfBorderSingle 79 # define rtfBorderThick 80 # define rtfBorderShadow 81 # define rtfBorderDouble 82 # define rtfBorderDot 83 # define rtfBorderDash 84 /* new in 1.10 */ # define rtfBorderHair 85 # define rtfBorderWidth 86 # define rtfBorderColor 87 # define rtfBorderSpace 88 # define rtfShading 89 # define rtfBgPatH 90 # define rtfBgPatV 91 # define rtfFwdDiagBgPat 92 # define rtfBwdDiagBgPat 93 # define rtfHatchBgPat 94 # define rtfDiagHatchBgPat 95 # define rtfDarkBgPatH 96 # define rtfDarkBgPatV 97 # define rtfFwdDarkBgPat 98 # define rtfBwdDarkBgPat 99 # define rtfDarkHatchBgPat 100 # define rtfDarkDiagHatchBgPat 101 # define rtfBgPatLineColor 102 # define rtfBgPatColor 103 # define rtfCharAttr 12 # define rtfPlain 0 # define rtfBold 1 # define rtfAllCaps 2 # define rtfDeleted 3 # define rtfSubScript 4 # define rtfSubScrShrink 5 /* new in 1.10 */ # define rtfNoSuperSub 6 /* new in 1.10 */ # define rtfExpand 7 # define rtfExpandTwips 8 /* new in 1.10 */ # define rtfKerning 9 /* new in 1.10 */ # define rtfFontNum 10 # define rtfFontSize 11 # define rtfItalic 12 # define rtfOutline 13 # define rtfRevised 14 # define rtfRevAuthor 15 /* new in 1.10 */ # define rtfRevDTTM 16 /* new in 1.10 */ # define rtfSmallCaps 17 # define rtfShadow 18 # define rtfStrikeThru 19 # define rtfUnderline 20 # define rtfDotUnderline 21 /* renamed in 1.10 */ # define rtfDbUnderline 22 # define rtfNoUnderline 23 # define rtfWordUnderline 24 /* renamed in 1.10 */ # define rtfSuperScript 25 # define rtfSuperScrShrink 26 /* new in 1.10 */ # define rtfInvisible 27 # define rtfForeColor 28 # define rtfBackColor 29 # define rtfRTLChar 30 /* new in 1.10 */ # define rtfLTRChar 31 /* new in 1.10 */ # define rtfCharStyleNum 32 /* new in 1.10 */ # define rtfCharCharSet 33 /* new in 1.10 */ # define rtfLanguage 34 # define rtfGray 35 # define rtfPictAttr 13 # define rtfMacQD 0 # define rtfPMMetafile 1 # define rtfWinMetafile 2 # define rtfDevIndBitmap 3 # define rtfWinBitmap 4 # define rtfPixelBits 5 # define rtfBitmapPlanes 6 # define rtfBitmapWid 7 # define rtfPicWid 8 # define rtfPicHt 9 # define rtfPicGoalWid 10 # define rtfPicGoalHt 11 # define rtfPicScaleX 12 # define rtfPicScaleY 13 # define rtfPicScaled 14 # define rtfPicCropTop 15 # define rtfPicCropBottom 16 # define rtfPicCropLeft 17 # define rtfPicCropRight 18 # define rtfPicMFHasBitmap 19 /* new in 1.10 */ # define rtfPicMFBitsPerPixel 20 /* new in 1.10 */ # define rtfPicBinary 21 # define rtfBookmarkAttr 14 # define rtfBookmarkFirstCol 0 # define rtfBookmarkLastCol 1 # define rtfNeXTGrAttr 15 # define rtfNeXTGWidth 0 # define rtfNeXTGHeight 1 # define rtfFieldAttr 16 # define rtfFieldDirty 0 # define rtfFieldEdited 1 # define rtfFieldLocked 2 # define rtfFieldPrivate 3 # define rtfFieldAlt 4 /* new in 1.10 */ # define rtfTOCAttr 17 # define rtfTOCType 0 # define rtfTOCLevel 1 # define rtfPosAttr 18 # define rtfAbsWid 0 # define rtfAbsHt 1 # define rtfRPosMargH 2 # define rtfRPosPageH 3 # define rtfRPosColH 4 # define rtfPosX 5 # define rtfPosNegX 6 /* new in 1.10 */ # define rtfPosXCenter 7 # define rtfPosXInside 8 # define rtfPosXOutSide 9 # define rtfPosXRight 10 # define rtfPosXLeft 11 # define rtfRPosMargV 12 # define rtfRPosPageV 13 # define rtfRPosParaV 14 # define rtfPosY 15 # define rtfPosNegY 16 /* new in 1.10 */ # define rtfPosYInline 17 # define rtfPosYTop 18 # define rtfPosYCenter 19 # define rtfPosYBottom 20 # define rtfNoWrap 21 # define rtfDistFromTextAll 22 /* renamed in 1.10 */ # define rtfDistFromTextX 23 /* new in 1.10 */ # define rtfDistFromTextY 24 /* new in 1.10 */ # define rtfTextDistY 25 # define rtfDropCapLines 26 /* new in 1.10 */ # define rtfDropCapType 27 /* new in 1.10 */ # define rtfObjAttr 19 # define rtfObjEmb 0 # define rtfObjLink 1 # define rtfObjAutoLink 2 # define rtfObjSubscriber 3 # define rtfObjPublisher 4 /* new in 1.10 */ # define rtfObjICEmb 5 # define rtfObjLinkSelf 6 # define rtfObjLock 7 # define rtfObjUpdate 8 /* new in 1.10 */ # define rtfObjHt 9 # define rtfObjWid 10 # define rtfObjSetSize 11 # define rtfObjAlign 12 /* new in 1.10 */ # define rtfObjTransposeY 13 # define rtfObjCropTop 14 # define rtfObjCropBottom 15 # define rtfObjCropLeft 16 # define rtfObjCropRight 17 # define rtfObjScaleX 18 # define rtfObjScaleY 19 # define rtfObjResRTF 20 # define rtfObjResPict 21 # define rtfObjResBitmap 22 # define rtfObjResText 23 # define rtfObjResMerge 24 # define rtfObjBookmarkPubObj 25 # define rtfObjPubAutoUpdate 26 # define rtfFNoteAttr 20 /* new in 1.10 */ # define rtfFNAlt 0 /* new in 1.10 */ # define rtfKeyCodeAttr 21 /* new in 1.10 */ # define rtfAltKey 0 /* new in 1.10 */ # define rtfShiftKey 1 /* new in 1.10 */ # define rtfControlKey 2 /* new in 1.10 */ # define rtfFunctionKey 3 /* new in 1.10 */ # define rtfACharAttr 22 /* new in 1.10 */ # define rtfACBold 0 /* new in 1.10 */ # define rtfACAllCaps 1 /* new in 1.10 */ # define rtfACForeColor 2 /* new in 1.10 */ # define rtfACSubScript 3 /* new in 1.10 */ # define rtfACExpand 4 /* new in 1.10 */ # define rtfACFontNum 5 /* new in 1.10 */ # define rtfACFontSize 6 /* new in 1.10 */ # define rtfACItalic 7 /* new in 1.10 */ # define rtfACLanguage 8 /* new in 1.10 */ # define rtfACOutline 9 /* new in 1.10 */ # define rtfACSmallCaps 10 /* new in 1.10 */ # define rtfACShadow 11 /* new in 1.10 */ # define rtfACStrikeThru 12 /* new in 1.10 */ # define rtfACUnderline 13 /* new in 1.10 */ # define rtfACDotUnderline 14 /* new in 1.10 */ # define rtfACDbUnderline 15 /* new in 1.10 */ # define rtfACNoUnderline 16 /* new in 1.10 */ # define rtfACWordUnderline 17 /* new in 1.10 */ # define rtfACSuperScript 18 /* new in 1.10 */ # define rtfFontAttr 23 /* new in 1.10 */ # define rtfFontCharSet 0 /* new in 1.10 */ # define rtfFontPitch 1 /* new in 1.10 */ # define rtfFontCodePage 2 /* new in 1.10 */ # define rtfFTypeNil 3 /* new in 1.10 */ # define rtfFTypeTrueType 4 /* new in 1.10 */ # define rtfFileAttr 24 /* new in 1.10 */ # define rtfFileNum 0 /* new in 1.10 */ # define rtfFileRelPath 1 /* new in 1.10 */ # define rtfFileOSNum 2 /* new in 1.10 */ # define rtfFileSource 25 /* new in 1.10 */ # define rtfSrcMacintosh 0 /* new in 1.10 */ # define rtfSrcDOS 1 /* new in 1.10 */ # define rtfSrcNTFS 2 /* new in 1.10 */ # define rtfSrcHPFS 3 /* new in 1.10 */ # define rtfSrcNetwork 4 /* new in 1.10 */ /* * Drawing attributes */ # define rtfDrawAttr 26 /* new in 1.10 */ # define rtfDrawLock 0 /* new in 1.10 */ # define rtfDrawPageRelX 1 /* new in 1.10 */ # define rtfDrawColumnRelX 2 /* new in 1.10 */ # define rtfDrawMarginRelX 3 /* new in 1.10 */ # define rtfDrawPageRelY 4 /* new in 1.10 */ # define rtfDrawColumnRelY 5 /* new in 1.10 */ # define rtfDrawMarginRelY 6 /* new in 1.10 */ # define rtfDrawHeight 7 /* new in 1.10 */ # define rtfDrawBeginGroup 8 /* new in 1.10 */ # define rtfDrawGroupCount 9 /* new in 1.10 */ # define rtfDrawEndGroup 10 /* new in 1.10 */ # define rtfDrawArc 11 /* new in 1.10 */ # define rtfDrawCallout 12 /* new in 1.10 */ # define rtfDrawEllipse 13 /* new in 1.10 */ # define rtfDrawLine 14 /* new in 1.10 */ # define rtfDrawPolygon 15 /* new in 1.10 */ # define rtfDrawPolyLine 16 /* new in 1.10 */ # define rtfDrawRect 17 /* new in 1.10 */ # define rtfDrawTextBox 18 /* new in 1.10 */ # define rtfDrawOffsetX 19 /* new in 1.10 */ # define rtfDrawSizeX 20 /* new in 1.10 */ # define rtfDrawOffsetY 21 /* new in 1.10 */ # define rtfDrawSizeY 22 /* new in 1.10 */ # define rtfCOAngle 23 /* new in 1.10 */ # define rtfCOAccentBar 24 /* new in 1.10 */ # define rtfCOBestFit 25 /* new in 1.10 */ # define rtfCOBorder 26 /* new in 1.10 */ # define rtfCOAttachAbsDist 27 /* new in 1.10 */ # define rtfCOAttachBottom 28 /* new in 1.10 */ # define rtfCOAttachCenter 29 /* new in 1.10 */ # define rtfCOAttachTop 30 /* new in 1.10 */ # define rtfCOLength 31 /* new in 1.10 */ # define rtfCONegXQuadrant 32 /* new in 1.10 */ # define rtfCONegYQuadrant 33 /* new in 1.10 */ # define rtfCOOffset 34 /* new in 1.10 */ # define rtfCOAttachSmart 35 /* new in 1.10 */ # define rtfCODoubleLine 36 /* new in 1.10 */ # define rtfCORightAngle 37 /* new in 1.10 */ # define rtfCOSingleLine 38 /* new in 1.10 */ # define rtfCOTripleLine 39 /* new in 1.10 */ # define rtfDrawTextBoxMargin 40 /* new in 1.10 */ # define rtfDrawTextBoxText 41 /* new in 1.10 */ # define rtfDrawRoundRect 42 /* new in 1.10 */ # define rtfDrawPointX 43 /* new in 1.10 */ # define rtfDrawPointY 44 /* new in 1.10 */ # define rtfDrawPolyCount 45 /* new in 1.10 */ # define rtfDrawArcFlipX 46 /* new in 1.10 */ # define rtfDrawArcFlipY 47 /* new in 1.10 */ # define rtfDrawLineBlue 48 /* new in 1.10 */ # define rtfDrawLineGreen 49 /* new in 1.10 */ # define rtfDrawLineRed 50 /* new in 1.10 */ # define rtfDrawLinePalette 51 /* new in 1.10 */ # define rtfDrawLineDashDot 52 /* new in 1.10 */ # define rtfDrawLineDashDotDot 53 /* new in 1.10 */ # define rtfDrawLineDash 54 /* new in 1.10 */ # define rtfDrawLineDot 55 /* new in 1.10 */ # define rtfDrawLineGray 56 /* new in 1.10 */ # define rtfDrawLineHollow 57 /* new in 1.10 */ # define rtfDrawLineSolid 58 /* new in 1.10 */ # define rtfDrawLineWidth 59 /* new in 1.10 */ # define rtfDrawHollowEndArrow 60 /* new in 1.10 */ # define rtfDrawEndArrowLength 61 /* new in 1.10 */ # define rtfDrawSolidEndArrow 62 /* new in 1.10 */ # define rtfDrawEndArrowWidth 63 /* new in 1.10 */ # define rtfDrawHollowStartArrow 64 /* new in 1.10 */ # define rtfDrawStartArrowLength 65 /* new in 1.10 */ # define rtfDrawSolidStartArrow 66 /* new in 1.10 */ # define rtfDrawStartArrowWidth 67 /* new in 1.10 */ # define rtfDrawBgFillBlue 68 /* new in 1.10 */ # define rtfDrawBgFillGreen 69 /* new in 1.10 */ # define rtfDrawBgFillRed 70 /* new in 1.10 */ # define rtfDrawBgFillPalette 71 /* new in 1.10 */ # define rtfDrawBgFillGray 72 /* new in 1.10 */ # define rtfDrawFgFillBlue 73 /* new in 1.10 */ # define rtfDrawFgFillGreen 74 /* new in 1.10 */ # define rtfDrawFgFillRed 75 /* new in 1.10 */ # define rtfDrawFgFillPalette 76 /* new in 1.10 */ # define rtfDrawFgFillGray 77 /* new in 1.10 */ # define rtfDrawFillPatIndex 78 /* new in 1.10 */ # define rtfDrawShadow 79 /* new in 1.10 */ # define rtfDrawShadowXOffset 80 /* new in 1.10 */ # define rtfDrawShadowYOffset 81 /* new in 1.10 */ /* * index entry attributes */ # define rtfIndexAttr 27 /* new in 1.10 */ # define rtfIndexNumber 0 /* new in 1.10 */ # define rtfIndexBold 1 /* reclassified in 1.10 */ # define rtfIndexItalic 2 /* reclassified in 1.10 */ /* * \wmetafile argument values */ # define rtfWmMmText 1 # define rtfWmMmLometric 2 # define rtfWmMmHimetric 3 # define rtfWmMmLoenglish 4 # define rtfWmMmHienglish 5 # define rtfWmMmTwips 6 # define rtfWmMmIsotropic 7 # define rtfWmMmAnisotropic 8 /* * \pmmetafile argument values */ # define rtfPmPuArbitrary 4 # define rtfPmPuPels 8 # define rtfPmPuLometric 12 # define rtfPmPuHimetric 16 # define rtfPmPuLoenglish 20 # define rtfPmPuHienglish 24 # define rtfPmPuTwips 28 /* * \lang argument values */ # define rtfLangNoLang 0x0400 # define rtfLangAlbanian 0x041c # define rtfLangArabic 0x0401 # define rtfLangBahasa 0x0421 # define rtfLangBelgianDutch 0x0813 # define rtfLangBelgianFrench 0x080c # define rtfLangBrazilianPortuguese 0x0416 # define rtfLangBulgarian 0x0402 # define rtfLangCatalan 0x0403 # define rtfLangLatinCroatoSerbian 0x041a # define rtfLangCzech 0x0405 # define rtfLangDanish 0x0406 # define rtfLangDutch 0x0413 # define rtfLangAustralianEnglish 0x0c09 # define rtfLangUKEnglish 0x0809 # define rtfLangUSEnglish 0x0409 # define rtfLangFinnish 0x040b # define rtfLangFrench 0x040c # define rtfLangCanadianFrench 0x0c0c # define rtfLangGerman 0x0407 # define rtfLangGreek 0x0408 # define rtfLangHebrew 0x040d # define rtfLangHungarian 0x040e # define rtfLangIcelandic 0x040f # define rtfLangItalian 0x0410 # define rtfLangJapanese 0x0411 # define rtfLangKorean 0x0412 # define rtfLangBokmalNorwegian 0x0414 # define rtfLangNynorskNorwegian 0x0814 # define rtfLangPolish 0x0415 # define rtfLangPortuguese 0x0816 # define rtfLangRhaetoRomanic 0x0417 # define rtfLangRomanian 0x0418 # define rtfLangRussian 0x0419 # define rtfLangCyrillicSerboCroatian 0x081a # define rtfLangSimplifiedChinese 0x0804 # define rtfLangSlovak 0x041b # define rtfLangCastilianSpanish 0x040a # define rtfLangMexicanSpanish 0x080a # define rtfLangSwedish 0x041d # define rtfLangSwissFrench 0x100c # define rtfLangSwissGerman 0x0807 # define rtfLangSwissItalian 0x0810 # define rtfLangThai 0x041e # define rtfLangTraditionalChinese 0x0404 # define rtfLangTurkish 0x041f # define rtfLangUrdu 0x0420 /* * CharSet indices */ # define rtfCSGeneral 0 /* general (default) charset */ # define rtfCSSymbol 1 /* symbol charset */ /* * Flags for auto-charset-processing. Both are on by default. */ # define rtfReadCharSet 0x01 /* auto-read charset files */ # define rtfSwitchCharSet 0x02 /* auto-switch charset maps */ /* * Style types */ # define rtfParStyle 0 /* the default */ # define rtfCharStyle 1 # define rtfSectStyle 2 /* * RTF font, color and style structures. Used for font table, * color table, and stylesheet processing. */ typedef struct RTFFont RTFFont; typedef struct RTFColor RTFColor; typedef struct RTFStyle RTFStyle; typedef struct RTFStyleElt RTFStyleElt; struct RTFFont { char *rtfFName; /* font name */ char *rtfFAltName; /* font alternate name */ int rtfFNum; /* font number */ int rtfFFamily; /* font family */ int rtfFCharSet; /* font charset */ int rtfFPitch; /* font pitch */ int rtfFType; /* font type */ int rtfFCodePage; /* font code page */ RTFFont *rtfNextFont; /* next font in list */ }; /* * Color values are -1 if the default color for the the color * number should be used. The default color is writer-dependent. */ struct RTFColor { int rtfCNum; /* color number */ int rtfCRed; /* red value */ int rtfCGreen; /* green value */ int rtfCBlue; /* blue value */ RTFColor *rtfNextColor; /* next color in list */ }; struct RTFStyle { char *rtfSName; /* style name */ int rtfSType; /* style type */ int rtfSAdditive; /* whether or not style is additive */ int rtfSNum; /* style number */ int rtfSBasedOn; /* style this one's based on */ int rtfSNextPar; /* style next paragraph style */ RTFStyleElt *rtfSSEList; /* list of style words */ int rtfExpanding; /* non-zero = being expanded */ RTFStyle *rtfNextStyle; /* next style in style list */ }; struct RTFStyleElt { int rtfSEClass; /* token class */ int rtfSEMajor; /* token major number */ int rtfSEMinor; /* token minor number */ int rtfSEParam; /* control symbol parameter */ char *rtfSEText; /* text of symbol */ RTFStyleElt *rtfNextSE; /* next element in style */ }; /* * Return pointer to new element of type t, or NULL * if no memory available. */ # define New(t) ((t *) RTFAlloc ((int) sizeof (t))) /* maximum number of character values representable in a byte */ # define charSetSize 256 /* charset stack size */ # define maxCSStack 10 struct _RTF_Info; typedef struct _RTF_Info RTF_Info; typedef void (*RTFFuncPtr) (RTF_Info *); /* generic function pointer */ struct _RTF_Info { /* * Public variables (listed in rtf.h) */ /* * Information pertaining to last token read by RTFToken. The * text is exactly as it occurs in the input file, e.g., "\{" * will be found in rtfTextBuf as "\{", even though it means "{". * These variables are also set when styles are reprocessed. */ int rtfClass; int rtfMajor; int rtfMinor; int rtfParam; int rtfFormat; char *rtfTextBuf; int rtfTextLen; long rtfLineNum; int rtfLinePos; /* * Private stuff */ int pushedChar; /* pushback char if read too far */ int pushedClass; /* pushed token info for RTFUngetToken() */ int pushedMajor; int pushedMinor; int pushedParam; char *pushedTextBuf; int prevChar; int bumpLine; RTFFont *fontList; /* these lists MUST be */ RTFColor *colorList; /* initialized to NULL */ RTFStyle *styleList; char *inputName; char *outputName; EDITSTREAM editstream; char InputBuffer[0x1000]; DWORD dwInputSize; DWORD dwInputUsed; /* edit window to output to */ HWND hwndEdit; /* * These arrays are used to map RTF input character values onto the standard * character names represented by the values. Input character values are * used as indices into the arrays to produce standard character codes. */ char *genCharSetFile ; int genCharCode[charSetSize]; /* general */ int haveGenCharSet; char *symCharSetFile; int symCharCode[charSetSize]; /* symbol */ int haveSymCharSet; int curCharSet; int *curCharCode; /* * By default, the reader is configured to handle charset mapping invisibly, * including reading the charset files and switching charset maps as necessary * for Symbol font. */ int autoCharSetFlags; /* * Stack for keeping track of charset map on group begin/end. This is * necessary because group termination reverts the font to the previous * value, which may implicitly change it. */ int csStack[maxCSStack]; int csTop; RTFFuncPtr ccb[rtfMaxClass]; /* class callbacks */ RTFFuncPtr dcb[rtfMaxDestination]; /* destination callbacks */ RTFFuncPtr readHook; RTFFuncPtr panicProc; FILE *(*libFileOpen) (); char *outMap[rtfSC_MaxChar]; DWORD dwOutputCount; char OutputBuffer[0x1000]; }; /* * Public RTF reader routines */ void RTFInit (RTF_Info *); void RTFSetInputName (RTF_Info *, char *); char *RTFGetInputName (RTF_Info *); void RTFSetOutputName (RTF_Info *, char *); char *RTFGetOutputName (RTF_Info *); void RTFSetClassCallback (RTF_Info *, int, RTFFuncPtr); RTFFuncPtr RTFGetClassCallback (RTF_Info *, int); void RTFSetDestinationCallback (RTF_Info *, int, RTFFuncPtr); RTFFuncPtr RTFGetDestinationCallback (RTF_Info *, int); void RTFRead (RTF_Info *); int RTFGetToken (RTF_Info *); /* writer should rarely need this */ void RTFUngetToken (RTF_Info *); int RTFPeekToken (RTF_Info *); void RTFSetToken (RTF_Info *, int, int, int, int, const char *); void RTFSetReadHook (RTF_Info *, RTFFuncPtr); RTFFuncPtr RTFGetReadHook (RTF_Info *); void RTFRouteToken (RTF_Info *); void RTFSkipGroup (RTF_Info *); void RTFExpandStyle (RTF_Info *, int); int RTFCheckCM (RTF_Info *, int, int); int RTFCheckCMM (RTF_Info *, int, int, int); int RTFCheckMM (RTF_Info *, int, int); RTFFont *RTFGetFont (RTF_Info *, int); RTFColor *RTFGetColor (RTF_Info *, int); RTFStyle *RTFGetStyle (RTF_Info *, int); # define RTFAlloc(size) _RTFAlloc ((int) size) char *_RTFAlloc (int); char *RTFStrSave (char *); void RTFFree (char *); int RTFCharToHex ( char); int RTFHexToChar ( int ); void RTFSetMsgProc ( RTFFuncPtr ); void RTFSetPanicProc ( RTF_Info *, RTFFuncPtr); /* * The following messing around is used to allow RTFMsg() and RTFPanic() * to be variable-argument functions that are declared publicly but * without generating prototype-mismatch errors on systems that have * stdarg.h. */ void RTFMsg (RTF_Info *, const char *fmt, ...); void RTFPanic (RTF_Info *, const char *fmt, ...); int RTFReadOutputMap ( RTF_Info *, char *[], int); int RTFReadCharSetMap ( RTF_Info *, int); void RTFSetCharSetMap ( RTF_Info *, char *, int); int RTFStdCharCode ( RTF_Info *, const char *); const char *RTFStdCharName ( RTF_Info *, int); int RTFMapChar ( RTF_Info *, int); int RTFGetCharSet( RTF_Info * ); void RTFSetCharSet( RTF_Info *, int); void RTFSetOpenLibFileProc ( RTF_Info *, FILE *(*)()); FILE *RTFOpenLibFile ( RTF_Info *, char *, char *); void RTFFlushOutputBuffer( RTF_Info *info ); void RTFSetEditStream(RTF_Info *, EDITSTREAM *es); void WriterInit (RTF_Info *); int BeginFile (RTF_Info *); #endif