ReactOS 0.4.15-dev-7961-gdcf9eb0
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
951typedef struct RTFFont RTFFont;
952typedef struct RTFColor RTFColor;
953typedef struct RTFStyle RTFStyle;
955typedef struct RTFBorder RTFBorder;
956typedef struct RTFCell RTFCell;
957typedef struct RTFTable RTFTable;
958
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
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
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{
1016};
1017
1019{
1022};
1023
1024
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
1092struct _RTF_Info;
1093typedef struct _RTF_Info RTF_Info;
1094
1095typedef void (*RTFFuncPtr) (RTF_Info *); /* generic function pointer */
1096
1097
1098/* RTF parser stack element */
1103};
1104typedef struct tagRTFState RTFState;
1105
1106
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
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 */
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
1196int RTFGetToken (RTF_Info *) DECLSPEC_HIDDEN; /* writer should rarely need this */
1201int RTFCheckCM (const RTF_Info *, int, int) DECLSPEC_HIDDEN;
1202int RTFCheckCMM (const RTF_Info *, int, int, int) DECLSPEC_HIDDEN;
1203int RTFCheckMM (const RTF_Info *, int, int) DECLSPEC_HIDDEN;
1206int RTFCharToHex ( char) DECLSPEC_HIDDEN;
1207
1210
1213
1215
1216void LookupInit (void) DECLSPEC_HIDDEN;
1217void LookupCleanup (void) DECLSPEC_HIDDEN;
1218
1219#endif
CFF_Charset charset
Definition: cffcmap.c:138
Definition: _stack.h:55
#define DECLSPEC_HIDDEN
Definition: precomp.h:8
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLint GLsizei GLsizei GLsizei GLint border
Definition: gl.h:1546
#define MAX_TABLE_CELLS
Definition: richedit.h:220
int RTFCheckCM(const RTF_Info *, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2276
void RTFDestroy(RTF_Info *info) DECLSPEC_HIDDEN
Definition: reader.c:161
void RTFInit(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:212
void LookupCleanup(void) DECLSPEC_HIDDEN
Definition: reader.c:2210
void RTFReadGroup(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:379
int BeginFile(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:2335
int RTFCheckCMM(const RTF_Info *, int, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2282
void RTFSetDestinationCallback(RTF_Info *, int, RTFFuncPtr) DECLSPEC_HIDDEN
Definition: reader.c:281
RTFFont * RTFGetFont(const RTF_Info *, int) DECLSPEC_HIDDEN
Definition: reader.c:1222
int RTFCharSetToCodePage(RTF_Info *info, int charset) DECLSPEC_HIDDEN
Definition: reader.c:493
#define maxStack
Definition: rtf.h:1090
RTFColor * RTFGetColor(const RTF_Info *, int) DECLSPEC_HIDDEN
Definition: reader.c:1237
void(* RTFFuncPtr)(RTF_Info *)
Definition: rtf.h:1095
int RTFCheckMM(const RTF_Info *, int, int) DECLSPEC_HIDDEN
Definition: reader.c:2288
void RTFFlushOutputBuffer(RTF_Info *info) DECLSPEC_HIDDEN
Definition: reader.c:2626
#define rtfMaxDestination
Definition: rtf.h:189
int RTFGetToken(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:406
void WriterInit(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:2329
void RTFSetReadHook(RTF_Info *, RTFFuncPtr) DECLSPEC_HIDDEN
Definition: reader.c:388
#define rtfMaxClass
Definition: rtf.h:83
int RTFCharToHex(char) DECLSPEC_HIDDEN
Definition: reader.c:2297
void LookupInit(void) DECLSPEC_HIDDEN
Definition: reader.c:2191
void RTFSetEditStream(RTF_Info *info, ME_InStream *stream) DECLSPEC_HIDDEN
Definition: reader.c:116
void RTFRouteToken(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:321
void RTFRead(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:308
void RTFSkipGroup(RTF_Info *) DECLSPEC_HIDDEN
Definition: reader.c:354
int color
Definition: rtf.h:1015
int width
Definition: rtf.h:1014
Definition: rtf.h:1019
int rightBoundary
Definition: rtf.h:1020
Definition: rtf.h:979
int rtfCNum
Definition: rtf.h:980
int rtfCBlue
Definition: rtf.h:983
RTFColor * rtfNextColor
Definition: rtf.h:984
int rtfCRed
Definition: rtf.h:981
int rtfCGreen
Definition: rtf.h:982
Definition: rtf.h:960
int rtfFNum
Definition: rtf.h:963
int rtfFType
Definition: rtf.h:967
int rtfFPitch
Definition: rtf.h:966
int rtfFFamily
Definition: rtf.h:964
RTFFont * rtfNextFont
Definition: rtf.h:969
char * rtfFName
Definition: rtf.h:961
int rtfFCodePage
Definition: rtf.h:968
int rtfFCharSet
Definition: rtf.h:965
char * rtfFAltName
Definition: rtf.h:962
int rtfSEMinor
Definition: rtf.h:1006
char * rtfSEText
Definition: rtf.h:1008
int rtfSEParam
Definition: rtf.h:1007
RTFStyleElt * rtfNextSE
Definition: rtf.h:1009
int rtfSEClass
Definition: rtf.h:1004
int rtfSEMajor
Definition: rtf.h:1005
Definition: rtf.h:989
int rtfSType
Definition: rtf.h:991
int rtfSNextPar
Definition: rtf.h:995
char * rtfSName
Definition: rtf.h:990
int rtfSAdditive
Definition: rtf.h:992
int rtfSBasedOn
Definition: rtf.h:994
RTFStyleElt * rtfSSEList
Definition: rtf.h:996
int rtfExpanding
Definition: rtf.h:997
int rtfSNum
Definition: rtf.h:993
RTFStyle * rtfNextStyle
Definition: rtf.h:998
Definition: rtf.h:1026
RTFCell cells[MAX_TABLE_CELLS]
Definition: rtf.h:1027
int numCellsDefined
Definition: rtf.h:1028
ME_DisplayItem * tableRowStart
Definition: rtf.h:1041
int gapH
Definition: rtf.h:1030
int leftEdge
Definition: rtf.h:1030
RTFTable * parent
Definition: rtf.h:1044
int numCellsInserted
Definition: rtf.h:1035
char * rtfTextBuf
Definition: rtf.h:1124
int defFont
Definition: rtf.h:1151
RTFStyle * styleList
Definition: rtf.h:1149
RTFFuncPtr readHook
Definition: rtf.h:1166
int pushedMajor
Definition: rtf.h:1138
ME_TextEditor * editor
Definition: rtf.h:1159
RTFTable * tableDef
Definition: rtf.h:1179
int stackTop
Definition: rtf.h:1176
int borderType
Definition: rtf.h:1182
int rtfParam
Definition: rtf.h:1122
int pushedClass
Definition: rtf.h:1137
char * pushedTextBuf
Definition: rtf.h:1141
BOOL canInheritInTbl
Definition: rtf.h:1181
int rtfLineNum
Definition: rtf.h:1127
int nestingLevel
Definition: rtf.h:1180
DWORD dwOutputCount
Definition: rtf.h:1168
RTFColor * colorList
Definition: rtf.h:1148
RTFFont * fontList
Definition: rtf.h:1147
int pushedMinor
Definition: rtf.h:1139
int rtfMinor
Definition: rtf.h:1121
int rtfMajor
Definition: rtf.h:1120
int rtfFormat
Definition: rtf.h:1123
int unicodeLength
Definition: rtf.h:1154
int pushedParam
Definition: rtf.h:1140
int pushedChar
Definition: rtf.h:1135
ME_InStream * stream
Definition: rtf.h:1157
BOOL styleChanged
Definition: rtf.h:1177
int codePage
Definition: rtf.h:1155
int rtfClass
Definition: rtf.h:1119
int prevChar
Definition: rtf.h:1143
PARAFORMAT2 fmt
Definition: rtf.h:1184
int rtfLinePos
Definition: rtf.h:1128
ME_Style * style
Definition: rtf.h:1160
DWORD dwCPOutputCount
Definition: rtf.h:1171
int ansiCodePage
Definition: rtf.h:1150
DWORD dwMaxCPOutputCount
Definition: rtf.h:1172
RTFFuncPtr dcb[rtfMaxDestination]
Definition: rtf.h:1164
int rtfTextLen
Definition: rtf.h:1125
BOOL bumpLine
Definition: rtf.h:1144
char * cpOutputBuffer
Definition: rtf.h:1173
Definition: parse.h:23
int codePage
Definition: rtf.h:1101
int unicodeLength
Definition: rtf.h:1102
ME_Style * style
Definition: rtf.h:1100
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
__wchar_t WCHAR
Definition: xmlstorage.h:180