14 /* The following defines are automatically generated. Do not edit. */
17 /* These must be sequential beginning from zero */
19 #define rtfSC_nothing 0
21 #define rtfSC_exclam 2
22 #define rtfSC_quotedbl 3
23 #define rtfSC_numbersign 4
24 #define rtfSC_dollar 5
25 #define rtfSC_percent 6
26 #define rtfSC_ampersand 7
27 #define rtfSC_quoteright 8
28 #define rtfSC_parenleft 9
29 #define rtfSC_parenright 10
30 #define rtfSC_asterisk 11
32 #define rtfSC_comma 13
33 #define rtfSC_hyphen 14
34 #define rtfSC_period 15
35 #define rtfSC_slash 16
39 #define rtfSC_three 20
43 #define rtfSC_seven 24
44 #define rtfSC_eight 25
46 #define rtfSC_colon 27
47 #define rtfSC_semicolon 28
49 #define rtfSC_equal 30
50 #define rtfSC_greater 31
51 #define rtfSC_question 32
79 #define rtfSC_bracketleft 60
80 #define rtfSC_backslash 61
81 #define rtfSC_bracketright 62
82 #define rtfSC_asciicircum 63
83 #define rtfSC_underscore 64
84 #define rtfSC_quoteleft 65
111 #define rtfSC_braceleft 92
113 #define rtfSC_braceright 94
114 #define rtfSC_asciitilde 95
115 #define rtfSC_exclamdown 96
116 #define rtfSC_cent 97
117 #define rtfSC_sterling 98
118 #define rtfSC_fraction 99
119 #define rtfSC_yen 100
120 #define rtfSC_florin 101
121 #define rtfSC_section 102
122 #define rtfSC_currency 103
123 #define rtfSC_quotedblleft 104
124 #define rtfSC_guillemotleft 105
125 #define rtfSC_guilsinglleft 106
126 #define rtfSC_guilsinglright 107
129 #define rtfSC_endash 110
130 #define rtfSC_dagger 111
131 #define rtfSC_daggerdbl 112
132 #define rtfSC_periodcentered 113
133 #define rtfSC_paragraph 114
134 #define rtfSC_bullet 115
135 #define rtfSC_quotesinglbase 116
136 #define rtfSC_quotedblbase 117
137 #define rtfSC_quotedblright 118
138 #define rtfSC_guillemotright 119
139 #define rtfSC_ellipsis 120
140 #define rtfSC_perthousand 121
141 #define rtfSC_questiondown 122
142 #define rtfSC_grave 123
143 #define rtfSC_acute 124
144 #define rtfSC_circumflex 125
145 #define rtfSC_tilde 126
146 #define rtfSC_macron 127
147 #define rtfSC_breve 128
148 #define rtfSC_dotaccent 129
149 #define rtfSC_dieresis 130
150 #define rtfSC_ring 131
151 #define rtfSC_cedilla 132
152 #define rtfSC_hungarumlaut 133
153 #define rtfSC_ogonek 134
154 #define rtfSC_caron 135
155 #define rtfSC_emdash 136
157 #define rtfSC_ordfeminine 138
158 #define rtfSC_Lslash 139
159 #define rtfSC_Oslash 140
161 #define rtfSC_ordmasculine 142
163 #define rtfSC_dotlessi 144
164 #define rtfSC_lslash 145
165 #define rtfSC_oslash 146
167 #define rtfSC_germandbls 148
168 #define rtfSC_Aacute 149
169 #define rtfSC_Acircumflex 150
170 #define rtfSC_Adieresis 151
171 #define rtfSC_Agrave 152
172 #define rtfSC_Aring 153
173 #define rtfSC_Atilde 154
174 #define rtfSC_Ccedilla 155
175 #define rtfSC_Eacute 156
176 #define rtfSC_Ecircumflex 157
177 #define rtfSC_Edieresis 158
178 #define rtfSC_Egrave 159
179 #define rtfSC_Eth 160
180 #define rtfSC_Iacute 161
181 #define rtfSC_Icircumflex 162
182 #define rtfSC_Idieresis 163
183 #define rtfSC_Igrave 164
184 #define rtfSC_Ntilde 165
185 #define rtfSC_Oacute 166
186 #define rtfSC_Ocircumflex 167
187 #define rtfSC_Odieresis 168
188 #define rtfSC_Ograve 169
189 #define rtfSC_Otilde 170
190 #define rtfSC_Scaron 171
191 #define rtfSC_Thorn 172
192 #define rtfSC_Uacute 173
193 #define rtfSC_Ucircumflex 174
194 #define rtfSC_Udieresis 175
195 #define rtfSC_Ugrave 176
196 #define rtfSC_Yacute 177
197 #define rtfSC_Ydieresis 178
198 #define rtfSC_aacute 179
199 #define rtfSC_acircumflex 180
200 #define rtfSC_adieresis 181
201 #define rtfSC_agrave 182
202 #define rtfSC_aring 183
203 #define rtfSC_atilde 184
204 #define rtfSC_brokenbar 185
205 #define rtfSC_ccedilla 186
206 #define rtfSC_copyright 187
207 #define rtfSC_degree 188
208 #define rtfSC_divide 189
209 #define rtfSC_eacute 190
210 #define rtfSC_ecircumflex 191
211 #define rtfSC_edieresis 192
212 #define rtfSC_egrave 193
213 #define rtfSC_eth 194
214 #define rtfSC_iacute 195
215 #define rtfSC_icircumflex 196
216 #define rtfSC_idieresis 197
217 #define rtfSC_igrave 198
218 #define rtfSC_logicalnot 199
219 #define rtfSC_minus 200
220 #define rtfSC_multiply 201
221 #define rtfSC_ntilde 202
222 #define rtfSC_oacute 203
223 #define rtfSC_ocircumflex 204
224 #define rtfSC_odieresis 205
225 #define rtfSC_ograve 206
226 #define rtfSC_onehalf 207
227 #define rtfSC_onequarter 208
228 #define rtfSC_onesuperior 209
229 #define rtfSC_otilde 210
230 #define rtfSC_plusminus 211
231 #define rtfSC_registered 212
232 #define rtfSC_thorn 213
233 #define rtfSC_threequarters 214
234 #define rtfSC_threesuperior 215
235 #define rtfSC_trademark 216
236 #define rtfSC_twosuperior 217
237 #define rtfSC_uacute 218
238 #define rtfSC_ucircumflex 219
239 #define rtfSC_udieresis 220
240 #define rtfSC_ugrave 221
241 #define rtfSC_yacute 222
242 #define rtfSC_ydieresis 223
243 #define rtfSC_Alpha 224
244 #define rtfSC_Beta 225
245 #define rtfSC_Chi 226
246 #define rtfSC_Delta 227
247 #define rtfSC_Epsilon 228
248 #define rtfSC_Phi 229
249 #define rtfSC_Gamma 230
250 #define rtfSC_Eta 231
251 #define rtfSC_Iota 232
252 #define rtfSC_Kappa 233
253 #define rtfSC_Lambda 234
256 #define rtfSC_Omicron 237
258 #define rtfSC_Theta 239
259 #define rtfSC_Rho 240
260 #define rtfSC_Sigma 241
261 #define rtfSC_Tau 242
262 #define rtfSC_Upsilon 243
263 #define rtfSC_varUpsilon 244
264 #define rtfSC_Omega 245
266 #define rtfSC_Psi 247
267 #define rtfSC_Zeta 248
268 #define rtfSC_alpha 249
269 #define rtfSC_beta 250
270 #define rtfSC_chi 251
271 #define rtfSC_delta 252
272 #define rtfSC_epsilon 253
273 #define rtfSC_phi 254
274 #define rtfSC_varphi 255
275 #define rtfSC_gamma 256
276 #define rtfSC_eta 257
277 #define rtfSC_iota 258
278 #define rtfSC_kappa 259
279 #define rtfSC_lambda 260
282 #define rtfSC_omicron 263
284 #define rtfSC_varpi 265
285 #define rtfSC_theta 266
286 #define rtfSC_vartheta 267
287 #define rtfSC_rho 268
288 #define rtfSC_sigma 269
289 #define rtfSC_varsigma 270
290 #define rtfSC_tau 271
291 #define rtfSC_upsilon 272
292 #define rtfSC_omega 273
294 #define rtfSC_psi 275
295 #define rtfSC_zeta 276
296 #define rtfSC_nobrkspace 277
297 #define rtfSC_nobrkhyphen 278
298 #define rtfSC_lessequal 279
299 #define rtfSC_greaterequal 280
300 #define rtfSC_infinity 281
301 #define rtfSC_integral 282
302 #define rtfSC_notequal 283
303 #define rtfSC_radical 284
304 #define rtfSC_radicalex 285
305 #define rtfSC_approxequal 286
306 #define rtfSC_apple 287
307 #define rtfSC_partialdiff 288
308 #define rtfSC_opthyphen 289
309 #define rtfSC_formula 290
310 #define rtfSC_lozenge 291
311 #define rtfSC_universal 292
312 #define rtfSC_existential 293
313 #define rtfSC_suchthat 294
314 #define rtfSC_congruent 295
315 #define rtfSC_therefore 296
316 #define rtfSC_perpendicular 297
317 #define rtfSC_minute 298
318 #define rtfSC_club 299
319 #define rtfSC_diamond 300
320 #define rtfSC_heart 301
321 #define rtfSC_spade 302
322 #define rtfSC_arrowboth 303
323 #define rtfSC_arrowleft 304
324 #define rtfSC_arrowup 305
325 #define rtfSC_arrowright 306
326 #define rtfSC_arrowdown 307
327 #define rtfSC_second 308
328 #define rtfSC_proportional 309
329 #define rtfSC_equivalence 310
330 #define rtfSC_arrowvertex 311
331 #define rtfSC_arrowhorizex 312
332 #define rtfSC_carriagereturn 313
333 #define rtfSC_aleph 314
334 #define rtfSC_Ifraktur 315
335 #define rtfSC_Rfraktur 316
336 #define rtfSC_weierstrass 317
337 #define rtfSC_circlemultiply 318
338 #define rtfSC_circleplus 319
339 #define rtfSC_emptyset 320
340 #define rtfSC_intersection 321
341 #define rtfSC_union 322
342 #define rtfSC_propersuperset 323
343 #define rtfSC_reflexsuperset 324
344 #define rtfSC_notsubset 325
345 #define rtfSC_propersubset 326
346 #define rtfSC_reflexsubset 327
347 #define rtfSC_element 328
348 #define rtfSC_notelement 329
349 #define rtfSC_angle 330
350 #define rtfSC_gradient 331
351 #define rtfSC_product 332
352 #define rtfSC_logicaland 333
353 #define rtfSC_logicalor 334
354 #define rtfSC_arrowdblboth 335
355 #define rtfSC_arrowdblleft 336
356 #define rtfSC_arrowdblup 337
357 #define rtfSC_arrowdblright 338
358 #define rtfSC_arrowdbldown 339
359 #define rtfSC_angleleft 340
360 #define rtfSC_registersans 341
361 #define rtfSC_copyrightsans 342
362 #define rtfSC_trademarksans 343
363 #define rtfSC_angleright 344
364 #define rtfSC_mathplus 345
365 #define rtfSC_mathminus 346
366 #define rtfSC_mathasterisk 347
367 #define rtfSC_mathnumbersign 348
368 #define rtfSC_dotmath 349
369 #define rtfSC_mathequal 350
370 #define rtfSC_mathtilde 351
372 #define rtfSC_MaxChar 352
374 * rtf.h - RTF document processing stuff. Release 1.10.
379 * Twentieths of a point (twips) per inch (Many RTF measurements
380 * are in twips per inch (tpi) units). Assumes 72 points/inch.
386 * RTF buffer size (avoids BUFSIZ, which differs across systems)
389 # define rtfBufSiz 1024
392 * Tokens are associated with up to three classification numbers:
394 * Class number: Broadest (least detailed) breakdown. For programs
395 * that only care about gross token distinctions.
396 * Major/minor numbers: Within their class, tokens have a major
397 * number, and may also have a minor number to further
398 * distinquish tokens with the same major number.
400 * *** Class, major and minor token numbers are all >= 0 ***
402 * Tokens that can't be classified are put in the "unknown" class.
403 * For such, the major and minor numbers are meaningless, although
404 * rtfTextBuf may be of interest then.
406 * Text tokens are a single character, and the major number indicates
407 * the character value (note: can be non-ascii, i.e., greater than 127).
408 * There is no minor number.
410 * Control symbols may have a parameter value, which will be found in
411 * rtfParam. If no parameter was given, rtfParam = rtfNoParam.
413 * RTFGetToken() return value is the class number, but it sets all the
416 * rtfEOF is a fake token used by the reader; the writer never sees
417 * it (except in the token reader hook, if it installs one).
422 # define rtfNoParam (-32768) /* 16-bit max. neg. value */
425 # define rtfNoParam (-1000000)
432 * For some reason, the no-style number is 222
435 # define rtfNoStyleNum 222
436 # define rtfNormalStyleNum 0
440 * Token classes (must be zero-based and sequential)
443 # define rtfUnknown 0
446 # define rtfControl 3
448 # define rtfMaxClass 5 /* highest class + 1 */
451 * Group class major numbers
454 # define rtfBeginGroup 0
455 # define rtfEndGroup 1
458 * Control class major and minor numbers.
461 # define rtfVersion 0
463 # define rtfDefFont 1
465 # define rtfCharSet 2
466 # define rtfAnsiCharSet 0
467 # define rtfMacCharSet 1
468 # define rtfPcCharSet 2
469 # define rtfPcaCharSet 3
472 /* destination minor numbers should be zero-based and sequential */
474 # define rtfDestination 3
475 # define rtfFontTbl 0
476 # define rtfFontAltName 1 /* new in 1.10 */
477 # define rtfEmbeddedFont 2 /* new in 1.10 */
478 # define rtfFontFile 3 /* new in 1.10 */
479 # define rtfFileTbl 4 /* new in 1.10 */
480 # define rtfFileInfo 5 /* new in 1.10 */
481 # define rtfColorTbl 6
482 # define rtfStyleSheet 7
483 # define rtfKeyCode 8
484 # define rtfRevisionTbl 9 /* new in 1.10 */
486 # define rtfITitle 11
487 # define rtfISubject 12
488 # define rtfIAuthor 13
489 # define rtfIOperator 14
490 # define rtfIKeywords 15
491 # define rtfIComment 16
492 # define rtfIVersion 17
493 # define rtfIDoccomm 18
494 # define rtfIVerscomm 19
495 # define rtfNextFile 20 /* reclassified in 1.10 */
496 # define rtfTemplate 21 /* reclassified in 1.10 */
498 # define rtfFNContSep 23
499 # define rtfFNContNotice 24
500 # define rtfENSep 25 /* new in 1.10 */
501 # define rtfENContSep 26 /* new in 1.10 */
502 # define rtfENContNotice 27 /* new in 1.10 */
503 # define rtfPageNumLevel 28 /* new in 1.10 */
504 # define rtfParNumLevelStyle 29 /* new in 1.10 */
505 # define rtfHeader 30
506 # define rtfFooter 31
507 # define rtfHeaderLeft 32
508 # define rtfHeaderRight 33
509 # define rtfHeaderFirst 34
510 # define rtfFooterLeft 35
511 # define rtfFooterRight 36
512 # define rtfFooterFirst 37
513 # define rtfParNumText 38 /* new in 1.10 */
514 # define rtfParNumbering 39 /* new in 1.10 */
515 # define rtfParNumTextAfter 40 /* new in 1.10 */
516 # define rtfParNumTextBefore 41 /* new in 1.10 */
517 # define rtfBookmarkStart 42
518 # define rtfBookmarkEnd 43
520 # define rtfObject 45
521 # define rtfObjClass 46
522 # define rtfObjName 47
523 # define rtfObjTime 48 /* new in 1.10 */
524 # define rtfObjData 49
525 # define rtfObjAlias 50
526 # define rtfObjSection 51
527 # define rtfObjResult 52
528 # define rtfObjItem 53 /* new in 1.10 */
529 # define rtfObjTopic 54 /* new in 1.10 */
530 # define rtfDrawObject 55 /* new in 1.10 */
531 # define rtfFootnote 56
532 # define rtfAnnotRefStart 57 /* new in 1.10 */
533 # define rtfAnnotRefEnd 58 /* new in 1.10 */
534 # define rtfAnnotID 59 /* reclassified in 1.10 */
535 # define rtfAnnotAuthor 60 /* new in 1.10 */
536 # define rtfAnnotation 61 /* reclassified in 1.10 */
537 # define rtfAnnotRef 62 /* new in 1.10 */
538 # define rtfAnnotTime 63 /* new in 1.10 */
539 # define rtfAnnotIcon 64 /* new in 1.10 */
541 # define rtfFieldInst 66
542 # define rtfFieldResult 67
543 # define rtfDataField 68 /* new in 1.10 */
545 # define rtfIndexText 70
546 # define rtfIndexRange 71
548 # define rtfNeXTGraphic 73
549 # define rtfGenerator 74
550 # define rtfMaxDestination 75 /* highest dest + 1 */
552 # define rtfFontFamily 4
554 # define rtfFFRoman 1
555 # define rtfFFSwiss 2
556 # define rtfFFModern 3
557 # define rtfFFScript 4
558 # define rtfFFDecor 5
560 # define rtfFFBidirectional 7 /* new in 1.10 */
562 # define rtfColorName 5
567 # define rtfSpecialChar 6
568 /* special chars seen in \info destination */
569 # define rtfIIntVersion 0
570 # define rtfICreateTime 1
571 # define rtfIRevisionTime 2
572 # define rtfIPrintTime 3
573 # define rtfIBackupTime 4
574 # define rtfIEditTime 5
579 # define rtfIMinute 10
580 # define rtfISecond 11 /* new in 1.10 */
581 # define rtfINPages 12
582 # define rtfINWords 13
583 # define rtfINChars 14
584 # define rtfIIntID 15
585 /* other special chars */
586 # define rtfCurHeadDate 16
587 # define rtfCurHeadDateLong 17
588 # define rtfCurHeadDateAbbrev 18
589 # define rtfCurHeadTime 19
590 # define rtfCurHeadPage 20
591 # define rtfSectNum 21 /* new in 1.10 */
592 # define rtfCurFNote 22
593 # define rtfCurAnnotRef 23
594 # define rtfFNoteSep 24
595 # define rtfFNoteCont 25
601 # define rtfColumn 31
603 # define rtfSoftPage 33 /* new in 1.10 */
604 # define rtfSoftColumn 34 /* new in 1.10 */
605 # define rtfSoftLine 35 /* new in 1.10 */
606 # define rtfSoftLineHt 36 /* new in 1.10 */
608 # define rtfEmDash 38
609 # define rtfEnDash 39
610 # define rtfEmSpace 40 /* new in 1.10 */
611 # define rtfEnSpace 41 /* new in 1.10 */
612 # define rtfBullet 42
613 # define rtfLQuote 43
614 # define rtfRQuote 44
615 # define rtfLDblQuote 45
616 # define rtfRDblQuote 46
617 # define rtfFormula 47
618 # define rtfNoBrkSpace 49
619 # define rtfNoReqHyphen 50
620 # define rtfNoBrkHyphen 51
621 # define rtfOptDest 52
622 # define rtfLTRMark 53 /* new in 1.10 */
623 # define rtfRTLMark 54 /* new in 1.10 */
624 # define rtfNoWidthJoiner 55 /* new in 1.10 */
625 # define rtfNoWidthNonJoiner 56 /* new in 1.10 */
626 # define rtfCurHeadPict 57 /* valid? */
627 /*# define rtfCurAnnot 58*/ /* apparently not used */
629 # define rtfStyleAttr 7
630 # define rtfAdditive 0 /* new in 1.10 */
631 # define rtfBasedOn 1
634 # define rtfDocAttr 8
636 # define rtfHyphHotZone 1
637 # define rtfHyphConsecLines 2 /* new in 1.10 */
638 # define rtfHyphCaps 3 /* new in 1.10 */
639 # define rtfHyphAuto 4 /* new in 1.10 */
640 # define rtfLineStart 5
641 # define rtfFracWidth 6
642 # define rtfMakeBackup 7
643 # define rtfRTFDefault 8
644 # define rtfPSOverlay 9
645 # define rtfDocTemplate 10 /* new in 1.10 */
646 # define rtfDefLanguage 11
647 # define rtfFENoteType 12 /* new in 1.10 */
648 # define rtfFNoteEndSect 13
649 # define rtfFNoteEndDoc 14
650 # define rtfFNoteText 15
651 # define rtfFNoteBottom 16
652 # define rtfENoteEndSect 17 /* new in 1.10 */
653 # define rtfENoteEndDoc 18 /* new in 1.10 */
654 # define rtfENoteText 19 /* new in 1.10 */
655 # define rtfENoteBottom 20 /* new in 1.10 */
656 # define rtfFNoteStart 21
657 # define rtfENoteStart 22 /* new in 1.10 */
658 # define rtfFNoteRestartPage 23 /* new in 1.10 */
659 # define rtfFNoteRestart 24
660 # define rtfFNoteRestartCont 25 /* new in 1.10 */
661 # define rtfENoteRestart 26 /* new in 1.10 */
662 # define rtfENoteRestartCont 27 /* new in 1.10 */
663 # define rtfFNoteNumArabic 28 /* new in 1.10 */
664 # define rtfFNoteNumLLetter 29 /* new in 1.10 */
665 # define rtfFNoteNumULetter 30 /* new in 1.10 */
666 # define rtfFNoteNumLRoman 31 /* new in 1.10 */
667 # define rtfFNoteNumURoman 32 /* new in 1.10 */
668 # define rtfFNoteNumChicago 33 /* new in 1.10 */
669 # define rtfENoteNumArabic 34 /* new in 1.10 */
670 # define rtfENoteNumLLetter 35 /* new in 1.10 */
671 # define rtfENoteNumULetter 36 /* new in 1.10 */
672 # define rtfENoteNumLRoman 37 /* new in 1.10 */
673 # define rtfENoteNumURoman 38 /* new in 1.10 */
674 # define rtfENoteNumChicago 39 /* new in 1.10 */
675 # define rtfPaperWidth 40
676 # define rtfPaperHeight 41
677 # define rtfPaperSize 42 /* new in 1.10 */
678 # define rtfLeftMargin 43
679 # define rtfRightMargin 44
680 # define rtfTopMargin 45
681 # define rtfBottomMargin 46
682 # define rtfFacingPage 47
683 # define rtfGutterWid 48
684 # define rtfMirrorMargin 49
685 # define rtfLandscape 50
686 # define rtfPageStart 51
687 # define rtfWidowCtrl 52
688 # define rtfLinkStyles 53 /* new in 1.10 */
689 # define rtfNoAutoTabIndent 54 /* new in 1.10 */
690 # define rtfWrapSpaces 55 /* new in 1.10 */
691 # define rtfPrintColorsBlack 56 /* new in 1.10 */
692 # define rtfNoExtraSpaceRL 57 /* new in 1.10 */
693 # define rtfNoColumnBalance 58 /* new in 1.10 */
694 # define rtfCvtMailMergeQuote 59 /* new in 1.10 */
695 # define rtfSuppressTopSpace 60 /* new in 1.10 */
696 # define rtfSuppressPreParSpace 61 /* new in 1.10 */
697 # define rtfCombineTblBorders 62 /* new in 1.10 */
698 # define rtfTranspMetafiles 63 /* new in 1.10 */
699 # define rtfSwapBorders 64 /* new in 1.10 */
700 # define rtfShowHardBreaks 65 /* new in 1.10 */
701 # define rtfFormProtected 66 /* new in 1.10 */
702 # define rtfAllProtected 67 /* new in 1.10 */
703 # define rtfFormShading 68 /* new in 1.10 */
704 # define rtfFormDisplay 69 /* new in 1.10 */
705 # define rtfPrintData 70 /* new in 1.10 */
706 # define rtfRevProtected 71 /* new in 1.10 */
707 # define rtfRevisions 72
708 # define rtfRevDisplay 73
709 # define rtfRevBar 74
710 # define rtfAnnotProtected 75 /* new in 1.10 */
711 # define rtfRTLDoc 76 /* new in 1.10 */
712 # define rtfLTRDoc 77 /* new in 1.10 */
714 # define rtfSectAttr 9
715 # define rtfSectDef 0
716 # define rtfENoteHere 1
717 # define rtfPrtBinFirst 2
719 # define rtfSectStyleNum 4 /* new in 1.10 */
720 # define rtfNoBreak 5
721 # define rtfColBreak 6
722 # define rtfPageBreak 7
723 # define rtfEvenBreak 8
724 # define rtfOddBreak 9
725 # define rtfColumns 10
726 # define rtfColumnSpace 11
727 # define rtfColumnNumber 12 /* new in 1.10 */
728 # define rtfColumnSpRight 13 /* new in 1.10 */
729 # define rtfColumnWidth 14 /* new in 1.10 */
730 # define rtfColumnLine 15
731 # define rtfLineModulus 16
732 # define rtfLineDist 17
733 # define rtfLineStarts 18
734 # define rtfLineRestart 19
735 # define rtfLineRestartPg 20
736 # define rtfLineCont 21
737 # define rtfSectPageWid 22
738 # define rtfSectPageHt 23
739 # define rtfSectMarginLeft 24
740 # define rtfSectMarginRight 25
741 # define rtfSectMarginTop 26
742 # define rtfSectMarginBottom 27
743 # define rtfSectMarginGutter 28
744 # define rtfSectLandscape 29
745 # define rtfTitleSpecial 30
746 # define rtfHeaderY 31
747 # define rtfFooterY 32
748 # define rtfPageStarts 33
749 # define rtfPageCont 34
750 # define rtfPageRestart 35
751 # define rtfPageNumRight 36 /* renamed in 1.10 */
752 # define rtfPageNumTop 37
753 # define rtfPageDecimal 38
754 # define rtfPageURoman 39
755 # define rtfPageLRoman 40
756 # define rtfPageULetter 41
757 # define rtfPageLLetter 42
758 # define rtfPageNumHyphSep 43 /* new in 1.10 */
759 # define rtfPageNumSpaceSep 44 /* new in 1.10 */
760 # define rtfPageNumColonSep 45 /* new in 1.10 */
761 # define rtfPageNumEmdashSep 46 /* new in 1.10 */
762 # define rtfPageNumEndashSep 47 /* new in 1.10 */
763 # define rtfTopVAlign 48
764 # define rtfBottomVAlign 49
765 # define rtfCenterVAlign 50
766 # define rtfJustVAlign 51
767 # define rtfRTLSect 52 /* new in 1.10 */
768 # define rtfLTRSect 53 /* new in 1.10 */
770 # define rtfTblAttr 10
772 # define rtfRowGapH 1
773 # define rtfCellPos 2
774 # define rtfMergeRngFirst 3
775 # define rtfMergePrevious 4
776 # define rtfRowLeft 5
777 # define rtfRowRight 6
778 # define rtfRowCenter 7
779 # define rtfRowLeftEdge 8
781 # define rtfRowHeader 10 /* new in 1.10 */
782 # define rtfRowKeep 11 /* new in 1.10 */
783 # define rtfRTLRow 12 /* new in 1.10 */
784 # define rtfLTRRow 13 /* new in 1.10 */
785 # define rtfRowBordTop 14 /* new in 1.10 */
786 # define rtfRowBordLeft 15 /* new in 1.10 */
787 # define rtfRowBordBottom 16 /* new in 1.10 */
788 # define rtfRowBordRight 17 /* new in 1.10 */
789 # define rtfRowBordHoriz 18 /* new in 1.10 */
790 # define rtfRowBordVert 19 /* new in 1.10 */
791 # define rtfCellBordBottom 20
792 # define rtfCellBordTop 21
793 # define rtfCellBordLeft 22
794 # define rtfCellBordRight 23
795 # define rtfCellShading 24
796 # define rtfCellBgPatH 25
797 # define rtfCellBgPatV 26
798 # define rtfCellFwdDiagBgPat 27
799 # define rtfCellBwdDiagBgPat 28
800 # define rtfCellHatchBgPat 29
801 # define rtfCellDiagHatchBgPat 30
802 # define rtfCellDarkBgPatH 31
803 # define rtfCellDarkBgPatV 32
804 # define rtfCellFwdDarkBgPat 33
805 # define rtfCellBwdDarkBgPat 34
806 # define rtfCellDarkHatchBgPat 35
807 # define rtfCellDarkDiagHatchBgPat 36
808 # define rtfCellBgPatLineColor 37
809 # define rtfCellBgPatColor 38
811 # define rtfParAttr 11
813 # define rtfStyleNum 1
814 # define rtfHyphenate 2 /* new in 1.10 */
815 # define rtfInTable 3
817 # define rtfNoWidowControl 5 /* new in 1.10 */
818 # define rtfKeepNext 6
819 # define rtfOutlineLevel 7 /* new in 1.10 */
820 # define rtfNoLineNum 8
821 # define rtfPBBefore 9
822 # define rtfSideBySide 10
823 # define rtfQuadLeft 11
824 # define rtfQuadRight 12
825 # define rtfQuadJust 13
826 # define rtfQuadCenter 14
827 # define rtfFirstIndent 15
828 # define rtfLeftIndent 16
829 # define rtfRightIndent 17
830 # define rtfSpaceBefore 18
831 # define rtfSpaceAfter 19
832 # define rtfSpaceBetween 20
833 # define rtfSpaceMultiply 21 /* new in 1.10 */
834 # define rtfSubDocument 22 /* new in 1.10 */
835 # define rtfRTLPar 23 /* new in 1.10 */
836 # define rtfLTRPar 24 /* new in 1.10 */
837 # define rtfTabPos 25
838 # define rtfTabLeft 26 /* new in 1.10 */
839 # define rtfTabRight 27
840 # define rtfTabCenter 28
841 # define rtfTabDecimal 29
842 # define rtfTabBar 30
843 # define rtfLeaderDot 31
844 # define rtfLeaderHyphen 32
845 # define rtfLeaderUnder 33
846 # define rtfLeaderThick 34
847 # define rtfLeaderEqual 35
848 # define rtfParLevel 36 /* new in 1.10 */
849 # define rtfParBullet 37 /* new in 1.10 */
850 # define rtfParSimple 38 /* new in 1.10 */
851 # define rtfParNumCont 39 /* new in 1.10 */
852 # define rtfParNumOnce 40 /* new in 1.10 */
853 # define rtfParNumAcross 41 /* new in 1.10 */
854 # define rtfParHangIndent 42 /* new in 1.10 */
855 # define rtfParNumRestart 43 /* new in 1.10 */
856 # define rtfParNumCardinal 44 /* new in 1.10 */
857 # define rtfParNumDecimal 45 /* new in 1.10 */
858 # define rtfParNumULetter 46 /* new in 1.10 */
859 # define rtfParNumURoman 47 /* new in 1.10 */
860 # define rtfParNumLLetter 48 /* new in 1.10 */
861 # define rtfParNumLRoman 49 /* new in 1.10 */
862 # define rtfParNumOrdinal 50 /* new in 1.10 */
863 # define rtfParNumOrdinalText 51 /* new in 1.10 */
864 # define rtfParNumBold 52 /* new in 1.10 */
865 # define rtfParNumItalic 53 /* new in 1.10 */
866 # define rtfParNumAllCaps 54 /* new in 1.10 */
867 # define rtfParNumSmallCaps 55 /* new in 1.10 */
868 # define rtfParNumUnder 56 /* new in 1.10 */
869 # define rtfParNumDotUnder 57 /* new in 1.10 */
870 # define rtfParNumDbUnder 58 /* new in 1.10 */
871 # define rtfParNumNoUnder 59 /* new in 1.10 */
872 # define rtfParNumWordUnder 60 /* new in 1.10 */
873 # define rtfParNumStrikethru 61 /* new in 1.10 */
874 # define rtfParNumForeColor 62 /* new in 1.10 */
875 # define rtfParNumFont 63 /* new in 1.10 */
876 # define rtfParNumFontSize 64 /* new in 1.10 */
877 # define rtfParNumIndent 65 /* new in 1.10 */
878 # define rtfParNumSpacing 66 /* new in 1.10 */
879 # define rtfParNumInclPrev 67 /* new in 1.10 */
880 # define rtfParNumCenter 68 /* new in 1.10 */
881 # define rtfParNumLeft 69 /* new in 1.10 */
882 # define rtfParNumRight 70 /* new in 1.10 */
883 # define rtfParNumStartAt 71 /* new in 1.10 */
884 # define rtfBorderTop 72
885 # define rtfBorderBottom 73
886 # define rtfBorderLeft 74
887 # define rtfBorderRight 75
888 # define rtfBorderBetween 76
889 # define rtfBorderBar 77
890 # define rtfBorderBox 78
891 # define rtfBorderSingle 79
892 # define rtfBorderThick 80
893 # define rtfBorderShadow 81
894 # define rtfBorderDouble 82
895 # define rtfBorderDot 83
896 # define rtfBorderDash 84 /* new in 1.10 */
897 # define rtfBorderHair 85
898 # define rtfBorderWidth 86
899 # define rtfBorderColor 87
900 # define rtfBorderSpace 88
901 # define rtfShading 89
902 # define rtfBgPatH 90
903 # define rtfBgPatV 91
904 # define rtfFwdDiagBgPat 92
905 # define rtfBwdDiagBgPat 93
906 # define rtfHatchBgPat 94
907 # define rtfDiagHatchBgPat 95
908 # define rtfDarkBgPatH 96
909 # define rtfDarkBgPatV 97
910 # define rtfFwdDarkBgPat 98
911 # define rtfBwdDarkBgPat 99
912 # define rtfDarkHatchBgPat 100
913 # define rtfDarkDiagHatchBgPat 101
914 # define rtfBgPatLineColor 102
915 # define rtfBgPatColor 103
917 # define rtfCharAttr 12
920 # define rtfAllCaps 2
921 # define rtfDeleted 3
922 # define rtfSubScript 4
923 # define rtfSubScrShrink 5 /* new in 1.10 */
924 # define rtfNoSuperSub 6 /* new in 1.10 */
926 # define rtfExpandTwips 8 /* new in 1.10 */
927 # define rtfKerning 9 /* new in 1.10 */
928 # define rtfFontNum 10
929 # define rtfFontSize 11
930 # define rtfItalic 12
931 # define rtfOutline 13
932 # define rtfRevised 14
933 # define rtfRevAuthor 15 /* new in 1.10 */
934 # define rtfRevDTTM 16 /* new in 1.10 */
935 # define rtfSmallCaps 17
936 # define rtfShadow 18
937 # define rtfStrikeThru 19
938 # define rtfUnderline 20
939 # define rtfDotUnderline 21 /* renamed in 1.10 */
940 # define rtfDbUnderline 22
941 # define rtfNoUnderline 23
942 # define rtfWordUnderline 24 /* renamed in 1.10 */
943 # define rtfSuperScript 25
944 # define rtfSuperScrShrink 26 /* new in 1.10 */
945 # define rtfInvisible 27
946 # define rtfForeColor 28
947 # define rtfBackColor 29
948 # define rtfRTLChar 30 /* new in 1.10 */
949 # define rtfLTRChar 31 /* new in 1.10 */
950 # define rtfCharStyleNum 32 /* new in 1.10 */
951 # define rtfCharCharSet 33 /* new in 1.10 */
952 # define rtfLanguage 34
955 # define rtfPictAttr 13
957 # define rtfPMMetafile 1
958 # define rtfWinMetafile 2
959 # define rtfDevIndBitmap 3
960 # define rtfWinBitmap 4
961 # define rtfPixelBits 5
962 # define rtfBitmapPlanes 6
963 # define rtfBitmapWid 7
966 # define rtfPicGoalWid 10
967 # define rtfPicGoalHt 11
968 # define rtfPicScaleX 12
969 # define rtfPicScaleY 13
970 # define rtfPicScaled 14
971 # define rtfPicCropTop 15
972 # define rtfPicCropBottom 16
973 # define rtfPicCropLeft 17
974 # define rtfPicCropRight 18
975 # define rtfPicMFHasBitmap 19 /* new in 1.10 */
976 # define rtfPicMFBitsPerPixel 20 /* new in 1.10 */
977 # define rtfPicBinary 21
979 # define rtfBookmarkAttr 14
980 # define rtfBookmarkFirstCol 0
981 # define rtfBookmarkLastCol 1
983 # define rtfNeXTGrAttr 15
984 # define rtfNeXTGWidth 0
985 # define rtfNeXTGHeight 1
987 # define rtfFieldAttr 16
988 # define rtfFieldDirty 0
989 # define rtfFieldEdited 1
990 # define rtfFieldLocked 2
991 # define rtfFieldPrivate 3
992 # define rtfFieldAlt 4 /* new in 1.10 */
994 # define rtfTOCAttr 17
995 # define rtfTOCType 0
996 # define rtfTOCLevel 1
998 # define rtfPosAttr 18
1001 # define rtfRPosMargH 2
1002 # define rtfRPosPageH 3
1003 # define rtfRPosColH 4
1005 # define rtfPosNegX 6 /* new in 1.10 */
1006 # define rtfPosXCenter 7
1007 # define rtfPosXInside 8
1008 # define rtfPosXOutSide 9
1009 # define rtfPosXRight 10
1010 # define rtfPosXLeft 11
1011 # define rtfRPosMargV 12
1012 # define rtfRPosPageV 13
1013 # define rtfRPosParaV 14
1015 # define rtfPosNegY 16 /* new in 1.10 */
1016 # define rtfPosYInline 17
1017 # define rtfPosYTop 18
1018 # define rtfPosYCenter 19
1019 # define rtfPosYBottom 20
1020 # define rtfNoWrap 21
1021 # define rtfDistFromTextAll 22 /* renamed in 1.10 */
1022 # define rtfDistFromTextX 23 /* new in 1.10 */
1023 # define rtfDistFromTextY 24 /* new in 1.10 */
1024 # define rtfTextDistY 25
1025 # define rtfDropCapLines 26 /* new in 1.10 */
1026 # define rtfDropCapType 27 /* new in 1.10 */
1028 # define rtfObjAttr 19
1029 # define rtfObjEmb 0
1030 # define rtfObjLink 1
1031 # define rtfObjAutoLink 2
1032 # define rtfObjSubscriber 3
1033 # define rtfObjPublisher 4 /* new in 1.10 */
1034 # define rtfObjICEmb 5
1035 # define rtfObjLinkSelf 6
1036 # define rtfObjLock 7
1037 # define rtfObjUpdate 8 /* new in 1.10 */
1039 # define rtfObjWid 10
1040 # define rtfObjSetSize 11
1041 # define rtfObjAlign 12 /* new in 1.10 */
1042 # define rtfObjTransposeY 13
1043 # define rtfObjCropTop 14
1044 # define rtfObjCropBottom 15
1045 # define rtfObjCropLeft 16
1046 # define rtfObjCropRight 17
1047 # define rtfObjScaleX 18
1048 # define rtfObjScaleY 19
1049 # define rtfObjResRTF 20
1050 # define rtfObjResPict 21
1051 # define rtfObjResBitmap 22
1052 # define rtfObjResText 23
1053 # define rtfObjResMerge 24
1054 # define rtfObjBookmarkPubObj 25
1055 # define rtfObjPubAutoUpdate 26
1057 # define rtfFNoteAttr 20 /* new in 1.10 */
1058 # define rtfFNAlt 0 /* new in 1.10 */
1060 # define rtfKeyCodeAttr 21 /* new in 1.10 */
1061 # define rtfAltKey 0 /* new in 1.10 */
1062 # define rtfShiftKey 1 /* new in 1.10 */
1063 # define rtfControlKey 2 /* new in 1.10 */
1064 # define rtfFunctionKey 3 /* new in 1.10 */
1066 # define rtfACharAttr 22 /* new in 1.10 */
1067 # define rtfACBold 0 /* new in 1.10 */
1068 # define rtfACAllCaps 1 /* new in 1.10 */
1069 # define rtfACForeColor 2 /* new in 1.10 */
1070 # define rtfACSubScript 3 /* new in 1.10 */
1071 # define rtfACExpand 4 /* new in 1.10 */
1072 # define rtfACFontNum 5 /* new in 1.10 */
1073 # define rtfACFontSize 6 /* new in 1.10 */
1074 # define rtfACItalic 7 /* new in 1.10 */
1075 # define rtfACLanguage 8 /* new in 1.10 */
1076 # define rtfACOutline 9 /* new in 1.10 */
1077 # define rtfACSmallCaps 10 /* new in 1.10 */
1078 # define rtfACShadow 11 /* new in 1.10 */
1079 # define rtfACStrikeThru 12 /* new in 1.10 */
1080 # define rtfACUnderline 13 /* new in 1.10 */
1081 # define rtfACDotUnderline 14 /* new in 1.10 */
1082 # define rtfACDbUnderline 15 /* new in 1.10 */
1083 # define rtfACNoUnderline 16 /* new in 1.10 */
1084 # define rtfACWordUnderline 17 /* new in 1.10 */
1085 # define rtfACSuperScript 18 /* new in 1.10 */
1087 # define rtfFontAttr 23 /* new in 1.10 */
1088 # define rtfFontCharSet 0 /* new in 1.10 */
1089 # define rtfFontPitch 1 /* new in 1.10 */
1090 # define rtfFontCodePage 2 /* new in 1.10 */
1091 # define rtfFTypeNil 3 /* new in 1.10 */
1092 # define rtfFTypeTrueType 4 /* new in 1.10 */
1094 # define rtfFileAttr 24 /* new in 1.10 */
1095 # define rtfFileNum 0 /* new in 1.10 */
1096 # define rtfFileRelPath 1 /* new in 1.10 */
1097 # define rtfFileOSNum 2 /* new in 1.10 */
1099 # define rtfFileSource 25 /* new in 1.10 */
1100 # define rtfSrcMacintosh 0 /* new in 1.10 */
1101 # define rtfSrcDOS 1 /* new in 1.10 */
1102 # define rtfSrcNTFS 2 /* new in 1.10 */
1103 # define rtfSrcHPFS 3 /* new in 1.10 */
1104 # define rtfSrcNetwork 4 /* new in 1.10 */
1107 * Drawing attributes
1110 # define rtfDrawAttr 26 /* new in 1.10 */
1111 # define rtfDrawLock 0 /* new in 1.10 */
1112 # define rtfDrawPageRelX 1 /* new in 1.10 */
1113 # define rtfDrawColumnRelX 2 /* new in 1.10 */
1114 # define rtfDrawMarginRelX 3 /* new in 1.10 */
1115 # define rtfDrawPageRelY 4 /* new in 1.10 */
1116 # define rtfDrawColumnRelY 5 /* new in 1.10 */
1117 # define rtfDrawMarginRelY 6 /* new in 1.10 */
1118 # define rtfDrawHeight 7 /* new in 1.10 */
1120 # define rtfDrawBeginGroup 8 /* new in 1.10 */
1121 # define rtfDrawGroupCount 9 /* new in 1.10 */
1122 # define rtfDrawEndGroup 10 /* new in 1.10 */
1123 # define rtfDrawArc 11 /* new in 1.10 */
1124 # define rtfDrawCallout 12 /* new in 1.10 */
1125 # define rtfDrawEllipse 13 /* new in 1.10 */
1126 # define rtfDrawLine 14 /* new in 1.10 */
1127 # define rtfDrawPolygon 15 /* new in 1.10 */
1128 # define rtfDrawPolyLine 16 /* new in 1.10 */
1129 # define rtfDrawRect 17 /* new in 1.10 */
1130 # define rtfDrawTextBox 18 /* new in 1.10 */
1132 # define rtfDrawOffsetX 19 /* new in 1.10 */
1133 # define rtfDrawSizeX 20 /* new in 1.10 */
1134 # define rtfDrawOffsetY 21 /* new in 1.10 */
1135 # define rtfDrawSizeY 22 /* new in 1.10 */
1137 # define rtfCOAngle 23 /* new in 1.10 */
1138 # define rtfCOAccentBar 24 /* new in 1.10 */
1139 # define rtfCOBestFit 25 /* new in 1.10 */
1140 # define rtfCOBorder 26 /* new in 1.10 */
1141 # define rtfCOAttachAbsDist 27 /* new in 1.10 */
1142 # define rtfCOAttachBottom 28 /* new in 1.10 */
1143 # define rtfCOAttachCenter 29 /* new in 1.10 */
1144 # define rtfCOAttachTop 30 /* new in 1.10 */
1145 # define rtfCOLength 31 /* new in 1.10 */
1146 # define rtfCONegXQuadrant 32 /* new in 1.10 */
1147 # define rtfCONegYQuadrant 33 /* new in 1.10 */
1148 # define rtfCOOffset 34 /* new in 1.10 */
1149 # define rtfCOAttachSmart 35 /* new in 1.10 */
1150 # define rtfCODoubleLine 36 /* new in 1.10 */
1151 # define rtfCORightAngle 37 /* new in 1.10 */
1152 # define rtfCOSingleLine 38 /* new in 1.10 */
1153 # define rtfCOTripleLine 39 /* new in 1.10 */
1155 # define rtfDrawTextBoxMargin 40 /* new in 1.10 */
1156 # define rtfDrawTextBoxText 41 /* new in 1.10 */
1157 # define rtfDrawRoundRect 42 /* new in 1.10 */
1159 # define rtfDrawPointX 43 /* new in 1.10 */
1160 # define rtfDrawPointY 44 /* new in 1.10 */
1161 # define rtfDrawPolyCount 45 /* new in 1.10 */
1163 # define rtfDrawArcFlipX 46 /* new in 1.10 */
1164 # define rtfDrawArcFlipY 47 /* new in 1.10 */
1166 # define rtfDrawLineBlue 48 /* new in 1.10 */
1167 # define rtfDrawLineGreen 49 /* new in 1.10 */
1168 # define rtfDrawLineRed 50 /* new in 1.10 */
1169 # define rtfDrawLinePalette 51 /* new in 1.10 */
1170 # define rtfDrawLineDashDot 52 /* new in 1.10 */
1171 # define rtfDrawLineDashDotDot 53 /* new in 1.10 */
1172 # define rtfDrawLineDash 54 /* new in 1.10 */
1173 # define rtfDrawLineDot 55 /* new in 1.10 */
1174 # define rtfDrawLineGray 56 /* new in 1.10 */
1175 # define rtfDrawLineHollow 57 /* new in 1.10 */
1176 # define rtfDrawLineSolid 58 /* new in 1.10 */
1177 # define rtfDrawLineWidth 59 /* new in 1.10 */
1179 # define rtfDrawHollowEndArrow 60 /* new in 1.10 */
1180 # define rtfDrawEndArrowLength 61 /* new in 1.10 */
1181 # define rtfDrawSolidEndArrow 62 /* new in 1.10 */
1182 # define rtfDrawEndArrowWidth 63 /* new in 1.10 */
1183 # define rtfDrawHollowStartArrow 64 /* new in 1.10 */
1184 # define rtfDrawStartArrowLength 65 /* new in 1.10 */
1185 # define rtfDrawSolidStartArrow 66 /* new in 1.10 */
1186 # define rtfDrawStartArrowWidth 67 /* new in 1.10 */
1188 # define rtfDrawBgFillBlue 68 /* new in 1.10 */
1189 # define rtfDrawBgFillGreen 69 /* new in 1.10 */
1190 # define rtfDrawBgFillRed 70 /* new in 1.10 */
1191 # define rtfDrawBgFillPalette 71 /* new in 1.10 */
1192 # define rtfDrawBgFillGray 72 /* new in 1.10 */
1193 # define rtfDrawFgFillBlue 73 /* new in 1.10 */
1194 # define rtfDrawFgFillGreen 74 /* new in 1.10 */
1195 # define rtfDrawFgFillRed 75 /* new in 1.10 */
1196 # define rtfDrawFgFillPalette 76 /* new in 1.10 */
1197 # define rtfDrawFgFillGray 77 /* new in 1.10 */
1198 # define rtfDrawFillPatIndex 78 /* new in 1.10 */
1200 # define rtfDrawShadow 79 /* new in 1.10 */
1201 # define rtfDrawShadowXOffset 80 /* new in 1.10 */
1202 # define rtfDrawShadowYOffset 81 /* new in 1.10 */
1205 * index entry attributes
1208 # define rtfIndexAttr 27 /* new in 1.10 */
1209 # define rtfIndexNumber 0 /* new in 1.10 */
1210 # define rtfIndexBold 1 /* reclassified in 1.10 */
1211 # define rtfIndexItalic 2 /* reclassified in 1.10 */
1215 * \wmetafile argument values
1218 # define rtfWmMmText 1
1219 # define rtfWmMmLometric 2
1220 # define rtfWmMmHimetric 3
1221 # define rtfWmMmLoenglish 4
1222 # define rtfWmMmHienglish 5
1223 # define rtfWmMmTwips 6
1224 # define rtfWmMmIsotropic 7
1225 # define rtfWmMmAnisotropic 8
1228 * \pmmetafile argument values
1231 # define rtfPmPuArbitrary 4
1232 # define rtfPmPuPels 8
1233 # define rtfPmPuLometric 12
1234 # define rtfPmPuHimetric 16
1235 # define rtfPmPuLoenglish 20
1236 # define rtfPmPuHienglish 24
1237 # define rtfPmPuTwips 28
1240 * \lang argument values
1243 # define rtfLangNoLang 0x0400
1244 # define rtfLangAlbanian 0x041c
1245 # define rtfLangArabic 0x0401
1246 # define rtfLangBahasa 0x0421
1247 # define rtfLangBelgianDutch 0x0813
1248 # define rtfLangBelgianFrench 0x080c
1249 # define rtfLangBrazilianPortuguese 0x0416
1250 # define rtfLangBulgarian 0x0402
1251 # define rtfLangCatalan 0x0403
1252 # define rtfLangLatinCroatoSerbian 0x041a
1253 # define rtfLangCzech 0x0405
1254 # define rtfLangDanish 0x0406
1255 # define rtfLangDutch 0x0413
1256 # define rtfLangAustralianEnglish 0x0c09
1257 # define rtfLangUKEnglish 0x0809
1258 # define rtfLangUSEnglish 0x0409
1259 # define rtfLangFinnish 0x040b
1260 # define rtfLangFrench 0x040c
1261 # define rtfLangCanadianFrench 0x0c0c
1262 # define rtfLangGerman 0x0407
1263 # define rtfLangGreek 0x0408
1264 # define rtfLangHebrew 0x040d
1265 # define rtfLangHungarian 0x040e
1266 # define rtfLangIcelandic 0x040f
1267 # define rtfLangItalian 0x0410
1268 # define rtfLangJapanese 0x0411
1269 # define rtfLangKorean 0x0412
1270 # define rtfLangBokmalNorwegian 0x0414
1271 # define rtfLangNynorskNorwegian 0x0814
1272 # define rtfLangPolish 0x0415
1273 # define rtfLangPortuguese 0x0816
1274 # define rtfLangRhaetoRomanic 0x0417
1275 # define rtfLangRomanian 0x0418
1276 # define rtfLangRussian 0x0419
1277 # define rtfLangCyrillicSerboCroatian 0x081a
1278 # define rtfLangSimplifiedChinese 0x0804
1279 # define rtfLangSlovak 0x041b
1280 # define rtfLangCastilianSpanish 0x040a
1281 # define rtfLangMexicanSpanish 0x080a
1282 # define rtfLangSwedish 0x041d
1283 # define rtfLangSwissFrench 0x100c
1284 # define rtfLangSwissGerman 0x0807
1285 # define rtfLangSwissItalian 0x0810
1286 # define rtfLangThai 0x041e
1287 # define rtfLangTraditionalChinese 0x0404
1288 # define rtfLangTurkish 0x041f
1289 # define rtfLangUrdu 0x0420
1295 # define rtfCSGeneral 0 /* general (default) charset */
1296 # define rtfCSSymbol 1 /* symbol charset */
1299 * Flags for auto-charset-processing. Both are on by default.
1302 # define rtfReadCharSet 0x01 /* auto-read charset files */
1303 # define rtfSwitchCharSet 0x02 /* auto-switch charset maps */
1309 # define rtfParStyle 0 /* the default */
1310 # define rtfCharStyle 1
1311 # define rtfSectStyle 2
1314 * RTF font, color and style structures. Used for font table,
1315 * color table, and stylesheet processing.
1318 typedef struct RTFFont RTFFont;
1319 typedef struct RTFColor RTFColor;
1320 typedef struct RTFStyle RTFStyle;
1321 typedef struct RTFStyleElt RTFStyleElt;
1326 char *rtfFName; /* font name */
1327 char *rtfFAltName; /* font alternate name */
1328 int rtfFNum; /* font number */
1329 int rtfFFamily; /* font family */
1330 int rtfFCharSet; /* font charset */
1331 int rtfFPitch; /* font pitch */
1332 int rtfFType; /* font type */
1333 int rtfFCodePage; /* font code page */
1334 RTFFont *rtfNextFont; /* next font in list */
1339 * Color values are -1 if the default color for the the color
1340 * number should be used. The default color is writer-dependent.
1345 int rtfCNum; /* color number */
1346 int rtfCRed; /* red value */
1347 int rtfCGreen; /* green value */
1348 int rtfCBlue; /* blue value */
1349 RTFColor *rtfNextColor; /* next color in list */
1355 char *rtfSName; /* style name */
1356 int rtfSType; /* style type */
1357 int rtfSAdditive; /* whether or not style is additive */
1358 int rtfSNum; /* style number */
1359 int rtfSBasedOn; /* style this one's based on */
1360 int rtfSNextPar; /* style next paragraph style */
1361 RTFStyleElt *rtfSSEList; /* list of style words */
1362 int rtfExpanding; /* non-zero = being expanded */
1363 RTFStyle *rtfNextStyle; /* next style in style list */
1369 int rtfSEClass; /* token class */
1370 int rtfSEMajor; /* token major number */
1371 int rtfSEMinor; /* token minor number */
1372 int rtfSEParam; /* control symbol parameter */
1373 char *rtfSEText; /* text of symbol */
1374 RTFStyleElt *rtfNextSE; /* next element in style */
1379 * Return pointer to new element of type t, or NULL
1380 * if no memory available.
1383 # define New(t) ((t *) RTFAlloc ((int) sizeof (t)))
1385 /* maximum number of character values representable in a byte */
1387 # define charSetSize 256
1389 /* charset stack size */
1391 # define maxCSStack 10
1393 /* character format stack size */
1395 # define maxCharFormatStack 32
1398 typedef struct _RTF_Info RTF_Info;
1400 typedef void (*RTFFuncPtr) (RTF_Info *); /* generic function pointer */
1404 * Public variables (listed in rtf.h)
1408 * Information pertaining to last token read by RTFToken. The
1409 * text is exactly as it occurs in the input file, e.g., "\{"
1410 * will be found in rtfTextBuf as "\{", even though it means "{".
1411 * These variables are also set when styles are reprocessed.
1430 int pushedChar; /* pushback char if read too far */
1432 int pushedClass; /* pushed token info for RTFUngetToken() */
1436 char *pushedTextBuf;
1441 RTFFont *fontList; /* these lists MUST be */
1442 RTFColor *colorList; /* initialized to NULL */
1443 RTFStyle *styleList;
1448 EDITSTREAM editstream;
1449 char InputBuffer[0x1000];
1453 /* edit window to output to */
1457 * These arrays are used to map RTF input character values onto the standard
1458 * character names represented by the values. Input character values are
1459 * used as indices into the arrays to produce standard character codes.
1463 char *genCharSetFile ;
1464 int genCharCode[charSetSize]; /* general */
1467 char *symCharSetFile;
1468 int symCharCode[charSetSize]; /* symbol */
1475 * By default, the reader is configured to handle charset mapping invisibly,
1476 * including reading the charset files and switching charset maps as necessary
1480 int autoCharSetFlags;
1483 * Stack for keeping track of charset map on group begin/end. This is
1484 * necessary because group termination reverts the font to the previous
1485 * value, which may implicitly change it.
1488 int csStack[maxCSStack];
1491 RTFFuncPtr ccb[rtfMaxClass]; /* class callbacks */
1493 RTFFuncPtr dcb[rtfMaxDestination]; /* destination callbacks */
1495 RTFFuncPtr readHook;
1497 RTFFuncPtr panicProc;
1499 FILE *(*libFileOpen) ();
1501 char *outMap[rtfSC_MaxChar];
1503 DWORD dwOutputCount;
1504 char OutputBuffer[0x1000];
1506 CHARFORMAT2W formatStack[maxCharFormatStack];
1512 * Public RTF reader routines
1515 void RTFInit (RTF_Info *);
1516 void RTFSetInputName (RTF_Info *, char *);
1517 char *RTFGetInputName (RTF_Info *);
1518 void RTFSetOutputName (RTF_Info *, char *);
1519 char *RTFGetOutputName (RTF_Info *);
1520 void RTFSetClassCallback (RTF_Info *, int, RTFFuncPtr);
1521 RTFFuncPtr RTFGetClassCallback (RTF_Info *, int);
1522 void RTFSetDestinationCallback (RTF_Info *, int, RTFFuncPtr);
1523 RTFFuncPtr RTFGetDestinationCallback (RTF_Info *, int);
1524 void RTFRead (RTF_Info *);
1525 int RTFGetToken (RTF_Info *); /* writer should rarely need this */
1526 void RTFUngetToken (RTF_Info *);
1527 int RTFPeekToken (RTF_Info *);
1528 void RTFSetToken (RTF_Info *, int, int, int, int, const char *);
1529 void RTFSetReadHook (RTF_Info *, RTFFuncPtr);
1530 RTFFuncPtr RTFGetReadHook (RTF_Info *);
1531 void RTFRouteToken (RTF_Info *);
1532 void RTFSkipGroup (RTF_Info *);
1533 void RTFExpandStyle (RTF_Info *, int);
1534 int RTFCheckCM (RTF_Info *, int, int);
1535 int RTFCheckCMM (RTF_Info *, int, int, int);
1536 int RTFCheckMM (RTF_Info *, int, int);
1537 RTFFont *RTFGetFont (RTF_Info *, int);
1538 RTFColor *RTFGetColor (RTF_Info *, int);
1539 RTFStyle *RTFGetStyle (RTF_Info *, int);
1540 # define RTFAlloc(size) _RTFAlloc ((int) size)
1541 char *_RTFAlloc (int);
1542 char *RTFReAlloc(char *ptr, int size);
1543 char *RTFStrSave (char *);
1544 void RTFFree (char *);
1545 int RTFCharToHex ( char);
1546 int RTFHexToChar ( int );
1547 void RTFSetMsgProc ( RTFFuncPtr );
1548 void RTFSetPanicProc ( RTF_Info *, RTFFuncPtr);
1551 * The following messing around is used to allow RTFMsg() and RTFPanic()
1552 * to be variable-argument functions that are declared publicly but
1553 * without generating prototype-mismatch errors on systems that have
1557 void RTFMsg (RTF_Info *, const char *fmt, ...);
1558 void RTFPanic (RTF_Info *, const char *fmt, ...);
1560 int RTFReadOutputMap ( RTF_Info *, char *[], int);
1561 int RTFReadCharSetMap ( RTF_Info *, int);
1562 void RTFSetCharSetMap ( RTF_Info *, char *, int);
1563 int RTFStdCharCode ( RTF_Info *, const char *);
1564 const char *RTFStdCharName ( RTF_Info *, int);
1565 int RTFMapChar ( RTF_Info *, int);
1566 int RTFGetCharSet( RTF_Info * );
1567 void RTFSetCharSet( RTF_Info *, int);
1569 void RTFSetOpenLibFileProc ( RTF_Info *, FILE *(*)());
1570 FILE *RTFOpenLibFile ( RTF_Info *, char *, char *);
1572 void RTFFlushOutputBuffer( RTF_Info *info );
1573 void RTFSetEditStream(RTF_Info *, EDITSTREAM *es);
1575 void WriterInit (RTF_Info *);
1576 int BeginFile (RTF_Info *);