1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
9 
10 #pragma once
11 
12 namespace writerfilter::rtftok
13 {
14 /**
15  * An RTF destination state is the last open destination control word.
16  *
17  * Note that this is not a 1:1 mapping between destination control
18  * words, e.g. RTF_PICT gets mapped to Destination::PICT or
19  * Destination::SHAPEPROPERTYVALUEPICT.
20  */
21 enum class Destination
22 {
23     NORMAL,
24     SKIP,
25     FONTTABLE,
26     FONTENTRY,
27     COLORTABLE,
28     STYLESHEET,
29     STYLEENTRY,
30     FIELD,
31     FIELDINSTRUCTION,
32     FIELDRESULT,
33     LISTTABLE,
34     LISTPICTURE,
35     LISTENTRY,
36     LISTNAME,
37     LISTOVERRIDETABLE,
38     LISTOVERRIDEENTRY,
39     LISTLEVEL,
40     LEVELTEXT,
41     LEVELNUMBERS,
42     SHPPICT,
43     PICT,
44     PICPROP,
45     SHAPEPROPERTY,
46     SHAPEPROPERTYNAME,
47     SHAPEPROPERTYVALUE,
48     SHAPE,
49     SHAPEINSTRUCTION,
50     SHAPEPROPERTYVALUEPICT,
51     NESTEDTABLEPROPERTIES,
52     FOOTNOTE,
53     BOOKMARKSTART,
54     BOOKMARKEND,
55     REVISIONTABLE,
56     REVISIONENTRY,
57     SHAPETEXT,
58     FORMFIELD,
59     FORMFIELDNAME,
60     FORMFIELDLIST,
61     DATAFIELD,
62     INFO,
63     CREATIONTIME,
64     REVISIONTIME,
65     PRINTTIME,
66     AUTHOR,
67     KEYWORDS,
68     OPERATOR,
69     COMPANY,
70     COMMENT,
71     OBJECT,
72     OBJDATA,
73     OBJCLASS,
74     RESULT,
75     ANNOTATIONDATE,
76     ANNOTATIONAUTHOR,
77     ANNOTATIONREFERENCE,
78     FALT,
79     FLYMAINCONTENT,
80     DRAWINGOBJECT,
81     PARAGRAPHNUMBERING,
82     PARAGRAPHNUMBERING_TEXTBEFORE,
83     PARAGRAPHNUMBERING_TEXTAFTER,
84     TITLE,
85     SUBJECT,
86     DOCCOMM,
87     ATNID,
88     ANNOTATIONREFERENCESTART,
89     ANNOTATIONREFERENCEEND,
90     MOMATH,
91     MR,
92     MF,
93     MFPR,
94     MCTRLPR,
95     MNUM,
96     MDEN,
97     MACC,
98     MACCPR,
99     MCHR,
100     MPOS,
101     MVERTJC,
102     MSTRIKEH,
103     MDEGHIDE,
104     ME,
105     MBAR,
106     MBARPR,
107     MD,
108     MDPR,
109     MBEGCHR,
110     MSEPCHR,
111     MENDCHR,
112     MFUNC,
113     MFUNCPR,
114     MFNAME,
115     MLIMLOW,
116     MLIMLOWPR,
117     MLIM,
118     MM,
119     MMPR,
120     MMR,
121     MNARY,
122     MNARYPR,
123     MSUB,
124     MSUP,
125     MSUBHIDE,
126     MSUPHIDE,
127     MLIMUPP,
128     MLIMUPPPR,
129     MGROUPCHR,
130     MGROUPCHRPR,
131     MBORDERBOX,
132     MBORDERBOXPR,
133     MRAD,
134     MRADPR,
135     MDEG,
136     MSSUB,
137     MSSUBPR,
138     MSSUP,
139     MSSUPPR,
140     MSSUBSUP,
141     MSSUBSUPPR,
142     MSPRE,
143     MSPREPR,
144     MTYPE,
145     MGROW,
146     MBOX,
147     MEQARR,
148     UPR,
149     LFOLEVEL,
150     BACKGROUND,
151     SHAPEGROUP,
152     FOOTNOTESEPARATOR,
153     INDEXENTRY,
154     TOCENTRY,
155     USERPROPS,
156     PROPNAME,
157     STATICVAL,
158     GENERATOR,
159 };
160 
161 enum class RTFKeyword
162 {
163     invalid = -1,
164     HEXCHAR,
165     OPTHYPH,
166     IGNORE,
167     SUBENTRY,
168     BACKSLASH,
169     NOBRKHYPH,
170     LBRACE,
171     FORMULA,
172     RBRACE,
173     NOBREAK,
174     AB,
175     ABSH,
176     ABSLOCK,
177     ABSNOOVRLP,
178     ABSW,
179     ACAPS,
180     ACCCIRCLE,
181     ACCCOMMA,
182     ACCDOT,
183     ACCNONE,
184     ACCUNDERDOT,
185     ACF,
186     ADEFF,
187     ADDITIVE,
188     ADEFLANG,
189     ADJUSTRIGHT,
190     ADN,
191     AENDDOC,
192     AENDNOTES,
193     AEXPND,
194     AF,
195     AFELEV,
196     AFS,
197     AFTNBJ,
198     AFTNCN,
199     AFTNNALC,
200     AFTNNAR,
201     AFTNNAUC,
202     AFTNNCHI,
203     AFTNNCHOSUNG,
204     AFTNNCNUM,
205     AFTNNDBAR,
206     AFTNNDBNUM,
207     AFTNNDBNUMD,
208     AFTNNDBNUMK,
209     AFTNNDBNUMT,
210     AFTNNGANADA,
211     AFTNNGBNUM,
212     AFTNNGBNUMD,
213     AFTNNGBNUMK,
214     AFTNNGBNUML,
215     AFTNNRLC,
216     AFTNNRUC,
217     AFTNNZODIAC,
218     AFTNNZODIACD,
219     AFTNNZODIACL,
220     AFTNRESTART,
221     AFTNRSTCONT,
222     AFTNSEP,
223     AFTNSEPC,
224     AFTNSTART,
225     AFTNTJ,
226     AI,
227     ALANG,
228     ALLOWFIELDENDSEL,
229     ALLPROT,
230     ALNTBLIND,
231     ALT,
232     ANIMTEXT,
233     ANNOTATION,
234     ANNOTPROT,
235     ANSI,
236     ANSICPG,
237     AOUTL,
238     APPLYBRKRULES,
239     ASCAPS,
240     ASHAD,
241     ASIANBRKRULE,
242     ASPALPHA,
243     ASPNUM,
244     ASTRIKE,
245     ATNAUTHOR,
246     ATNDATE,
247     ATNICN,
248     ATNID,
249     ATNPARENT,
250     ATNREF,
251     ATNTIME,
252     ATRFEND,
253     ATRFSTART,
254     AUL,
255     AULD,
256     AULDB,
257     AULNONE,
258     AULW,
259     AUP,
260     AUTHOR,
261     AUTOFMTOVERRIDE,
262     B,
263     BACKGROUND,
264     BDBFHDR,
265     BDRRLSWSIX,
266     BGBDIAG,
267     BGCROSS,
268     BGDCROSS,
269     BGDKBDIAG,
270     BGDKCROSS,
271     BGDKDCROSS,
272     BGDKFDIAG,
273     BGDKHORIZ,
274     BGDKVERT,
275     BGFDIAG,
276     BGHORIZ,
277     BGVERT,
278     BIN,
279     BINFSXN,
280     BINSXN,
281     BKMKCOLF,
282     BKMKCOLL,
283     BKMKEND,
284     BKMKPUB,
285     BKMKSTART,
286     BLIPTAG,
287     BLIPUID,
288     BLIPUPI,
289     BLUE,
290     BOOKFOLD,
291     BOOKFOLDREV,
292     BOOKFOLDSHEETS,
293     BOX,
294     BRDRART,
295     BRDRB,
296     BRDRBAR,
297     BRDRBTW,
298     BRDRCF,
299     BRDRDASH,
300     BRDRDASHD,
301     BRDRDASHDD,
302     BRDRDASHDOTSTR,
303     BRDRDASHSM,
304     BRDRDB,
305     BRDRDOT,
306     BRDREMBOSS,
307     BRDRENGRAVE,
308     BRDRFRAME,
309     BRDRHAIR,
310     BRDRINSET,
311     BRDRL,
312     BRDRNIL,
313     BRDRNONE,
314     BRDROUTSET,
315     BRDRR,
316     BRDRS,
317     BRDRSH,
318     BRDRT,
319     BRDRTBL,
320     BRDRTH,
321     BRDRTHTNLG,
322     BRDRTHTNMG,
323     BRDRTHTNSG,
324     BRDRTNTHLG,
325     BRDRTNTHMG,
326     BRDRTNTHSG,
327     BRDRTNTHTNLG,
328     BRDRTNTHTNMG,
329     BRDRTNTHTNSG,
330     BRDRTRIPLE,
331     BRDRW,
332     BRDRWAVY,
333     BRDRWAVYDB,
334     BRKFRM,
335     BRSP,
336     BULLET,
337     BUPTIM,
338     BXE,
339     CACCENTFIVE,
340     CACCENTFOUR,
341     CACCENTONE,
342     CACCENTSIX,
343     CACCENTTHREE,
344     CACCENTTWO,
345     CACHEDCOLBAL,
346     CAPS,
347     CATEGORY,
348     CB,
349     CBACKGROUNDONE,
350     CBACKGROUNDTWO,
351     CBPAT,
352     CCHS,
353     CELL,
354     CELLX,
355     CF,
356     CFOLLOWEDHYPERLINK,
357     CFPAT,
358     CGRID,
359     CHARRSID,
360     CHARSCALEX,
361     CHATN,
362     CHBGBDIAG,
363     CHBGCROSS,
364     CHBGDCROSS,
365     CHBGDKBDIAG,
366     CHBGDKCROSS,
367     CHBGDKDCROSS,
368     CHBGDKFDIAG,
369     CHBGDKHORIZ,
370     CHBGDKVERT,
371     CHBGFDIAG,
372     CHBGHORIZ,
373     CHBGVERT,
374     CHBRDR,
375     CHCBPAT,
376     CHCFPAT,
377     CHDATE,
378     CHDPA,
379     CHDPL,
380     CHFTN,
381     CHFTNSEP,
382     CHFTNSEPC,
383     CHPGN,
384     CHHRES,
385     CHSHDNG,
386     CHTIME,
387     CHYPERLINK,
388     CLBGBDIAG,
389     CLBGCROSS,
390     CLBGDCROSS,
391     CLBGDKBDIAG,
392     CLBGDKCROSS,
393     CLBGDKDCROSS,
394     CLBGDKFDIAG,
395     CLBGDKHOR,
396     CLBGDKVERT,
397     CLBGFDIAG,
398     CLBGHORIZ,
399     CLBGVERT,
400     CLBRDRB,
401     CLBRDRL,
402     CLBRDRR,
403     CLBRDRT,
404     CLCBPAT,
405     CLCBPATRAW,
406     CLCFPAT,
407     CLCFPATRAW,
408     CLDEL,
409     CLDELAUTH,
410     CLDELDTTM,
411     CLDGLL,
412     CLDGLU,
413     CLFITTEXT,
414     CLFTSWIDTH,
415     CLHIDEMARK,
416     CLINS,
417     CLINSAUTH,
418     CLINSDTTM,
419     CLMGF,
420     CLMRG,
421     CLMRGD,
422     CLMRGDAUTH,
423     CLMRGDDTTM,
424     CLMRGDR,
425     CLNOWRAP,
426     CLPADB,
427     CLPADFB,
428     CLPADFL,
429     CLPADFR,
430     CLPADFT,
431     CLPADL,
432     CLPADR,
433     CLPADT,
434     CLSPB,
435     CLSPFB,
436     CLSPFL,
437     CLSPFR,
438     CLSPFT,
439     CLSPL,
440     CLSPR,
441     CLSPT,
442     CLSHDNG,
443     CLSHDNGRAW,
444     CLSHDRAWNIL,
445     CLSPLIT,
446     CLSPLITR,
447     CLTXBTLR,
448     CLTXLRTB,
449     CLTXLRTBV,
450     CLTXTBRL,
451     CLTXTBRLV,
452     CLVERTALB,
453     CLVERTALC,
454     CLVERTALT,
455     CLVMGF,
456     CLVMRG,
457     CLWWIDTH,
458     CMAINDARKONE,
459     CMAINDARKTWO,
460     CMAINLIGHTONE,
461     CMAINLIGHTTWO,
462     COLLAPSED,
463     COLNO,
464     COLORSCHEMEMAPPING,
465     COLORTBL,
466     COLS,
467     COLSR,
468     COLSX,
469     COLUMN,
470     COLW,
471     COMMENT,
472     COMPANY,
473     CONTEXTUALSPACE,
474     CPG,
475     CRAUTH,
476     CRDATE,
477     CREATIM,
478     CS,
479     CSHADE,
480     CTEXTONE,
481     CTEXTTWO,
482     CTINT,
483     CTRL,
484     CTS,
485     CUFI,
486     CULI,
487     CURI,
488     CVMME,
489     DATAFIELD,
490     DATASTORE,
491     DATE,
492     DBCH,
493     DEFCHP,
494     DEFF,
495     DEFFORMAT,
496     DEFLANG,
497     DEFLANGFE,
498     DEFPAP,
499     DEFSHP,
500     DEFTAB,
501     DELETED,
502     DELRSID,
503     DFRAUTH,
504     DFRDATE,
505     DFRMTXTX,
506     DFRMTXTY,
507     DFRSTART,
508     DFRSTOP,
509     DFRXST,
510     DGHORIGIN,
511     DGHSHOW,
512     DGHSPACE,
513     DGMARGIN,
514     DGSNAP,
515     DGVORIGIN,
516     DGVSHOW,
517     DGVSPACE,
518     DIBITMAP,
519     DISABLED,
520     DN,
521     DNTBLNSBDB,
522     DO,
523     DOBXCOLUMN,
524     DOBXMARGIN,
525     DOBXPAGE,
526     DOBYMARGIN,
527     DOBYPAGE,
528     DOBYPARA,
529     DOCCOMM,
530     DOCTEMP,
531     DOCTYPE,
532     DOCVAR,
533     DODHGT,
534     DOLOCK,
535     DONOTEMBEDLINGDATA,
536     DONOTEMBEDSYSFONT,
537     DONOTSHOWCOMMENTS,
538     DONOTSHOWINSDEL,
539     DONOTSHOWMARKUP,
540     DONOTSHOWPROPS,
541     DPAENDHOL,
542     DPAENDL,
543     DPAENDSOL,
544     DPAENDW,
545     DPARC,
546     DPARCFLIPX,
547     DPARCFLIPY,
548     DPASTARTHOL,
549     DPASTARTL,
550     DPASTARTSOL,
551     DPASTARTW,
552     DPCALLOUT,
553     DPCOA,
554     DPCOACCENT,
555     DPCOBESTFIT,
556     DPCOBORDER,
557     DPCODABS,
558     DPCODBOTTOM,
559     DPCODCENTER,
560     DPCODESCENT,
561     DPCODTOP,
562     DPCOLENGTH,
563     DPCOMINUSX,
564     DPCOMINUSY,
565     DPCOOFFSET,
566     DPCOSMARTA,
567     DPCOTDOUBLE,
568     DPCOTRIGHT,
569     DPCOTSINGLE,
570     DPCOTTRIPLE,
571     DPCOUNT,
572     DPELLIPSE,
573     DPENDGROUP,
574     DPFILLBGCB,
575     DPFILLBGCG,
576     DPFILLBGCR,
577     DPFILLBGGRAY,
578     DPFILLBGPAL,
579     DPFILLFGCB,
580     DPFILLFGCG,
581     DPFILLFGCR,
582     DPFILLFGGRAY,
583     DPFILLFGPAL,
584     DPFILLPAT,
585     DPGROUP,
586     DPLINE,
587     DPLINECOB,
588     DPLINECOG,
589     DPLINECOR,
590     DPLINEDADO,
591     DPLINEDADODO,
592     DPLINEDASH,
593     DPLINEDOT,
594     DPLINEGRAY,
595     DPLINEHOLLOW,
596     DPLINEPAL,
597     DPLINESOLID,
598     DPLINEW,
599     DPPOLYCOUNT,
600     DPPOLYGON,
601     DPPOLYLINE,
602     DPPTX,
603     DPPTY,
604     DPRECT,
605     DPROUNDR,
606     DPSHADOW,
607     DPSHADX,
608     DPSHADY,
609     DPTXBTLR,
610     DPTXBX,
611     DPTXBXMAR,
612     DPTXBXTEXT,
613     DPTXLRTB,
614     DPTXLRTBV,
615     DPTXTBRL,
616     DPTXTBRLV,
617     DPX,
618     DPXSIZE,
619     DPY,
620     DPYSIZE,
621     DROPCAPLI,
622     DROPCAPT,
623     DS,
624     DXFRTEXT,
625     DY,
626     EBCEND,
627     EBCSTART,
628     EDMINS,
629     EMBO,
630     EMDASH,
631     EMFBLIP,
632     EMSPACE,
633     ENDASH,
634     ENDDOC,
635     ENDNHERE,
636     ENDNOTES,
637     ENFORCEPROT,
638     ENSPACE,
639     EXPND,
640     EXPNDTW,
641     EXPSHRTN,
642     F,
643     FAAUTO,
644     FACENTER,
645     FACINGP,
646     FACTOIDNAME,
647     FAFIXED,
648     FAHANG,
649     FALT,
650     FAROMAN,
651     FAVAR,
652     FBIAS,
653     FBIDI,
654     FBIDIS,
655     FBIMAJOR,
656     FBIMINOR,
657     FCHARS,
658     FCHARSET,
659     FCS,
660     FDBMAJOR,
661     FDBMINOR,
662     FDECOR,
663     FELNBRELEV,
664     FET,
665     FETCH,
666     FFDEFRES,
667     FFDEFTEXT,
668     FFENTRYMCR,
669     FFEXITMCR,
670     FFFORMAT,
671     FFHASLISTBOX,
672     FFHELPTEXT,
673     FFHPS,
674     FFL,
675     FFMAXLEN,
676     FFNAME,
677     FFOWNHELP,
678     FFOWNSTAT,
679     FFPROT,
680     FFRECALC,
681     FFRES,
682     FFSIZE,
683     FFSTATTEXT,
684     FFTYPE,
685     FFTYPETXT,
686     FHIMAJOR,
687     FHIMINOR,
688     FI,
689     FID,
690     FIELD,
691     FILE,
692     FILETBL,
693     FITTEXT,
694     FJGOTHIC,
695     FJMINCHOU,
696     FLDALT,
697     FLDDIRTY,
698     FLDEDIT,
699     FLDINST,
700     FLDLOCK,
701     FLDPRIV,
702     FLDRSLT,
703     FLDTYPE,
704     FLOMAJOR,
705     FLOMINOR,
706     FMODERN,
707     FN,
708     FNAME,
709     FNETWORK,
710     FNIL,
711     FNONFILESYS,
712     FONTEMB,
713     FONTFILE,
714     FONTTBL,
715     FOOTER,
716     FOOTERF,
717     FOOTERL,
718     FOOTERR,
719     FOOTERY,
720     FOOTNOTE,
721     FORCEUPGRADE,
722     FORMDISP,
723     FORMFIELD,
724     FORMPROT,
725     FORMSHADE,
726     FOSNUM,
727     FPRQ,
728     FRACWIDTH,
729     FRELATIVE,
730     FRMTXBTLR,
731     FRMTXLRTB,
732     FRMTXLRTBV,
733     FRMTXTBRL,
734     FRMTXTBRLV,
735     FROMAN,
736     FROMHTML,
737     FROMTEXT,
738     FS,
739     FSCRIPT,
740     FSWISS,
741     FTECH,
742     FTNALT,
743     FTNBJ,
744     FTNCN,
745     FTNIL,
746     FTNLYTWNINE,
747     FTNNALC,
748     FTNNAR,
749     FTNNAUC,
750     FTNNCHI,
751     FTNNCHOSUNG,
752     FTNNCNUM,
753     FTNNDBAR,
754     FTNNDBNUM,
755     FTNNDBNUMD,
756     FTNNDBNUMK,
757     FTNNDBNUMT,
758     FTNNGANADA,
759     FTNNGBNUM,
760     FTNNGBNUMD,
761     FTNNGBNUMK,
762     FTNNGBNUML,
763     FTNNRLC,
764     FTNNRUC,
765     FTNNZODIAC,
766     FTNNZODIACD,
767     FTNNZODIACL,
768     FTNRESTART,
769     FTNRSTCONT,
770     FTNRSTPG,
771     FTNSEP,
772     FTNSEPC,
773     FTNSTART,
774     FTNTJ,
775     FTTRUETYPE,
776     FVALIDDOS,
777     FVALIDHPFS,
778     FVALIDMAC,
779     FVALIDNTFS,
780     G,
781     GCW,
782     GENERATOR,
783     GREEN,
784     GRFDOCEVENTS,
785     GRIDTBL,
786     GUTTER,
787     GUTTERPRL,
788     GUTTERSXN,
789     HEADER,
790     HEADERF,
791     HEADERL,
792     HEADERR,
793     HEADERY,
794     HICH,
795     HIGHLIGHT,
796     HL,
797     HLFR,
798     HLINKBASE,
799     HLLOC,
800     HLSRC,
801     HORZDOC,
802     HORZSECT,
803     HORZVERT,
804     HR,
805     HRES,
806     HRULE,
807     HSV,
808     HTMAUTSP,
809     HTMLBASE,
810     HTMLRTF,
811     HTMLTAG,
812     HWELEV,
813     HYPHAUTO,
814     HYPHCAPS,
815     HYPHCONSEC,
816     HYPHHOTZ,
817     HYPHPAR,
818     I,
819     ID,
820     IGNOREMIXEDCONTENT,
821     ILFOMACATCLNUP,
822     ILVL,
823     IMPR,
824     INDMIRROR,
825     INDRLSWELEVEN,
826     INFO,
827     INSRSID,
828     INTBL,
829     IPGP,
830     IROWBAND,
831     IROW,
832     ITAP,
833     IXE,
834     JCOMPRESS,
835     JEXPAND,
836     JIS,
837     JPEGBLIP,
838     JSKSU,
839     KEEP,
840     KEEPN,
841     KERNING,
842     KEYCODE,
843     KEYWORDS,
844     KRNPRSNET,
845     KSULANG,
846     JCLISTTAB,
847     LANDSCAPE,
848     LANG,
849     LANGFE,
850     LANGFENP,
851     LANGNP,
852     LASTROW,
853     LATENTSTYLES,
854     LBR,
855     LCHARS,
856     LDBLQUOTE,
857     LEVEL,
858     LEVELFOLLOW,
859     LEVELINDENT,
860     LEVELJC,
861     LEVELJCN,
862     LEVELLEGAL,
863     LEVELNFC,
864     LEVELNFCN,
865     LEVELNORESTART,
866     LEVELNUMBERS,
867     LEVELOLD,
868     LEVELPICTURE,
869     LEVELPICTURENOSIZE,
870     LEVELPREV,
871     LEVELPREVSPACE,
872     LEVELSPACE,
873     LEVELSTARTAT,
874     LEVELTEMPLATEID,
875     LEVELTEXT,
876     LFOLEVEL,
877     LI,
878     LINE,
879     LINEBETCOL,
880     LINECONT,
881     LINEMOD,
882     LINEPPAGE,
883     LINERESTART,
884     LINESTART,
885     LINESTARTS,
886     LINEX,
887     LINKSELF,
888     LINKSTYLES,
889     LINKVAL,
890     LIN,
891     LISA,
892     LISB,
893     LIST,
894     LISTHYBRID,
895     LISTID,
896     LISTLEVEL,
897     LISTNAME,
898     LISTOVERRIDE,
899     LISTOVERRIDECOUNT,
900     LISTOVERRIDEFORMAT,
901     LISTOVERRIDESTARTAT,
902     LISTOVERRIDETABLE,
903     LISTPICTURE,
904     LISTRESTARTHDN,
905     LISTSIMPLE,
906     LISTSTYLEID,
907     LISTSTYLENAME,
908     LISTTABLE,
909     LISTTEMPLATEID,
910     LISTTEXT,
911     LNBRKRULE,
912     LNDSCPSXN,
913     LNONGRID,
914     LOCH,
915     LQUOTE,
916     LS,
917     LSDLOCKED,
918     LSDLOCKEDDEF,
919     LSDLOCKEDEXCEPT,
920     LSDPRIORITY,
921     LSDPRIORITYDEF,
922     LSDQFORMAT,
923     LSDQFORMATDEF,
924     LSDSEMIHIDDEN,
925     LSDSEMIHIDDENDEF,
926     LSDSTIMAX,
927     LSDUNHIDEUSED,
928     LSDUNHIDEUSEDDEF,
929     LTRCH,
930     LTRDOC,
931     LTRMARK,
932     LTRPAR,
933     LTRROW,
934     LTRSECT,
935     LVLTENTATIVE,
936     LYTCALCTBLWD,
937     LYTEXCTTP,
938     LYTPRTMET,
939     LYTTBLRTGR,
940     MAC,
941     MACC,
942     MACCPR,
943     MACPICT,
944     MAILMERGE,
945     MAKEBACKUP,
946     MALN,
947     MALNSCR,
948     MANAGER,
949     MARGB,
950     MARGBSXN,
951     MARGL,
952     MARGLSXN,
953     MARGMIRROR,
954     MARGMIRSXN,
955     MARGPR,
956     MARGR,
957     MARGRSXN,
958     MARGSZ,
959     MARGT,
960     MARGTSXN,
961     MBAR,
962     MBARPR,
963     MBASEJC,
964     MBEGCHR,
965     MBORDERBOX,
966     MBORDERBOXPR,
967     MBOX,
968     MBOXPR,
969     MBRK,
970     MBRKBIN,
971     MBRKBINSUB,
972     MCGP,
973     MCGPRULE,
974     MCHR,
975     MCOUNT,
976     MCSP,
977     MCTRLPR,
978     MD,
979     MDEFJC,
980     MDEG,
981     MDEGHIDE,
982     MDEN,
983     MDIFF,
984     MDIFFSTY,
985     MDISPDEF,
986     MDPR,
987     ME,
988     MENDCHR,
989     MEQARR,
990     MEQARRPR,
991     MF,
992     MFNAME,
993     MFPR,
994     MFUNC,
995     MFUNCPR,
996     MGROUPCHR,
997     MGROUPCHRPR,
998     MGROW,
999     MHIDEBOT,
1000     MHIDELEFT,
1001     MHIDERIGHT,
1002     MHIDETOP,
1003     MHTMLTAG,
1004     MIN,
1005     MINTERSP,
1006     MINTLIM,
1007     MINTRASP,
1008     MJC,
1009     MLIM,
1010     MLIMLOC,
1011     MLIMLOW,
1012     MLIMLOWPR,
1013     MLIMUPP,
1014     MLIMUPPPR,
1015     MLIT,
1016     MLMARGIN,
1017     MM,
1018     MMADDFIELDNAME,
1019     MMATH,
1020     MMATHFONT,
1021     MMATHPICT,
1022     MMATHPR,
1023     MMATTACH,
1024     MMAXDIST,
1025     MMBLANKLINES,
1026     MMC,
1027     MMCJC,
1028     MMCONNECTSTR,
1029     MMCONNECTSTRDATA,
1030     MMCPR,
1031     MMCS,
1032     MMDATASOURCE,
1033     MMDATATYPEACCESS,
1034     MMDATATYPEEXCEL,
1035     MMDATATYPEFILE,
1036     MMDATATYPEODBC,
1037     MMDATATYPEODSO,
1038     MMDATATYPEQT,
1039     MMDEFAULTSQL,
1040     MMDESTEMAIL,
1041     MMDESTFAX,
1042     MMDESTNEWDOC,
1043     MMDESTPRINTER,
1044     MMERRORS,
1045     MMFTTYPEADDRESS,
1046     MMFTTYPEBARCODE,
1047     MMFTTYPEDBCOLUMN,
1048     MMFTTYPEMAPPED,
1049     MMFTTYPENULL,
1050     MMFTTYPESALUTATION,
1051     MMHEADERSOURCE,
1052     MMJDSOTYPE,
1053     MMLINKTOQUERY,
1054     MMMAILSUBJECT,
1055     MMMAINTYPECATALOG,
1056     MMMAINTYPEEMAIL,
1057     MMMAINTYPEENVELOPES,
1058     MMMAINTYPEFAX,
1059     MMMAINTYPELABELS,
1060     MMMAINTYPELETTERS,
1061     MMODSO,
1062     MMODSOACTIVE,
1063     MMODSOCOLDELIM,
1064     MMODSOCOLUMN,
1065     MMODSODYNADDR,
1066     MMODSOFHDR,
1067     MMODSOFILTER,
1068     MMODSOFLDMPDATA,
1069     MMODSOFMCOLUMN,
1070     MMODSOHASH,
1071     MMODSOLID,
1072     MMODSOMAPPEDNAME,
1073     MMODSONAME,
1074     MMODSORECIPDATA,
1075     MMODSOSORT,
1076     MMODSOSRC,
1077     MMODSOTABLE,
1078     MMODSOUDL,
1079     MMODSOUDLDATA,
1080     MMODSOUNIQUETAG,
1081     MMPR,
1082     MMQUERY,
1083     MMR,
1084     MMRECCUR,
1085     MMSHOWDATA,
1086     MNARY,
1087     MNARYLIM,
1088     MNARYPR,
1089     MNOBREAK,
1090     MNOR,
1091     MNUM,
1092     MO,
1093     MOBJDIST,
1094     MOMATH,
1095     MOMATHPARA,
1096     MOMATHPARAPR,
1097     MOPEMU,
1098     MPHANT,
1099     MPHANTPR,
1100     MPLCHIDE,
1101     MPOS,
1102     MPOSTSP,
1103     MPRESP,
1104     MR,
1105     MRAD,
1106     MRADPR,
1107     MRMARGIN,
1108     MRPR,
1109     MRSP,
1110     MRSPRULE,
1111     MSCR,
1112     MSEPCHR,
1113     MSHOW,
1114     MSHP,
1115     MSMALLFRAC,
1116     MSMCAP,
1117     MSPRE,
1118     MSPREPR,
1119     MSSUB,
1120     MSSUBPR,
1121     MSSUBSUP,
1122     MSSUBSUPPR,
1123     MSSUP,
1124     MSSUPPR,
1125     MSTRIKEBLTR,
1126     MSTRIKEH,
1127     MSTRIKETLBR,
1128     MSTRIKEV,
1129     MSTY,
1130     MSUB,
1131     MSUBHIDE,
1132     MSUP,
1133     MSUPHIDE,
1134     MTRANSP,
1135     MTYPE,
1136     MUSER,
1137     MVAUTH,
1138     MVDATE,
1139     MVERTJC,
1140     MVF,
1141     MVFMF,
1142     MVFML,
1143     MVT,
1144     MVTOF,
1145     MVTOL,
1146     MWRAPINDENT,
1147     MWRAPRIGHT,
1148     MZEROASC,
1149     MZERODESC,
1150     MZEROWID,
1151     NESTCELL,
1152     NESTROW,
1153     NESTTABLEPROPS,
1154     NEWTBLSTYRULS,
1155     NEXTFILE,
1156     NOAFCNSTTBL,
1157     NOBRKWRPTBL,
1158     NOCOLBAL,
1159     NOCOMPATOPTIONS,
1160     NOCWRAP,
1161     NOCXSPTABLE,
1162     NOEXTRASPRL,
1163     NOFCHARS,
1164     NOFCHARSWS,
1165     NOFEATURETHROTTLE,
1166     NOFPAGES,
1167     NOFWORDS,
1168     NOGROWAUTOFIT,
1169     NOINDNMBRTS,
1170     NOJKERNPUNCT,
1171     NOLEAD,
1172     NOLINE,
1173     NOLNHTADJTBL,
1174     NONESTTABLES,
1175     NONSHPPICT,
1176     NOOVERFLOW,
1177     NOPROOF,
1178     NOQFPROMOTE,
1179     NOSECTEXPAND,
1180     NOSNAPLINEGRID,
1181     NOSPACEFORUL,
1182     NOSUPERSUB,
1183     NOTABIND,
1184     NOTBRKCNSTFRCTBL,
1185     NOTCVASP,
1186     NOTVATXBX,
1187     NOUICOMPAT,
1188     NOULTRLSPC,
1189     NOWIDCTLPAR,
1190     NOWRAP,
1191     NOWWRAP,
1192     NOXLATTOYEN,
1193     OBJALIAS,
1194     OBJALIGN,
1195     OBJATTPH,
1196     OBJAUTLINK,
1197     OBJCLASS,
1198     OBJCROPB,
1199     OBJCROPL,
1200     OBJCROPR,
1201     OBJCROPT,
1202     OBJDATA,
1203     OBJECT,
1204     OBJEMB,
1205     OBJH,
1206     OBJHTML,
1207     OBJICEMB,
1208     OBJLINK,
1209     OBJLOCK,
1210     OBJNAME,
1211     OBJOCX,
1212     OBJPUB,
1213     OBJSCALEX,
1214     OBJSCALEY,
1215     OBJSECT,
1216     OBJSETSIZE,
1217     OBJSUB,
1218     OBJTIME,
1219     OBJTRANSY,
1220     OBJUPDATE,
1221     OBJW,
1222     OGUTTER,
1223     OLDAS,
1224     OLDCPROPS,
1225     OLDLINEWRAP,
1226     OLDPPROPS,
1227     OLDSPROPS,
1228     OLDTPROPS,
1229     OLECLSID,
1230     OPERATOR,
1231     OTBLRUL,
1232     OUTL,
1233     OUTLINELEVEL,
1234     OVERLAY,
1235     PAGE,
1236     PAGEBB,
1237     PANOSE,
1238     PAPERH,
1239     PAPERW,
1240     PAR,
1241     PARARSID,
1242     PARD,
1243     PASSWORD,
1244     PASSWORDHASH,
1245     PC,
1246     PCA,
1247     PGBRDRB,
1248     PGBRDRFOOT,
1249     PGBRDRHEAD,
1250     PGBRDRL,
1251     PGBRDROPT,
1252     PGBRDRR,
1253     PGBRDRSNAP,
1254     PGBRDRT,
1255     PGHSXN,
1256     PGNBIDIA,
1257     PGNBIDIB,
1258     PGNCHOSUNG,
1259     PGNCNUM,
1260     PGNCONT,
1261     PGNDBNUM,
1262     PGNDBNUMD,
1263     PGNDBNUMK,
1264     PGNDBNUMT,
1265     PGNDEC,
1266     PGNDECD,
1267     PGNGANADA,
1268     PGNGBNUM,
1269     PGNGBNUMD,
1270     PGNGBNUMK,
1271     PGNGBNUML,
1272     PGNHINDIA,
1273     PGNHINDIB,
1274     PGNHINDIC,
1275     PGNHINDID,
1276     PGNHN,
1277     PGNHNSC,
1278     PGNHNSH,
1279     PGNHNSM,
1280     PGNHNSN,
1281     PGNHNSP,
1282     PGNID,
1283     PGNLCLTR,
1284     PGNLCRM,
1285     PGNRESTART,
1286     PGNSTART,
1287     PGNSTARTS,
1288     PGNTHAIA,
1289     PGNTHAIB,
1290     PGNTHAIC,
1291     PGNUCLTR,
1292     PGNUCRM,
1293     PGNVIETA,
1294     PGNX,
1295     PGNY,
1296     PGNZODIAC,
1297     PGNZODIACD,
1298     PGNZODIACL,
1299     PGP,
1300     PGPTBL,
1301     PGWSXN,
1302     PHCOL,
1303     PHMRG,
1304     PHPG,
1305     PICBMP,
1306     PICBPP,
1307     PICCROPB,
1308     PICCROPL,
1309     PICCROPR,
1310     PICCROPT,
1311     PICH,
1312     PICHGOAL,
1313     PICPROP,
1314     PICSCALED,
1315     PICSCALEX,
1316     PICSCALEY,
1317     PICT,
1318     PICW,
1319     PICWGOAL,
1320     PINDTABQC,
1321     PINDTABQL,
1322     PINDTABQR,
1323     PLAIN,
1324     PMARTABQC,
1325     PMARTABQL,
1326     PMARTABQR,
1327     PMMETAFILE,
1328     PN,
1329     PNACROSS,
1330     PNAIU,
1331     PNAIUD,
1332     PNAIUEO,
1333     PNAIUEOD,
1334     PNB,
1335     PNBIDIA,
1336     PNBIDIB,
1337     PNCAPS,
1338     PNCARD,
1339     PNCF,
1340     PNCHOSUNG,
1341     PNCNUM,
1342     PNDBNUM,
1343     PNDBNUMD,
1344     PNDBNUMK,
1345     PNDBNUML,
1346     PNDBNUMT,
1347     PNDEC,
1348     PNDECD,
1349     PNF,
1350     PNFS,
1351     PNGANADA,
1352     PNGBLIP,
1353     PNGBNUM,
1354     PNGBNUMD,
1355     PNGBNUMK,
1356     PNGBNUML,
1357     PNHANG,
1358     PNI,
1359     PNINDENT,
1360     PNIROHA,
1361     PNIROHAD,
1362     PNLCLTR,
1363     PNLCRM,
1364     PNLVL,
1365     PNLVLBLT,
1366     PNLVLBODY,
1367     PNLVLCONT,
1368     PNNUMONCE,
1369     PNORD,
1370     PNORDT,
1371     PNPREV,
1372     PNQC,
1373     PNQL,
1374     PNQR,
1375     PNRAUTH,
1376     PNRDATE,
1377     PNRESTART,
1378     PNRNFC,
1379     PNRNOT,
1380     PNRPNBR,
1381     PNRRGB,
1382     PNRSTART,
1383     PNRSTOP,
1384     PNRXST,
1385     PNSCAPS,
1386     PNSECLVL,
1387     PNSP,
1388     PNSTART,
1389     PNSTRIKE,
1390     PNTEXT,
1391     PNTXTA,
1392     PNTXTB,
1393     PNUCLTR,
1394     PNUCRM,
1395     PNUL,
1396     PNULD,
1397     PNULDASH,
1398     PNULDASHD,
1399     PNULDASHDD,
1400     PNULDB,
1401     PNULHAIR,
1402     PNULNONE,
1403     PNULTH,
1404     PNULW,
1405     PNULWAVE,
1406     PNZODIAC,
1407     PNZODIACD,
1408     PNZODIACL,
1409     POSNEGX,
1410     POSNEGY,
1411     POSX,
1412     POSXC,
1413     POSXI,
1414     POSXL,
1415     POSXO,
1416     POSXR,
1417     POSY,
1418     POSYB,
1419     POSYC,
1420     POSYIL,
1421     POSYIN,
1422     POSYOUT,
1423     POSYT,
1424     PRAUTH,
1425     PRCOLBL,
1426     PRDATE,
1427     PRINTDATA,
1428     PRINTIM,
1429     PRIVATE,
1430     PROPNAME,
1431     PROPTYPE,
1432     PROTECT,
1433     PROTEND,
1434     PROTLEVEL,
1435     PROTSTART,
1436     PROTUSERTBL,
1437     PSOVER,
1438     PSZ,
1439     PTABLDOT,
1440     PTABLMDOT,
1441     PTABLMINUS,
1442     PTABLNONE,
1443     PTABLUSCORE,
1444     PUBAUTO,
1445     PVMRG,
1446     PVPARA,
1447     PVPG,
1448     PWD,
1449     PXE,
1450     QC,
1451     QD,
1452     QJ,
1453     QK,
1454     QL,
1455     QMSPACE,
1456     QR,
1457     QT,
1458     RAWCLBGDKBDIAG,
1459     RAWCLBGBDIAG,
1460     RAWCLBGCROSS,
1461     RAWCLBGDCROSS,
1462     RAWCLBGDKCROSS,
1463     RAWCLBGDKDCROSS,
1464     RAWCLBGDKFDIAG,
1465     RAWCLBGDKHOR,
1466     RAWCLBGDKVERT,
1467     RAWCLBGFDIAG,
1468     RAWCLBGHORIZ,
1469     RAWCLBGVERT,
1470     RDBLQUOTE,
1471     READONLYRECOMMENDED,
1472     READPROT,
1473     RED,
1474     RELYONVML,
1475     REMDTTM,
1476     REMPERSONALINFO,
1477     RESULT,
1478     REVAUTH,
1479     REVAUTHDEL,
1480     REVBAR,
1481     REVDTTM,
1482     REVDTTMDEL,
1483     REVISED,
1484     REVISIONS,
1485     REVPROP,
1486     REVPROT,
1487     REVTBL,
1488     REVTIM,
1489     RI,
1490     RIN,
1491     ROW,
1492     RQUOTE,
1493     RSID,
1494     RSIDROOT,
1495     RSIDTBL,
1496     RSLTBMP,
1497     RSLTHTML,
1498     RSLTMERGE,
1499     RSLTPICT,
1500     RSLTRTF,
1501     RSLTTXT,
1502     RTF,
1503     RTLCH,
1504     RTLDOC,
1505     RTLGUTTER,
1506     RTLMARK,
1507     RTLPAR,
1508     RTLROW,
1509     RTLSECT,
1510     RXE,
1511     S,
1512     SA,
1513     SAAUTO,
1514     SAFTNNALC,
1515     SAFTNNAR,
1516     SAFTNNAUC,
1517     SAFTNNCHI,
1518     SAFTNNCHOSUNG,
1519     SAFTNNCNUM,
1520     SAFTNNDBAR,
1521     SAFTNNDBNUM,
1522     SAFTNNDBNUMD,
1523     SAFTNNDBNUMK,
1524     SAFTNNDBNUMT,
1525     SAFTNNGANADA,
1526     SAFTNNGBNUM,
1527     SAFTNNGBNUMD,
1528     SAFTNNGBNUMK,
1529     SAFTNNGBNUML,
1530     SAFTNNRLC,
1531     SAFTNNRUC,
1532     SAFTNNZODIAC,
1533     SAFTNNZODIACD,
1534     SAFTNNZODIACL,
1535     SAFTNRESTART,
1536     SAFTNRSTCONT,
1537     SAFTNSTART,
1538     SAUTOUPD,
1539     SAVEINVALIDXML,
1540     SAVEPREVPICT,
1541     SB,
1542     SBASEDON,
1543     SBAUTO,
1544     SBKCOL,
1545     SBKEVEN,
1546     SBKNONE,
1547     SBKODD,
1548     SBKPAGE,
1549     SBYS,
1550     SCAPS,
1551     SCOMPOSE,
1552     SEC,
1553     SECT,
1554     SECTD,
1555     SECTDEFAULTCL,
1556     SECTEXPAND,
1557     SECTLINEGRID,
1558     SECTNUM,
1559     SECTRSID,
1560     SECTSPECIFYCL,
1561     SECTSPECIFYGENN,
1562     SECTSPECIFYL,
1563     SECTUNLOCKED,
1564     SFTNBJ,
1565     SFTNNALC,
1566     SFTNNAR,
1567     SFTNNAUC,
1568     SFTNNCHI,
1569     SFTNNCHOSUNG,
1570     SFTNNCNUM,
1571     SFTNNDBAR,
1572     SFTNNDBNUM,
1573     SFTNNDBNUMD,
1574     SFTNNDBNUMK,
1575     SFTNNDBNUMT,
1576     SFTNNGANADA,
1577     SFTNNGBNUM,
1578     SFTNNGBNUMD,
1579     SFTNNGBNUMK,
1580     SFTNNGBNUML,
1581     SFTNNRLC,
1582     SFTNNRUC,
1583     SFTNNZODIAC,
1584     SFTNNZODIACD,
1585     SFTNNZODIACL,
1586     SFTNRESTART,
1587     SFTNRSTCONT,
1588     SFTNRSTPG,
1589     SFTNSTART,
1590     SFTNTJ,
1591     SHAD,
1592     SHADING,
1593     SHIDDEN,
1594     SHIFT,
1595     SHOWPLACEHOLDTEXT,
1596     SHOWXMLERRORS,
1597     SHP,
1598     SHPBOTTOM,
1599     SHPBXCOLUMN,
1600     SHPBXIGNORE,
1601     SHPBXMARGIN,
1602     SHPBXPAGE,
1603     SHPBYIGNORE,
1604     SHPBYMARGIN,
1605     SHPBYPAGE,
1606     SHPBYPARA,
1607     SHPFBLWTXT,
1608     SHPFHDR,
1609     SHPGRP,
1610     SHPINST,
1611     SHPLEFT,
1612     SHPLID,
1613     SHPLOCKANCHOR,
1614     SHPPICT,
1615     SHPRIGHT,
1616     SHPRSLT,
1617     SHPTOP,
1618     SHPTXT,
1619     SHPWRK,
1620     SHPWR,
1621     SHPZ,
1622     SL,
1623     SLINK,
1624     SLMULT,
1625     SLOCKED,
1626     SN,
1627     SNAPTOGRIDINCELL,
1628     SNEXT,
1629     SOFTCOL,
1630     SOFTLHEIGHT,
1631     SOFTLINE,
1632     SOFTPAGE,
1633     SP,
1634     SPERSONAL,
1635     SPLTPGPAR,
1636     SPLYTWNINE,
1637     SPRIORITY,
1638     SPRSBSP,
1639     SPRSLNSP,
1640     SPRSSPBF,
1641     SPRSTSM,
1642     SPRSTSP,
1643     SPV,
1644     SQFORMAT,
1645     SRAUTH,
1646     SRDATE,
1647     SREPLY,
1648     SSEMIHIDDEN,
1649     STATICVAL,
1650     STEXTFLOW,
1651     STRIKE,
1652     STRIKED,
1653     STSHFBI,
1654     STSHFDBCH,
1655     STSHFHICH,
1656     STSHFLOCH,
1657     STYLELOCK,
1658     STYLELOCKBACKCOMP,
1659     STYLELOCKENFORCED,
1660     STYLELOCKQFSET,
1661     STYLELOCKTHEME,
1662     STYLESHEET,
1663     STYLESORTMETHOD,
1664     STYRSID,
1665     SUB,
1666     SUBDOCUMENT,
1667     SUBFONTBYSIZE,
1668     SUBJECT,
1669     SUNHIDEUSED,
1670     SUPER,
1671     SV,
1672     SVB,
1673     SWPBDR,
1674     TAB,
1675     TABSNOOVRLP,
1676     TAPRTL,
1677     TB,
1678     TBLIND,
1679     TBLINDTYPE,
1680     TBLLKBESTFIT,
1681     TBLLKBORDER,
1682     TBLLKCOLOR,
1683     TBLLKFONT,
1684     TBLLKHDRCOLS,
1685     TBLLKHDRROWS,
1686     TBLLKLASTCOL,
1687     TBLLKLASTROW,
1688     TBLLKNOCOLBAND,
1689     TBLLKNOROWBAND,
1690     TBLLKSHADING,
1691     TBLRSID,
1692     TC,
1693     TCELLD,
1694     TCF,
1695     TCL,
1696     TCN,
1697     TDFRMTXTBOTTOM,
1698     TDFRMTXTLEFT,
1699     TDFRMTXTRIGHT,
1700     TDFRMTXTTOP,
1701     TEMPLATE,
1702     THEMEDATA,
1703     THEMELANG,
1704     THEMELANGCS,
1705     THEMELANGFE,
1706     TIME,
1707     TITLE,
1708     TITLEPG,
1709     TLDOT,
1710     TLEQ,
1711     TLHYPH,
1712     TLMDOT,
1713     TLTH,
1714     TLUL,
1715     TOPLINEPUNCT,
1716     TPHCOL,
1717     TPHMRG,
1718     TPHPG,
1719     TPOSNEGX,
1720     TPOSNEGY,
1721     TPOSXC,
1722     TPOSXI,
1723     TPOSXL,
1724     TPOSX,
1725     TPOSXO,
1726     TPOSXR,
1727     TPOSY,
1728     TPOSYB,
1729     TPOSYC,
1730     TPOSYIL,
1731     TPOSYIN,
1732     TPOSYOUT,
1733     TPOSYT,
1734     TPVMRG,
1735     TPVPARA,
1736     TPVPG,
1737     TQC,
1738     TQDEC,
1739     TQR,
1740     TRACKFORMATTING,
1741     TRACKMOVES,
1742     TRANSMF,
1743     TRAUTH,
1744     TRAUTOFIT,
1745     TRBGBDIAG,
1746     TRBGCROSS,
1747     TRBGDCROSS,
1748     TRBGDKBDIAG,
1749     TRBGDKCROSS,
1750     TRBGDKDCROSS,
1751     TRBGDKFDIAG,
1752     TRBGDKHOR,
1753     TRBGDKVERT,
1754     TRBGFDIAG,
1755     TRBGHORIZ,
1756     TRBGVERT,
1757     TRBRDRB,
1758     TRBRDRH,
1759     TRBRDRL,
1760     TRBRDRR,
1761     TRBRDRT,
1762     TRBRDRV,
1763     TRCBPAT,
1764     TRCFPAT,
1765     TRDATE,
1766     TRFTSWIDTHA,
1767     TRFTSWIDTHB,
1768     TRFTSWIDTH,
1769     TRGAPH,
1770     TRHDR,
1771     TRKEEP,
1772     TRKEEPFOLLOW,
1773     TRLEFT,
1774     TROWD,
1775     TRPADDB,
1776     TRPADDFB,
1777     TRPADDFL,
1778     TRPADDFR,
1779     TRPADDFT,
1780     TRPADDL,
1781     TRPADDR,
1782     TRPADDT,
1783     TRPADOB,
1784     TRPADOFB,
1785     TRPADOFL,
1786     TRPADOFR,
1787     TRPADOFT,
1788     TRPADOL,
1789     TRPADOR,
1790     TRPADOT,
1791     TRPAT,
1792     TRQC,
1793     TRQL,
1794     TRQR,
1795     TRRH,
1796     TRSHDNG,
1797     TRSPDB,
1798     TRSPDFB,
1799     TRSPDFL,
1800     TRSPDFR,
1801     TRSPDFT,
1802     TRSPDL,
1803     TRSPDR,
1804     TRSPDT,
1805     TRSPOB,
1806     TRSPOFB,
1807     TRSPOFL,
1808     TRSPOFR,
1809     TRSPOFT,
1810     TRSPOL,
1811     TRSPOR,
1812     TRSPOT,
1813     TRUNCATEFONTHEIGHT,
1814     TRUNCEX,
1815     TRWWIDTHA,
1816     TRWWIDTHB,
1817     TRWWIDTH,
1818     TS,
1819     TSBGBDIAG,
1820     TSBGCROSS,
1821     TSBGDCROSS,
1822     TSBGDKBDIAG,
1823     TSBGDKCROSS,
1824     TSBGDKDCROSS,
1825     TSBGDKFDIAG,
1826     TSBGDKHOR,
1827     TSBGDKVERT,
1828     TSBGFDIAG,
1829     TSBGHORIZ,
1830     TSBGVERT,
1831     TSBRDRB,
1832     TSBRDRDGL,
1833     TSBRDRDGR,
1834     TSBRDRH,
1835     TSBRDRL,
1836     TSBRDRR,
1837     TSBRDRT,
1838     TSBRDRV,
1839     TSCBANDHORZEVEN,
1840     TSCBANDHORZODD,
1841     TSCBANDSH,
1842     TSCBANDSV,
1843     TSCBANDVERTEVEN,
1844     TSCBANDVERTODD,
1845     TSCELLCBPAT,
1846     TSCELLCFPAT,
1847     TSCELLPADDB,
1848     TSCELLPADDFB,
1849     TSCELLPADDFL,
1850     TSCELLPADDFR,
1851     TSCELLPADDFT,
1852     TSCELLPADDL,
1853     TSCELLPADDR,
1854     TSCELLPADDT,
1855     TSCELLPCT,
1856     TSCELLWIDTH,
1857     TSCELLWIDTHFTS,
1858     TSCFIRSTCOL,
1859     TSCFIRSTROW,
1860     TSCLASTCOL,
1861     TSCLASTROW,
1862     TSCNECELL,
1863     TSCNWCELL,
1864     TSCSECELL,
1865     TSCSWCELL,
1866     TSD,
1867     TSNOWRAP,
1868     TSROWD,
1869     TSVERTALB,
1870     TSVERTALC,
1871     TSVERTALT,
1872     TWOINONE,
1873     TWOONONE,
1874     TX,
1875     TXBXTWALWAYS,
1876     TXBXTWFIRST,
1877     TXBXTWFIRSTLAST,
1878     TXBXTWLAST,
1879     TXBXTWNO,
1880     TXE,
1881     U,
1882     UC,
1883     UD,
1884     UL,
1885     ULC,
1886     ULD,
1887     ULDASH,
1888     ULDASHD,
1889     ULDASHDD,
1890     ULDB,
1891     ULHAIR,
1892     ULHWAVE,
1893     ULLDASH,
1894     ULNONE,
1895     ULTH,
1896     ULTHD,
1897     ULTHDASH,
1898     ULTHDASHD,
1899     ULTHDASHDD,
1900     ULTHLDASH,
1901     ULULDBWAVE,
1902     ULW,
1903     ULWAVE,
1904     UP,
1905     UPR,
1906     URTF,
1907     USELTBALN,
1908     USENORMSTYFORLIST,
1909     USERPROPS,
1910     USEXFORM,
1911     UTINL,
1912     V,
1913     VALIDATEXML,
1914     VERN,
1915     VERSION,
1916     VERTAL,
1917     VERTALB,
1918     VERTALC,
1919     VERTALJ,
1920     VERTALT,
1921     VERTDOC,
1922     VERTSECT,
1923     VIEWBKSP,
1924     VIEWKIND,
1925     VIEWNOBOUND,
1926     VIEWSCALE,
1927     VIEWZK,
1928     WBITMAP,
1929     WBMBITSPIXEL,
1930     WBMPLANES,
1931     WBMWIDTHBYTE,
1932     WEBHIDDEN,
1933     WGRFFMTFILTER,
1934     WIDCTLPAR,
1935     WIDOWCTRL,
1936     WINDOWCAPTION,
1937     WMETAFILE,
1938     WPEQN,
1939     WPJST,
1940     WPSP,
1941     WRAPAROUND,
1942     WRAPDEFAULT,
1943     WRAPTHROUGH,
1944     WRAPTIGHT,
1945     WRAPTRSP,
1946     WRITERESERVATION,
1947     WRITERESERVHASH,
1948     WRPPUNCT,
1949     XE,
1950     XEF,
1951     XFORM,
1952     XMLATTR,
1953     XMLATTRNAME,
1954     XMLATTRNS,
1955     XMLATTRVALUE,
1956     XMLCLOSE,
1957     XMLNAME,
1958     XMLNS,
1959     XMLNSTBL,
1960     XMLOPEN,
1961     XMLSDTTCELL,
1962     XMLSDTTPARA,
1963     XMLSDTTREGULAR,
1964     XMLSDTTROW,
1965     XMLSDTTUNKNOWN,
1966     YR,
1967     YTS,
1968     YXE,
1969     ZWBO,
1970     ZWJ,
1971     ZWNBO,
1972     ZWNJ,
1973     FLYMAINCNT,
1974     FLYVERT,
1975     FLYHORZ,
1976     FLYANCHOR
1977 };
1978 const char* keywordToString(RTFKeyword nKeyword);
1979 
1980 /// Types of an RTF Control Word
1981 enum class RTFControlType
1982 {
1983     FLAG, // eg \sbknone takes no parameter
1984     DESTINATION, // eg \fonttbl, if ignored, the whole group should be skipped
1985     SYMBOL, // eg \tab
1986     TOGGLE, // eg \b (between on and off)
1987     VALUE // eg \fs (requires parameter)
1988 };
1989 
1990 /// Represents an RTF Control Word
1991 class RTFSymbol
1992 {
1993     const char* m_sKeyword;
1994     RTFControlType m_eControlType;
1995     RTFKeyword m_nIndex;
1996 
1997     int m_nDefValue; ///< Most of the control words default to 0.
1998 
1999 public:
RTFSymbol(const char * sKeyword,RTFControlType nControlType,RTFKeyword nIndex,int nDefValue)2000     RTFSymbol(const char* sKeyword, RTFControlType nControlType, RTFKeyword nIndex, int nDefValue)
2001         : m_sKeyword(sKeyword)
2002         , m_eControlType(nControlType)
2003         , m_nIndex(nIndex)
2004         , m_nDefValue(nDefValue)
2005     {
2006     }
2007 
GetKeyword() const2008     const char* GetKeyword() const { return m_sKeyword; }
2009 
GetControlType() const2010     RTFControlType GetControlType() const { return m_eControlType; }
2011 
GetIndex() const2012     RTFKeyword GetIndex() const { return m_nIndex; }
2013 
GetDefValue() const2014     int GetDefValue() const { return m_nDefValue; }
2015 };
2016 
2017 extern RTFSymbol const aRTFControlWords[];
2018 extern const int nRTFControlWords;
2019 
2020 /// Represents an RTF Math Control Word
2021 class RTFMathSymbol
2022 {
2023     RTFKeyword m_eKeyword;
2024     int m_nToken; ///< This is the OOXML token equivalent.
2025     Destination m_eDestination;
2026 
2027 public:
RTFMathSymbol(RTFKeyword eKeyword,int nToken=0,Destination eDestination=Destination::NORMAL)2028     RTFMathSymbol(RTFKeyword eKeyword, int nToken = 0,
2029                   Destination eDestination = Destination::NORMAL)
2030         : m_eKeyword(eKeyword)
2031         , m_nToken(nToken)
2032         , m_eDestination(eDestination)
2033     {
2034     }
2035 
GetToken() const2036     int GetToken() const { return m_nToken; }
2037 
GetDestination() const2038     Destination GetDestination() const { return m_eDestination; }
2039 
2040     bool operator<(const RTFMathSymbol& rOther) const;
2041 };
2042 
2043 extern RTFMathSymbol const aRTFMathControlWords[];
2044 extern const int nRTFMathControlWords;
2045 
2046 } // namespace writerfilter::rtftok
2047 
2048 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
2049