ReactOS  0.4.14-dev-599-g2d4d3f5
rtf.h
Go to the documentation of this file.
1 #ifndef _RTF
2 #define _RTF
3 
4 #include <stdarg.h>
5 #include <stdio.h>
6 
7 #include "windef.h"
8 #include "winbase.h"
9 #include "wingdi.h"
10 #include "winuser.h"
11 #include "richedit.h"
12 
13 
14 /*
15  * rtf.h - RTF document processing stuff. Release 1.10.
16  */
17 
18 
19 /*
20  * Twentieths of a point (twips) per inch (Many RTF measurements
21  * are in twips per inch (tpi) units). Assumes 72 points/inch.
22  */
23 
24 # define rtfTpi 1440
25 
26 /*
27  * RTF buffer size (avoids BUFSIZ, which differs across systems)
28  */
29 
30 # define rtfBufSiz 1024
31 
32 /*
33  * Tokens are associated with up to three classification numbers:
34  *
35  * Class number: Broadest (least detailed) breakdown. For programs
36  * that only care about gross token distinctions.
37  * Major/minor numbers: Within their class, tokens have a major
38  * number, and may also have a minor number to further
39  * distinguish tokens with the same major number.
40  *
41  * *** Class, major and minor token numbers are all >= 0 ***
42  *
43  * Tokens that can't be classified are put in the "unknown" class.
44  * For such, the major and minor numbers are meaningless, although
45  * rtfTextBuf may be of interest then.
46  *
47  * Text tokens are a single character, and the major number indicates
48  * the character value (note: can be non-ascii, i.e., greater than 127).
49  * There is no minor number.
50  *
51  * Control symbols may have a parameter value, which will be found in
52  * rtfParam. If no parameter was given, rtfParam = rtfNoParam.
53  *
54  * RTFGetToken() return value is the class number, but it sets all the
55  * global token vars.
56  *
57  * rtfEOF is a fake token used by the reader; the writer never sees
58  * it (except in the token reader hook, if it installs one).
59  */
60 
61 
62 # define rtfNoParam (-1000000)
63 
64 
65 
66 /*
67  * For some reason, the no-style number is 222
68  */
69 
70 # define rtfNoStyleNum 222
71 # define rtfNormalStyleNum 0
72 
73 
74 /*
75  * Token classes (must be zero-based and sequential)
76  */
77 
78 # define rtfUnknown 0
79 # define rtfGroup 1
80 # define rtfText 2
81 # define rtfControl 3
82 # define rtfEOF 4
83 # define rtfMaxClass 5 /* highest class + 1 */
84 
85 /*
86  * Group class major numbers
87  */
88 
89 # define rtfBeginGroup 0
90 # define rtfEndGroup 1
91 
92 /*
93  * Control class major and minor numbers.
94  */
95 
96 # define rtfVersion 0
97 
98 # define rtfDefFont 1
99 
100 # define rtfCharSet 2
101 # define rtfAnsiCharSet 0
102 # define rtfMacCharSet 1
103 # define rtfPcCharSet 2
104 # define rtfPcaCharSet 3
105 
106 
107 /* destination minor numbers should be zero-based and sequential */
108 
109 # define rtfDestination 3
110 # define rtfFontTbl 0
111 # define rtfFontAltName 1 /* new in 1.10 */
112 # define rtfEmbeddedFont 2 /* new in 1.10 */
113 # define rtfFontFile 3 /* new in 1.10 */
114 # define rtfFileTbl 4 /* new in 1.10 */
115 # define rtfFileInfo 5 /* new in 1.10 */
116 # define rtfColorTbl 6
117 # define rtfStyleSheet 7
118 # define rtfKeyCode 8
119 # define rtfRevisionTbl 9 /* new in 1.10 */
120 # define rtfInfo 10
121 # define rtfITitle 11
122 # define rtfISubject 12
123 # define rtfIAuthor 13
124 # define rtfIOperator 14
125 # define rtfIKeywords 15
126 # define rtfIComment 16
127 # define rtfIVersion 17
128 # define rtfIDoccomm 18
129 # define rtfIVerscomm 19
130 # define rtfNextFile 20 /* reclassified in 1.10 */
131 # define rtfTemplate 21 /* reclassified in 1.10 */
132 # define rtfFNSep 22
133 # define rtfFNContSep 23
134 # define rtfFNContNotice 24
135 # define rtfENSep 25 /* new in 1.10 */
136 # define rtfENContSep 26 /* new in 1.10 */
137 # define rtfENContNotice 27 /* new in 1.10 */
138 # define rtfPageNumLevel 28 /* new in 1.10 */
139 # define rtfParNumLevelStyle 29 /* new in 1.10 */
140 # define rtfHeader 30
141 # define rtfFooter 31
142 # define rtfHeaderLeft 32
143 # define rtfHeaderRight 33
144 # define rtfHeaderFirst 34
145 # define rtfFooterLeft 35
146 # define rtfFooterRight 36
147 # define rtfFooterFirst 37
148 # define rtfParNumText 38 /* new in 1.10 */
149 # define rtfParNumbering 39 /* new in 1.10 */
150 # define rtfParNumTextAfter 40 /* new in 1.10 */
151 # define rtfParNumTextBefore 41 /* new in 1.10 */
152 # define rtfBookmarkStart 42
153 # define rtfBookmarkEnd 43
154 # define rtfPict 44
155 # define rtfObject 45
156 # define rtfObjClass 46
157 # define rtfObjName 47
158 # define rtfObjTime 48 /* new in 1.10 */
159 # define rtfObjData 49
160 # define rtfObjAlias 50
161 # define rtfObjSection 51
162 # define rtfObjResult 52
163 # define rtfObjItem 53 /* new in 1.10 */
164 # define rtfObjTopic 54 /* new in 1.10 */
165 # define rtfDrawObject 55 /* new in 1.10 */
166 # define rtfFootnote 56
167 # define rtfAnnotRefStart 57 /* new in 1.10 */
168 # define rtfAnnotRefEnd 58 /* new in 1.10 */
169 # define rtfAnnotID 59 /* reclassified in 1.10 */
170 # define rtfAnnotAuthor 60 /* new in 1.10 */
171 # define rtfAnnotation 61 /* reclassified in 1.10 */
172 # define rtfAnnotRef 62 /* new in 1.10 */
173 # define rtfAnnotTime 63 /* new in 1.10 */
174 # define rtfAnnotIcon 64 /* new in 1.10 */
175 # define rtfField 65
176 # define rtfFieldInst 66
177 # define rtfFieldResult 67
178 # define rtfDataField 68 /* new in 1.10 */
179 # define rtfIndex 69
180 # define rtfIndexText 70
181 # define rtfIndexRange 71
182 # define rtfTOC 72
183 # define rtfNeXTGraphic 73
184 # define rtfGenerator 74
185 # define rtfNestTableProps 75
186 # define rtfNoNestTables 76
187 # define rtfShpPict 77
188 # define rtfNonShpPict 78
189 # define rtfMaxDestination 79 /* highest dest + 1 */
190 
191 # define rtfFontFamily 4
192 # define rtfFFNil 0
193 # define rtfFFRoman 1
194 # define rtfFFSwiss 2
195 # define rtfFFModern 3
196 # define rtfFFScript 4
197 # define rtfFFDecor 5
198 # define rtfFFTech 6
199 # define rtfFFBidirectional 7 /* new in 1.10 */
200 
201 # define rtfColorName 5
202 # define rtfRed 0
203 # define rtfGreen 1
204 # define rtfBlue 2
205 
206 # define rtfSpecialChar 6
207  /* special chars seen in \info destination */
208 # define rtfIIntVersion 0
209 # define rtfICreateTime 1
210 # define rtfIRevisionTime 2
211 # define rtfIPrintTime 3
212 # define rtfIBackupTime 4
213 # define rtfIEditTime 5
214 # define rtfIYear 6
215 # define rtfIMonth 7
216 # define rtfIDay 8
217 # define rtfIHour 9
218 # define rtfIMinute 10
219 # define rtfISecond 11 /* new in 1.10 */
220 # define rtfINPages 12
221 # define rtfINWords 13
222 # define rtfINChars 14
223 # define rtfIIntID 15
224  /* other special chars */
225 # define rtfCurHeadDate 16
226 # define rtfCurHeadDateLong 17
227 # define rtfCurHeadDateAbbrev 18
228 # define rtfCurHeadTime 19
229 # define rtfCurHeadPage 20
230 # define rtfSectNum 21 /* new in 1.10 */
231 # define rtfCurFNote 22
232 # define rtfCurAnnotRef 23
233 # define rtfFNoteSep 24
234 # define rtfFNoteCont 25
235 # define rtfCell 26
236 # define rtfRow 27
237 # define rtfPar 28
238 # define rtfSect 29
239 # define rtfPage 30
240 # define rtfColumn 31
241 # define rtfLine 32
242 # define rtfSoftPage 33 /* new in 1.10 */
243 # define rtfSoftColumn 34 /* new in 1.10 */
244 # define rtfSoftLine 35 /* new in 1.10 */
245 # define rtfSoftLineHt 36 /* new in 1.10 */
246 # define rtfTab 37
247 # define rtfEmDash 38
248 # define rtfEnDash 39
249 # define rtfEmSpace 40 /* new in 1.10 */
250 # define rtfEnSpace 41 /* new in 1.10 */
251 # define rtfBullet 42
252 # define rtfLQuote 43
253 # define rtfRQuote 44
254 # define rtfLDblQuote 45
255 # define rtfRDblQuote 46
256 # define rtfFormula 47
257 # define rtfNoBrkSpace 49
258 # define rtfNoReqHyphen 50
259 # define rtfNoBrkHyphen 51
260 # define rtfOptDest 52
261 # define rtfLTRMark 53 /* new in 1.10 */
262 # define rtfRTLMark 54 /* new in 1.10 */
263 # define rtfNoWidthJoiner 55 /* new in 1.10 */
264 # define rtfNoWidthNonJoiner 56 /* new in 1.10 */
265 # define rtfCurHeadPict 57 /* valid? */
266 /*# define rtfCurAnnot 58*/ /* apparently not used */
267 # define rtfUnicode 58 /* no better category*/
268 # define rtfNestCell 59
269 # define rtfNestRow 60
270 
271 # define rtfStyleAttr 7
272 # define rtfAdditive 0 /* new in 1.10 */
273 # define rtfBasedOn 1
274 # define rtfNext 2
275 
276 # define rtfDocAttr 8
277 # define rtfDefTab 0
278 # define rtfHyphHotZone 1
279 # define rtfHyphConsecLines 2 /* new in 1.10 */
280 # define rtfHyphCaps 3 /* new in 1.10 */
281 # define rtfHyphAuto 4 /* new in 1.10 */
282 # define rtfLineStart 5
283 # define rtfFracWidth 6
284 # define rtfMakeBackup 7
285 # define rtfRTFDefault 8
286 # define rtfPSOverlay 9
287 # define rtfDocTemplate 10 /* new in 1.10 */
288 # define rtfDefLanguage 11
289 # define rtfFENoteType 12 /* new in 1.10 */
290 # define rtfFNoteEndSect 13
291 # define rtfFNoteEndDoc 14
292 # define rtfFNoteText 15
293 # define rtfFNoteBottom 16
294 # define rtfENoteEndSect 17 /* new in 1.10 */
295 # define rtfENoteEndDoc 18 /* new in 1.10 */
296 # define rtfENoteText 19 /* new in 1.10 */
297 # define rtfENoteBottom 20 /* new in 1.10 */
298 # define rtfFNoteStart 21
299 # define rtfENoteStart 22 /* new in 1.10 */
300 # define rtfFNoteRestartPage 23 /* new in 1.10 */
301 # define rtfFNoteRestart 24
302 # define rtfFNoteRestartCont 25 /* new in 1.10 */
303 # define rtfENoteRestart 26 /* new in 1.10 */
304 # define rtfENoteRestartCont 27 /* new in 1.10 */
305 # define rtfFNoteNumArabic 28 /* new in 1.10 */
306 # define rtfFNoteNumLLetter 29 /* new in 1.10 */
307 # define rtfFNoteNumULetter 30 /* new in 1.10 */
308 # define rtfFNoteNumLRoman 31 /* new in 1.10 */
309 # define rtfFNoteNumURoman 32 /* new in 1.10 */
310 # define rtfFNoteNumChicago 33 /* new in 1.10 */
311 # define rtfENoteNumArabic 34 /* new in 1.10 */
312 # define rtfENoteNumLLetter 35 /* new in 1.10 */
313 # define rtfENoteNumULetter 36 /* new in 1.10 */
314 # define rtfENoteNumLRoman 37 /* new in 1.10 */
315 # define rtfENoteNumURoman 38 /* new in 1.10 */
316 # define rtfENoteNumChicago 39 /* new in 1.10 */
317 # define rtfPaperWidth 40
318 # define rtfPaperHeight 41
319 # define rtfPaperSize 42 /* new in 1.10 */
320 # define rtfLeftMargin 43
321 # define rtfRightMargin 44
322 # define rtfTopMargin 45
323 # define rtfBottomMargin 46
324 # define rtfFacingPage 47
325 # define rtfGutterWid 48
326 # define rtfMirrorMargin 49
327 # define rtfLandscape 50
328 # define rtfPageStart 51
329 # define rtfWidowCtrl 52
330 # define rtfLinkStyles 53 /* new in 1.10 */
331 # define rtfNoAutoTabIndent 54 /* new in 1.10 */
332 # define rtfWrapSpaces 55 /* new in 1.10 */
333 # define rtfPrintColorsBlack 56 /* new in 1.10 */
334 # define rtfNoExtraSpaceRL 57 /* new in 1.10 */
335 # define rtfNoColumnBalance 58 /* new in 1.10 */
336 # define rtfCvtMailMergeQuote 59 /* new in 1.10 */
337 # define rtfSuppressTopSpace 60 /* new in 1.10 */
338 # define rtfSuppressPreParSpace 61 /* new in 1.10 */
339 # define rtfCombineTblBorders 62 /* new in 1.10 */
340 # define rtfTranspMetafiles 63 /* new in 1.10 */
341 # define rtfSwapBorders 64 /* new in 1.10 */
342 # define rtfShowHardBreaks 65 /* new in 1.10 */
343 # define rtfFormProtected 66 /* new in 1.10 */
344 # define rtfAllProtected 67 /* new in 1.10 */
345 # define rtfFormShading 68 /* new in 1.10 */
346 # define rtfFormDisplay 69 /* new in 1.10 */
347 # define rtfPrintData 70 /* new in 1.10 */
348 # define rtfRevProtected 71 /* new in 1.10 */
349 # define rtfRevisions 72
350 # define rtfRevDisplay 73
351 # define rtfRevBar 74
352 # define rtfAnnotProtected 75 /* new in 1.10 */
353 # define rtfRTLDoc 76 /* new in 1.10 */
354 # define rtfLTRDoc 77 /* new in 1.10 */
355 # define rtfAnsiCodePage 78
356 # define rtfUTF8RTF 79
357 
358 # define rtfSectAttr 9
359 # define rtfSectDef 0
360 # define rtfENoteHere 1
361 # define rtfPrtBinFirst 2
362 # define rtfPrtBin 3
363 # define rtfSectStyleNum 4 /* new in 1.10 */
364 # define rtfNoBreak 5
365 # define rtfColBreak 6
366 # define rtfPageBreak 7
367 # define rtfEvenBreak 8
368 # define rtfOddBreak 9
369 # define rtfColumns 10
370 # define rtfColumnSpace 11
371 # define rtfColumnNumber 12 /* new in 1.10 */
372 # define rtfColumnSpRight 13 /* new in 1.10 */
373 # define rtfColumnWidth 14 /* new in 1.10 */
374 # define rtfColumnLine 15
375 # define rtfLineModulus 16
376 # define rtfLineDist 17
377 # define rtfLineStarts 18
378 # define rtfLineRestart 19
379 # define rtfLineRestartPg 20
380 # define rtfLineCont 21
381 # define rtfSectPageWid 22
382 # define rtfSectPageHt 23
383 # define rtfSectMarginLeft 24
384 # define rtfSectMarginRight 25
385 # define rtfSectMarginTop 26
386 # define rtfSectMarginBottom 27
387 # define rtfSectMarginGutter 28
388 # define rtfSectLandscape 29
389 # define rtfTitleSpecial 30
390 # define rtfHeaderY 31
391 # define rtfFooterY 32
392 # define rtfPageStarts 33
393 # define rtfPageCont 34
394 # define rtfPageRestart 35
395 # define rtfPageNumRight 36 /* renamed in 1.10 */
396 # define rtfPageNumTop 37
397 # define rtfPageDecimal 38
398 # define rtfPageURoman 39
399 # define rtfPageLRoman 40
400 # define rtfPageULetter 41
401 # define rtfPageLLetter 42
402 # define rtfPageNumHyphSep 43 /* new in 1.10 */
403 # define rtfPageNumSpaceSep 44 /* new in 1.10 */
404 # define rtfPageNumColonSep 45 /* new in 1.10 */
405 # define rtfPageNumEmdashSep 46 /* new in 1.10 */
406 # define rtfPageNumEndashSep 47 /* new in 1.10 */
407 # define rtfTopVAlign 48
408 # define rtfBottomVAlign 49
409 # define rtfCenterVAlign 50
410 # define rtfJustVAlign 51
411 # define rtfRTLSect 52 /* new in 1.10 */
412 # define rtfLTRSect 53 /* new in 1.10 */
413 
414 # define rtfTblAttr 10
415 # define rtfRowDef 0
416 # define rtfRowGapH 1
417 # define rtfCellPos 2
418 # define rtfMergeRngFirst 3
419 # define rtfMergePrevious 4
420 # define rtfRowLeft 5
421 # define rtfRowRight 6
422 # define rtfRowCenter 7
423 # define rtfRowLeftEdge 8
424 # define rtfRowHt 9
425 # define rtfRowHeader 10 /* new in 1.10 */
426 # define rtfRowKeep 11 /* new in 1.10 */
427 # define rtfRTLRow 12 /* new in 1.10 */
428 # define rtfLTRRow 13 /* new in 1.10 */
429 # define rtfRowBordTop 14 /* new in 1.10 */
430 # define rtfRowBordLeft 15 /* new in 1.10 */
431 # define rtfRowBordBottom 16 /* new in 1.10 */
432 # define rtfRowBordRight 17 /* new in 1.10 */
433 # define rtfRowBordHoriz 18 /* new in 1.10 */
434 # define rtfRowBordVert 19 /* new in 1.10 */
435 # define rtfCellBordBottom 20
436 # define rtfCellBordTop 21
437 # define rtfCellBordLeft 22
438 # define rtfCellBordRight 23
439 # define rtfCellShading 24
440 # define rtfCellBgPatH 25
441 # define rtfCellBgPatV 26
442 # define rtfCellFwdDiagBgPat 27
443 # define rtfCellBwdDiagBgPat 28
444 # define rtfCellHatchBgPat 29
445 # define rtfCellDiagHatchBgPat 30
446 # define rtfCellDarkBgPatH 31
447 # define rtfCellDarkBgPatV 32
448 # define rtfCellFwdDarkBgPat 33
449 # define rtfCellBwdDarkBgPat 34
450 # define rtfCellDarkHatchBgPat 35
451 # define rtfCellDarkDiagHatchBgPat 36
452 # define rtfCellBgPatLineColor 37
453 # define rtfCellBgPatColor 38
454 
455 # define rtfParAttr 11
456 # define rtfParDef 0
457 # define rtfStyleNum 1
458 # define rtfHyphenate 2 /* new in 1.10 */
459 # define rtfInTable 3
460 # define rtfKeep 4
461 # define rtfNoWidowControl 5 /* new in 1.10 */
462 # define rtfKeepNext 6
463 # define rtfOutlineLevel 7 /* new in 1.10 */
464 # define rtfNoLineNum 8
465 # define rtfPBBefore 9
466 # define rtfSideBySide 10
467 # define rtfQuadLeft 11
468 # define rtfQuadRight 12
469 # define rtfQuadJust 13
470 # define rtfQuadCenter 14
471 # define rtfFirstIndent 15
472 # define rtfLeftIndent 16
473 # define rtfRightIndent 17
474 # define rtfSpaceBefore 18
475 # define rtfSpaceAfter 19
476 # define rtfSpaceBetween 20
477 # define rtfSpaceMultiply 21 /* new in 1.10 */
478 # define rtfSubDocument 22 /* new in 1.10 */
479 # define rtfRTLPar 23 /* new in 1.10 */
480 # define rtfLTRPar 24 /* new in 1.10 */
481 # define rtfTabPos 25
482 # define rtfTabLeft 26 /* new in 1.10 */
483 # define rtfTabRight 27
484 # define rtfTabCenter 28
485 # define rtfTabDecimal 29
486 # define rtfTabBar 30
487 # define rtfLeaderDot 31
488 # define rtfLeaderHyphen 32
489 # define rtfLeaderUnder 33
490 # define rtfLeaderThick 34
491 # define rtfLeaderEqual 35
492 # define rtfParLevel 36 /* new in 1.10 */
493 # define rtfParBullet 37 /* new in 1.10 */
494 # define rtfParSimple 38 /* new in 1.10 */
495 # define rtfParNumCont 39 /* new in 1.10 */
496 # define rtfParNumOnce 40 /* new in 1.10 */
497 # define rtfParNumAcross 41 /* new in 1.10 */
498 # define rtfParHangIndent 42 /* new in 1.10 */
499 # define rtfParNumRestart 43 /* new in 1.10 */
500 # define rtfParNumCardinal 44 /* new in 1.10 */
501 # define rtfParNumDecimal 45 /* new in 1.10 */
502 # define rtfParNumULetter 46 /* new in 1.10 */
503 # define rtfParNumURoman 47 /* new in 1.10 */
504 # define rtfParNumLLetter 48 /* new in 1.10 */
505 # define rtfParNumLRoman 49 /* new in 1.10 */
506 # define rtfParNumOrdinal 50 /* new in 1.10 */
507 # define rtfParNumOrdinalText 51 /* new in 1.10 */
508 # define rtfParNumBold 52 /* new in 1.10 */
509 # define rtfParNumItalic 53 /* new in 1.10 */
510 # define rtfParNumAllCaps 54 /* new in 1.10 */
511 # define rtfParNumSmallCaps 55 /* new in 1.10 */
512 # define rtfParNumUnder 56 /* new in 1.10 */
513 # define rtfParNumDotUnder 57 /* new in 1.10 */
514 # define rtfParNumDbUnder 58 /* new in 1.10 */
515 # define rtfParNumNoUnder 59 /* new in 1.10 */
516 # define rtfParNumWordUnder 60 /* new in 1.10 */
517 # define rtfParNumStrikethru 61 /* new in 1.10 */
518 # define rtfParNumForeColor 62 /* new in 1.10 */
519 # define rtfParNumFont 63 /* new in 1.10 */
520 # define rtfParNumFontSize 64 /* new in 1.10 */
521 # define rtfParNumIndent 65 /* new in 1.10 */
522 # define rtfParNumSpacing 66 /* new in 1.10 */
523 # define rtfParNumInclPrev 67 /* new in 1.10 */
524 # define rtfParNumCenter 68 /* new in 1.10 */
525 # define rtfParNumLeft 69 /* new in 1.10 */
526 # define rtfParNumRight 70 /* new in 1.10 */
527 # define rtfParNumStartAt 71 /* new in 1.10 */
528 # define rtfBorderTop 72
529 # define rtfBorderBottom 73
530 # define rtfBorderLeft 74
531 # define rtfBorderRight 75
532 # define rtfBorderBetween 76
533 # define rtfBorderBar 77
534 # define rtfBorderBox 78
535 # define rtfBorderSingle 79
536 # define rtfBorderThick 80
537 # define rtfBorderShadow 81
538 # define rtfBorderDouble 82
539 # define rtfBorderDot 83
540 # define rtfBorderDash 84 /* new in 1.10 */
541 # define rtfBorderHair 85
542 # define rtfBorderWidth 86
543 # define rtfBorderColor 87
544 # define rtfBorderSpace 88
545 # define rtfShading 89
546 # define rtfBgPatH 90
547 # define rtfBgPatV 91
548 # define rtfFwdDiagBgPat 92
549 # define rtfBwdDiagBgPat 93
550 # define rtfHatchBgPat 94
551 # define rtfDiagHatchBgPat 95
552 # define rtfDarkBgPatH 96
553 # define rtfDarkBgPatV 97
554 # define rtfFwdDarkBgPat 98
555 # define rtfBwdDarkBgPat 99
556 # define rtfDarkHatchBgPat 100
557 # define rtfDarkDiagHatchBgPat 101
558 # define rtfBgPatLineColor 102
559 # define rtfBgPatColor 103
560 # define rtfNestLevel 104
561 
562 # define rtfCharAttr 12
563 # define rtfPlain 0
564 # define rtfBold 1
565 # define rtfAllCaps 2
566 # define rtfDeleted 3
567 # define rtfSubScript 4
568 # define rtfSubScrShrink 5 /* new in 1.10 */
569 # define rtfNoSuperSub 6 /* new in 1.10 */
570 # define rtfExpand 7
571 # define rtfExpandTwips 8 /* new in 1.10 */
572 # define rtfKerning 9 /* new in 1.10 */
573 # define rtfFontNum 10
574 # define rtfFontSize 11
575 # define rtfItalic 12
576 # define rtfOutline 13
577 # define rtfRevised 14
578 # define rtfRevAuthor 15 /* new in 1.10 */
579 # define rtfRevDTTM 16 /* new in 1.10 */
580 # define rtfSmallCaps 17
581 # define rtfShadow 18
582 # define rtfStrikeThru 19
583 # define rtfUnderline 20
584 # define rtfDotUnderline 21 /* renamed in 1.10 */
585 # define rtfDbUnderline 22
586 # define rtfNoUnderline 23
587 # define rtfWordUnderline 24 /* renamed in 1.10 */
588 # define rtfSuperScript 25
589 # define rtfSuperScrShrink 26 /* new in 1.10 */
590 # define rtfInvisible 27
591 # define rtfForeColor 28
592 # define rtfBackColor 29
593 # define rtfRTLChar 30 /* new in 1.10 */
594 # define rtfLTRChar 31 /* new in 1.10 */
595 # define rtfCharStyleNum 32 /* new in 1.10 */
596 # define rtfCharCharSet 33 /* new in 1.10 */
597 # define rtfLanguage 34
598 # define rtfGray 35
599 # define rtfUnicodeLength 36
600 
601 # define rtfPictAttr 13
602 # define rtfMacQD 0
603 # define rtfPMMetafile 1
604 # define rtfWinMetafile 2
605 # define rtfDevIndBitmap 3
606 # define rtfWinBitmap 4
607 # define rtfEmfBlip 5
608 # define rtfPixelBits 6
609 # define rtfBitmapPlanes 7
610 # define rtfBitmapWid 8
611 # define rtfPicWid 9
612 # define rtfPicHt 10
613 # define rtfPicGoalWid 11
614 # define rtfPicGoalHt 12
615 # define rtfPicScaleX 13
616 # define rtfPicScaleY 14
617 # define rtfPicScaled 15
618 # define rtfPicCropTop 16
619 # define rtfPicCropBottom 17
620 # define rtfPicCropLeft 18
621 # define rtfPicCropRight 19
622 # define rtfPicMFHasBitmap 20 /* new in 1.10 */
623 # define rtfPicMFBitsPerPixel 21 /* new in 1.10 */
624 # define rtfPicBinary 22
625 
626 # define rtfBookmarkAttr 14
627 # define rtfBookmarkFirstCol 0
628 # define rtfBookmarkLastCol 1
629 
630 # define rtfNeXTGrAttr 15
631 # define rtfNeXTGWidth 0
632 # define rtfNeXTGHeight 1
633 
634 # define rtfFieldAttr 16
635 # define rtfFieldDirty 0
636 # define rtfFieldEdited 1
637 # define rtfFieldLocked 2
638 # define rtfFieldPrivate 3
639 # define rtfFieldAlt 4 /* new in 1.10 */
640 
641 # define rtfTOCAttr 17
642 # define rtfTOCType 0
643 # define rtfTOCLevel 1
644 
645 # define rtfPosAttr 18
646 # define rtfAbsWid 0
647 # define rtfAbsHt 1
648 # define rtfRPosMargH 2
649 # define rtfRPosPageH 3
650 # define rtfRPosColH 4
651 # define rtfPosX 5
652 # define rtfPosNegX 6 /* new in 1.10 */
653 # define rtfPosXCenter 7
654 # define rtfPosXInside 8
655 # define rtfPosXOutSide 9
656 # define rtfPosXRight 10
657 # define rtfPosXLeft 11
658 # define rtfRPosMargV 12
659 # define rtfRPosPageV 13
660 # define rtfRPosParaV 14
661 # define rtfPosY 15
662 # define rtfPosNegY 16 /* new in 1.10 */
663 # define rtfPosYInline 17
664 # define rtfPosYTop 18
665 # define rtfPosYCenter 19
666 # define rtfPosYBottom 20
667 # define rtfNoWrap 21
668 # define rtfDistFromTextAll 22 /* renamed in 1.10 */
669 # define rtfDistFromTextX 23 /* new in 1.10 */
670 # define rtfDistFromTextY 24 /* new in 1.10 */
671 # define rtfTextDistY 25
672 # define rtfDropCapLines 26 /* new in 1.10 */
673 # define rtfDropCapType 27 /* new in 1.10 */
674 
675 # define rtfObjAttr 19
676 # define rtfObjEmb 0
677 # define rtfObjLink 1
678 # define rtfObjAutoLink 2
679 # define rtfObjSubscriber 3
680 # define rtfObjPublisher 4 /* new in 1.10 */
681 # define rtfObjICEmb 5
682 # define rtfObjLinkSelf 6
683 # define rtfObjLock 7
684 # define rtfObjUpdate 8 /* new in 1.10 */
685 # define rtfObjHt 9
686 # define rtfObjWid 10
687 # define rtfObjSetSize 11
688 # define rtfObjAlign 12 /* new in 1.10 */
689 # define rtfObjTransposeY 13
690 # define rtfObjCropTop 14
691 # define rtfObjCropBottom 15
692 # define rtfObjCropLeft 16
693 # define rtfObjCropRight 17
694 # define rtfObjScaleX 18
695 # define rtfObjScaleY 19
696 # define rtfObjResRTF 20
697 # define rtfObjResPict 21
698 # define rtfObjResBitmap 22
699 # define rtfObjResText 23
700 # define rtfObjResMerge 24
701 # define rtfObjBookmarkPubObj 25
702 # define rtfObjPubAutoUpdate 26
703 
704 # define rtfFNoteAttr 20 /* new in 1.10 */
705 # define rtfFNAlt 0 /* new in 1.10 */
706 
707 # define rtfKeyCodeAttr 21 /* new in 1.10 */
708 # define rtfAltKey 0 /* new in 1.10 */
709 # define rtfShiftKey 1 /* new in 1.10 */
710 # define rtfControlKey 2 /* new in 1.10 */
711 # define rtfFunctionKey 3 /* new in 1.10 */
712 
713 # define rtfACharAttr 22 /* new in 1.10 */
714 # define rtfACBold 0 /* new in 1.10 */
715 # define rtfACAllCaps 1 /* new in 1.10 */
716 # define rtfACForeColor 2 /* new in 1.10 */
717 # define rtfACSubScript 3 /* new in 1.10 */
718 # define rtfACExpand 4 /* new in 1.10 */
719 # define rtfACFontNum 5 /* new in 1.10 */
720 # define rtfACFontSize 6 /* new in 1.10 */
721 # define rtfACItalic 7 /* new in 1.10 */
722 # define rtfACLanguage 8 /* new in 1.10 */
723 # define rtfACOutline 9 /* new in 1.10 */
724 # define rtfACSmallCaps 10 /* new in 1.10 */
725 # define rtfACShadow 11 /* new in 1.10 */
726 # define rtfACStrikeThru 12 /* new in 1.10 */
727 # define rtfACUnderline 13 /* new in 1.10 */
728 # define rtfACDotUnderline 14 /* new in 1.10 */
729 # define rtfACDbUnderline 15 /* new in 1.10 */
730 # define rtfACNoUnderline 16 /* new in 1.10 */
731 # define rtfACWordUnderline 17 /* new in 1.10 */
732 # define rtfACSuperScript 18 /* new in 1.10 */
733 
734 # define rtfFontAttr 23 /* new in 1.10 */
735 # define rtfFontCharSet 0 /* new in 1.10 */
736 # define rtfFontPitch 1 /* new in 1.10 */
737 # define rtfFontCodePage 2 /* new in 1.10 */
738 # define rtfFTypeNil 3 /* new in 1.10 */
739 # define rtfFTypeTrueType 4 /* new in 1.10 */
740 
741 # define rtfFileAttr 24 /* new in 1.10 */
742 # define rtfFileNum 0 /* new in 1.10 */
743 # define rtfFileRelPath 1 /* new in 1.10 */
744 # define rtfFileOSNum 2 /* new in 1.10 */
745 
746 # define rtfFileSource 25 /* new in 1.10 */
747 # define rtfSrcMacintosh 0 /* new in 1.10 */
748 # define rtfSrcDOS 1 /* new in 1.10 */
749 # define rtfSrcNTFS 2 /* new in 1.10 */
750 # define rtfSrcHPFS 3 /* new in 1.10 */
751 # define rtfSrcNetwork 4 /* new in 1.10 */
752 
753 /*
754  * Drawing attributes
755  */
756 
757 # define rtfDrawAttr 26 /* new in 1.10 */
758 # define rtfDrawLock 0 /* new in 1.10 */
759 # define rtfDrawPageRelX 1 /* new in 1.10 */
760 # define rtfDrawColumnRelX 2 /* new in 1.10 */
761 # define rtfDrawMarginRelX 3 /* new in 1.10 */
762 # define rtfDrawPageRelY 4 /* new in 1.10 */
763 # define rtfDrawColumnRelY 5 /* new in 1.10 */
764 # define rtfDrawMarginRelY 6 /* new in 1.10 */
765 # define rtfDrawHeight 7 /* new in 1.10 */
766 
767 # define rtfDrawBeginGroup 8 /* new in 1.10 */
768 # define rtfDrawGroupCount 9 /* new in 1.10 */
769 # define rtfDrawEndGroup 10 /* new in 1.10 */
770 # define rtfDrawArc 11 /* new in 1.10 */
771 # define rtfDrawCallout 12 /* new in 1.10 */
772 # define rtfDrawEllipse 13 /* new in 1.10 */
773 # define rtfDrawLine 14 /* new in 1.10 */
774 # define rtfDrawPolygon 15 /* new in 1.10 */
775 # define rtfDrawPolyLine 16 /* new in 1.10 */
776 # define rtfDrawRect 17 /* new in 1.10 */
777 # define rtfDrawTextBox 18 /* new in 1.10 */
778 
779 # define rtfDrawOffsetX 19 /* new in 1.10 */
780 # define rtfDrawSizeX 20 /* new in 1.10 */
781 # define rtfDrawOffsetY 21 /* new in 1.10 */
782 # define rtfDrawSizeY 22 /* new in 1.10 */
783 
784 # define rtfCOAngle 23 /* new in 1.10 */
785 # define rtfCOAccentBar 24 /* new in 1.10 */
786 # define rtfCOBestFit 25 /* new in 1.10 */
787 # define rtfCOBorder 26 /* new in 1.10 */
788 # define rtfCOAttachAbsDist 27 /* new in 1.10 */
789 # define rtfCOAttachBottom 28 /* new in 1.10 */
790 # define rtfCOAttachCenter 29 /* new in 1.10 */
791 # define rtfCOAttachTop 30 /* new in 1.10 */
792 # define rtfCOLength 31 /* new in 1.10 */
793 # define rtfCONegXQuadrant 32 /* new in 1.10 */
794 # define rtfCONegYQuadrant 33 /* new in 1.10 */
795 # define rtfCOOffset 34 /* new in 1.10 */
796 # define rtfCOAttachSmart 35 /* new in 1.10 */
797 # define rtfCODoubleLine 36 /* new in 1.10 */
798 # define rtfCORightAngle 37 /* new in 1.10 */
799 # define rtfCOSingleLine 38 /* new in 1.10 */
800 # define rtfCOTripleLine 39 /* new in 1.10 */
801 
802 # define rtfDrawTextBoxMargin 40 /* new in 1.10 */
803 # define rtfDrawTextBoxText 41 /* new in 1.10 */
804 # define rtfDrawRoundRect 42 /* new in 1.10 */
805 
806 # define rtfDrawPointX 43 /* new in 1.10 */
807 # define rtfDrawPointY 44 /* new in 1.10 */
808 # define rtfDrawPolyCount 45 /* new in 1.10 */
809 
810 # define rtfDrawArcFlipX 46 /* new in 1.10 */
811 # define rtfDrawArcFlipY 47 /* new in 1.10 */
812 
813 # define rtfDrawLineBlue 48 /* new in 1.10 */
814 # define rtfDrawLineGreen 49 /* new in 1.10 */
815 # define rtfDrawLineRed 50 /* new in 1.10 */
816 # define rtfDrawLinePalette 51 /* new in 1.10 */
817 # define rtfDrawLineDashDot 52 /* new in 1.10 */
818 # define rtfDrawLineDashDotDot 53 /* new in 1.10 */
819 # define rtfDrawLineDash 54 /* new in 1.10 */
820 # define rtfDrawLineDot 55 /* new in 1.10 */
821 # define rtfDrawLineGray 56 /* new in 1.10 */
822 # define rtfDrawLineHollow 57 /* new in 1.10 */
823 # define rtfDrawLineSolid 58 /* new in 1.10 */
824 # define rtfDrawLineWidth 59 /* new in 1.10 */
825 
826 # define rtfDrawHollowEndArrow 60 /* new in 1.10 */
827 # define rtfDrawEndArrowLength 61 /* new in 1.10 */
828 # define rtfDrawSolidEndArrow 62 /* new in 1.10 */
829 # define rtfDrawEndArrowWidth 63 /* new in 1.10 */
830 # define rtfDrawHollowStartArrow 64 /* new in 1.10 */
831 # define rtfDrawStartArrowLength 65 /* new in 1.10 */
832 # define rtfDrawSolidStartArrow 66 /* new in 1.10 */
833 # define rtfDrawStartArrowWidth 67 /* new in 1.10 */
834 
835 # define rtfDrawBgFillBlue 68 /* new in 1.10 */
836 # define rtfDrawBgFillGreen 69 /* new in 1.10 */
837 # define rtfDrawBgFillRed 70 /* new in 1.10 */
838 # define rtfDrawBgFillPalette 71 /* new in 1.10 */
839 # define rtfDrawBgFillGray 72 /* new in 1.10 */
840 # define rtfDrawFgFillBlue 73 /* new in 1.10 */
841 # define rtfDrawFgFillGreen 74 /* new in 1.10 */
842 # define rtfDrawFgFillRed 75 /* new in 1.10 */
843 # define rtfDrawFgFillPalette 76 /* new in 1.10 */
844 # define rtfDrawFgFillGray 77 /* new in 1.10 */
845 # define rtfDrawFillPatIndex 78 /* new in 1.10 */
846 
847 # define rtfDrawShadow 79 /* new in 1.10 */
848 # define rtfDrawShadowXOffset 80 /* new in 1.10 */
849 # define rtfDrawShadowYOffset 81 /* new in 1.10 */
850 
851 /*
852  * index entry attributes
853  */
854 
855 # define rtfIndexAttr 27 /* new in 1.10 */
856 # define rtfIndexNumber 0 /* new in 1.10 */
857 # define rtfIndexBold 1 /* reclassified in 1.10 */
858 # define rtfIndexItalic 2 /* reclassified in 1.10 */
859 
860 
861 /*
862  * \wmetafile argument values
863  */
864 
865 # define rtfWmMmText 1
866 # define rtfWmMmLometric 2
867 # define rtfWmMmHimetric 3
868 # define rtfWmMmLoenglish 4
869 # define rtfWmMmHienglish 5
870 # define rtfWmMmTwips 6
871 # define rtfWmMmIsotropic 7
872 # define rtfWmMmAnisotropic 8
873 
874 /*
875  * \pmmetafile argument values
876  */
877 
878 # define rtfPmPuArbitrary 4
879 # define rtfPmPuPels 8
880 # define rtfPmPuLometric 12
881 # define rtfPmPuHimetric 16
882 # define rtfPmPuLoenglish 20
883 # define rtfPmPuHienglish 24
884 # define rtfPmPuTwips 28
885 
886 /*
887  * \lang argument values
888  */
889 
890 # define rtfLangNoLang 0x0400
891 # define rtfLangAlbanian 0x041c
892 # define rtfLangArabic 0x0401
893 # define rtfLangBahasa 0x0421
894 # define rtfLangBelgianDutch 0x0813
895 # define rtfLangBelgianFrench 0x080c
896 # define rtfLangBrazilianPortuguese 0x0416
897 # define rtfLangBulgarian 0x0402
898 # define rtfLangCatalan 0x0403
899 # define rtfLangLatinCroatoSerbian 0x041a
900 # define rtfLangCzech 0x0405
901 # define rtfLangDanish 0x0406
902 # define rtfLangDutch 0x0413
903 # define rtfLangAustralianEnglish 0x0c09
904 # define rtfLangUKEnglish 0x0809
905 # define rtfLangUSEnglish 0x0409
906 # define rtfLangFinnish 0x040b
907 # define rtfLangFrench 0x040c
908 # define rtfLangCanadianFrench 0x0c0c
909 # define rtfLangGerman 0x0407
910 # define rtfLangGreek 0x0408
911 # define rtfLangHebrew 0x040d
912 # define rtfLangHungarian 0x040e
913 # define rtfLangIcelandic 0x040f
914 # define rtfLangItalian 0x0410
915 # define rtfLangJapanese 0x0411
916 # define rtfLangKorean 0x0412
917 # define rtfLangBokmalNorwegian 0x0414
918 # define rtfLangNynorskNorwegian 0x0814
919 # define rtfLangPolish 0x0415
920 # define rtfLangPortuguese 0x0816
921 # define rtfLangRhaetoRomanic 0x0417
922 # define rtfLangRomanian 0x0418
923 # define rtfLangRussian 0x0419
924 # define rtfLangCyrillicSerboCroatian 0x081a
925 # define rtfLangSimplifiedChinese 0x0804
926 # define rtfLangSlovak 0x041b
927 # define rtfLangCastilianSpanish 0x040a
928 # define rtfLangMexicanSpanish 0x080a
929 # define rtfLangSwedish 0x041d
930 # define rtfLangSwissFrench 0x100c
931 # define rtfLangSwissGerman 0x0807
932 # define rtfLangSwissItalian 0x0810
933 # define rtfLangThai 0x041e
934 # define rtfLangTraditionalChinese 0x0404
935 # define rtfLangTurkish 0x041f
936 # define rtfLangUrdu 0x0420
937 
938 /*
939  * Style types
940  */
941 
942 # define rtfParStyle 0 /* the default */
943 # define rtfCharStyle 1
944 # define rtfSectStyle 2
945 
946 /*
947  * RTF font, color and style structures. Used for font table,
948  * color table, and stylesheet processing.
949  */
950 
951 typedef struct RTFFont RTFFont;
952 typedef struct RTFColor RTFColor;
953 typedef struct RTFStyle RTFStyle;
954 typedef struct RTFStyleElt RTFStyleElt;
955 typedef struct RTFBorder RTFBorder;
956 typedef struct RTFCell RTFCell;
957 typedef struct RTFTable RTFTable;
958 
959 struct RTFFont
960 {
961  char *rtfFName; /* font name */
962  char *rtfFAltName; /* font alternate name */
963  int rtfFNum; /* font number */
964  int rtfFFamily; /* font family */
965  int rtfFCharSet; /* font charset */
966  int rtfFPitch; /* font pitch */
967  int rtfFType; /* font type */
968  int rtfFCodePage; /* font code page */
969  RTFFont *rtfNextFont; /* next font in list */
970 };
971 
972 
973 /*
974  * Color values are -1 if the default color for the color
975  * number should be used. The default color is writer-dependent.
976  */
977 
978 struct RTFColor
979 {
980  int rtfCNum; /* color number */
981  int rtfCRed; /* red value */
982  int rtfCGreen; /* green value */
983  int rtfCBlue; /* blue value */
984  RTFColor *rtfNextColor; /* next color in list */
985 };
986 
987 
988 struct RTFStyle
989 {
990  char *rtfSName; /* style name */
991  int rtfSType; /* style type */
992  int rtfSAdditive; /* whether or not style is additive */
993  int rtfSNum; /* style number */
994  int rtfSBasedOn; /* style this one's based on */
995  int rtfSNextPar; /* style next paragraph style */
996  RTFStyleElt *rtfSSEList; /* list of style words */
997  int rtfExpanding; /* non-zero = being expanded */
998  RTFStyle *rtfNextStyle; /* next style in style list */
999 };
1000 
1001 
1003 {
1004  int rtfSEClass; /* token class */
1005  int rtfSEMajor; /* token major number */
1006  int rtfSEMinor; /* token minor number */
1007  int rtfSEParam; /* control symbol parameter */
1008  char *rtfSEText; /* text of symbol */
1009  RTFStyleElt *rtfNextSE; /* next element in style */
1010 };
1011 
1013 {
1014  int width;
1015  int color;
1016 };
1017 
1018 struct RTFCell
1019 {
1022 };
1023 
1024 
1025 struct RTFTable
1026 {
1029 
1031  /* borders for the table row */
1033 
1034  /* Used in v1.0 - v3.0 */
1036 
1037  /* v4.1 */
1038  /* tableRowStart may be the start row paragraph of the table row,
1039  * or it may store the end of the previous row if it may still be
1040  * continued, otherwise NULL is stored. */
1042 
1043  /* Table definitions are stored as a stack to support nested tables. */
1045 };
1046 
1047 
1048 # define RTFBorderTypeNone 0x00
1049 # define RTFBorderTypePara 0x10 /* for \brdrX control words */
1050 # define RTFBorderTypeRow 0x20 /* for \trbrdrX control words */
1051 # define RTFBorderTypeCell 0x30 /* for \clbrdrX control words */
1052 # define RTFBorderTypeMask 0xf0
1053 
1054 /* The X in the control words \brdrX \trbrdrX and \clbrdrX mentioned above
1055  * should be one of t, l, b, r which stand for top, left, bottom, right
1056  * respectively. */
1057 # define RTFBorderSideTop 0x00
1058 # define RTFBorderSideLeft 0x01
1059 # define RTFBorderSideBottom 0x02
1060 # define RTFBorderSideRight 0x03
1061 # define RTFBorderSideHorizontal 0x04
1062 # define RTFBorderSideVertical 0x05
1063 # define RTFBorderSideMask 0x0f
1064 
1065 /* Here are the values from the border types and sides put together. */
1066 # define RTFBorderParaTop 0x10
1067 # define RTFBorderParaLeft 0x11
1068 # define RTFBorderParaBottom 0x12
1069 # define RTFBorderParaRight 0x13
1070 # define RTFBorderRowTop 0x20
1071 # define RTFBorderRowLeft 0x21
1072 # define RTFBorderRowBottom 0x22
1073 # define RTFBorderRowRight 0x23
1074 # define RTFBorderRowHorizontal 0x24
1075 # define RTFBorderRowVertical 0x25
1076 # define RTFBorderCellTop 0x30
1077 # define RTFBorderCellLeft 0x31
1078 # define RTFBorderCellBottom 0x32
1079 # define RTFBorderCellRight 0x33
1080 
1081 /*
1082  * Return pointer to new element of type t, or NULL
1083  * if no memory available.
1084  */
1085 
1086 # define New(t) (heap_alloc (sizeof (t)))
1087 
1088 /* Parser stack size */
1089 
1090 # define maxStack 32
1091 
1092 struct _RTF_Info;
1093 typedef struct _RTF_Info RTF_Info;
1094 
1095 typedef void (*RTFFuncPtr) (RTF_Info *); /* generic function pointer */
1096 
1097 
1098 /* RTF parser stack element */
1099 struct tagRTFState {
1103 };
1104 typedef struct tagRTFState RTFState;
1105 
1106 
1107 struct _RTF_Info {
1108  /*
1109  * Public variables (listed in rtf.h)
1110  */
1111 
1112  /*
1113  * Information pertaining to last token read by RTFToken. The
1114  * text is exactly as it occurs in the input file, e.g., "\{"
1115  * will be found in rtfTextBuf as "\{", even though it means "{".
1116  * These variables are also set when styles are reprocessed.
1117  */
1118 
1124  char *rtfTextBuf;
1126 
1129 
1130 
1131  /*
1132  * Private stuff
1133  */
1134 
1135  int pushedChar; /* pushback char if read too far */
1136 
1137  int pushedClass; /* pushed token info for RTFUngetToken() */
1142 
1145 
1146  /* Document-wide attributes */
1147  RTFFont *fontList; /* these lists MUST be */
1148  RTFColor *colorList; /* initialized to NULL */
1150  int ansiCodePage; /* ANSI codepage used in conversion to Unicode */
1151  int defFont;
1152 
1153  /* Character attributes */
1154  int unicodeLength; /* The length of ANSI representation of Unicode characters */
1155  int codePage; /* Current codepage for text conversion */
1156 
1158 
1161 
1162  RTFFuncPtr ccb[rtfMaxClass]; /* class callbacks */
1163 
1164  RTFFuncPtr dcb[rtfMaxDestination]; /* destination callbacks */
1165 
1167 
1170 
1174 
1178 
1182  int borderType; /* value corresponds to the RTFBorder constants. */
1183 
1184  PARAFORMAT2 fmt; /* Accumulated para fmt for current paragraph. */
1185 };
1186 
1187 
1188 /*
1189  * Public RTF reader routines
1190  */
1191 
1196 int RTFGetToken (RTF_Info *) DECLSPEC_HIDDEN; /* writer should rarely need this */
1201 int RTFCheckCM (const RTF_Info *, int, int) DECLSPEC_HIDDEN;
1202 int RTFCheckCMM (const RTF_Info *, int, int, int) DECLSPEC_HIDDEN;
1203 int RTFCheckMM (const RTF_Info *, int, int) DECLSPEC_HIDDEN;
1204 RTFFont *RTFGetFont (const RTF_Info *, int) DECLSPEC_HIDDEN;
1206 int RTFCharToHex ( char) DECLSPEC_HIDDEN;
1207 
1210 
1213 
1215 
1216 void LookupInit (void) DECLSPEC_HIDDEN;
1217 void LookupCleanup (void) DECLSPEC_HIDDEN;
1218 
1219 #endif
PARAFORMAT2 fmt
Definition: rtf.h:1184
int pushedParam
Definition: rtf.h:1140
RTFFont * RTFGetFont(const RTF_Info *, int) DECLSPEC_HIDDEN
Definition: reader.c:1222
int codePage
Definition: rtf.h:1155
int rtfSEParam
Definition: rtf.h:1007
int leftEdge
Definition: rtf.h:1030
Definition: rtf.h:978
int rtfFFamily
Definition: rtf.h:964
int rtfFCharSet
Definition: rtf.h:965
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:49
int rtfSEMinor
Definition: rtf.h:1006
CFF_Charset charset
Definition: cffcmap.c:138
int RTFGetToken(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:406
RTFStyle * rtfNextStyle
Definition: rtf.h:998
void RTFRouteToken(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:321
DWORD dwOutputCount
Definition: rtf.h:1168
int rtfExpanding
Definition: rtf.h:997
ME_TextEditor * editor
Definition: rtf.h:1159
RTFStyleElt * rtfNextSE
Definition: rtf.h:1009
int pushedMinor
Definition: rtf.h:1139
int pushedClass
Definition: rtf.h:1137
ME_InStream * stream
Definition: rtf.h:1157
char * rtfFAltName
Definition: rtf.h:962
char * rtfFName
Definition: rtf.h:961
int rtfFType
Definition: rtf.h:967
int width
Definition: rtf.h:1014
RTFTable * tableDef
Definition: rtf.h:1179
void RTFSetEditStream(RTF_Info *info, ME_InStream *stream) DECLSPEC_HIDDEN
Definition: reader.c:116
int rtfSNextPar
Definition: rtf.h:995
int rtfLineNum
Definition: rtf.h:1127
int rtfSBasedOn
Definition: rtf.h:994
int rtfParam
Definition: rtf.h:1122
int rtfCRed
Definition: rtf.h:981
int rtfSAdditive
Definition: rtf.h:992
int rtfSType
Definition: rtf.h:991
void LookupInit(void) DECLSPEC_HIDDEN
Definition: reader.c:2191
Definition: rtf.h:959
int rightBoundary
Definition: rtf.h:1020
int numCellsDefined
Definition: rtf.h:1028
int rtfTextLen
Definition: rtf.h:1125
void RTFFlushOutputBuffer(RTF_Info *info) DECLSPEC_HIDDEN
Definition: reader.c:2626
void RTFSkipGroup(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:354
RTFCell cells[MAX_TABLE_CELLS]
Definition: rtf.h:1027
int rtfSNum
Definition: rtf.h:993
ME_Style * style
Definition: rtf.h:1160
RTFColor * colorList
Definition: rtf.h:1148
char * rtfTextBuf
Definition: rtf.h:1124
int RTFCheckCM(const RTF_Info *, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2276
void(* RTFFuncPtr)(RTF_Info *)
Definition: rtf.h:1095
int gapH
Definition: rtf.h:1030
void RTFSetReadHook(RTF_Info *, RTFFuncPtr) DECLSPEC_HIDDEN
Definition: reader.c:388
unsigned int BOOL
Definition: ntddk_ex.h:94
int pushedMajor
Definition: rtf.h:1138
int BeginFile(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:2335
int stackTop
Definition: rtf.h:1176
char * rtfSName
Definition: rtf.h:990
int rtfCGreen
Definition: rtf.h:982
DWORD dwCPOutputCount
Definition: rtf.h:1171
void RTFReadGroup(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:379
BOOL bumpLine
Definition: rtf.h:1144
int rtfMinor
Definition: rtf.h:1121
Definition: _stack.h:47
RTFFont * fontList
Definition: rtf.h:1147
void RTFDestroy(RTF_Info *info) DECLSPEC_HIDDEN
Definition: reader.c:161
int unicodeLength
Definition: rtf.h:1102
RTFFuncPtr readHook
Definition: rtf.h:1166
int color
Definition: rtf.h:1015
int rtfCBlue
Definition: rtf.h:983
void RTFSetDestinationCallback(RTF_Info *, int, RTFFuncPtr) DECLSPEC_HIDDEN
Definition: reader.c:281
ME_Style * style
Definition: rtf.h:1100
int rtfClass
Definition: rtf.h:1119
ME_DisplayItem * tableRowStart
Definition: rtf.h:1041
int unicodeLength
Definition: rtf.h:1154
RTFTable * parent
Definition: rtf.h:1044
int rtfSEClass
Definition: rtf.h:1004
int pushedChar
Definition: rtf.h:1135
__wchar_t WCHAR
Definition: xmlstorage.h:180
char * pushedTextBuf
Definition: rtf.h:1141
GLint GLint GLsizei GLsizei GLsizei GLint border
Definition: gl.h:1546
char * cpOutputBuffer
Definition: rtf.h:1173
int numCellsInserted
Definition: rtf.h:1035
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL styleChanged
Definition: rtf.h:1177
int rtfSEMajor
Definition: rtf.h:1005
int RTFCharToHex(char) DECLSPEC_HIDDEN
Definition: reader.c:2297
int defFont
Definition: rtf.h:1151
RTFFuncPtr dcb[rtfMaxDestination]
Definition: rtf.h:1164
Definition: parse.h:22
#define rtfMaxClass
Definition: rtf.h:83
int ansiCodePage
Definition: rtf.h:1150
#define rtfMaxDestination
Definition: rtf.h:189
int RTFCheckMM(const RTF_Info *, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2288
int prevChar
Definition: rtf.h:1143
int rtfFCodePage
Definition: rtf.h:968
int rtfFormat
Definition: rtf.h:1123
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
int rtfCNum
Definition: rtf.h:980
int rtfMajor
Definition: rtf.h:1120
Definition: rtf.h:1018
int RTFCheckCMM(const RTF_Info *, int, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2282
void WriterInit(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:2329
int nestingLevel
Definition: rtf.h:1180
int rtfFNum
Definition: rtf.h:963
void RTFInit(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:212
int rtfLinePos
Definition: rtf.h:1128
DWORD dwMaxCPOutputCount
Definition: rtf.h:1172
#define MAX_TABLE_CELLS
Definition: richedit.h:220
char * rtfSEText
Definition: rtf.h:1008
Definition: rtf.h:1025
RTFFont * rtfNextFont
Definition: rtf.h:969
BOOL canInheritInTbl
Definition: rtf.h:1181
#define maxStack
Definition: rtf.h:1090
int codePage
Definition: rtf.h:1101
RTFColor * RTFGetColor(const RTF_Info *, int) DECLSPEC_HIDDEN
Definition: reader.c:1237
RTFStyleElt * rtfSSEList
Definition: rtf.h:996
RTFColor * rtfNextColor
Definition: rtf.h:984
Definition: rtf.h:988
int RTFCharSetToCodePage(RTF_Info *info, int charset) DECLSPEC_HIDDEN
Definition: reader.c:493
void LookupCleanup(void) DECLSPEC_HIDDEN
Definition: reader.c:2210
RTFStyle * styleList
Definition: rtf.h:1149
void RTFRead(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:308
WCHAR OutputBuffer[0x1000]
Definition: rtf.h:1169
int rtfFPitch
Definition: rtf.h:966
int borderType
Definition: rtf.h:1182