Make RTFKeyword and RTFControlType scoped enums
Change-Id: Ifae0afd1468ab162b8d815e8b614afc1442169a6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113406
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.cxx b/writerfilter/source/rtftok/rtfcontrolwords.cxx
index 38bc9d6..3f5a082 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.cxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.cxx
@@ -14,1881 +14,1881 @@ namespace writerfilter::rtftok
{
RTFSymbol const aRTFControlWords[] = {
// sKeyword nControlType nIndex
{ "'", CONTROL_SYMBOL, RTF_HEXCHAR, 0 },
{ "-", CONTROL_SYMBOL, RTF_OPTHYPH, 0 },
{ "*", CONTROL_SYMBOL, RTF_IGNORE, 0 },
{ ":", CONTROL_SYMBOL, RTF_SUBENTRY, 0 },
{ "\\", CONTROL_SYMBOL, RTF_BACKSLASH, 0 },
{ "\n", CONTROL_SYMBOL, RTF_PAR, 0 },
{ "\r", CONTROL_SYMBOL, RTF_PAR, 0 },
{ "\r\n", CONTROL_SYMBOL, RTF_PAR, 0 },
{ "_", CONTROL_SYMBOL, RTF_NOBRKHYPH, 0 },
{ "{", CONTROL_SYMBOL, RTF_LBRACE, 0 },
{ "|", CONTROL_SYMBOL, RTF_FORMULA, 0 },
{ "}", CONTROL_SYMBOL, RTF_RBRACE, 0 },
{ "~", CONTROL_SYMBOL, RTF_NOBREAK, 0 },
{ "ab", CONTROL_TOGGLE, RTF_AB, 1 },
{ "absh", CONTROL_VALUE, RTF_ABSH, 0 },
{ "abslock", CONTROL_FLAG, RTF_ABSLOCK, 0 },
{ "absnoovrlp", CONTROL_TOGGLE, RTF_ABSNOOVRLP, 1 },
{ "absw", CONTROL_VALUE, RTF_ABSW, 0 },
{ "acaps", CONTROL_TOGGLE, RTF_ACAPS, 1 },
{ "acccircle", CONTROL_TOGGLE, RTF_ACCCIRCLE, 1 },
{ "acccomma", CONTROL_TOGGLE, RTF_ACCCOMMA, 1 },
{ "accdot", CONTROL_TOGGLE, RTF_ACCDOT, 1 },
{ "accnone", CONTROL_TOGGLE, RTF_ACCNONE, 1 },
{ "accunderdot", CONTROL_TOGGLE, RTF_ACCUNDERDOT, 1 },
{ "acf", CONTROL_VALUE, RTF_ACF, 0 },
{ "adeff", CONTROL_VALUE, RTF_ADEFF, 0 },
{ "additive", CONTROL_FLAG, RTF_ADDITIVE, 0 },
{ "adeflang", CONTROL_VALUE, RTF_ADEFLANG, 0 },
{ "adjustright", CONTROL_FLAG, RTF_ADJUSTRIGHT, 0 },
{ "adn", CONTROL_VALUE, RTF_ADN, 6 },
{ "aenddoc", CONTROL_FLAG, RTF_AENDDOC, 0 },
{ "aendnotes", CONTROL_FLAG, RTF_AENDNOTES, 0 },
{ "aexpnd", CONTROL_VALUE, RTF_AEXPND, 0 },
{ "af", CONTROL_VALUE, RTF_AF, 0 },
{ "afelev", CONTROL_FLAG, RTF_AFELEV, 0 },
{ "afs", CONTROL_VALUE, RTF_AFS, 24 },
{ "aftnbj", CONTROL_FLAG, RTF_AFTNBJ, 0 },
{ "aftncn", CONTROL_DESTINATION, RTF_AFTNCN, 0 },
{ "aftnnalc", CONTROL_FLAG, RTF_AFTNNALC, 0 },
{ "aftnnar", CONTROL_FLAG, RTF_AFTNNAR, 0 },
{ "aftnnauc", CONTROL_FLAG, RTF_AFTNNAUC, 0 },
{ "aftnnchi", CONTROL_FLAG, RTF_AFTNNCHI, 0 },
{ "aftnnchosung", CONTROL_FLAG, RTF_AFTNNCHOSUNG, 0 },
{ "aftnncnum", CONTROL_FLAG, RTF_AFTNNCNUM, 0 },
{ "aftnndbar", CONTROL_FLAG, RTF_AFTNNDBAR, 0 },
{ "aftnndbnum", CONTROL_FLAG, RTF_AFTNNDBNUM, 0 },
{ "aftnndbnumd", CONTROL_FLAG, RTF_AFTNNDBNUMD, 0 },
{ "aftnndbnumk", CONTROL_FLAG, RTF_AFTNNDBNUMK, 0 },
{ "aftnndbnumt", CONTROL_FLAG, RTF_AFTNNDBNUMT, 0 },
{ "aftnnganada", CONTROL_FLAG, RTF_AFTNNGANADA, 0 },
{ "aftnngbnum", CONTROL_FLAG, RTF_AFTNNGBNUM, 0 },
{ "aftnngbnumd", CONTROL_FLAG, RTF_AFTNNGBNUMD, 0 },
{ "aftnngbnumk", CONTROL_FLAG, RTF_AFTNNGBNUMK, 0 },
{ "aftnngbnuml", CONTROL_FLAG, RTF_AFTNNGBNUML, 0 },
{ "aftnnrlc", CONTROL_FLAG, RTF_AFTNNRLC, 0 },
{ "aftnnruc", CONTROL_FLAG, RTF_AFTNNRUC, 0 },
{ "aftnnzodiac", CONTROL_FLAG, RTF_AFTNNZODIAC, 0 },
{ "aftnnzodiacd", CONTROL_FLAG, RTF_AFTNNZODIACD, 0 },
{ "aftnnzodiacl", CONTROL_FLAG, RTF_AFTNNZODIACL, 0 },
{ "aftnrestart", CONTROL_FLAG, RTF_AFTNRESTART, 0 },
{ "aftnrstcont", CONTROL_FLAG, RTF_AFTNRSTCONT, 0 },
{ "aftnsep", CONTROL_DESTINATION, RTF_AFTNSEP, 0 },
{ "aftnsepc", CONTROL_DESTINATION, RTF_AFTNSEPC, 0 },
{ "aftnstart", CONTROL_VALUE, RTF_AFTNSTART, 1 },
{ "aftntj", CONTROL_FLAG, RTF_AFTNTJ, 0 },
{ "ai", CONTROL_TOGGLE, RTF_AI, 1 },
{ "alang", CONTROL_VALUE, RTF_ALANG, 0 },
{ "allowfieldendsel", CONTROL_FLAG, RTF_ALLOWFIELDENDSEL, 0 },
{ "allprot", CONTROL_FLAG, RTF_ALLPROT, 0 },
{ "alntblind", CONTROL_FLAG, RTF_ALNTBLIND, 0 },
{ "alt", CONTROL_FLAG, RTF_ALT, 0 },
{ "animtext", CONTROL_VALUE, RTF_ANIMTEXT, 0 },
{ "annotation", CONTROL_DESTINATION, RTF_ANNOTATION, 0 },
{ "annotprot", CONTROL_FLAG, RTF_ANNOTPROT, 0 },
{ "ansi", CONTROL_FLAG, RTF_ANSI, 0 },
{ "ansicpg", CONTROL_VALUE, RTF_ANSICPG, 0 },
{ "aoutl", CONTROL_TOGGLE, RTF_AOUTL, 1 },
{ "ApplyBrkRules", CONTROL_FLAG, RTF_APPLYBRKRULES, 0 },
{ "ascaps", CONTROL_TOGGLE, RTF_ASCAPS, 1 },
{ "ashad", CONTROL_TOGGLE, RTF_ASHAD, 1 },
{ "asianbrkrule", CONTROL_FLAG, RTF_ASIANBRKRULE, 0 },
{ "aspalpha", CONTROL_TOGGLE, RTF_ASPALPHA, 1 },
{ "aspnum", CONTROL_TOGGLE, RTF_ASPNUM, 1 },
{ "astrike", CONTROL_TOGGLE, RTF_ASTRIKE, 1 },
{ "atnauthor", CONTROL_DESTINATION, RTF_ATNAUTHOR, 0 },
{ "atndate", CONTROL_DESTINATION, RTF_ATNDATE, 0 },
{ "atnicn", CONTROL_DESTINATION, RTF_ATNICN, 0 },
{ "atnid", CONTROL_DESTINATION, RTF_ATNID, 0 },
{ "atnparent", CONTROL_DESTINATION, RTF_ATNPARENT, 0 },
{ "atnref", CONTROL_DESTINATION, RTF_ATNREF, 0 },
{ "atntime", CONTROL_DESTINATION, RTF_ATNTIME, 0 },
{ "atrfend", CONTROL_DESTINATION, RTF_ATRFEND, 0 },
{ "atrfstart", CONTROL_DESTINATION, RTF_ATRFSTART, 0 },
{ "aul", CONTROL_TOGGLE, RTF_AUL, 1 },
{ "auld", CONTROL_TOGGLE, RTF_AULD, 1 },
{ "auldb", CONTROL_TOGGLE, RTF_AULDB, 1 },
{ "aulnone", CONTROL_TOGGLE, RTF_AULNONE, 1 },
{ "aulw", CONTROL_TOGGLE, RTF_AULW, 1 },
{ "aup", CONTROL_VALUE, RTF_AUP, 6 },
{ "author", CONTROL_DESTINATION, RTF_AUTHOR, 0 },
{ "autofmtoverride", CONTROL_FLAG, RTF_AUTOFMTOVERRIDE, 0 },
{ "b", CONTROL_TOGGLE, RTF_B, 1 },
{ "background", CONTROL_DESTINATION, RTF_BACKGROUND, 0 },
{ "bdbfhdr", CONTROL_FLAG, RTF_BDBFHDR, 0 },
{ "bdrrlswsix", CONTROL_FLAG, RTF_BDRRLSWSIX, 0 },
{ "bgbdiag", CONTROL_FLAG, RTF_BGBDIAG, 0 },
{ "bgcross", CONTROL_FLAG, RTF_BGCROSS, 0 },
{ "bgdcross", CONTROL_FLAG, RTF_BGDCROSS, 0 },
{ "bgdkbdiag", CONTROL_FLAG, RTF_BGDKBDIAG, 0 },
{ "bgdkcross", CONTROL_FLAG, RTF_BGDKCROSS, 0 },
{ "bgdkdcross", CONTROL_FLAG, RTF_BGDKDCROSS, 0 },
{ "bgdkfdiag", CONTROL_FLAG, RTF_BGDKFDIAG, 0 },
{ "bgdkhoriz", CONTROL_FLAG, RTF_BGDKHORIZ, 0 },
{ "bgdkvert", CONTROL_FLAG, RTF_BGDKVERT, 0 },
{ "bgfdiag", CONTROL_FLAG, RTF_BGFDIAG, 0 },
{ "bghoriz", CONTROL_FLAG, RTF_BGHORIZ, 0 },
{ "bgvert", CONTROL_FLAG, RTF_BGVERT, 0 },
{ "bin", CONTROL_VALUE, RTF_BIN, 0 },
{ "binfsxn", CONTROL_VALUE, RTF_BINFSXN, 0 },
{ "binsxn", CONTROL_VALUE, RTF_BINSXN, 0 },
{ "bkmkcolf", CONTROL_VALUE, RTF_BKMKCOLF, 0 },
{ "bkmkcoll", CONTROL_VALUE, RTF_BKMKCOLL, 0 },
{ "bkmkend", CONTROL_DESTINATION, RTF_BKMKEND, 0 },
{ "bkmkpub", CONTROL_FLAG, RTF_BKMKPUB, 0 },
{ "bkmkstart", CONTROL_DESTINATION, RTF_BKMKSTART, 0 },
{ "bliptag", CONTROL_VALUE, RTF_BLIPTAG, 0 },
{ "blipuid", CONTROL_DESTINATION, RTF_BLIPUID, 0 },
{ "blipupi", CONTROL_VALUE, RTF_BLIPUPI, 0 },
{ "blue", CONTROL_VALUE, RTF_BLUE, 0 },
{ "bookfold", CONTROL_FLAG, RTF_BOOKFOLD, 0 },
{ "bookfoldrev", CONTROL_FLAG, RTF_BOOKFOLDREV, 0 },
{ "bookfoldsheets", CONTROL_VALUE, RTF_BOOKFOLDSHEETS, 0 },
{ "box", CONTROL_FLAG, RTF_BOX, 0 },
{ "brdrart", CONTROL_VALUE, RTF_BRDRART, 0 },
{ "brdrb", CONTROL_FLAG, RTF_BRDRB, 0 },
{ "brdrbar", CONTROL_FLAG, RTF_BRDRBAR, 0 },
{ "brdrbtw", CONTROL_FLAG, RTF_BRDRBTW, 0 },
{ "brdrcf", CONTROL_VALUE, RTF_BRDRCF, 0 },
{ "brdrdash", CONTROL_FLAG, RTF_BRDRDASH, 0 },
{ "brdrdashd", CONTROL_FLAG, RTF_BRDRDASHD, 0 },
{ "brdrdashdd", CONTROL_FLAG, RTF_BRDRDASHDD, 0 },
{ "brdrdashdotstr", CONTROL_FLAG, RTF_BRDRDASHDOTSTR, 0 },
{ "brdrdashsm", CONTROL_FLAG, RTF_BRDRDASHSM, 0 },
{ "brdrdb", CONTROL_FLAG, RTF_BRDRDB, 0 },
{ "brdrdot", CONTROL_FLAG, RTF_BRDRDOT, 0 },
{ "brdremboss", CONTROL_FLAG, RTF_BRDREMBOSS, 0 },
{ "brdrengrave", CONTROL_FLAG, RTF_BRDRENGRAVE, 0 },
{ "brdrframe", CONTROL_FLAG, RTF_BRDRFRAME, 0 },
{ "brdrhair", CONTROL_FLAG, RTF_BRDRHAIR, 0 },
{ "brdrinset", CONTROL_FLAG, RTF_BRDRINSET, 0 },
{ "brdrl", CONTROL_FLAG, RTF_BRDRL, 0 },
{ "brdrnil", CONTROL_FLAG, RTF_BRDRNIL, 0 },
{ "brdrnone", CONTROL_FLAG, RTF_BRDRNONE, 0 },
{ "brdroutset", CONTROL_FLAG, RTF_BRDROUTSET, 0 },
{ "brdrr", CONTROL_FLAG, RTF_BRDRR, 0 },
{ "brdrs", CONTROL_FLAG, RTF_BRDRS, 0 },
{ "brdrsh", CONTROL_FLAG, RTF_BRDRSH, 0 },
{ "brdrt", CONTROL_FLAG, RTF_BRDRT, 0 },
{ "brdrtbl", CONTROL_FLAG, RTF_BRDRTBL, 0 },
{ "brdrth", CONTROL_FLAG, RTF_BRDRTH, 0 },
{ "brdrthtnlg", CONTROL_FLAG, RTF_BRDRTHTNLG, 0 },
{ "brdrthtnmg", CONTROL_FLAG, RTF_BRDRTHTNMG, 0 },
{ "brdrthtnsg", CONTROL_FLAG, RTF_BRDRTHTNSG, 0 },
{ "brdrtnthlg", CONTROL_FLAG, RTF_BRDRTNTHLG, 0 },
{ "brdrtnthmg", CONTROL_FLAG, RTF_BRDRTNTHMG, 0 },
{ "brdrtnthsg", CONTROL_FLAG, RTF_BRDRTNTHSG, 0 },
{ "brdrtnthtnlg", CONTROL_FLAG, RTF_BRDRTNTHTNLG, 0 },
{ "brdrtnthtnmg", CONTROL_FLAG, RTF_BRDRTNTHTNMG, 0 },
{ "brdrtnthtnsg", CONTROL_FLAG, RTF_BRDRTNTHTNSG, 0 },
{ "brdrtriple", CONTROL_FLAG, RTF_BRDRTRIPLE, 0 },
{ "brdrw", CONTROL_VALUE, RTF_BRDRW, 0 },
{ "brdrwavy", CONTROL_FLAG, RTF_BRDRWAVY, 0 },
{ "brdrwavydb", CONTROL_FLAG, RTF_BRDRWAVYDB, 0 },
{ "brkfrm", CONTROL_FLAG, RTF_BRKFRM, 0 },
{ "brsp", CONTROL_VALUE, RTF_BRSP, 0 },
{ "bullet", CONTROL_SYMBOL, RTF_BULLET, 0 },
{ "buptim", CONTROL_DESTINATION, RTF_BUPTIM, 0 },
{ "bxe", CONTROL_FLAG, RTF_BXE, 0 },
{ "caccentfive", CONTROL_FLAG, RTF_CACCENTFIVE, 0 },
{ "caccentfour", CONTROL_FLAG, RTF_CACCENTFOUR, 0 },
{ "caccentone", CONTROL_FLAG, RTF_CACCENTONE, 0 },
{ "caccentsix", CONTROL_FLAG, RTF_CACCENTSIX, 0 },
{ "caccentthree", CONTROL_FLAG, RTF_CACCENTTHREE, 0 },
{ "caccenttwo", CONTROL_FLAG, RTF_CACCENTTWO, 0 },
{ "cachedcolbal", CONTROL_FLAG, RTF_CACHEDCOLBAL, 0 },
{ "caps", CONTROL_TOGGLE, RTF_CAPS, 1 },
{ "category", CONTROL_DESTINATION, RTF_CATEGORY, 0 },
{ "cb", CONTROL_VALUE, RTF_CB, 0 },
{ "cbackgroundone", CONTROL_FLAG, RTF_CBACKGROUNDONE, 0 },
{ "cbackgroundtwo", CONTROL_FLAG, RTF_CBACKGROUNDTWO, 0 },
{ "cbpat", CONTROL_VALUE, RTF_CBPAT, 0 },
{ "cchs", CONTROL_VALUE, RTF_CCHS, 0 },
{ "cell", CONTROL_SYMBOL, RTF_CELL, 0 },
{ "cellx", CONTROL_VALUE, RTF_CELLX, 0 },
{ "cf", CONTROL_VALUE, RTF_CF, 0 },
{ "cfollowedhyperlink", CONTROL_FLAG, RTF_CFOLLOWEDHYPERLINK, 0 },
{ "cfpat", CONTROL_VALUE, RTF_CFPAT, 0 },
{ "cgrid", CONTROL_VALUE, RTF_CGRID, 0 },
{ "charrsid", CONTROL_VALUE, RTF_CHARRSID, 0 },
{ "charscalex", CONTROL_VALUE, RTF_CHARSCALEX, 100 },
{ "chatn", CONTROL_SYMBOL, RTF_CHATN, 0 },
{ "chbgbdiag", CONTROL_FLAG, RTF_CHBGBDIAG, 0 },
{ "chbgcross", CONTROL_FLAG, RTF_CHBGCROSS, 0 },
{ "chbgdcross", CONTROL_FLAG, RTF_CHBGDCROSS, 0 },
{ "chbgdkbdiag", CONTROL_FLAG, RTF_CHBGDKBDIAG, 0 },
{ "chbgdkcross", CONTROL_FLAG, RTF_CHBGDKCROSS, 0 },
{ "chbgdkdcross", CONTROL_FLAG, RTF_CHBGDKDCROSS, 0 },
{ "chbgdkfdiag", CONTROL_FLAG, RTF_CHBGDKFDIAG, 0 },
{ "chbgdkhoriz", CONTROL_FLAG, RTF_CHBGDKHORIZ, 0 },
{ "chbgdkvert", CONTROL_FLAG, RTF_CHBGDKVERT, 0 },
{ "chbgfdiag", CONTROL_FLAG, RTF_CHBGFDIAG, 0 },
{ "chbghoriz", CONTROL_FLAG, RTF_CHBGHORIZ, 0 },
{ "chbgvert", CONTROL_FLAG, RTF_CHBGVERT, 0 },
{ "chbrdr", CONTROL_FLAG, RTF_CHBRDR, 0 },
{ "chcbpat", CONTROL_VALUE, RTF_CHCBPAT, 0 },
{ "chcfpat", CONTROL_VALUE, RTF_CHCFPAT, 0 },
{ "chdate", CONTROL_SYMBOL, RTF_CHDATE, 0 },
{ "chdpa", CONTROL_SYMBOL, RTF_CHDPA, 0 },
{ "chdpl", CONTROL_SYMBOL, RTF_CHDPL, 0 },
{ "chftn", CONTROL_SYMBOL, RTF_CHFTN, 0 },
{ "chftnsep", CONTROL_SYMBOL, RTF_CHFTNSEP, 0 },
{ "chftnsepc", CONTROL_SYMBOL, RTF_CHFTNSEPC, 0 },
{ "chpgn", CONTROL_SYMBOL, RTF_CHPGN, 0 },
{ "chhres", CONTROL_VALUE, RTF_CHHRES, 0 },
{ "chshdng", CONTROL_VALUE, RTF_CHSHDNG, 0 },
{ "chtime", CONTROL_SYMBOL, RTF_CHTIME, 0 },
{ "chyperlink", CONTROL_FLAG, RTF_CHYPERLINK, 0 },
{ "clbgbdiag", CONTROL_FLAG, RTF_CLBGBDIAG, 0 },
{ "clbgcross", CONTROL_FLAG, RTF_CLBGCROSS, 0 },
{ "clbgdcross", CONTROL_FLAG, RTF_CLBGDCROSS, 0 },
{ "clbgdkbdiag", CONTROL_FLAG, RTF_CLBGDKBDIAG, 0 },
{ "clbgdkcross", CONTROL_FLAG, RTF_CLBGDKCROSS, 0 },
{ "clbgdkdcross", CONTROL_FLAG, RTF_CLBGDKDCROSS, 0 },
{ "clbgdkfdiag", CONTROL_FLAG, RTF_CLBGDKFDIAG, 0 },
{ "clbgdkhor", CONTROL_FLAG, RTF_CLBGDKHOR, 0 },
{ "clbgdkvert", CONTROL_FLAG, RTF_CLBGDKVERT, 0 },
{ "clbgfdiag", CONTROL_FLAG, RTF_CLBGFDIAG, 0 },
{ "clbghoriz", CONTROL_FLAG, RTF_CLBGHORIZ, 0 },
{ "clbgvert", CONTROL_FLAG, RTF_CLBGVERT, 0 },
{ "clbrdrb", CONTROL_FLAG, RTF_CLBRDRB, 0 },
{ "clbrdrl", CONTROL_FLAG, RTF_CLBRDRL, 0 },
{ "clbrdrr", CONTROL_FLAG, RTF_CLBRDRR, 0 },
{ "clbrdrt", CONTROL_FLAG, RTF_CLBRDRT, 0 },
{ "clcbpat", CONTROL_VALUE, RTF_CLCBPAT, 0 },
{ "clcbpatraw", CONTROL_VALUE, RTF_CLCBPATRAW, 0 },
{ "clcfpat", CONTROL_VALUE, RTF_CLCFPAT, 0 },
{ "clcfpatraw", CONTROL_VALUE, RTF_CLCFPATRAW, 0 },
{ "cldel", CONTROL_FLAG, RTF_CLDEL, 0 },
{ "cldelauth", CONTROL_VALUE, RTF_CLDELAUTH, 0 },
{ "cldeldttm", CONTROL_VALUE, RTF_CLDELDTTM, 0 },
{ "cldgll", CONTROL_FLAG, RTF_CLDGLL, 0 },
{ "cldglu", CONTROL_FLAG, RTF_CLDGLU, 0 },
{ "clFitText", CONTROL_FLAG, RTF_CLFITTEXT, 0 },
{ "clftsWidth", CONTROL_VALUE, RTF_CLFTSWIDTH, 0 },
{ "clhidemark", CONTROL_FLAG, RTF_CLHIDEMARK, 0 },
{ "clins", CONTROL_FLAG, RTF_CLINS, 0 },
{ "clinsauth", CONTROL_VALUE, RTF_CLINSAUTH, 0 },
{ "clinsdttm", CONTROL_VALUE, RTF_CLINSDTTM, 0 },
{ "clmgf", CONTROL_FLAG, RTF_CLMGF, 0 },
{ "clmrg", CONTROL_FLAG, RTF_CLMRG, 0 },
{ "clmrgd", CONTROL_FLAG, RTF_CLMRGD, 0 },
{ "clmrgdauth", CONTROL_VALUE, RTF_CLMRGDAUTH, 0 },
{ "clmrgddttm", CONTROL_VALUE, RTF_CLMRGDDTTM, 0 },
{ "clmrgdr", CONTROL_FLAG, RTF_CLMRGDR, 0 },
{ "clNoWrap", CONTROL_FLAG, RTF_CLNOWRAP, 0 },
{ "clpadb", CONTROL_VALUE, RTF_CLPADB, 0 },
{ "clpadfb", CONTROL_VALUE, RTF_CLPADFB, 0 },
{ "clpadfl", CONTROL_VALUE, RTF_CLPADFL, 0 },
{ "clpadfr", CONTROL_VALUE, RTF_CLPADFR, 0 },
{ "clpadft", CONTROL_VALUE, RTF_CLPADFT, 0 },
{ "clpadl", CONTROL_VALUE, RTF_CLPADL, 0 },
{ "clpadr", CONTROL_VALUE, RTF_CLPADR, 0 },
{ "clpadt", CONTROL_VALUE, RTF_CLPADT, 0 },
{ "clspb", CONTROL_VALUE, RTF_CLSPB, 0 },
{ "clspfb", CONTROL_VALUE, RTF_CLSPFB, 0 },
{ "clspfl", CONTROL_VALUE, RTF_CLSPFL, 0 },
{ "clspfr", CONTROL_VALUE, RTF_CLSPFR, 0 },
{ "clspft", CONTROL_VALUE, RTF_CLSPFT, 0 },
{ "clspl", CONTROL_VALUE, RTF_CLSPL, 0 },
{ "clspr", CONTROL_VALUE, RTF_CLSPR, 0 },
{ "clspt", CONTROL_VALUE, RTF_CLSPT, 0 },
{ "clshdng", CONTROL_VALUE, RTF_CLSHDNG, 0 },
{ "clshdngraw", CONTROL_VALUE, RTF_CLSHDNGRAW, 0 },
{ "clshdrawnil", CONTROL_FLAG, RTF_CLSHDRAWNIL, 0 },
{ "clsplit", CONTROL_FLAG, RTF_CLSPLIT, 0 },
{ "clsplitr", CONTROL_FLAG, RTF_CLSPLITR, 0 },
{ "cltxbtlr", CONTROL_FLAG, RTF_CLTXBTLR, 0 },
{ "cltxlrtb", CONTROL_FLAG, RTF_CLTXLRTB, 0 },
{ "cltxlrtbv", CONTROL_FLAG, RTF_CLTXLRTBV, 0 },
{ "cltxtbrl", CONTROL_FLAG, RTF_CLTXTBRL, 0 },
{ "cltxtbrlv", CONTROL_FLAG, RTF_CLTXTBRLV, 0 },
{ "clvertalb", CONTROL_FLAG, RTF_CLVERTALB, 0 },
{ "clvertalc", CONTROL_FLAG, RTF_CLVERTALC, 0 },
{ "clvertalt", CONTROL_FLAG, RTF_CLVERTALT, 0 },
{ "clvmgf", CONTROL_FLAG, RTF_CLVMGF, 0 },
{ "clvmrg", CONTROL_FLAG, RTF_CLVMRG, 0 },
{ "clwWidth", CONTROL_VALUE, RTF_CLWWIDTH, 0 },
{ "cmaindarkone", CONTROL_FLAG, RTF_CMAINDARKONE, 0 },
{ "cmaindarktwo", CONTROL_FLAG, RTF_CMAINDARKTWO, 0 },
{ "cmainlightone", CONTROL_FLAG, RTF_CMAINLIGHTONE, 0 },
{ "cmainlighttwo", CONTROL_FLAG, RTF_CMAINLIGHTTWO, 0 },
{ "collapsed", CONTROL_FLAG, RTF_COLLAPSED, 0 },
{ "colno", CONTROL_VALUE, RTF_COLNO, 0 },
{ "colorschememapping", CONTROL_DESTINATION, RTF_COLORSCHEMEMAPPING, 0 },
{ "colortbl", CONTROL_DESTINATION, RTF_COLORTBL, 0 },
{ "cols", CONTROL_VALUE, RTF_COLS, 1 },
{ "colsr", CONTROL_VALUE, RTF_COLSR, 0 },
{ "colsx", CONTROL_VALUE, RTF_COLSX, 720 },
{ "column", CONTROL_SYMBOL, RTF_COLUMN, 0 },
{ "colw", CONTROL_VALUE, RTF_COLW, 0 },
{ "comment", CONTROL_DESTINATION, RTF_COMMENT, 0 },
{ "company", CONTROL_DESTINATION, RTF_COMPANY, 0 },
{ "contextualspace", CONTROL_FLAG, RTF_CONTEXTUALSPACE, 0 },
{ "cpg", CONTROL_VALUE, RTF_CPG, 0 },
{ "crauth", CONTROL_VALUE, RTF_CRAUTH, 0 },
{ "crdate", CONTROL_VALUE, RTF_CRDATE, 0 },
{ "creatim", CONTROL_DESTINATION, RTF_CREATIM, 0 },
{ "cs", CONTROL_VALUE, RTF_CS, 0 },
{ "cshade", CONTROL_VALUE, RTF_CSHADE, 0 },
{ "ctextone", CONTROL_FLAG, RTF_CTEXTONE, 0 },
{ "ctexttwo", CONTROL_FLAG, RTF_CTEXTTWO, 0 },
{ "ctint", CONTROL_VALUE, RTF_CTINT, 0 },
{ "ctrl", CONTROL_FLAG, RTF_CTRL, 0 },
{ "cts", CONTROL_VALUE, RTF_CTS, 0 },
{ "cufi", CONTROL_VALUE, RTF_CUFI, 0 },
{ "culi", CONTROL_VALUE, RTF_CULI, 0 },
{ "curi", CONTROL_VALUE, RTF_CURI, 0 },
{ "cvmme", CONTROL_FLAG, RTF_CVMME, 0 },
{ "datafield", CONTROL_DESTINATION, RTF_DATAFIELD, 0 },
{ "datastore", CONTROL_DESTINATION, RTF_DATASTORE, 0 },
{ "date", CONTROL_FLAG, RTF_DATE, 0 },
{ "dbch", CONTROL_FLAG, RTF_DBCH, 0 },
{ "defchp", CONTROL_DESTINATION, RTF_DEFCHP, 0 },
{ "deff", CONTROL_VALUE, RTF_DEFF, 0 },
{ "defformat", CONTROL_FLAG, RTF_DEFFORMAT, 0 },
{ "deflang", CONTROL_VALUE, RTF_DEFLANG, 0 },
{ "deflangfe", CONTROL_VALUE, RTF_DEFLANGFE, 0 },
{ "defpap", CONTROL_DESTINATION, RTF_DEFPAP, 0 },
{ "defshp", CONTROL_FLAG, RTF_DEFSHP, 0 },
{ "deftab", CONTROL_VALUE, RTF_DEFTAB, 720 },
{ "deleted", CONTROL_TOGGLE, RTF_DELETED, 1 },
{ "delrsid", CONTROL_VALUE, RTF_DELRSID, 0 },
{ "dfrauth", CONTROL_VALUE, RTF_DFRAUTH, 0 },
{ "dfrdate", CONTROL_VALUE, RTF_DFRDATE, 0 },
{ "dfrmtxtx", CONTROL_VALUE, RTF_DFRMTXTX, 0 },
{ "dfrmtxty", CONTROL_VALUE, RTF_DFRMTXTY, 0 },
{ "dfrstart", CONTROL_VALUE, RTF_DFRSTART, 0 },
{ "dfrstop", CONTROL_VALUE, RTF_DFRSTOP, 0 },
{ "dfrxst", CONTROL_VALUE, RTF_DFRXST, 0 },
{ "dghorigin", CONTROL_VALUE, RTF_DGHORIGIN, 1701 },
{ "dghshow", CONTROL_VALUE, RTF_DGHSHOW, 3 },
{ "dghspace", CONTROL_VALUE, RTF_DGHSPACE, 120 },
{ "dgmargin", CONTROL_FLAG, RTF_DGMARGIN, 0 },
{ "dgsnap", CONTROL_FLAG, RTF_DGSNAP, 0 },
{ "dgvorigin", CONTROL_VALUE, RTF_DGVORIGIN, 1984 },
{ "dgvshow", CONTROL_VALUE, RTF_DGVSHOW, 0 },
{ "dgvspace", CONTROL_VALUE, RTF_DGVSPACE, 120 },
{ "dibitmap", CONTROL_VALUE, RTF_DIBITMAP, 0 },
{ "disabled", CONTROL_TOGGLE, RTF_DISABLED, 1 },
{ "dn", CONTROL_VALUE, RTF_DN, 6 },
{ "dntblnsbdb", CONTROL_FLAG, RTF_DNTBLNSBDB, 0 },
{ "do", CONTROL_DESTINATION, RTF_DO, 0 },
{ "dobxcolumn", CONTROL_FLAG, RTF_DOBXCOLUMN, 0 },
{ "dobxmargin", CONTROL_FLAG, RTF_DOBXMARGIN, 0 },
{ "dobxpage", CONTROL_FLAG, RTF_DOBXPAGE, 0 },
{ "dobymargin", CONTROL_FLAG, RTF_DOBYMARGIN, 0 },
{ "dobypage", CONTROL_FLAG, RTF_DOBYPAGE, 0 },
{ "dobypara", CONTROL_FLAG, RTF_DOBYPARA, 0 },
{ "doccomm", CONTROL_DESTINATION, RTF_DOCCOMM, 0 },
{ "doctemp", CONTROL_FLAG, RTF_DOCTEMP, 0 },
{ "doctype", CONTROL_VALUE, RTF_DOCTYPE, 0 },
{ "docvar", CONTROL_DESTINATION, RTF_DOCVAR, 0 },
{ "dodhgt", CONTROL_VALUE, RTF_DODHGT, 0 },
{ "dolock", CONTROL_FLAG, RTF_DOLOCK, 0 },
{ "donotembedlingdata", CONTROL_VALUE, RTF_DONOTEMBEDLINGDATA, 0 },
{ "donotembedsysfont", CONTROL_VALUE, RTF_DONOTEMBEDSYSFONT, 0 },
{ "donotshowcomments", CONTROL_FLAG, RTF_DONOTSHOWCOMMENTS, 0 },
{ "donotshowinsdel", CONTROL_FLAG, RTF_DONOTSHOWINSDEL, 0 },
{ "donotshowmarkup", CONTROL_FLAG, RTF_DONOTSHOWMARKUP, 0 },
{ "donotshowprops", CONTROL_FLAG, RTF_DONOTSHOWPROPS, 0 },
{ "dpaendhol", CONTROL_FLAG, RTF_DPAENDHOL, 0 },
{ "dpaendl", CONTROL_VALUE, RTF_DPAENDL, 0 },
{ "dpaendsol", CONTROL_FLAG, RTF_DPAENDSOL, 0 },
{ "dpaendw", CONTROL_VALUE, RTF_DPAENDW, 0 },
{ "dparc", CONTROL_FLAG, RTF_DPARC, 0 },
{ "dparcflipx", CONTROL_FLAG, RTF_DPARCFLIPX, 0 },
{ "dparcflipy", CONTROL_FLAG, RTF_DPARCFLIPY, 0 },
{ "dpastarthol", CONTROL_FLAG, RTF_DPASTARTHOL, 0 },
{ "dpastartl", CONTROL_VALUE, RTF_DPASTARTL, 0 },
{ "dpastartsol", CONTROL_FLAG, RTF_DPASTARTSOL, 0 },
{ "dpastartw", CONTROL_VALUE, RTF_DPASTARTW, 0 },
{ "dpcallout", CONTROL_FLAG, RTF_DPCALLOUT, 0 },
{ "dpcoa", CONTROL_VALUE, RTF_DPCOA, 0 },
{ "dpcoaccent", CONTROL_FLAG, RTF_DPCOACCENT, 0 },
{ "dpcobestfit", CONTROL_FLAG, RTF_DPCOBESTFIT, 0 },
{ "dpcoborder", CONTROL_FLAG, RTF_DPCOBORDER, 0 },
{ "dpcodabs", CONTROL_FLAG, RTF_DPCODABS, 0 },
{ "dpcodbottom", CONTROL_FLAG, RTF_DPCODBOTTOM, 0 },
{ "dpcodcenter", CONTROL_FLAG, RTF_DPCODCENTER, 0 },
{ "dpcodescent", CONTROL_VALUE, RTF_DPCODESCENT, 0 },
{ "dpcodtop", CONTROL_FLAG, RTF_DPCODTOP, 0 },
{ "dpcolength", CONTROL_VALUE, RTF_DPCOLENGTH, 0 },
{ "dpcominusx", CONTROL_FLAG, RTF_DPCOMINUSX, 0 },
{ "dpcominusy", CONTROL_FLAG, RTF_DPCOMINUSY, 0 },
{ "dpcooffset", CONTROL_VALUE, RTF_DPCOOFFSET, 0 },
{ "dpcosmarta", CONTROL_FLAG, RTF_DPCOSMARTA, 0 },
{ "dpcotdouble", CONTROL_FLAG, RTF_DPCOTDOUBLE, 0 },
{ "dpcotright", CONTROL_FLAG, RTF_DPCOTRIGHT, 0 },
{ "dpcotsingle", CONTROL_FLAG, RTF_DPCOTSINGLE, 0 },
{ "dpcottriple", CONTROL_FLAG, RTF_DPCOTTRIPLE, 0 },
{ "dpcount", CONTROL_VALUE, RTF_DPCOUNT, 0 },
{ "dpellipse", CONTROL_FLAG, RTF_DPELLIPSE, 0 },
{ "dpendgroup", CONTROL_FLAG, RTF_DPENDGROUP, 0 },
{ "dpfillbgcb", CONTROL_VALUE, RTF_DPFILLBGCB, 0 },
{ "dpfillbgcg", CONTROL_VALUE, RTF_DPFILLBGCG, 0 },
{ "dpfillbgcr", CONTROL_VALUE, RTF_DPFILLBGCR, 0 },
{ "dpfillbggray", CONTROL_VALUE, RTF_DPFILLBGGRAY, 0 },
{ "dpfillbgpal", CONTROL_FLAG, RTF_DPFILLBGPAL, 0 },
{ "dpfillfgcb", CONTROL_VALUE, RTF_DPFILLFGCB, 0 },
{ "dpfillfgcg", CONTROL_VALUE, RTF_DPFILLFGCG, 0 },
{ "dpfillfgcr", CONTROL_VALUE, RTF_DPFILLFGCR, 0 },
{ "dpfillfggray", CONTROL_VALUE, RTF_DPFILLFGGRAY, 0 },
{ "dpfillfgpal", CONTROL_FLAG, RTF_DPFILLFGPAL, 0 },
{ "dpfillpat", CONTROL_VALUE, RTF_DPFILLPAT, 0 },
{ "dpgroup", CONTROL_FLAG, RTF_DPGROUP, 0 },
{ "dpline", CONTROL_FLAG, RTF_DPLINE, 0 },
{ "dplinecob", CONTROL_VALUE, RTF_DPLINECOB, 0 },
{ "dplinecog", CONTROL_VALUE, RTF_DPLINECOG, 0 },
{ "dplinecor", CONTROL_VALUE, RTF_DPLINECOR, 0 },
{ "dplinedado", CONTROL_FLAG, RTF_DPLINEDADO, 0 },
{ "dplinedadodo", CONTROL_FLAG, RTF_DPLINEDADODO, 0 },
{ "dplinedash", CONTROL_FLAG, RTF_DPLINEDASH, 0 },
{ "dplinedot", CONTROL_FLAG, RTF_DPLINEDOT, 0 },
{ "dplinegray", CONTROL_VALUE, RTF_DPLINEGRAY, 0 },
{ "dplinehollow", CONTROL_FLAG, RTF_DPLINEHOLLOW, 0 },
{ "dplinepal", CONTROL_FLAG, RTF_DPLINEPAL, 0 },
{ "dplinesolid", CONTROL_FLAG, RTF_DPLINESOLID, 0 },
{ "dplinew", CONTROL_VALUE, RTF_DPLINEW, 0 },
{ "dppolycount", CONTROL_VALUE, RTF_DPPOLYCOUNT, 0 },
{ "dppolygon", CONTROL_FLAG, RTF_DPPOLYGON, 0 },
{ "dppolyline", CONTROL_FLAG, RTF_DPPOLYLINE, 0 },
{ "dpptx", CONTROL_VALUE, RTF_DPPTX, 0 },
{ "dppty", CONTROL_VALUE, RTF_DPPTY, 0 },
{ "dprect", CONTROL_FLAG, RTF_DPRECT, 0 },
{ "dproundr", CONTROL_FLAG, RTF_DPROUNDR, 0 },
{ "dpshadow", CONTROL_FLAG, RTF_DPSHADOW, 0 },
{ "dpshadx", CONTROL_VALUE, RTF_DPSHADX, 0 },
{ "dpshady", CONTROL_VALUE, RTF_DPSHADY, 0 },
{ "dptxbtlr", CONTROL_FLAG, RTF_DPTXBTLR, 0 },
{ "dptxbx", CONTROL_FLAG, RTF_DPTXBX, 0 },
{ "dptxbxmar", CONTROL_VALUE, RTF_DPTXBXMAR, 0 },
{ "dptxbxtext", CONTROL_DESTINATION, RTF_DPTXBXTEXT, 0 },
{ "dptxlrtb", CONTROL_FLAG, RTF_DPTXLRTB, 0 },
{ "dptxlrtbv", CONTROL_FLAG, RTF_DPTXLRTBV, 0 },
{ "dptxtbrl", CONTROL_FLAG, RTF_DPTXTBRL, 0 },
{ "dptxtbrlv", CONTROL_FLAG, RTF_DPTXTBRLV, 0 },
{ "dpx", CONTROL_VALUE, RTF_DPX, 0 },
{ "dpxsize", CONTROL_VALUE, RTF_DPXSIZE, 0 },
{ "dpy", CONTROL_VALUE, RTF_DPY, 0 },
{ "dpysize", CONTROL_VALUE, RTF_DPYSIZE, 0 },
{ "dropcapli", CONTROL_VALUE, RTF_DROPCAPLI, 0 },
{ "dropcapt", CONTROL_VALUE, RTF_DROPCAPT, 0 },
{ "ds", CONTROL_VALUE, RTF_DS, 0 },
{ "dxfrtext", CONTROL_VALUE, RTF_DXFRTEXT, 0 },
{ "dy", CONTROL_VALUE, RTF_DY, 0 },
{ "ebcend", CONTROL_DESTINATION, RTF_EBCEND, 0 },
{ "ebcstart", CONTROL_DESTINATION, RTF_EBCSTART, 0 },
{ "edmins", CONTROL_VALUE, RTF_EDMINS, 0 },
{ "embo", CONTROL_TOGGLE, RTF_EMBO, 1 },
{ "emdash", CONTROL_SYMBOL, RTF_EMDASH, 0 },
{ "emfblip", CONTROL_FLAG, RTF_EMFBLIP, 0 },
{ "emspace", CONTROL_SYMBOL, RTF_EMSPACE, 0 },
{ "endash", CONTROL_SYMBOL, RTF_ENDASH, 0 },
{ "enddoc", CONTROL_FLAG, RTF_ENDDOC, 0 },
{ "endnhere", CONTROL_FLAG, RTF_ENDNHERE, 0 },
{ "endnotes", CONTROL_FLAG, RTF_ENDNOTES, 0 },
{ "enforceprot", CONTROL_VALUE, RTF_ENFORCEPROT, 0 },
{ "enspace", CONTROL_SYMBOL, RTF_ENSPACE, 0 },
{ "expnd", CONTROL_VALUE, RTF_EXPND, 0 },
{ "expndtw", CONTROL_VALUE, RTF_EXPNDTW, 0 },
{ "expshrtn", CONTROL_FLAG, RTF_EXPSHRTN, 0 },
{ "f", CONTROL_VALUE, RTF_F, 0 },
{ "faauto", CONTROL_FLAG, RTF_FAAUTO, 0 },
{ "facenter", CONTROL_FLAG, RTF_FACENTER, 0 },
{ "facingp", CONTROL_TOGGLE, RTF_FACINGP, 1 },
{ "factoidname", CONTROL_DESTINATION, RTF_FACTOIDNAME, 0 },
{ "fafixed", CONTROL_FLAG, RTF_FAFIXED, 0 },
{ "fahang", CONTROL_FLAG, RTF_FAHANG, 0 },
{ "falt", CONTROL_DESTINATION, RTF_FALT, 0 },
{ "faroman", CONTROL_FLAG, RTF_FAROMAN, 0 },
{ "favar", CONTROL_FLAG, RTF_FAVAR, 0 },
{ "fbias", CONTROL_VALUE, RTF_FBIAS, 0 },
{ "fbidi", CONTROL_FLAG, RTF_FBIDI, 0 },
{ "fbidis", CONTROL_FLAG, RTF_FBIDIS, 0 },
{ "fbimajor", CONTROL_FLAG, RTF_FBIMAJOR, 0 },
{ "fbiminor", CONTROL_FLAG, RTF_FBIMINOR, 0 },
{ "fchars", CONTROL_DESTINATION, RTF_FCHARS, 0 },
{ "fcharset", CONTROL_VALUE, RTF_FCHARSET, 0 },
{ "fcs", CONTROL_VALUE, RTF_FCS, 0 },
{ "fdbmajor", CONTROL_FLAG, RTF_FDBMAJOR, 0 },
{ "fdbminor", CONTROL_FLAG, RTF_FDBMINOR, 0 },
{ "fdecor", CONTROL_FLAG, RTF_FDECOR, 0 },
{ "felnbrelev", CONTROL_FLAG, RTF_FELNBRELEV, 0 },
{ "fet", CONTROL_VALUE, RTF_FET, 0 },
{ "fetch", CONTROL_FLAG, RTF_FETCH, 0 },
{ "ffdefres", CONTROL_VALUE, RTF_FFDEFRES, 0 },
{ "ffdeftext", CONTROL_DESTINATION, RTF_FFDEFTEXT, 0 },
{ "ffentrymcr", CONTROL_DESTINATION, RTF_FFENTRYMCR, 0 },
{ "ffexitmcr", CONTROL_DESTINATION, RTF_FFEXITMCR, 0 },
{ "ffformat", CONTROL_DESTINATION, RTF_FFFORMAT, 0 },
{ "ffhaslistbox", CONTROL_VALUE, RTF_FFHASLISTBOX, 0 },
{ "ffhelptext", CONTROL_DESTINATION, RTF_FFHELPTEXT, 0 },
{ "ffhps", CONTROL_VALUE, RTF_FFHPS, 0 },
{ "ffl", CONTROL_DESTINATION, RTF_FFL, 0 },
{ "ffmaxlen", CONTROL_VALUE, RTF_FFMAXLEN, 0 },
{ "ffname", CONTROL_DESTINATION, RTF_FFNAME, 0 },
{ "ffownhelp", CONTROL_VALUE, RTF_FFOWNHELP, 0 },
{ "ffownstat", CONTROL_VALUE, RTF_FFOWNSTAT, 0 },
{ "ffprot", CONTROL_VALUE, RTF_FFPROT, 0 },
{ "ffrecalc", CONTROL_VALUE, RTF_FFRECALC, 0 },
{ "ffres", CONTROL_VALUE, RTF_FFRES, 0 },
{ "ffsize", CONTROL_VALUE, RTF_FFSIZE, 0 },
{ "ffstattext", CONTROL_DESTINATION, RTF_FFSTATTEXT, 0 },
{ "fftype", CONTROL_VALUE, RTF_FFTYPE, 0 },
{ "fftypetxt", CONTROL_VALUE, RTF_FFTYPETXT, 0 },
{ "fhimajor", CONTROL_FLAG, RTF_FHIMAJOR, 0 },
{ "fhiminor", CONTROL_FLAG, RTF_FHIMINOR, 0 },
{ "fi", CONTROL_VALUE, RTF_FI, 0 },
{ "fid", CONTROL_VALUE, RTF_FID, 0 },
{ "field", CONTROL_DESTINATION, RTF_FIELD, 0 },
{ "file", CONTROL_DESTINATION, RTF_FILE, 0 },
{ "filetbl", CONTROL_DESTINATION, RTF_FILETBL, 0 },
{ "fittext", CONTROL_VALUE, RTF_FITTEXT, 0 },
{ "fjgothic", CONTROL_FLAG, RTF_FJGOTHIC, 0 },
{ "fjminchou", CONTROL_FLAG, RTF_FJMINCHOU, 0 },
{ "fldalt", CONTROL_FLAG, RTF_FLDALT, 0 },
{ "flddirty", CONTROL_FLAG, RTF_FLDDIRTY, 0 },
{ "fldedit", CONTROL_FLAG, RTF_FLDEDIT, 0 },
{ "fldinst", CONTROL_DESTINATION, RTF_FLDINST, 0 },
{ "fldlock", CONTROL_FLAG, RTF_FLDLOCK, 0 },
{ "fldpriv", CONTROL_FLAG, RTF_FLDPRIV, 0 },
{ "fldrslt", CONTROL_DESTINATION, RTF_FLDRSLT, 0 },
{ "fldtype", CONTROL_DESTINATION, RTF_FLDTYPE, 0 },
{ "flomajor", CONTROL_FLAG, RTF_FLOMAJOR, 0 },
{ "flominor", CONTROL_FLAG, RTF_FLOMINOR, 0 },
{ "fmodern", CONTROL_FLAG, RTF_FMODERN, 0 },
{ "fn", CONTROL_VALUE, RTF_FN, 0 },
{ "fname", CONTROL_DESTINATION, RTF_FNAME, 0 },
{ "fnetwork", CONTROL_FLAG, RTF_FNETWORK, 0 },
{ "fnil", CONTROL_FLAG, RTF_FNIL, 0 },
{ "fnonfilesys", CONTROL_FLAG, RTF_FNONFILESYS, 0 },
{ "fontemb", CONTROL_DESTINATION, RTF_FONTEMB, 0 },
{ "fontfile", CONTROL_DESTINATION, RTF_FONTFILE, 0 },
{ "fonttbl", CONTROL_DESTINATION, RTF_FONTTBL, 0 },
{ "footer", CONTROL_DESTINATION, RTF_FOOTER, 0 },
{ "footerf", CONTROL_DESTINATION, RTF_FOOTERF, 0 },
{ "footerl", CONTROL_DESTINATION, RTF_FOOTERL, 0 },
{ "footerr", CONTROL_DESTINATION, RTF_FOOTERR, 0 },
{ "footery", CONTROL_VALUE, RTF_FOOTERY, 720 },
{ "footnote", CONTROL_DESTINATION, RTF_FOOTNOTE, 0 },
{ "forceupgrade", CONTROL_FLAG, RTF_FORCEUPGRADE, 0 },
{ "formdisp", CONTROL_FLAG, RTF_FORMDISP, 0 },
{ "formfield", CONTROL_DESTINATION, RTF_FORMFIELD, 0 },
{ "formprot", CONTROL_FLAG, RTF_FORMPROT, 0 },
{ "formshade", CONTROL_FLAG, RTF_FORMSHADE, 0 },
{ "fosnum", CONTROL_VALUE, RTF_FOSNUM, 0 },
{ "fprq", CONTROL_VALUE, RTF_FPRQ, 0 },
{ "fracwidth", CONTROL_FLAG, RTF_FRACWIDTH, 0 },
{ "frelative", CONTROL_VALUE, RTF_FRELATIVE, 0 },
{ "frmtxbtlr", CONTROL_FLAG, RTF_FRMTXBTLR, 0 },
{ "frmtxlrtb", CONTROL_FLAG, RTF_FRMTXLRTB, 0 },
{ "frmtxlrtbv", CONTROL_FLAG, RTF_FRMTXLRTBV, 0 },
{ "frmtxtbrl", CONTROL_FLAG, RTF_FRMTXTBRL, 0 },
{ "frmtxtbrlv", CONTROL_FLAG, RTF_FRMTXTBRLV, 0 },
{ "froman", CONTROL_FLAG, RTF_FROMAN, 0 },
{ "fromhtml", CONTROL_VALUE, RTF_FROMHTML, 0 },
{ "fromtext", CONTROL_FLAG, RTF_FROMTEXT, 0 },
{ "fs", CONTROL_VALUE, RTF_FS, 24 },
{ "fscript", CONTROL_FLAG, RTF_FSCRIPT, 0 },
{ "fswiss", CONTROL_FLAG, RTF_FSWISS, 0 },
{ "ftech", CONTROL_FLAG, RTF_FTECH, 0 },
{ "ftnalt", CONTROL_FLAG, RTF_FTNALT, 0 },
{ "ftnbj", CONTROL_FLAG, RTF_FTNBJ, 0 },
{ "ftncn", CONTROL_DESTINATION, RTF_FTNCN, 0 },
{ "ftnil", CONTROL_FLAG, RTF_FTNIL, 0 },
{ "ftnlytwnine", CONTROL_FLAG, RTF_FTNLYTWNINE, 0 },
{ "ftnnalc", CONTROL_FLAG, RTF_FTNNALC, 0 },
{ "ftnnar", CONTROL_FLAG, RTF_FTNNAR, 0 },
{ "ftnnauc", CONTROL_FLAG, RTF_FTNNAUC, 0 },
{ "ftnnchi", CONTROL_FLAG, RTF_FTNNCHI, 0 },
{ "ftnnchosung", CONTROL_FLAG, RTF_FTNNCHOSUNG, 0 },
{ "ftnncnum", CONTROL_FLAG, RTF_FTNNCNUM, 0 },
{ "ftnndbar", CONTROL_FLAG, RTF_FTNNDBAR, 0 },
{ "ftnndbnum", CONTROL_FLAG, RTF_FTNNDBNUM, 0 },
{ "ftnndbnumd", CONTROL_FLAG, RTF_FTNNDBNUMD, 0 },
{ "ftnndbnumk", CONTROL_FLAG, RTF_FTNNDBNUMK, 0 },
{ "ftnndbnumt", CONTROL_FLAG, RTF_FTNNDBNUMT, 0 },
{ "ftnnganada", CONTROL_FLAG, RTF_FTNNGANADA, 0 },
{ "ftnngbnum", CONTROL_FLAG, RTF_FTNNGBNUM, 0 },
{ "ftnngbnumd", CONTROL_FLAG, RTF_FTNNGBNUMD, 0 },
{ "ftnngbnumk", CONTROL_FLAG, RTF_FTNNGBNUMK, 0 },
{ "ftnngbnuml", CONTROL_FLAG, RTF_FTNNGBNUML, 0 },
{ "ftnnrlc", CONTROL_FLAG, RTF_FTNNRLC, 0 },
{ "ftnnruc", CONTROL_FLAG, RTF_FTNNRUC, 0 },
{ "ftnnzodiac", CONTROL_FLAG, RTF_FTNNZODIAC, 0 },
{ "ftnnzodiacd", CONTROL_FLAG, RTF_FTNNZODIACD, 0 },
{ "ftnnzodiacl", CONTROL_FLAG, RTF_FTNNZODIACL, 0 },
{ "ftnrestart", CONTROL_FLAG, RTF_FTNRESTART, 0 },
{ "ftnrstcont", CONTROL_FLAG, RTF_FTNRSTCONT, 0 },
{ "ftnrstpg", CONTROL_FLAG, RTF_FTNRSTPG, 0 },
{ "ftnsep", CONTROL_DESTINATION, RTF_FTNSEP, 0 },
{ "ftnsepc", CONTROL_DESTINATION, RTF_FTNSEPC, 0 },
{ "ftnstart", CONTROL_VALUE, RTF_FTNSTART, 1 },
{ "ftntj", CONTROL_FLAG, RTF_FTNTJ, 0 },
{ "fttruetype", CONTROL_FLAG, RTF_FTTRUETYPE, 0 },
{ "fvaliddos", CONTROL_FLAG, RTF_FVALIDDOS, 0 },
{ "fvalidhpfs", CONTROL_FLAG, RTF_FVALIDHPFS, 0 },
{ "fvalidmac", CONTROL_FLAG, RTF_FVALIDMAC, 0 },
{ "fvalidntfs", CONTROL_FLAG, RTF_FVALIDNTFS, 0 },
{ "g", CONTROL_DESTINATION, RTF_G, 0 },
{ "gcw", CONTROL_VALUE, RTF_GCW, 0 },
{ "generator", CONTROL_DESTINATION, RTF_GENERATOR, 0 },
{ "green", CONTROL_VALUE, RTF_GREEN, 0 },
{ "grfdocevents", CONTROL_VALUE, RTF_GRFDOCEVENTS, 0 },
{ "gridtbl", CONTROL_DESTINATION, RTF_GRIDTBL, 0 },
{ "gutter", CONTROL_VALUE, RTF_GUTTER, 0 },
{ "gutterprl", CONTROL_FLAG, RTF_GUTTERPRL, 0 },
{ "guttersxn", CONTROL_VALUE, RTF_GUTTERSXN, 0 },
{ "header", CONTROL_DESTINATION, RTF_HEADER, 0 },
{ "headerf", CONTROL_DESTINATION, RTF_HEADERF, 0 },
{ "headerl", CONTROL_DESTINATION, RTF_HEADERL, 0 },
{ "headerr", CONTROL_DESTINATION, RTF_HEADERR, 0 },
{ "headery", CONTROL_VALUE, RTF_HEADERY, 720 },
{ "hich", CONTROL_FLAG, RTF_HICH, 0 },
{ "highlight", CONTROL_VALUE, RTF_HIGHLIGHT, 0 },
{ "hl", CONTROL_DESTINATION, RTF_HL, 0 },
{ "hlfr", CONTROL_DESTINATION, RTF_HLFR, 0 },
{ "hlinkbase", CONTROL_DESTINATION, RTF_HLINKBASE, 0 },
{ "hlloc", CONTROL_DESTINATION, RTF_HLLOC, 0 },
{ "hlsrc", CONTROL_DESTINATION, RTF_HLSRC, 0 },
{ "horzdoc", CONTROL_FLAG, RTF_HORZDOC, 0 },
{ "horzsect", CONTROL_FLAG, RTF_HORZSECT, 0 },
{ "horzvert", CONTROL_VALUE, RTF_HORZVERT, 0 },
{ "hr", CONTROL_VALUE, RTF_HR, 0 },
{ "hres", CONTROL_VALUE, RTF_HRES, 0 },
{ "hrule", CONTROL_FLAG, RTF_HRULE, 0 },
{ "hsv", CONTROL_DESTINATION, RTF_HSV, 0 },
{ "htmautsp", CONTROL_FLAG, RTF_HTMAUTSP, 0 },
{ "htmlbase", CONTROL_FLAG, RTF_HTMLBASE, 0 },
{ "htmlrtf", CONTROL_TOGGLE, RTF_HTMLRTF, 1 },
{ "htmltag", CONTROL_DESTINATION, RTF_HTMLTAG, 0 },
{ "hwelev", CONTROL_FLAG, RTF_HWELEV, 0 },
{ "hyphauto", CONTROL_TOGGLE, RTF_HYPHAUTO, 1 },
{ "hyphcaps", CONTROL_TOGGLE, RTF_HYPHCAPS, 1 },
{ "hyphconsec", CONTROL_VALUE, RTF_HYPHCONSEC, 0 },
{ "hyphhotz", CONTROL_VALUE, RTF_HYPHHOTZ, 0 },
{ "hyphpar", CONTROL_TOGGLE, RTF_HYPHPAR, 1 },
{ "i", CONTROL_TOGGLE, RTF_I, 1 },
{ "id", CONTROL_VALUE, RTF_ID, 0 },
{ "ignoremixedcontent", CONTROL_VALUE, RTF_IGNOREMIXEDCONTENT, 0 },
{ "ilfomacatclnup", CONTROL_VALUE, RTF_ILFOMACATCLNUP, 0 },
{ "ilvl", CONTROL_VALUE, RTF_ILVL, 0 },
{ "impr", CONTROL_TOGGLE, RTF_IMPR, 1 },
{ "indmirror", CONTROL_FLAG, RTF_INDMIRROR, 0 },
{ "indrlsweleven", CONTROL_FLAG, RTF_INDRLSWELEVEN, 0 },
{ "info", CONTROL_DESTINATION, RTF_INFO, 0 },
{ "insrsid", CONTROL_VALUE, RTF_INSRSID, 0 },
{ "intbl", CONTROL_FLAG, RTF_INTBL, 0 },
{ "ipgp", CONTROL_VALUE, RTF_IPGP, 0 },
{ "irowband", CONTROL_VALUE, RTF_IROWBAND, 0 },
{ "irow", CONTROL_VALUE, RTF_IROW, 0 },
{ "itap", CONTROL_VALUE, RTF_ITAP, 1 },
{ "ixe", CONTROL_FLAG, RTF_IXE, 0 },
{ "jcompress", CONTROL_FLAG, RTF_JCOMPRESS, 0 },
{ "jexpand", CONTROL_FLAG, RTF_JEXPAND, 0 },
{ "jis", CONTROL_FLAG, RTF_JIS, 0 },
{ "jpegblip", CONTROL_FLAG, RTF_JPEGBLIP, 0 },
{ "jsksu", CONTROL_FLAG, RTF_JSKSU, 0 },
{ "keep", CONTROL_FLAG, RTF_KEEP, 0 },
{ "keepn", CONTROL_FLAG, RTF_KEEPN, 0 },
{ "kerning", CONTROL_VALUE, RTF_KERNING, 0 },
{ "keycode", CONTROL_DESTINATION, RTF_KEYCODE, 0 },
{ "keywords", CONTROL_DESTINATION, RTF_KEYWORDS, 0 },
{ "krnprsnet", CONTROL_FLAG, RTF_KRNPRSNET, 0 },
{ "ksulang", CONTROL_VALUE, RTF_KSULANG, 0 },
{ "jclisttab", CONTROL_FLAG, RTF_JCLISTTAB, 0 },
{ "landscape", CONTROL_FLAG, RTF_LANDSCAPE, 0 },
{ "lang", CONTROL_VALUE, RTF_LANG, 0 },
{ "langfe", CONTROL_VALUE, RTF_LANGFE, 0 },
{ "langfenp", CONTROL_VALUE, RTF_LANGFENP, 0 },
{ "langnp", CONTROL_VALUE, RTF_LANGNP, 0 },
{ "lastrow", CONTROL_FLAG, RTF_LASTROW, 0 },
{ "latentstyles", CONTROL_DESTINATION, RTF_LATENTSTYLES, 0 },
{ "lbr", CONTROL_VALUE, RTF_LBR, 0 },
{ "lchars", CONTROL_DESTINATION, RTF_LCHARS, 0 },
{ "ldblquote", CONTROL_SYMBOL, RTF_LDBLQUOTE, 0 },
{ "level", CONTROL_VALUE, RTF_LEVEL, 0 },
{ "levelfollow", CONTROL_VALUE, RTF_LEVELFOLLOW, 0 },
{ "levelindent", CONTROL_VALUE, RTF_LEVELINDENT, 0 },
{ "leveljc", CONTROL_VALUE, RTF_LEVELJC, 0 },
{ "leveljcn", CONTROL_VALUE, RTF_LEVELJCN, 0 },
{ "levellegal", CONTROL_VALUE, RTF_LEVELLEGAL, 0 },
{ "levelnfc", CONTROL_VALUE, RTF_LEVELNFC, 0 },
{ "levelnfcn", CONTROL_VALUE, RTF_LEVELNFCN, 0 },
{ "levelnorestart", CONTROL_VALUE, RTF_LEVELNORESTART, 0 },
{ "levelnumbers", CONTROL_DESTINATION, RTF_LEVELNUMBERS, 0 },
{ "levelold", CONTROL_VALUE, RTF_LEVELOLD, 0 },
{ "levelpicture", CONTROL_VALUE, RTF_LEVELPICTURE, 0 },
{ "levelpicturenosize", CONTROL_FLAG, RTF_LEVELPICTURENOSIZE, 0 },
{ "levelprev", CONTROL_VALUE, RTF_LEVELPREV, 0 },
{ "levelprevspace", CONTROL_VALUE, RTF_LEVELPREVSPACE, 0 },
{ "levelspace", CONTROL_VALUE, RTF_LEVELSPACE, 0 },
{ "levelstartat", CONTROL_VALUE, RTF_LEVELSTARTAT, 0 },
{ "leveltemplateid", CONTROL_VALUE, RTF_LEVELTEMPLATEID, 0 },
{ "leveltext", CONTROL_DESTINATION, RTF_LEVELTEXT, 0 },
{ "lfolevel", CONTROL_DESTINATION, RTF_LFOLEVEL, 0 },
{ "li", CONTROL_VALUE, RTF_LI, 0 },
{ "line", CONTROL_SYMBOL, RTF_LINE, 0 },
{ "linebetcol", CONTROL_FLAG, RTF_LINEBETCOL, 0 },
{ "linecont", CONTROL_FLAG, RTF_LINECONT, 0 },
{ "linemod", CONTROL_VALUE, RTF_LINEMOD, 1 },
{ "lineppage", CONTROL_FLAG, RTF_LINEPPAGE, 0 },
{ "linerestart", CONTROL_FLAG, RTF_LINERESTART, 0 },
{ "linestart", CONTROL_VALUE, RTF_LINESTART, 1 },
{ "linestarts", CONTROL_VALUE, RTF_LINESTARTS, 1 },
{ "linex", CONTROL_VALUE, RTF_LINEX, 360 },
{ "linkself", CONTROL_FLAG, RTF_LINKSELF, 0 },
{ "linkstyles", CONTROL_FLAG, RTF_LINKSTYLES, 0 },
{ "linkval", CONTROL_DESTINATION, RTF_LINKVAL, 0 },
{ "lin", CONTROL_VALUE, RTF_LIN, 0 },
{ "lisa", CONTROL_VALUE, RTF_LISA, 0 },
{ "lisb", CONTROL_VALUE, RTF_LISB, 0 },
{ "list", CONTROL_DESTINATION, RTF_LIST, 0 },
{ "listhybrid", CONTROL_FLAG, RTF_LISTHYBRID, 0 },
{ "listid", CONTROL_VALUE, RTF_LISTID, 0 },
{ "listlevel", CONTROL_DESTINATION, RTF_LISTLEVEL, 0 },
{ "listname", CONTROL_DESTINATION, RTF_LISTNAME, 0 },
{ "listoverride", CONTROL_DESTINATION, RTF_LISTOVERRIDE, 0 },
{ "listoverridecount", CONTROL_VALUE, RTF_LISTOVERRIDECOUNT, 0 },
{ "listoverrideformat", CONTROL_VALUE, RTF_LISTOVERRIDEFORMAT, 0 },
{ "listoverridestartat", CONTROL_FLAG, RTF_LISTOVERRIDESTARTAT, 0 },
{ "listoverridetable", CONTROL_DESTINATION, RTF_LISTOVERRIDETABLE, 0 },
{ "listpicture", CONTROL_DESTINATION, RTF_LISTPICTURE, 0 },
{ "listrestarthdn", CONTROL_VALUE, RTF_LISTRESTARTHDN, 0 },
{ "listsimple", CONTROL_VALUE, RTF_LISTSIMPLE, 0 },
{ "liststyleid", CONTROL_VALUE, RTF_LISTSTYLEID, 0 },
{ "liststylename", CONTROL_DESTINATION, RTF_LISTSTYLENAME, 0 },
{ "listtable", CONTROL_DESTINATION, RTF_LISTTABLE, 0 },
{ "listtemplateid", CONTROL_VALUE, RTF_LISTTEMPLATEID, 0 },
{ "listtext", CONTROL_DESTINATION, RTF_LISTTEXT, 0 },
{ "lnbrkrule", CONTROL_FLAG, RTF_LNBRKRULE, 0 },
{ "lndscpsxn", CONTROL_FLAG, RTF_LNDSCPSXN, 0 },
{ "lnongrid", CONTROL_FLAG, RTF_LNONGRID, 0 },
{ "loch", CONTROL_FLAG, RTF_LOCH, 0 },
{ "lquote", CONTROL_SYMBOL, RTF_LQUOTE, 0 },
{ "ls", CONTROL_VALUE, RTF_LS, 0 },
{ "lsdlocked", CONTROL_VALUE, RTF_LSDLOCKED, 0 },
{ "lsdlockeddef", CONTROL_VALUE, RTF_LSDLOCKEDDEF, 0 },
{ "lsdlockedexcept", CONTROL_DESTINATION, RTF_LSDLOCKEDEXCEPT, 0 },
{ "lsdpriority", CONTROL_VALUE, RTF_LSDPRIORITY, 0 },
{ "lsdprioritydef", CONTROL_VALUE, RTF_LSDPRIORITYDEF, 0 },
{ "lsdqformat", CONTROL_VALUE, RTF_LSDQFORMAT, 0 },
{ "lsdqformatdef", CONTROL_VALUE, RTF_LSDQFORMATDEF, 0 },
{ "lsdsemihidden", CONTROL_VALUE, RTF_LSDSEMIHIDDEN, 0 },
{ "lsdsemihiddendef", CONTROL_VALUE, RTF_LSDSEMIHIDDENDEF, 0 },
{ "lsdstimax", CONTROL_VALUE, RTF_LSDSTIMAX, 0 },
{ "lsdunhideused", CONTROL_VALUE, RTF_LSDUNHIDEUSED, 0 },
{ "lsdunhideuseddef", CONTROL_VALUE, RTF_LSDUNHIDEUSEDDEF, 0 },
{ "ltrch", CONTROL_FLAG, RTF_LTRCH, 0 },
{ "ltrdoc", CONTROL_FLAG, RTF_LTRDOC, 0 },
{ "ltrmark", CONTROL_SYMBOL, RTF_LTRMARK, 0 },
{ "ltrpar", CONTROL_FLAG, RTF_LTRPAR, 0 },
{ "ltrrow", CONTROL_FLAG, RTF_LTRROW, 0 },
{ "ltrsect", CONTROL_FLAG, RTF_LTRSECT, 0 },
{ "lvltentative", CONTROL_FLAG, RTF_LVLTENTATIVE, 0 },
{ "lytcalctblwd", CONTROL_FLAG, RTF_LYTCALCTBLWD, 0 },
{ "lytexcttp", CONTROL_FLAG, RTF_LYTEXCTTP, 0 },
{ "lytprtmet", CONTROL_FLAG, RTF_LYTPRTMET, 0 },
{ "lyttblrtgr", CONTROL_FLAG, RTF_LYTTBLRTGR, 0 },
{ "mac", CONTROL_FLAG, RTF_MAC, 0 },
{ "macc", CONTROL_DESTINATION, RTF_MACC, 0 },
{ "maccPr", CONTROL_DESTINATION, RTF_MACCPR, 0 },
{ "macpict", CONTROL_FLAG, RTF_MACPICT, 0 },
{ "mailmerge", CONTROL_DESTINATION, RTF_MAILMERGE, 0 },
{ "makebackup", CONTROL_FLAG, RTF_MAKEBACKUP, 0 },
{ "maln", CONTROL_DESTINATION, RTF_MALN, 0 },
{ "malnScr", CONTROL_DESTINATION, RTF_MALNSCR, 0 },
{ "manager", CONTROL_DESTINATION, RTF_MANAGER, 0 },
{ "margb", CONTROL_VALUE, RTF_MARGB, 1440 },
{ "margbsxn", CONTROL_VALUE, RTF_MARGBSXN, 0 },
{ "margl", CONTROL_VALUE, RTF_MARGL, 1800 },
{ "marglsxn", CONTROL_VALUE, RTF_MARGLSXN, 0 },
{ "margmirror", CONTROL_FLAG, RTF_MARGMIRROR, 0 },
{ "margmirsxn", CONTROL_FLAG, RTF_MARGMIRSXN, 0 },
{ "margPr", CONTROL_DESTINATION, RTF_MARGPR, 0 },
{ "margr", CONTROL_VALUE, RTF_MARGR, 1800 },
{ "margrsxn", CONTROL_VALUE, RTF_MARGRSXN, 0 },
{ "margSz", CONTROL_VALUE, RTF_MARGSZ, 0 },
{ "margt", CONTROL_VALUE, RTF_MARGT, 1440 },
{ "margtsxn", CONTROL_VALUE, RTF_MARGTSXN, 0 },
{ "mbar", CONTROL_DESTINATION, RTF_MBAR, 0 },
{ "mbarPr", CONTROL_DESTINATION, RTF_MBARPR, 0 },
{ "mbaseJc", CONTROL_DESTINATION, RTF_MBASEJC, 0 },
{ "mbegChr", CONTROL_DESTINATION, RTF_MBEGCHR, 0 },
{ "mborderBox", CONTROL_DESTINATION, RTF_MBORDERBOX, 0 },
{ "mborderBoxPr", CONTROL_DESTINATION, RTF_MBORDERBOXPR, 0 },
{ "mbox", CONTROL_DESTINATION, RTF_MBOX, 0 },
{ "mboxPr", CONTROL_DESTINATION, RTF_MBOXPR, 0 },
{ "mbrk", CONTROL_VALUE, RTF_MBRK, 0 },
{ "mbrkBin", CONTROL_VALUE, RTF_MBRKBIN, 0 },
{ "mbrkBinSub", CONTROL_VALUE, RTF_MBRKBINSUB, 0 },
{ "mcGp", CONTROL_VALUE, RTF_MCGP, 0 },
{ "mcGpRule", CONTROL_VALUE, RTF_MCGPRULE, 0 },
{ "mchr", CONTROL_DESTINATION, RTF_MCHR, 0 },
{ "mcount", CONTROL_DESTINATION, RTF_MCOUNT, 0 },
{ "mcSp", CONTROL_VALUE, RTF_MCSP, 0 },
{ "mctrlPr", CONTROL_DESTINATION, RTF_MCTRLPR, 0 },
{ "md", CONTROL_DESTINATION, RTF_MD, 0 },
{ "mdefJc", CONTROL_VALUE, RTF_MDEFJC, 0 },
{ "mdeg", CONTROL_DESTINATION, RTF_MDEG, 0 },
{ "mdegHide", CONTROL_DESTINATION, RTF_MDEGHIDE, 0 },
{ "mden", CONTROL_DESTINATION, RTF_MDEN, 0 },
{ "mdiff", CONTROL_DESTINATION, RTF_MDIFF, 0 },
{ "mdiffSty", CONTROL_VALUE, RTF_MDIFFSTY, 0 },
{ "mdispdef", CONTROL_VALUE, RTF_MDISPDEF, 1 },
{ "mdPr", CONTROL_DESTINATION, RTF_MDPR, 0 },
{ "me", CONTROL_DESTINATION, RTF_ME, 0 },
{ "mendChr", CONTROL_DESTINATION, RTF_MENDCHR, 0 },
{ "meqArr", CONTROL_DESTINATION, RTF_MEQARR, 0 },
{ "meqArrPr", CONTROL_DESTINATION, RTF_MEQARRPR, 0 },
{ "mf", CONTROL_DESTINATION, RTF_MF, 0 },
{ "mfName", CONTROL_DESTINATION, RTF_MFNAME, 0 },
{ "mfPr", CONTROL_DESTINATION, RTF_MFPR, 0 },
{ "mfunc", CONTROL_DESTINATION, RTF_MFUNC, 0 },
{ "mfuncPr", CONTROL_DESTINATION, RTF_MFUNCPR, 0 },
{ "mgroupChr", CONTROL_DESTINATION, RTF_MGROUPCHR, 0 },
{ "mgroupChrPr", CONTROL_DESTINATION, RTF_MGROUPCHRPR, 0 },
{ "mgrow", CONTROL_DESTINATION, RTF_MGROW, 0 },
{ "mhideBot", CONTROL_DESTINATION, RTF_MHIDEBOT, 0 },
{ "mhideLeft", CONTROL_DESTINATION, RTF_MHIDELEFT, 0 },
{ "mhideRight", CONTROL_DESTINATION, RTF_MHIDERIGHT, 0 },
{ "mhideTop", CONTROL_DESTINATION, RTF_MHIDETOP, 0 },
{ "mhtmltag", CONTROL_DESTINATION, RTF_MHTMLTAG, 0 },
{ "min", CONTROL_VALUE, RTF_MIN, 0 },
{ "minterSp", CONTROL_VALUE, RTF_MINTERSP, 0 },
{ "mintLim", CONTROL_VALUE, RTF_MINTLIM, 0 },
{ "mintraSp", CONTROL_VALUE, RTF_MINTRASP, 0 },
{ "mjc", CONTROL_VALUE, RTF_MJC, 0 },
{ "mlim", CONTROL_DESTINATION, RTF_MLIM, 0 },
{ "mlimloc", CONTROL_DESTINATION, RTF_MLIMLOC, 0 },
{ "mlimLoc", CONTROL_DESTINATION, RTF_MLIMLOC, 0 },
{ "mlimlow", CONTROL_DESTINATION, RTF_MLIMLOW, 0 },
{ "mlimLow", CONTROL_DESTINATION, RTF_MLIMLOW, 0 },
{ "mlimlowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR, 0 },
{ "mlimLowPr", CONTROL_DESTINATION, RTF_MLIMLOWPR, 0 },
{ "mlimupp", CONTROL_DESTINATION, RTF_MLIMUPP, 0 },
{ "mlimUpp", CONTROL_DESTINATION, RTF_MLIMUPP, 0 },
{ "mlimuppPr", CONTROL_DESTINATION, RTF_MLIMUPPPR, 0 },
{ "mlimUppPr", CONTROL_DESTINATION, RTF_MLIMUPPPR, 0 },
{ "mlit", CONTROL_FLAG, RTF_MLIT, 0 },
{ "mlMargin", CONTROL_VALUE, RTF_MLMARGIN, 0 },
{ "mm", CONTROL_DESTINATION, RTF_MM, 0 },
{ "mmaddfieldname", CONTROL_DESTINATION, RTF_MMADDFIELDNAME, 0 },
{ "mmath", CONTROL_DESTINATION, RTF_MMATH, 0 },
{ "mmathFont", CONTROL_VALUE, RTF_MMATHFONT, 0 },
{ "mmathPict", CONTROL_DESTINATION, RTF_MMATHPICT, 0 },
{ "mmathPr", CONTROL_DESTINATION, RTF_MMATHPR, 0 },
{ "mmattach", CONTROL_FLAG, RTF_MMATTACH, 0 },
{ "mmaxdist", CONTROL_DESTINATION, RTF_MMAXDIST, 0 },
{ "mmblanklines", CONTROL_FLAG, RTF_MMBLANKLINES, 0 },
{ "mmc", CONTROL_DESTINATION, RTF_MMC, 0 },
{ "mmcJc", CONTROL_DESTINATION, RTF_MMCJC, 0 },
{ "mmconnectstr", CONTROL_DESTINATION, RTF_MMCONNECTSTR, 0 },
{ "mmconnectstrdata", CONTROL_DESTINATION, RTF_MMCONNECTSTRDATA, 0 },
{ "mmcPr", CONTROL_DESTINATION, RTF_MMCPR, 0 },
{ "mmcs", CONTROL_DESTINATION, RTF_MMCS, 0 },
{ "mmdatasource", CONTROL_DESTINATION, RTF_MMDATASOURCE, 0 },
{ "mmdatatypeaccess", CONTROL_FLAG, RTF_MMDATATYPEACCESS, 0 },
{ "mmdatatypeexcel", CONTROL_FLAG, RTF_MMDATATYPEEXCEL, 0 },
{ "mmdatatypefile", CONTROL_FLAG, RTF_MMDATATYPEFILE, 0 },
{ "mmdatatypeodbc", CONTROL_FLAG, RTF_MMDATATYPEODBC, 0 },
{ "mmdatatypeodso", CONTROL_FLAG, RTF_MMDATATYPEODSO, 0 },
{ "mmdatatypeqt", CONTROL_FLAG, RTF_MMDATATYPEQT, 0 },
{ "mmdefaultsql", CONTROL_FLAG, RTF_MMDEFAULTSQL, 0 },
{ "mmdestemail", CONTROL_FLAG, RTF_MMDESTEMAIL, 0 },
{ "mmdestfax", CONTROL_FLAG, RTF_MMDESTFAX, 0 },
{ "mmdestnewdoc", CONTROL_FLAG, RTF_MMDESTNEWDOC, 0 },
{ "mmdestprinter", CONTROL_FLAG, RTF_MMDESTPRINTER, 0 },
{ "mmerrors", CONTROL_VALUE, RTF_MMERRORS, 0 },
{ "mmfttypeaddress", CONTROL_FLAG, RTF_MMFTTYPEADDRESS, 0 },
{ "mmfttypebarcode", CONTROL_FLAG, RTF_MMFTTYPEBARCODE, 0 },
{ "mmfttypedbcolumn", CONTROL_FLAG, RTF_MMFTTYPEDBCOLUMN, 0 },
{ "mmfttypemapped", CONTROL_FLAG, RTF_MMFTTYPEMAPPED, 0 },
{ "mmfttypenull", CONTROL_FLAG, RTF_MMFTTYPENULL, 0 },
{ "mmfttypesalutation", CONTROL_FLAG, RTF_MMFTTYPESALUTATION, 0 },
{ "mmheadersource", CONTROL_DESTINATION, RTF_MMHEADERSOURCE, 0 },
{ "mmjdsotype", CONTROL_VALUE, RTF_MMJDSOTYPE, 0 },
{ "mmlinktoquery", CONTROL_FLAG, RTF_MMLINKTOQUERY, 0 },
{ "mmmailsubject", CONTROL_DESTINATION, RTF_MMMAILSUBJECT, 0 },
{ "mmmaintypecatalog", CONTROL_FLAG, RTF_MMMAINTYPECATALOG, 0 },
{ "mmmaintypeemail", CONTROL_FLAG, RTF_MMMAINTYPEEMAIL, 0 },
{ "mmmaintypeenvelopes", CONTROL_FLAG, RTF_MMMAINTYPEENVELOPES, 0 },
{ "mmmaintypefax", CONTROL_FLAG, RTF_MMMAINTYPEFAX, 0 },
{ "mmmaintypelabels", CONTROL_FLAG, RTF_MMMAINTYPELABELS, 0 },
{ "mmmaintypeletters", CONTROL_FLAG, RTF_MMMAINTYPELETTERS, 0 },
{ "mmodso", CONTROL_DESTINATION, RTF_MMODSO, 0 },
{ "mmodsoactive", CONTROL_VALUE, RTF_MMODSOACTIVE, 0 },
{ "mmodsocoldelim", CONTROL_VALUE, RTF_MMODSOCOLDELIM, 0 },
{ "mmodsocolumn", CONTROL_VALUE, RTF_MMODSOCOLUMN, 0 },
{ "mmodsodynaddr", CONTROL_VALUE, RTF_MMODSODYNADDR, 0 },
{ "mmodsofhdr", CONTROL_VALUE, RTF_MMODSOFHDR, 0 },
{ "mmodsofilter", CONTROL_DESTINATION, RTF_MMODSOFILTER, 0 },
{ "mmodsofldmpdata", CONTROL_DESTINATION, RTF_MMODSOFLDMPDATA, 0 },
{ "mmodsofmcolumn", CONTROL_VALUE, RTF_MMODSOFMCOLUMN, 0 },
{ "mmodsohash", CONTROL_VALUE, RTF_MMODSOHASH, 0 },
{ "mmodsolid", CONTROL_VALUE, RTF_MMODSOLID, 0 },
{ "mmodsomappedname", CONTROL_DESTINATION, RTF_MMODSOMAPPEDNAME, 0 },
{ "mmodsoname", CONTROL_DESTINATION, RTF_MMODSONAME, 0 },
{ "mmodsorecipdata", CONTROL_DESTINATION, RTF_MMODSORECIPDATA, 0 },
{ "mmodsosort", CONTROL_DESTINATION, RTF_MMODSOSORT, 0 },
{ "mmodsosrc", CONTROL_DESTINATION, RTF_MMODSOSRC, 0 },
{ "mmodsotable", CONTROL_DESTINATION, RTF_MMODSOTABLE, 0 },
{ "mmodsoudl", CONTROL_DESTINATION, RTF_MMODSOUDL, 0 },
{ "mmodsoudldata", CONTROL_DESTINATION, RTF_MMODSOUDLDATA, 0 },
{ "mmodsouniquetag", CONTROL_DESTINATION, RTF_MMODSOUNIQUETAG, 0 },
{ "mmPr", CONTROL_DESTINATION, RTF_MMPR, 0 },
{ "mmquery", CONTROL_DESTINATION, RTF_MMQUERY, 0 },
{ "mmr", CONTROL_DESTINATION, RTF_MMR, 0 },
{ "mmreccur", CONTROL_VALUE, RTF_MMRECCUR, 0 },
{ "mmshowdata", CONTROL_FLAG, RTF_MMSHOWDATA, 0 },
{ "mnary", CONTROL_DESTINATION, RTF_MNARY, 0 },
{ "mnaryLim", CONTROL_VALUE, RTF_MNARYLIM, 0 },
{ "mnaryPr", CONTROL_DESTINATION, RTF_MNARYPR, 0 },
{ "mnoBreak", CONTROL_DESTINATION, RTF_MNOBREAK, 0 },
{ "mnor", CONTROL_FLAG, RTF_MNOR, 0 },
{ "mnum", CONTROL_DESTINATION, RTF_MNUM, 0 },
{ "mo", CONTROL_VALUE, RTF_MO, 0 },
{ "mobjDist", CONTROL_DESTINATION, RTF_MOBJDIST, 0 },
{ "moMath", CONTROL_DESTINATION, RTF_MOMATH, 0 },
{ "moMathPara", CONTROL_DESTINATION, RTF_MOMATHPARA, 0 },
{ "moMathParaPr", CONTROL_DESTINATION, RTF_MOMATHPARAPR, 0 },
{ "mopEmu", CONTROL_DESTINATION, RTF_MOPEMU, 0 },
{ "mphant", CONTROL_DESTINATION, RTF_MPHANT, 0 },
{ "mphantPr", CONTROL_DESTINATION, RTF_MPHANTPR, 0 },
{ "mplcHide", CONTROL_DESTINATION, RTF_MPLCHIDE, 0 },
{ "mpos", CONTROL_DESTINATION, RTF_MPOS, 0 },
{ "mpostSp", CONTROL_VALUE, RTF_MPOSTSP, 0 },
{ "mpreSp", CONTROL_VALUE, RTF_MPRESP, 0 },
{ "mr", CONTROL_DESTINATION, RTF_MR, 0 },
{ "mrad", CONTROL_DESTINATION, RTF_MRAD, 0 },
{ "mradPr", CONTROL_DESTINATION, RTF_MRADPR, 0 },
{ "mrMargin", CONTROL_VALUE, RTF_MRMARGIN, 0 },
{ "mrPr", CONTROL_DESTINATION, RTF_MRPR, 0 },
{ "mrSp", CONTROL_VALUE, RTF_MRSP, 0 },
{ "mrSpRule", CONTROL_VALUE, RTF_MRSPRULE, 0 },
{ "mscr", CONTROL_VALUE, RTF_MSCR, 0 },
{ "msepChr", CONTROL_DESTINATION, RTF_MSEPCHR, 0 },
{ "mshow", CONTROL_DESTINATION, RTF_MSHOW, 0 },
{ "mshp", CONTROL_DESTINATION, RTF_MSHP, 0 },
{ "msmallFrac", CONTROL_VALUE, RTF_MSMALLFRAC, 0 },
{ "msmcap", CONTROL_FLAG, RTF_MSMCAP, 0 },
{ "msPre", CONTROL_DESTINATION, RTF_MSPRE, 0 },
{ "msPrePr", CONTROL_DESTINATION, RTF_MSPREPR, 0 },
{ "msSub", CONTROL_DESTINATION, RTF_MSSUB, 0 },
{ "msSubPr", CONTROL_DESTINATION, RTF_MSSUBPR, 0 },
{ "msSubSup", CONTROL_DESTINATION, RTF_MSSUBSUP, 0 },
{ "msSubSupPr", CONTROL_DESTINATION, RTF_MSSUBSUPPR, 0 },
{ "msSup", CONTROL_DESTINATION, RTF_MSSUP, 0 },
{ "msSupPr", CONTROL_DESTINATION, RTF_MSSUPPR, 0 },
{ "mstrikeBLTR", CONTROL_DESTINATION, RTF_MSTRIKEBLTR, 0 },
{ "mstrikeH", CONTROL_DESTINATION, RTF_MSTRIKEH, 0 },
{ "mstrikeTLBR", CONTROL_DESTINATION, RTF_MSTRIKETLBR, 0 },
{ "mstrikeV", CONTROL_DESTINATION, RTF_MSTRIKEV, 0 },
{ "msty", CONTROL_VALUE, RTF_MSTY, 0 },
{ "msub", CONTROL_DESTINATION, RTF_MSUB, 0 },
{ "msubHide", CONTROL_DESTINATION, RTF_MSUBHIDE, 0 },
{ "msup", CONTROL_DESTINATION, RTF_MSUP, 0 },
{ "msupHide", CONTROL_DESTINATION, RTF_MSUPHIDE, 0 },
{ "mtransp", CONTROL_DESTINATION, RTF_MTRANSP, 0 },
{ "mtype", CONTROL_DESTINATION, RTF_MTYPE, 0 },
{ "muser", CONTROL_FLAG, RTF_MUSER, 0 },
{ "mvauth", CONTROL_VALUE, RTF_MVAUTH, 0 },
{ "mvdate", CONTROL_VALUE, RTF_MVDATE, 0 },
{ "mvertJc", CONTROL_DESTINATION, RTF_MVERTJC, 0 },
{ "mvf", CONTROL_FLAG, RTF_MVF, 0 },
{ "mvfmf", CONTROL_DESTINATION, RTF_MVFMF, 0 },
{ "mvfml", CONTROL_DESTINATION, RTF_MVFML, 0 },
{ "mvt", CONTROL_FLAG, RTF_MVT, 0 },
{ "mvtof", CONTROL_DESTINATION, RTF_MVTOF, 0 },
{ "mvtol", CONTROL_DESTINATION, RTF_MVTOL, 0 },
{ "mwrapIndent", CONTROL_VALUE, RTF_MWRAPINDENT, 1440 },
{ "mwrapRight", CONTROL_VALUE, RTF_MWRAPRIGHT, 0 },
{ "mzeroAsc", CONTROL_DESTINATION, RTF_MZEROASC, 0 },
{ "mzeroDesc", CONTROL_DESTINATION, RTF_MZERODESC, 0 },
{ "mzeroWid", CONTROL_DESTINATION, RTF_MZEROWID, 0 },
{ "nestcell", CONTROL_SYMBOL, RTF_NESTCELL, 0 },
{ "nestrow", CONTROL_SYMBOL, RTF_NESTROW, 0 },
{ "nesttableprops", CONTROL_DESTINATION, RTF_NESTTABLEPROPS, 0 },
{ "newtblstyruls", CONTROL_FLAG, RTF_NEWTBLSTYRULS, 0 },
{ "nextfile", CONTROL_DESTINATION, RTF_NEXTFILE, 0 },
{ "noafcnsttbl", CONTROL_FLAG, RTF_NOAFCNSTTBL, 0 },
{ "nobrkwrptbl", CONTROL_FLAG, RTF_NOBRKWRPTBL, 0 },
{ "nocolbal", CONTROL_FLAG, RTF_NOCOLBAL, 0 },
{ "nocompatoptions", CONTROL_FLAG, RTF_NOCOMPATOPTIONS, 0 },
{ "nocwrap", CONTROL_FLAG, RTF_NOCWRAP, 0 },
{ "nocxsptable", CONTROL_FLAG, RTF_NOCXSPTABLE, 0 },
{ "noextrasprl", CONTROL_FLAG, RTF_NOEXTRASPRL, 0 },
{ "nofchars", CONTROL_VALUE, RTF_NOFCHARS, 0 },
{ "nofcharsws", CONTROL_VALUE, RTF_NOFCHARSWS, 0 },
{ "nofeaturethrottle", CONTROL_FLAG, RTF_NOFEATURETHROTTLE, 0 },
{ "nofpages", CONTROL_VALUE, RTF_NOFPAGES, 0 },
{ "nofwords", CONTROL_VALUE, RTF_NOFWORDS, 0 },
{ "nogrowautofit", CONTROL_FLAG, RTF_NOGROWAUTOFIT, 0 },
{ "noindnmbrts", CONTROL_FLAG, RTF_NOINDNMBRTS, 0 },
{ "nojkernpunct", CONTROL_FLAG, RTF_NOJKERNPUNCT, 0 },
{ "nolead", CONTROL_FLAG, RTF_NOLEAD, 0 },
{ "noline", CONTROL_FLAG, RTF_NOLINE, 0 },
{ "nolnhtadjtbl", CONTROL_FLAG, RTF_NOLNHTADJTBL, 0 },
{ "nonesttables", CONTROL_DESTINATION, RTF_NONESTTABLES, 0 },
{ "nonshppict", CONTROL_FLAG, RTF_NONSHPPICT, 0 },
{ "nooverflow", CONTROL_FLAG, RTF_NOOVERFLOW, 0 },
{ "noproof", CONTROL_FLAG, RTF_NOPROOF, 0 },
{ "noqfpromote", CONTROL_FLAG, RTF_NOQFPROMOTE, 0 },
{ "nosectexpand", CONTROL_FLAG, RTF_NOSECTEXPAND, 0 },
{ "nosnaplinegrid", CONTROL_FLAG, RTF_NOSNAPLINEGRID, 0 },
{ "nospaceforul", CONTROL_FLAG, RTF_NOSPACEFORUL, 0 },
{ "nosupersub", CONTROL_FLAG, RTF_NOSUPERSUB, 0 },
{ "notabind", CONTROL_FLAG, RTF_NOTABIND, 0 },
{ "notbrkcnstfrctbl", CONTROL_FLAG, RTF_NOTBRKCNSTFRCTBL, 0 },
{ "notcvasp", CONTROL_FLAG, RTF_NOTCVASP, 0 },
{ "notvatxbx", CONTROL_FLAG, RTF_NOTVATXBX, 0 },
{ "nouicompat", CONTROL_FLAG, RTF_NOUICOMPAT, 0 },
{ "noultrlspc", CONTROL_FLAG, RTF_NOULTRLSPC, 0 },
{ "nowidctlpar", CONTROL_FLAG, RTF_NOWIDCTLPAR, 0 },
{ "nowrap", CONTROL_FLAG, RTF_NOWRAP, 0 },
{ "nowwrap", CONTROL_FLAG, RTF_NOWWRAP, 0 },
{ "noxlattoyen", CONTROL_FLAG, RTF_NOXLATTOYEN, 0 },
{ "objalias", CONTROL_DESTINATION, RTF_OBJALIAS, 0 },
{ "objalign", CONTROL_VALUE, RTF_OBJALIGN, 0 },
{ "objattph", CONTROL_FLAG, RTF_OBJATTPH, 0 },
{ "objautlink", CONTROL_FLAG, RTF_OBJAUTLINK, 0 },
{ "objclass", CONTROL_DESTINATION, RTF_OBJCLASS, 0 },
{ "objcropb", CONTROL_VALUE, RTF_OBJCROPB, 0 },
{ "objcropl", CONTROL_VALUE, RTF_OBJCROPL, 0 },
{ "objcropr", CONTROL_VALUE, RTF_OBJCROPR, 0 },
{ "objcropt", CONTROL_VALUE, RTF_OBJCROPT, 0 },
{ "objdata", CONTROL_DESTINATION, RTF_OBJDATA, 0 },
{ "object", CONTROL_DESTINATION, RTF_OBJECT, 0 },
{ "objemb", CONTROL_FLAG, RTF_OBJEMB, 0 },
{ "objh", CONTROL_VALUE, RTF_OBJH, 0 },
{ "objhtml", CONTROL_FLAG, RTF_OBJHTML, 0 },
{ "objicemb", CONTROL_FLAG, RTF_OBJICEMB, 0 },
{ "objlink", CONTROL_FLAG, RTF_OBJLINK, 0 },
{ "objlock", CONTROL_FLAG, RTF_OBJLOCK, 0 },
{ "objname", CONTROL_DESTINATION, RTF_OBJNAME, 0 },
{ "objocx", CONTROL_FLAG, RTF_OBJOCX, 0 },
{ "objpub", CONTROL_FLAG, RTF_OBJPUB, 0 },
{ "objscalex", CONTROL_VALUE, RTF_OBJSCALEX, 0 },
{ "objscaley", CONTROL_VALUE, RTF_OBJSCALEY, 0 },
{ "objsect", CONTROL_DESTINATION, RTF_OBJSECT, 0 },
{ "objsetsize", CONTROL_FLAG, RTF_OBJSETSIZE, 0 },
{ "objsub", CONTROL_FLAG, RTF_OBJSUB, 0 },
{ "objtime", CONTROL_DESTINATION, RTF_OBJTIME, 0 },
{ "objtransy", CONTROL_VALUE, RTF_OBJTRANSY, 0 },
{ "objupdate", CONTROL_FLAG, RTF_OBJUPDATE, 0 },
{ "objw", CONTROL_VALUE, RTF_OBJW, 0 },
{ "ogutter", CONTROL_VALUE, RTF_OGUTTER, 0 },
{ "oldas", CONTROL_FLAG, RTF_OLDAS, 0 },
{ "oldcprops", CONTROL_DESTINATION, RTF_OLDCPROPS, 0 },
{ "oldlinewrap", CONTROL_FLAG, RTF_OLDLINEWRAP, 0 },
{ "oldpprops", CONTROL_DESTINATION, RTF_OLDPPROPS, 0 },
{ "oldsprops", CONTROL_DESTINATION, RTF_OLDSPROPS, 0 },
{ "oldtprops", CONTROL_DESTINATION, RTF_OLDTPROPS, 0 },
{ "oleclsid", CONTROL_DESTINATION, RTF_OLECLSID, 0 },
{ "operator", CONTROL_DESTINATION, RTF_OPERATOR, 0 },
{ "otblrul", CONTROL_FLAG, RTF_OTBLRUL, 0 },
{ "outl", CONTROL_TOGGLE, RTF_OUTL, 1 },
{ "outlinelevel", CONTROL_VALUE, RTF_OUTLINELEVEL, 0 },
{ "overlay", CONTROL_FLAG, RTF_OVERLAY, 0 },
{ "page", CONTROL_SYMBOL, RTF_PAGE, 0 },
{ "pagebb", CONTROL_FLAG, RTF_PAGEBB, 0 },
{ "panose", CONTROL_DESTINATION, RTF_PANOSE, 0 },
{ "paperh", CONTROL_VALUE, RTF_PAPERH, 15840 },
{ "paperw", CONTROL_VALUE, RTF_PAPERW, 12240 },
{ "par", CONTROL_SYMBOL, RTF_PAR, 0 },
{ "pararsid", CONTROL_VALUE, RTF_PARARSID, 0 },
{ "pard", CONTROL_FLAG, RTF_PARD, 0 },
{ "password", CONTROL_DESTINATION, RTF_PASSWORD, 0 },
{ "passwordhash", CONTROL_DESTINATION, RTF_PASSWORDHASH, 0 },
{ "pc", CONTROL_FLAG, RTF_PC, 0 },
{ "pca", CONTROL_FLAG, RTF_PCA, 0 },
{ "pgbrdrb", CONTROL_FLAG, RTF_PGBRDRB, 0 },
{ "pgbrdrfoot", CONTROL_FLAG, RTF_PGBRDRFOOT, 0 },
{ "pgbrdrhead", CONTROL_FLAG, RTF_PGBRDRHEAD, 0 },
{ "pgbrdrl", CONTROL_FLAG, RTF_PGBRDRL, 0 },
{ "pgbrdropt", CONTROL_VALUE, RTF_PGBRDROPT, 0 },
{ "pgbrdrr", CONTROL_FLAG, RTF_PGBRDRR, 0 },
{ "pgbrdrsnap", CONTROL_FLAG, RTF_PGBRDRSNAP, 0 },
{ "pgbrdrt", CONTROL_FLAG, RTF_PGBRDRT, 0 },
{ "pghsxn", CONTROL_VALUE, RTF_PGHSXN, 0 },
{ "pgnbidia", CONTROL_FLAG, RTF_PGNBIDIA, 0 },
{ "pgnbidib", CONTROL_FLAG, RTF_PGNBIDIB, 0 },
{ "pgnchosung", CONTROL_FLAG, RTF_PGNCHOSUNG, 0 },
{ "pgncnum", CONTROL_FLAG, RTF_PGNCNUM, 0 },
{ "pgncont", CONTROL_FLAG, RTF_PGNCONT, 0 },
{ "pgndbnum", CONTROL_FLAG, RTF_PGNDBNUM, 0 },
{ "pgndbnumd", CONTROL_FLAG, RTF_PGNDBNUMD, 0 },
{ "pgndbnumk", CONTROL_FLAG, RTF_PGNDBNUMK, 0 },
{ "pgndbnumt", CONTROL_FLAG, RTF_PGNDBNUMT, 0 },
{ "pgndec", CONTROL_FLAG, RTF_PGNDEC, 0 },
{ "pgndecd", CONTROL_FLAG, RTF_PGNDECD, 0 },
{ "pgnganada", CONTROL_FLAG, RTF_PGNGANADA, 0 },
{ "pgngbnum", CONTROL_FLAG, RTF_PGNGBNUM, 0 },
{ "pgngbnumd", CONTROL_FLAG, RTF_PGNGBNUMD, 0 },
{ "pgngbnumk", CONTROL_FLAG, RTF_PGNGBNUMK, 0 },
{ "pgngbnuml", CONTROL_FLAG, RTF_PGNGBNUML, 0 },
{ "pgnhindia", CONTROL_FLAG, RTF_PGNHINDIA, 0 },
{ "pgnhindib", CONTROL_FLAG, RTF_PGNHINDIB, 0 },
{ "pgnhindic", CONTROL_FLAG, RTF_PGNHINDIC, 0 },
{ "pgnhindid", CONTROL_FLAG, RTF_PGNHINDID, 0 },
{ "pgnhn", CONTROL_VALUE, RTF_PGNHN, 0 },
{ "pgnhnsc", CONTROL_FLAG, RTF_PGNHNSC, 0 },
{ "pgnhnsh", CONTROL_FLAG, RTF_PGNHNSH, 0 },
{ "pgnhnsm", CONTROL_FLAG, RTF_PGNHNSM, 0 },
{ "pgnhnsn", CONTROL_FLAG, RTF_PGNHNSN, 0 },
{ "pgnhnsp", CONTROL_FLAG, RTF_PGNHNSP, 0 },
{ "pgnid", CONTROL_FLAG, RTF_PGNID, 0 },
{ "pgnlcltr", CONTROL_FLAG, RTF_PGNLCLTR, 0 },
{ "pgnlcrm", CONTROL_FLAG, RTF_PGNLCRM, 0 },
{ "pgnrestart", CONTROL_FLAG, RTF_PGNRESTART, 0 },
{ "pgnstart", CONTROL_VALUE, RTF_PGNSTART, 1 },
{ "pgnstarts", CONTROL_VALUE, RTF_PGNSTARTS, 1 },
{ "pgnthaia", CONTROL_FLAG, RTF_PGNTHAIA, 0 },
{ "pgnthaib", CONTROL_FLAG, RTF_PGNTHAIB, 0 },
{ "pgnthaic", CONTROL_FLAG, RTF_PGNTHAIC, 0 },
{ "pgnucltr", CONTROL_FLAG, RTF_PGNUCLTR, 0 },
{ "pgnucrm", CONTROL_FLAG, RTF_PGNUCRM, 0 },
{ "pgnvieta", CONTROL_FLAG, RTF_PGNVIETA, 0 },
{ "pgnx", CONTROL_VALUE, RTF_PGNX, 720 },
{ "pgny", CONTROL_VALUE, RTF_PGNY, 720 },
{ "pgnzodiac", CONTROL_FLAG, RTF_PGNZODIAC, 0 },
{ "pgnzodiacd", CONTROL_FLAG, RTF_PGNZODIACD, 0 },
{ "pgnzodiacl", CONTROL_FLAG, RTF_PGNZODIACL, 0 },
{ "pgp", CONTROL_DESTINATION, RTF_PGP, 0 },
{ "pgptbl", CONTROL_DESTINATION, RTF_PGPTBL, 0 },
{ "pgwsxn", CONTROL_VALUE, RTF_PGWSXN, 0 },
{ "phcol", CONTROL_FLAG, RTF_PHCOL, 0 },
{ "phmrg", CONTROL_FLAG, RTF_PHMRG, 0 },
{ "phpg", CONTROL_FLAG, RTF_PHPG, 0 },
{ "picbmp", CONTROL_FLAG, RTF_PICBMP, 0 },
{ "picbpp", CONTROL_VALUE, RTF_PICBPP, 0 },
{ "piccropb", CONTROL_VALUE, RTF_PICCROPB, 0 },
{ "piccropl", CONTROL_VALUE, RTF_PICCROPL, 0 },
{ "piccropr", CONTROL_VALUE, RTF_PICCROPR, 0 },
{ "piccropt", CONTROL_VALUE, RTF_PICCROPT, 0 },
{ "pich", CONTROL_VALUE, RTF_PICH, 0 },
{ "pichgoal", CONTROL_VALUE, RTF_PICHGOAL, 0 },
{ "pichGoal", CONTROL_VALUE, RTF_PICHGOAL, 0 },
{ "picprop", CONTROL_DESTINATION, RTF_PICPROP, 0 },
{ "picscaled", CONTROL_FLAG, RTF_PICSCALED, 0 },
{ "picscalex", CONTROL_VALUE, RTF_PICSCALEX, 100 },
{ "picscaley", CONTROL_VALUE, RTF_PICSCALEY, 100 },
{ "pict", CONTROL_DESTINATION, RTF_PICT, 0 },
{ "picw", CONTROL_VALUE, RTF_PICW, 0 },
{ "picwgoal", CONTROL_VALUE, RTF_PICWGOAL, 0 },
{ "picwGoal", CONTROL_VALUE, RTF_PICWGOAL, 0 },
{ "pindtabqc", CONTROL_FLAG, RTF_PINDTABQC, 0 },
{ "pindtabql", CONTROL_FLAG, RTF_PINDTABQL, 0 },
{ "pindtabqr", CONTROL_FLAG, RTF_PINDTABQR, 0 },
{ "plain", CONTROL_FLAG, RTF_PLAIN, 0 },
{ "pmartabqc", CONTROL_FLAG, RTF_PMARTABQC, 0 },
{ "pmartabql", CONTROL_FLAG, RTF_PMARTABQL, 0 },
{ "pmartabqr", CONTROL_FLAG, RTF_PMARTABQR, 0 },
{ "pmmetafile", CONTROL_VALUE, RTF_PMMETAFILE, 0 },
{ "pn", CONTROL_DESTINATION, RTF_PN, 0 },
{ "pnacross", CONTROL_FLAG, RTF_PNACROSS, 0 },
{ "pnaiu", CONTROL_FLAG, RTF_PNAIU, 0 },
{ "pnaiud", CONTROL_FLAG, RTF_PNAIUD, 0 },
{ "pnaiueo", CONTROL_FLAG, RTF_PNAIUEO, 0 },
{ "pnaiueod", CONTROL_FLAG, RTF_PNAIUEOD, 0 },
{ "pnb", CONTROL_TOGGLE, RTF_PNB, 1 },
{ "pnbidia", CONTROL_FLAG, RTF_PNBIDIA, 0 },
{ "pnbidib", CONTROL_FLAG, RTF_PNBIDIB, 0 },
{ "pncaps", CONTROL_TOGGLE, RTF_PNCAPS, 1 },
{ "pncard", CONTROL_FLAG, RTF_PNCARD, 0 },
{ "pncf", CONTROL_VALUE, RTF_PNCF, 0 },
{ "pnchosung", CONTROL_FLAG, RTF_PNCHOSUNG, 0 },
{ "pncnum", CONTROL_FLAG, RTF_PNCNUM, 0 },
{ "pndbnum", CONTROL_FLAG, RTF_PNDBNUM, 0 },
{ "pndbnumd", CONTROL_FLAG, RTF_PNDBNUMD, 0 },
{ "pndbnumk", CONTROL_FLAG, RTF_PNDBNUMK, 0 },
{ "pndbnuml", CONTROL_FLAG, RTF_PNDBNUML, 0 },
{ "pndbnumt", CONTROL_FLAG, RTF_PNDBNUMT, 0 },
{ "pndec", CONTROL_FLAG, RTF_PNDEC, 0 },
{ "pndecd", CONTROL_FLAG, RTF_PNDECD, 0 },
{ "pnf", CONTROL_VALUE, RTF_PNF, 0 },
{ "pnfs", CONTROL_VALUE, RTF_PNFS, 0 },
{ "pnganada", CONTROL_FLAG, RTF_PNGANADA, 0 },
{ "pngblip", CONTROL_FLAG, RTF_PNGBLIP, 0 },
{ "pngbnum", CONTROL_FLAG, RTF_PNGBNUM, 0 },
{ "pngbnumd", CONTROL_FLAG, RTF_PNGBNUMD, 0 },
{ "pngbnumk", CONTROL_FLAG, RTF_PNGBNUMK, 0 },
{ "pngbnuml", CONTROL_FLAG, RTF_PNGBNUML, 0 },
{ "pnhang", CONTROL_FLAG, RTF_PNHANG, 0 },
{ "pni", CONTROL_TOGGLE, RTF_PNI, 1 },
{ "pnindent", CONTROL_VALUE, RTF_PNINDENT, 0 },
{ "pniroha", CONTROL_FLAG, RTF_PNIROHA, 0 },
{ "pnirohad", CONTROL_FLAG, RTF_PNIROHAD, 0 },
{ "pnlcltr", CONTROL_FLAG, RTF_PNLCLTR, 0 },
{ "pnlcrm", CONTROL_FLAG, RTF_PNLCRM, 0 },
{ "pnlvl", CONTROL_VALUE, RTF_PNLVL, 0 },
{ "pnlvlblt", CONTROL_FLAG, RTF_PNLVLBLT, 0 },
{ "pnlvlbody", CONTROL_FLAG, RTF_PNLVLBODY, 0 },
{ "pnlvlcont", CONTROL_FLAG, RTF_PNLVLCONT, 0 },
{ "pnnumonce", CONTROL_FLAG, RTF_PNNUMONCE, 0 },
{ "pnord", CONTROL_FLAG, RTF_PNORD, 0 },
{ "pnordt", CONTROL_FLAG, RTF_PNORDT, 0 },
{ "pnprev", CONTROL_FLAG, RTF_PNPREV, 0 },
{ "pnqc", CONTROL_FLAG, RTF_PNQC, 0 },
{ "pnql", CONTROL_FLAG, RTF_PNQL, 0 },
{ "pnqr", CONTROL_FLAG, RTF_PNQR, 0 },
{ "pnrauth", CONTROL_VALUE, RTF_PNRAUTH, 0 },
{ "pnrdate", CONTROL_VALUE, RTF_PNRDATE, 0 },
{ "pnrestart", CONTROL_FLAG, RTF_PNRESTART, 0 },
{ "pnrnfc", CONTROL_VALUE, RTF_PNRNFC, 0 },
{ "pnrnot", CONTROL_FLAG, RTF_PNRNOT, 0 },
{ "pnrpnbr", CONTROL_VALUE, RTF_PNRPNBR, 0 },
{ "pnrrgb", CONTROL_VALUE, RTF_PNRRGB, 0 },
{ "pnrstart", CONTROL_VALUE, RTF_PNRSTART, 0 },
{ "pnrstop", CONTROL_VALUE, RTF_PNRSTOP, 0 },
{ "pnrxst", CONTROL_VALUE, RTF_PNRXST, 0 },
{ "pnscaps", CONTROL_TOGGLE, RTF_PNSCAPS, 1 },
{ "pnseclvl", CONTROL_DESTINATION, RTF_PNSECLVL, 0 },
{ "pnsp", CONTROL_VALUE, RTF_PNSP, 0 },
{ "pnstart", CONTROL_VALUE, RTF_PNSTART, 0 },
{ "pnstrike", CONTROL_TOGGLE, RTF_PNSTRIKE, 1 },
{ "pntext", CONTROL_DESTINATION, RTF_PNTEXT, 0 },
{ "pntxta", CONTROL_DESTINATION, RTF_PNTXTA, 0 },
{ "pntxtb", CONTROL_DESTINATION, RTF_PNTXTB, 0 },
{ "pnucltr", CONTROL_FLAG, RTF_PNUCLTR, 0 },
{ "pnucrm", CONTROL_FLAG, RTF_PNUCRM, 0 },
{ "pnul", CONTROL_TOGGLE, RTF_PNUL, 1 },
{ "pnuld", CONTROL_FLAG, RTF_PNULD, 0 },
{ "pnuldash", CONTROL_FLAG, RTF_PNULDASH, 0 },
{ "pnuldashd", CONTROL_FLAG, RTF_PNULDASHD, 0 },
{ "pnuldashdd", CONTROL_FLAG, RTF_PNULDASHDD, 0 },
{ "pnuldb", CONTROL_FLAG, RTF_PNULDB, 0 },
{ "pnulhair", CONTROL_FLAG, RTF_PNULHAIR, 0 },
{ "pnulnone", CONTROL_FLAG, RTF_PNULNONE, 0 },
{ "pnulth", CONTROL_FLAG, RTF_PNULTH, 0 },
{ "pnulw", CONTROL_FLAG, RTF_PNULW, 0 },
{ "pnulwave", CONTROL_FLAG, RTF_PNULWAVE, 0 },
{ "pnzodiac", CONTROL_FLAG, RTF_PNZODIAC, 0 },
{ "pnzodiacd", CONTROL_FLAG, RTF_PNZODIACD, 0 },
{ "pnzodiacl", CONTROL_FLAG, RTF_PNZODIACL, 0 },
{ "posnegx", CONTROL_VALUE, RTF_POSNEGX, 0 },
{ "posnegy", CONTROL_VALUE, RTF_POSNEGY, 0 },
{ "posx", CONTROL_VALUE, RTF_POSX, 0 },
{ "posxc", CONTROL_FLAG, RTF_POSXC, 0 },
{ "posxi", CONTROL_FLAG, RTF_POSXI, 0 },
{ "posxl", CONTROL_FLAG, RTF_POSXL, 0 },
{ "posxo", CONTROL_FLAG, RTF_POSXO, 0 },
{ "posxr", CONTROL_FLAG, RTF_POSXR, 0 },
{ "posy", CONTROL_VALUE, RTF_POSY, 0 },
{ "posyb", CONTROL_FLAG, RTF_POSYB, 0 },
{ "posyc", CONTROL_FLAG, RTF_POSYC, 0 },
{ "posyil", CONTROL_FLAG, RTF_POSYIL, 0 },
{ "posyin", CONTROL_FLAG, RTF_POSYIN, 0 },
{ "posyout", CONTROL_FLAG, RTF_POSYOUT, 0 },
{ "posyt", CONTROL_FLAG, RTF_POSYT, 0 },
{ "prauth", CONTROL_VALUE, RTF_PRAUTH, 0 },
{ "prcolbl", CONTROL_FLAG, RTF_PRCOLBL, 0 },
{ "prdate", CONTROL_VALUE, RTF_PRDATE, 0 },
{ "printdata", CONTROL_FLAG, RTF_PRINTDATA, 0 },
{ "printim", CONTROL_DESTINATION, RTF_PRINTIM, 0 },
{ "private", CONTROL_DESTINATION, RTF_PRIVATE, 0 },
{ "propname", CONTROL_DESTINATION, RTF_PROPNAME, 0 },
{ "proptype", CONTROL_VALUE, RTF_PROPTYPE, 0 },
{ "protect", CONTROL_TOGGLE, RTF_PROTECT, 1 },
{ "protend", CONTROL_DESTINATION, RTF_PROTEND, 0 },
{ "protlevel", CONTROL_VALUE, RTF_PROTLEVEL, 0 },
{ "protstart", CONTROL_DESTINATION, RTF_PROTSTART, 0 },
{ "protusertbl", CONTROL_DESTINATION, RTF_PROTUSERTBL, 0 },
{ "psover", CONTROL_FLAG, RTF_PSOVER, 0 },
{ "psz", CONTROL_VALUE, RTF_PSZ, 0 },
{ "ptabldot", CONTROL_FLAG, RTF_PTABLDOT, 0 },
{ "ptablmdot", CONTROL_FLAG, RTF_PTABLMDOT, 0 },
{ "ptablminus", CONTROL_FLAG, RTF_PTABLMINUS, 0 },
{ "ptablnone", CONTROL_FLAG, RTF_PTABLNONE, 0 },
{ "ptabluscore", CONTROL_FLAG, RTF_PTABLUSCORE, 0 },
{ "pubauto", CONTROL_FLAG, RTF_PUBAUTO, 0 },
{ "pvmrg", CONTROL_FLAG, RTF_PVMRG, 0 },
{ "pvpara", CONTROL_FLAG, RTF_PVPARA, 0 },
{ "pvpg", CONTROL_FLAG, RTF_PVPG, 0 },
{ "pwd", CONTROL_VALUE, RTF_PWD, 0 },
{ "pxe", CONTROL_DESTINATION, RTF_PXE, 0 },
{ "qc", CONTROL_FLAG, RTF_QC, 0 },
{ "qd", CONTROL_FLAG, RTF_QD, 0 },
{ "qj", CONTROL_FLAG, RTF_QJ, 0 },
{ "qk", CONTROL_VALUE, RTF_QK, 0 },
{ "ql", CONTROL_FLAG, RTF_QL, 0 },
{ "qmspace", CONTROL_SYMBOL, RTF_QMSPACE, 0 },
{ "qr", CONTROL_FLAG, RTF_QR, 0 },
{ "qt", CONTROL_FLAG, RTF_QT, 0 },
{ "rawclbgdkbdiag", CONTROL_FLAG, RTF_RAWCLBGDKBDIAG, 0 },
{ "rawclbgbdiag", CONTROL_FLAG, RTF_RAWCLBGBDIAG, 0 },
{ "rawclbgcross", CONTROL_FLAG, RTF_RAWCLBGCROSS, 0 },
{ "rawclbgdcross", CONTROL_FLAG, RTF_RAWCLBGDCROSS, 0 },
{ "rawclbgdkcross", CONTROL_FLAG, RTF_RAWCLBGDKCROSS, 0 },
{ "rawclbgdkdcross", CONTROL_FLAG, RTF_RAWCLBGDKDCROSS, 0 },
{ "rawclbgdkfdiag", CONTROL_FLAG, RTF_RAWCLBGDKFDIAG, 0 },
{ "rawclbgdkhor", CONTROL_FLAG, RTF_RAWCLBGDKHOR, 0 },
{ "rawclbgdkvert", CONTROL_FLAG, RTF_RAWCLBGDKVERT, 0 },
{ "rawclbgfdiag", CONTROL_FLAG, RTF_RAWCLBGFDIAG, 0 },
{ "rawclbghoriz", CONTROL_FLAG, RTF_RAWCLBGHORIZ, 0 },
{ "rawclbgvert", CONTROL_FLAG, RTF_RAWCLBGVERT, 0 },
{ "rdblquote", CONTROL_SYMBOL, RTF_RDBLQUOTE, 0 },
{ "readonlyrecommended", CONTROL_FLAG, RTF_READONLYRECOMMENDED, 0 },
{ "readprot", CONTROL_FLAG, RTF_READPROT, 0 },
{ "red", CONTROL_VALUE, RTF_RED, 0 },
{ "relyonvml", CONTROL_VALUE, RTF_RELYONVML, 0 },
{ "remdttm", CONTROL_FLAG, RTF_REMDTTM, 0 },
{ "rempersonalinfo", CONTROL_FLAG, RTF_REMPERSONALINFO, 0 },
{ "result", CONTROL_DESTINATION, RTF_RESULT, 0 },
{ "revauth", CONTROL_VALUE, RTF_REVAUTH, 0 },
{ "revauthdel", CONTROL_VALUE, RTF_REVAUTHDEL, 0 },
{ "revbar", CONTROL_VALUE, RTF_REVBAR, 3 },
{ "revdttm", CONTROL_VALUE, RTF_REVDTTM, 0 },
{ "revdttmdel", CONTROL_VALUE, RTF_REVDTTMDEL, 0 },
{ "revised", CONTROL_TOGGLE, RTF_REVISED, 1 },
{ "revisions", CONTROL_FLAG, RTF_REVISIONS, 0 },
{ "revprop", CONTROL_VALUE, RTF_REVPROP, 3 },
{ "revprot", CONTROL_FLAG, RTF_REVPROT, 0 },
{ "revtbl", CONTROL_DESTINATION, RTF_REVTBL, 0 },
{ "revtim", CONTROL_DESTINATION, RTF_REVTIM, 0 },
{ "ri", CONTROL_VALUE, RTF_RI, 0 },
{ "rin", CONTROL_VALUE, RTF_RIN, 0 },
{ "row", CONTROL_SYMBOL, RTF_ROW, 0 },
{ "rquote", CONTROL_SYMBOL, RTF_RQUOTE, 0 },
{ "rsid", CONTROL_VALUE, RTF_RSID, 0 },
{ "rsidroot", CONTROL_VALUE, RTF_RSIDROOT, 0 },
{ "rsidtbl", CONTROL_DESTINATION, RTF_RSIDTBL, 0 },
{ "rsltbmp", CONTROL_FLAG, RTF_RSLTBMP, 0 },
{ "rslthtml", CONTROL_FLAG, RTF_RSLTHTML, 0 },
{ "rsltmerge", CONTROL_FLAG, RTF_RSLTMERGE, 0 },
{ "rsltpict", CONTROL_FLAG, RTF_RSLTPICT, 0 },
{ "rsltrtf", CONTROL_FLAG, RTF_RSLTRTF, 0 },
{ "rslttxt", CONTROL_FLAG, RTF_RSLTTXT, 0 },
{ "rtf", CONTROL_DESTINATION, RTF_RTF, 0 },
{ "rtlch", CONTROL_FLAG, RTF_RTLCH, 0 },
{ "rtldoc", CONTROL_FLAG, RTF_RTLDOC, 0 },
{ "rtlgutter", CONTROL_FLAG, RTF_RTLGUTTER, 0 },
{ "rtlmark", CONTROL_SYMBOL, RTF_RTLMARK, 0 },
{ "rtlpar", CONTROL_FLAG, RTF_RTLPAR, 0 },
{ "rtlrow", CONTROL_FLAG, RTF_RTLROW, 0 },
{ "rtlsect", CONTROL_FLAG, RTF_RTLSECT, 0 },
{ "rxe", CONTROL_DESTINATION, RTF_RXE, 0 },
{ "s", CONTROL_VALUE, RTF_S, 0 },
{ "sa", CONTROL_VALUE, RTF_SA, 0 },
{ "saauto", CONTROL_TOGGLE, RTF_SAAUTO, 1 },
{ "saftnnalc", CONTROL_FLAG, RTF_SAFTNNALC, 0 },
{ "saftnnar", CONTROL_FLAG, RTF_SAFTNNAR, 0 },
{ "saftnnauc", CONTROL_FLAG, RTF_SAFTNNAUC, 0 },
{ "saftnnchi", CONTROL_FLAG, RTF_SAFTNNCHI, 0 },
{ "saftnnchosung", CONTROL_FLAG, RTF_SAFTNNCHOSUNG, 0 },
{ "saftnncnum", CONTROL_FLAG, RTF_SAFTNNCNUM, 0 },
{ "saftnndbar", CONTROL_FLAG, RTF_SAFTNNDBAR, 0 },
{ "saftnndbnum", CONTROL_FLAG, RTF_SAFTNNDBNUM, 0 },
{ "saftnndbnumd", CONTROL_FLAG, RTF_SAFTNNDBNUMD, 0 },
{ "saftnndbnumk", CONTROL_FLAG, RTF_SAFTNNDBNUMK, 0 },
{ "saftnndbnumt", CONTROL_FLAG, RTF_SAFTNNDBNUMT, 0 },
{ "saftnnganada", CONTROL_FLAG, RTF_SAFTNNGANADA, 0 },
{ "saftnngbnum", CONTROL_FLAG, RTF_SAFTNNGBNUM, 0 },
{ "saftnngbnumd", CONTROL_FLAG, RTF_SAFTNNGBNUMD, 0 },
{ "saftnngbnumk", CONTROL_FLAG, RTF_SAFTNNGBNUMK, 0 },
{ "saftnngbnuml", CONTROL_FLAG, RTF_SAFTNNGBNUML, 0 },
{ "saftnnrlc", CONTROL_FLAG, RTF_SAFTNNRLC, 0 },
{ "saftnnruc", CONTROL_FLAG, RTF_SAFTNNRUC, 0 },
{ "saftnnzodiac", CONTROL_FLAG, RTF_SAFTNNZODIAC, 0 },
{ "saftnnzodiacd", CONTROL_FLAG, RTF_SAFTNNZODIACD, 0 },
{ "saftnnzodiacl", CONTROL_FLAG, RTF_SAFTNNZODIACL, 0 },
{ "saftnrestart", CONTROL_FLAG, RTF_SAFTNRESTART, 0 },
{ "saftnrstcont", CONTROL_FLAG, RTF_SAFTNRSTCONT, 0 },
{ "saftnstart", CONTROL_VALUE, RTF_SAFTNSTART, 1 },
{ "sautoupd", CONTROL_FLAG, RTF_SAUTOUPD, 0 },
{ "saveinvalidxml", CONTROL_FLAG, RTF_SAVEINVALIDXML, 0 },
{ "saveprevpict", CONTROL_FLAG, RTF_SAVEPREVPICT, 0 },
{ "sb", CONTROL_VALUE, RTF_SB, 0 },
{ "sbasedon", CONTROL_VALUE, RTF_SBASEDON, 222 },
{ "sbauto", CONTROL_TOGGLE, RTF_SBAUTO, 1 },
{ "sbkcol", CONTROL_FLAG, RTF_SBKCOL, 0 },
{ "sbkeven", CONTROL_FLAG, RTF_SBKEVEN, 0 },
{ "sbknone", CONTROL_FLAG, RTF_SBKNONE, 0 },
{ "sbkodd", CONTROL_FLAG, RTF_SBKODD, 0 },
{ "sbkpage", CONTROL_FLAG, RTF_SBKPAGE, 0 },
{ "sbys", CONTROL_FLAG, RTF_SBYS, 0 },
{ "scaps", CONTROL_TOGGLE, RTF_SCAPS, 1 },
{ "scompose", CONTROL_FLAG, RTF_SCOMPOSE, 0 },
{ "sec", CONTROL_VALUE, RTF_SEC, 0 },
{ "sect", CONTROL_SYMBOL, RTF_SECT, 0 },
{ "sectd", CONTROL_FLAG, RTF_SECTD, 0 },
{ "sectdefaultcl", CONTROL_FLAG, RTF_SECTDEFAULTCL, 0 },
{ "sectexpand", CONTROL_VALUE, RTF_SECTEXPAND, 0 },
{ "sectlinegrid", CONTROL_VALUE, RTF_SECTLINEGRID, 0 },
{ "sectnum", CONTROL_SYMBOL, RTF_SECTNUM, 0 },
{ "sectrsid", CONTROL_VALUE, RTF_SECTRSID, 0 },
{ "sectspecifycl", CONTROL_FLAG, RTF_SECTSPECIFYCL, 0 },
{ "sectspecifygenN", CONTROL_FLAG, RTF_SECTSPECIFYGENN, 0 },
{ "sectspecifyl", CONTROL_FLAG, RTF_SECTSPECIFYL, 0 },
{ "sectunlocked", CONTROL_FLAG, RTF_SECTUNLOCKED, 0 },
{ "sftnbj", CONTROL_FLAG, RTF_SFTNBJ, 0 },
{ "sftnnalc", CONTROL_FLAG, RTF_SFTNNALC, 0 },
{ "sftnnar", CONTROL_FLAG, RTF_SFTNNAR, 0 },
{ "sftnnauc", CONTROL_FLAG, RTF_SFTNNAUC, 0 },
{ "sftnnchi", CONTROL_FLAG, RTF_SFTNNCHI, 0 },
{ "sftnnchosung", CONTROL_FLAG, RTF_SFTNNCHOSUNG, 0 },
{ "sftnncnum", CONTROL_FLAG, RTF_SFTNNCNUM, 0 },
{ "sftnndbar", CONTROL_FLAG, RTF_SFTNNDBAR, 0 },
{ "sftnndbnum", CONTROL_FLAG, RTF_SFTNNDBNUM, 0 },
{ "sftnndbnumd", CONTROL_FLAG, RTF_SFTNNDBNUMD, 0 },
{ "sftnndbnumk", CONTROL_FLAG, RTF_SFTNNDBNUMK, 0 },
{ "sftnndbnumt", CONTROL_FLAG, RTF_SFTNNDBNUMT, 0 },
{ "sftnnganada", CONTROL_FLAG, RTF_SFTNNGANADA, 0 },
{ "sftnngbnum", CONTROL_FLAG, RTF_SFTNNGBNUM, 0 },
{ "sftnngbnumd", CONTROL_FLAG, RTF_SFTNNGBNUMD, 0 },
{ "sftnngbnumk", CONTROL_FLAG, RTF_SFTNNGBNUMK, 0 },
{ "sftnngbnuml", CONTROL_FLAG, RTF_SFTNNGBNUML, 0 },
{ "sftnnrlc", CONTROL_FLAG, RTF_SFTNNRLC, 0 },
{ "sftnnruc", CONTROL_FLAG, RTF_SFTNNRUC, 0 },
{ "sftnnzodiac", CONTROL_FLAG, RTF_SFTNNZODIAC, 0 },
{ "sftnnzodiacd", CONTROL_FLAG, RTF_SFTNNZODIACD, 0 },
{ "sftnnzodiacl", CONTROL_FLAG, RTF_SFTNNZODIACL, 0 },
{ "sftnrestart", CONTROL_FLAG, RTF_SFTNRESTART, 0 },
{ "sftnrstcont", CONTROL_FLAG, RTF_SFTNRSTCONT, 0 },
{ "sftnrstpg", CONTROL_FLAG, RTF_SFTNRSTPG, 0 },
{ "sftnstart", CONTROL_VALUE, RTF_SFTNSTART, 1 },
{ "sftntj", CONTROL_FLAG, RTF_SFTNTJ, 0 },
{ "shad", CONTROL_TOGGLE, RTF_SHAD, 1 },
{ "shading", CONTROL_VALUE, RTF_SHADING, 0 },
{ "shidden", CONTROL_FLAG, RTF_SHIDDEN, 0 },
{ "shift", CONTROL_FLAG, RTF_SHIFT, 0 },
{ "showplaceholdtext", CONTROL_VALUE, RTF_SHOWPLACEHOLDTEXT, 0 },
{ "showxmlerrors", CONTROL_VALUE, RTF_SHOWXMLERRORS, 0 },
{ "shp", CONTROL_DESTINATION, RTF_SHP, 0 },
{ "shpbottom", CONTROL_VALUE, RTF_SHPBOTTOM, 0 },
{ "shpbxcolumn", CONTROL_FLAG, RTF_SHPBXCOLUMN, 0 },
{ "shpbxignore", CONTROL_FLAG, RTF_SHPBXIGNORE, 0 },
{ "shpbxmargin", CONTROL_FLAG, RTF_SHPBXMARGIN, 0 },
{ "shpbxpage", CONTROL_FLAG, RTF_SHPBXPAGE, 0 },
{ "shpbyignore", CONTROL_FLAG, RTF_SHPBYIGNORE, 0 },
{ "shpbymargin", CONTROL_FLAG, RTF_SHPBYMARGIN, 0 },
{ "shpbypage", CONTROL_FLAG, RTF_SHPBYPAGE, 0 },
{ "shpbypara", CONTROL_FLAG, RTF_SHPBYPARA, 0 },
{ "shpfblwtxt", CONTROL_VALUE, RTF_SHPFBLWTXT, 0 },
{ "shpfhdr", CONTROL_VALUE, RTF_SHPFHDR, 0 },
{ "shpgrp", CONTROL_DESTINATION, RTF_SHPGRP, 0 },
{ "shpinst", CONTROL_DESTINATION, RTF_SHPINST, 0 },
{ "shpleft", CONTROL_VALUE, RTF_SHPLEFT, 0 },
{ "shplid", CONTROL_VALUE, RTF_SHPLID, 0 },
{ "shplockanchor", CONTROL_FLAG, RTF_SHPLOCKANCHOR, 0 },
{ "shppict", CONTROL_DESTINATION, RTF_SHPPICT, 0 },
{ "shpright", CONTROL_VALUE, RTF_SHPRIGHT, 0 },
{ "shprslt", CONTROL_DESTINATION, RTF_SHPRSLT, 0 },
{ "shptop", CONTROL_VALUE, RTF_SHPTOP, 0 },
{ "shptxt", CONTROL_DESTINATION, RTF_SHPTXT, 0 },
{ "shpwrk", CONTROL_VALUE, RTF_SHPWRK, 0 },
{ "shpwr", CONTROL_VALUE, RTF_SHPWR, 0 },
{ "shpz", CONTROL_VALUE, RTF_SHPZ, 0 },
{ "sl", CONTROL_VALUE, RTF_SL, 0 },
{ "slink", CONTROL_VALUE, RTF_SLINK, 0 },
{ "slmult", CONTROL_VALUE, RTF_SLMULT, 0 },
{ "slocked", CONTROL_FLAG, RTF_SLOCKED, 0 },
{ "sn", CONTROL_DESTINATION, RTF_SN, 0 },
{ "snaptogridincell", CONTROL_FLAG, RTF_SNAPTOGRIDINCELL, 0 },
{ "snext", CONTROL_VALUE, RTF_SNEXT, 0 },
{ "softcol", CONTROL_FLAG, RTF_SOFTCOL, 0 },
{ "softlheight", CONTROL_VALUE, RTF_SOFTLHEIGHT, 0 },
{ "softline", CONTROL_FLAG, RTF_SOFTLINE, 0 },
{ "softpage", CONTROL_FLAG, RTF_SOFTPAGE, 0 },
{ "sp", CONTROL_DESTINATION, RTF_SP, 0 },
{ "spersonal", CONTROL_FLAG, RTF_SPERSONAL, 0 },
{ "spltpgpar", CONTROL_FLAG, RTF_SPLTPGPAR, 0 },
{ "splytwnine", CONTROL_FLAG, RTF_SPLYTWNINE, 0 },
{ "spriority", CONTROL_VALUE, RTF_SPRIORITY, 0 },
{ "sprsbsp", CONTROL_FLAG, RTF_SPRSBSP, 0 },
{ "sprslnsp", CONTROL_FLAG, RTF_SPRSLNSP, 0 },
{ "sprsspbf", CONTROL_FLAG, RTF_SPRSSPBF, 0 },
{ "sprstsm", CONTROL_FLAG, RTF_SPRSTSM, 0 },
{ "sprstsp", CONTROL_FLAG, RTF_SPRSTSP, 0 },
{ "spv", CONTROL_FLAG, RTF_SPV, 0 },
{ "sqformat", CONTROL_FLAG, RTF_SQFORMAT, 0 },
{ "srauth", CONTROL_VALUE, RTF_SRAUTH, 0 },
{ "srdate", CONTROL_VALUE, RTF_SRDATE, 0 },
{ "sreply", CONTROL_FLAG, RTF_SREPLY, 0 },
{ "ssemihidden", CONTROL_VALUE, RTF_SSEMIHIDDEN, 0 },
{ "staticval", CONTROL_DESTINATION, RTF_STATICVAL, 0 },
{ "stextflow", CONTROL_VALUE, RTF_STEXTFLOW, 0 },
{ "strike", CONTROL_TOGGLE, RTF_STRIKE, 1 },
{ "striked", CONTROL_TOGGLE, RTF_STRIKED, 1 },
{ "stshfbi", CONTROL_VALUE, RTF_STSHFBI, 0 },
{ "stshfdbch", CONTROL_VALUE, RTF_STSHFDBCH, 0 },
{ "stshfhich", CONTROL_VALUE, RTF_STSHFHICH, 0 },
{ "stshfloch", CONTROL_VALUE, RTF_STSHFLOCH, 0 },
{ "stylelock", CONTROL_FLAG, RTF_STYLELOCK, 0 },
{ "stylelockbackcomp", CONTROL_FLAG, RTF_STYLELOCKBACKCOMP, 0 },
{ "stylelockenforced", CONTROL_FLAG, RTF_STYLELOCKENFORCED, 0 },
{ "stylelockqfset", CONTROL_FLAG, RTF_STYLELOCKQFSET, 0 },
{ "stylelocktheme", CONTROL_FLAG, RTF_STYLELOCKTHEME, 0 },
{ "stylesheet", CONTROL_DESTINATION, RTF_STYLESHEET, 0 },
{ "stylesortmethod", CONTROL_VALUE, RTF_STYLESORTMETHOD, 1 },
{ "styrsid", CONTROL_VALUE, RTF_STYRSID, 0 },
{ "sub", CONTROL_FLAG, RTF_SUB, 0 },
{ "subdocument", CONTROL_VALUE, RTF_SUBDOCUMENT, 0 },
{ "subfontbysize", CONTROL_FLAG, RTF_SUBFONTBYSIZE, 0 },
{ "subject", CONTROL_DESTINATION, RTF_SUBJECT, 0 },
{ "sunhideused", CONTROL_VALUE, RTF_SUNHIDEUSED, 0 },
{ "super", CONTROL_FLAG, RTF_SUPER, 0 },
{ "sv", CONTROL_DESTINATION, RTF_SV, 0 },
{ "svb", CONTROL_DESTINATION, RTF_SVB, 0 },
{ "swpbdr", CONTROL_FLAG, RTF_SWPBDR, 0 },
{ "tab", CONTROL_SYMBOL, RTF_TAB, 0 },
{ "tabsnoovrlp", CONTROL_FLAG, RTF_TABSNOOVRLP, 0 },
{ "taprtl", CONTROL_FLAG, RTF_TAPRTL, 0 },
{ "tb", CONTROL_VALUE, RTF_TB, 0 },
{ "tblind", CONTROL_VALUE, RTF_TBLIND, 0 },
{ "tblindtype", CONTROL_VALUE, RTF_TBLINDTYPE, 0 },
{ "tbllkbestfit", CONTROL_FLAG, RTF_TBLLKBESTFIT, 0 },
{ "tbllkborder", CONTROL_FLAG, RTF_TBLLKBORDER, 0 },
{ "tbllkcolor", CONTROL_FLAG, RTF_TBLLKCOLOR, 0 },
{ "tbllkfont", CONTROL_FLAG, RTF_TBLLKFONT, 0 },
{ "tbllkhdrcols", CONTROL_FLAG, RTF_TBLLKHDRCOLS, 0 },
{ "tbllkhdrrows", CONTROL_FLAG, RTF_TBLLKHDRROWS, 0 },
{ "tbllklastcol", CONTROL_FLAG, RTF_TBLLKLASTCOL, 0 },
{ "tbllklastrow", CONTROL_FLAG, RTF_TBLLKLASTROW, 0 },
{ "tbllknocolband", CONTROL_FLAG, RTF_TBLLKNOCOLBAND, 0 },
{ "tbllknorowband", CONTROL_FLAG, RTF_TBLLKNOROWBAND, 0 },
{ "tbllkshading", CONTROL_FLAG, RTF_TBLLKSHADING, 0 },
{ "tblrsid", CONTROL_VALUE, RTF_TBLRSID, 0 },
{ "tc", CONTROL_DESTINATION, RTF_TC, 0 },
{ "tcelld", CONTROL_FLAG, RTF_TCELLD, 0 },
{ "tcf", CONTROL_VALUE, RTF_TCF, 67 },
{ "tcl", CONTROL_VALUE, RTF_TCL, 0 },
{ "tcn", CONTROL_FLAG, RTF_TCN, 0 },
{ "tdfrmtxtBottom", CONTROL_VALUE, RTF_TDFRMTXTBOTTOM, 0 },
{ "tdfrmtxtLeft", CONTROL_VALUE, RTF_TDFRMTXTLEFT, 0 },
{ "tdfrmtxtRight", CONTROL_VALUE, RTF_TDFRMTXTRIGHT, 0 },
{ "tdfrmtxtTop", CONTROL_VALUE, RTF_TDFRMTXTTOP, 0 },
{ "template", CONTROL_DESTINATION, RTF_TEMPLATE, 0 },
{ "themedata", CONTROL_DESTINATION, RTF_THEMEDATA, 0 },
{ "themelang", CONTROL_VALUE, RTF_THEMELANG, 0 },
{ "themelangcs", CONTROL_VALUE, RTF_THEMELANGCS, 0 },
{ "themelangfe", CONTROL_VALUE, RTF_THEMELANGFE, 0 },
{ "time", CONTROL_FLAG, RTF_TIME, 0 },
{ "title", CONTROL_DESTINATION, RTF_TITLE, 0 },
{ "titlepg", CONTROL_FLAG, RTF_TITLEPG, 0 },
{ "tldot", CONTROL_FLAG, RTF_TLDOT, 0 },
{ "tleq", CONTROL_FLAG, RTF_TLEQ, 0 },
{ "tlhyph", CONTROL_FLAG, RTF_TLHYPH, 0 },
{ "tlmdot", CONTROL_FLAG, RTF_TLMDOT, 0 },
{ "tlth", CONTROL_FLAG, RTF_TLTH, 0 },
{ "tlul", CONTROL_FLAG, RTF_TLUL, 0 },
{ "toplinepunct", CONTROL_FLAG, RTF_TOPLINEPUNCT, 0 },
{ "tphcol", CONTROL_FLAG, RTF_TPHCOL, 0 },
{ "tphmrg", CONTROL_FLAG, RTF_TPHMRG, 0 },
{ "tphpg", CONTROL_FLAG, RTF_TPHPG, 0 },
{ "tposnegx", CONTROL_VALUE, RTF_TPOSNEGX, 0 },
{ "tposnegy", CONTROL_VALUE, RTF_TPOSNEGY, 0 },
{ "tposxc", CONTROL_FLAG, RTF_TPOSXC, 0 },
{ "tposxi", CONTROL_FLAG, RTF_TPOSXI, 0 },
{ "tposxl", CONTROL_FLAG, RTF_TPOSXL, 0 },
{ "tposx", CONTROL_VALUE, RTF_TPOSX, 0 },
{ "tposxo", CONTROL_FLAG, RTF_TPOSXO, 0 },
{ "tposxr", CONTROL_FLAG, RTF_TPOSXR, 0 },
{ "tposy", CONTROL_VALUE, RTF_TPOSY, 0 },
{ "tposyb", CONTROL_FLAG, RTF_TPOSYB, 0 },
{ "tposyc", CONTROL_FLAG, RTF_TPOSYC, 0 },
{ "tposyil", CONTROL_FLAG, RTF_TPOSYIL, 0 },
{ "tposyin", CONTROL_FLAG, RTF_TPOSYIN, 0 },
{ "tposyout", CONTROL_FLAG, RTF_TPOSYOUT, 0 },
{ "tposyt", CONTROL_FLAG, RTF_TPOSYT, 0 },
{ "tpvmrg", CONTROL_FLAG, RTF_TPVMRG, 0 },
{ "tpvpara", CONTROL_FLAG, RTF_TPVPARA, 0 },
{ "tpvpg", CONTROL_FLAG, RTF_TPVPG, 0 },
{ "tqc", CONTROL_FLAG, RTF_TQC, 0 },
{ "tqdec", CONTROL_FLAG, RTF_TQDEC, 0 },
{ "tqr", CONTROL_FLAG, RTF_TQR, 0 },
{ "trackformatting", CONTROL_VALUE, RTF_TRACKFORMATTING, 0 },
{ "trackmoves", CONTROL_VALUE, RTF_TRACKMOVES, 0 },
{ "transmf", CONTROL_FLAG, RTF_TRANSMF, 0 },
{ "trauth", CONTROL_VALUE, RTF_TRAUTH, 0 },
{ "trautofit", CONTROL_TOGGLE, RTF_TRAUTOFIT, 1 },
{ "trbgbdiag", CONTROL_FLAG, RTF_TRBGBDIAG, 0 },
{ "trbgcross", CONTROL_FLAG, RTF_TRBGCROSS, 0 },
{ "trbgdcross", CONTROL_FLAG, RTF_TRBGDCROSS, 0 },
{ "trbgdkbdiag", CONTROL_FLAG, RTF_TRBGDKBDIAG, 0 },
{ "trbgdkcross", CONTROL_FLAG, RTF_TRBGDKCROSS, 0 },
{ "trbgdkdcross", CONTROL_FLAG, RTF_TRBGDKDCROSS, 0 },
{ "trbgdkfdiag", CONTROL_FLAG, RTF_TRBGDKFDIAG, 0 },
{ "trbgdkhor", CONTROL_FLAG, RTF_TRBGDKHOR, 0 },
{ "trbgdkvert", CONTROL_FLAG, RTF_TRBGDKVERT, 0 },
{ "trbgfdiag", CONTROL_FLAG, RTF_TRBGFDIAG, 0 },
{ "trbghoriz", CONTROL_FLAG, RTF_TRBGHORIZ, 0 },
{ "trbgvert", CONTROL_FLAG, RTF_TRBGVERT, 0 },
{ "trbrdrb", CONTROL_FLAG, RTF_TRBRDRB, 0 },
{ "trbrdrh", CONTROL_FLAG, RTF_TRBRDRH, 0 },
{ "trbrdrl", CONTROL_FLAG, RTF_TRBRDRL, 0 },
{ "trbrdrr", CONTROL_FLAG, RTF_TRBRDRR, 0 },
{ "trbrdrt", CONTROL_FLAG, RTF_TRBRDRT, 0 },
{ "trbrdrv", CONTROL_FLAG, RTF_TRBRDRV, 0 },
{ "trcbpat", CONTROL_VALUE, RTF_TRCBPAT, 0 },
{ "trcfpat", CONTROL_VALUE, RTF_TRCFPAT, 0 },
{ "trdate", CONTROL_VALUE, RTF_TRDATE, 0 },
{ "trftsWidthA", CONTROL_VALUE, RTF_TRFTSWIDTHA, 0 },
{ "trftsWidthB", CONTROL_VALUE, RTF_TRFTSWIDTHB, 0 },
{ "trftsWidth", CONTROL_VALUE, RTF_TRFTSWIDTH, 0 },
{ "trgaph", CONTROL_VALUE, RTF_TRGAPH, 0 },
{ "trhdr", CONTROL_FLAG, RTF_TRHDR, 0 },
{ "trkeep", CONTROL_FLAG, RTF_TRKEEP, 0 },
{ "trkeepfollow", CONTROL_FLAG, RTF_TRKEEPFOLLOW, 0 },
{ "trleft", CONTROL_VALUE, RTF_TRLEFT, 0 },
{ "trowd", CONTROL_FLAG, RTF_TROWD, 0 },
{ "trpaddb", CONTROL_VALUE, RTF_TRPADDB, 0 },
{ "trpaddfb", CONTROL_VALUE, RTF_TRPADDFB, 0 },
{ "trpaddfl", CONTROL_VALUE, RTF_TRPADDFL, 0 },
{ "trpaddfr", CONTROL_VALUE, RTF_TRPADDFR, 0 },
{ "trpaddft", CONTROL_VALUE, RTF_TRPADDFT, 0 },
{ "trpaddl", CONTROL_VALUE, RTF_TRPADDL, 0 },
{ "trpaddr", CONTROL_VALUE, RTF_TRPADDR, 0 },
{ "trpaddt", CONTROL_VALUE, RTF_TRPADDT, 0 },
{ "trpadob", CONTROL_VALUE, RTF_TRPADOB, 0 },
{ "trpadofb", CONTROL_VALUE, RTF_TRPADOFB, 0 },
{ "trpadofl", CONTROL_VALUE, RTF_TRPADOFL, 0 },
{ "trpadofr", CONTROL_VALUE, RTF_TRPADOFR, 0 },
{ "trpadoft", CONTROL_VALUE, RTF_TRPADOFT, 0 },
{ "trpadol", CONTROL_VALUE, RTF_TRPADOL, 0 },
{ "trpador", CONTROL_VALUE, RTF_TRPADOR, 0 },
{ "trpadot", CONTROL_VALUE, RTF_TRPADOT, 0 },
{ "trpat", CONTROL_VALUE, RTF_TRPAT, 0 },
{ "trqc", CONTROL_FLAG, RTF_TRQC, 0 },
{ "trql", CONTROL_FLAG, RTF_TRQL, 0 },
{ "trqr", CONTROL_FLAG, RTF_TRQR, 0 },
{ "trrh", CONTROL_VALUE, RTF_TRRH, 0 },
{ "trshdng", CONTROL_VALUE, RTF_TRSHDNG, 0 },
{ "trspdb", CONTROL_VALUE, RTF_TRSPDB, 0 },
{ "trspdfb", CONTROL_VALUE, RTF_TRSPDFB, 0 },
{ "trspdfl", CONTROL_VALUE, RTF_TRSPDFL, 0 },
{ "trspdfr", CONTROL_VALUE, RTF_TRSPDFR, 0 },
{ "trspdft", CONTROL_VALUE, RTF_TRSPDFT, 0 },
{ "trspdl", CONTROL_VALUE, RTF_TRSPDL, 0 },
{ "trspdr", CONTROL_VALUE, RTF_TRSPDR, 0 },
{ "trspdt", CONTROL_VALUE, RTF_TRSPDT, 0 },
{ "trspob", CONTROL_VALUE, RTF_TRSPOB, 0 },
{ "trspofb", CONTROL_VALUE, RTF_TRSPOFB, 0 },
{ "trspofl", CONTROL_VALUE, RTF_TRSPOFL, 0 },
{ "trspofr", CONTROL_VALUE, RTF_TRSPOFR, 0 },
{ "trspoft", CONTROL_VALUE, RTF_TRSPOFT, 0 },
{ "trspol", CONTROL_VALUE, RTF_TRSPOL, 0 },
{ "trspor", CONTROL_VALUE, RTF_TRSPOR, 0 },
{ "trspot", CONTROL_VALUE, RTF_TRSPOT, 0 },
{ "truncatefontheight", CONTROL_FLAG, RTF_TRUNCATEFONTHEIGHT, 0 },
{ "truncex", CONTROL_FLAG, RTF_TRUNCEX, 0 },
{ "trwWidthA", CONTROL_VALUE, RTF_TRWWIDTHA, 0 },
{ "trwWidthB", CONTROL_VALUE, RTF_TRWWIDTHB, 0 },
{ "trwWidth", CONTROL_VALUE, RTF_TRWWIDTH, 0 },
{ "ts", CONTROL_VALUE, RTF_TS, 0 },
{ "tsbgbdiag", CONTROL_FLAG, RTF_TSBGBDIAG, 0 },
{ "tsbgcross", CONTROL_FLAG, RTF_TSBGCROSS, 0 },
{ "tsbgdcross", CONTROL_FLAG, RTF_TSBGDCROSS, 0 },
{ "tsbgdkbdiag", CONTROL_FLAG, RTF_TSBGDKBDIAG, 0 },
{ "tsbgdkcross", CONTROL_FLAG, RTF_TSBGDKCROSS, 0 },
{ "tsbgdkdcross", CONTROL_FLAG, RTF_TSBGDKDCROSS, 0 },
{ "tsbgdkfdiag", CONTROL_FLAG, RTF_TSBGDKFDIAG, 0 },
{ "tsbgdkhor", CONTROL_FLAG, RTF_TSBGDKHOR, 0 },
{ "tsbgdkvert", CONTROL_FLAG, RTF_TSBGDKVERT, 0 },
{ "tsbgfdiag", CONTROL_FLAG, RTF_TSBGFDIAG, 0 },
{ "tsbghoriz", CONTROL_FLAG, RTF_TSBGHORIZ, 0 },
{ "tsbgvert", CONTROL_FLAG, RTF_TSBGVERT, 0 },
{ "tsbrdrb", CONTROL_FLAG, RTF_TSBRDRB, 0 },
{ "tsbrdrdgl", CONTROL_FLAG, RTF_TSBRDRDGL, 0 },
{ "tsbrdrdgr", CONTROL_FLAG, RTF_TSBRDRDGR, 0 },
{ "tsbrdrh", CONTROL_FLAG, RTF_TSBRDRH, 0 },
{ "tsbrdrl", CONTROL_FLAG, RTF_TSBRDRL, 0 },
{ "tsbrdrr", CONTROL_FLAG, RTF_TSBRDRR, 0 },
{ "tsbrdrt", CONTROL_FLAG, RTF_TSBRDRT, 0 },
{ "tsbrdrv", CONTROL_FLAG, RTF_TSBRDRV, 0 },
{ "tscbandhorzeven", CONTROL_FLAG, RTF_TSCBANDHORZEVEN, 0 },
{ "tscbandhorzodd", CONTROL_FLAG, RTF_TSCBANDHORZODD, 0 },
{ "tscbandsh", CONTROL_VALUE, RTF_TSCBANDSH, 0 },
{ "tscbandsv", CONTROL_VALUE, RTF_TSCBANDSV, 0 },
{ "tscbandverteven", CONTROL_FLAG, RTF_TSCBANDVERTEVEN, 0 },
{ "tscbandvertodd", CONTROL_FLAG, RTF_TSCBANDVERTODD, 0 },
{ "tscellcbpat", CONTROL_VALUE, RTF_TSCELLCBPAT, 0 },
{ "tscellcfpat", CONTROL_VALUE, RTF_TSCELLCFPAT, 0 },
{ "tscellpaddb", CONTROL_VALUE, RTF_TSCELLPADDB, 0 },
{ "tscellpaddfb", CONTROL_VALUE, RTF_TSCELLPADDFB, 0 },
{ "tscellpaddfl", CONTROL_VALUE, RTF_TSCELLPADDFL, 0 },
{ "tscellpaddfr", CONTROL_VALUE, RTF_TSCELLPADDFR, 0 },
{ "tscellpaddft", CONTROL_VALUE, RTF_TSCELLPADDFT, 0 },
{ "tscellpaddl", CONTROL_VALUE, RTF_TSCELLPADDL, 0 },
{ "tscellpaddr", CONTROL_VALUE, RTF_TSCELLPADDR, 0 },
{ "tscellpaddt", CONTROL_VALUE, RTF_TSCELLPADDT, 0 },
{ "tscellpct", CONTROL_VALUE, RTF_TSCELLPCT, 0 },
{ "tscellwidth", CONTROL_VALUE, RTF_TSCELLWIDTH, 0 },
{ "tscellwidthfts", CONTROL_VALUE, RTF_TSCELLWIDTHFTS, 0 },
{ "tscfirstcol", CONTROL_FLAG, RTF_TSCFIRSTCOL, 0 },
{ "tscfirstrow", CONTROL_FLAG, RTF_TSCFIRSTROW, 0 },
{ "tsclastcol", CONTROL_FLAG, RTF_TSCLASTCOL, 0 },
{ "tsclastrow", CONTROL_FLAG, RTF_TSCLASTROW, 0 },
{ "tscnecell", CONTROL_FLAG, RTF_TSCNECELL, 0 },
{ "tscnwcell", CONTROL_FLAG, RTF_TSCNWCELL, 0 },
{ "tscsecell", CONTROL_FLAG, RTF_TSCSECELL, 0 },
{ "tscswcell", CONTROL_FLAG, RTF_TSCSWCELL, 0 },
{ "tsd", CONTROL_FLAG, RTF_TSD, 0 },
{ "tsnowrap", CONTROL_FLAG, RTF_TSNOWRAP, 0 },
{ "tsrowd", CONTROL_FLAG, RTF_TSROWD, 0 },
{ "tsvertalb", CONTROL_FLAG, RTF_TSVERTALB, 0 },
{ "tsvertalc", CONTROL_FLAG, RTF_TSVERTALC, 0 },
{ "tsvertalt", CONTROL_FLAG, RTF_TSVERTALT, 0 },
{ "twoinone", CONTROL_VALUE, RTF_TWOINONE, 0 },
{ "twoonone", CONTROL_FLAG, RTF_TWOONONE, 0 },
{ "tx", CONTROL_VALUE, RTF_TX, 0 },
{ "txbxtwalways", CONTROL_FLAG, RTF_TXBXTWALWAYS, 0 },
{ "txbxtwfirst", CONTROL_FLAG, RTF_TXBXTWFIRST, 0 },
{ "txbxtwfirstlast", CONTROL_FLAG, RTF_TXBXTWFIRSTLAST, 0 },
{ "txbxtwlast", CONTROL_FLAG, RTF_TXBXTWLAST, 0 },
{ "txbxtwno", CONTROL_FLAG, RTF_TXBXTWNO, 0 },
{ "txe", CONTROL_DESTINATION, RTF_TXE, 0 },
{ "u", CONTROL_VALUE, RTF_U, 0 },
{ "uc", CONTROL_VALUE, RTF_UC, 1 },
{ "ud", CONTROL_DESTINATION, RTF_UD, 0 },
{ "ul", CONTROL_TOGGLE, RTF_UL, 1 },
{ "ulc", CONTROL_VALUE, RTF_ULC, 0 },
{ "uld", CONTROL_FLAG, RTF_ULD, 0 },
{ "uldash", CONTROL_TOGGLE, RTF_ULDASH, 1 },
{ "uldashd", CONTROL_TOGGLE, RTF_ULDASHD, 1 },
{ "uldashdd", CONTROL_TOGGLE, RTF_ULDASHDD, 1 },
{ "uldb", CONTROL_TOGGLE, RTF_ULDB, 1 },
{ "ulhair", CONTROL_TOGGLE, RTF_ULHAIR, 1 },
{ "ulhwave", CONTROL_TOGGLE, RTF_ULHWAVE, 1 },
{ "ulldash", CONTROL_TOGGLE, RTF_ULLDASH, 1 },
{ "ulnone", CONTROL_FLAG, RTF_ULNONE, 0 },
{ "ulth", CONTROL_TOGGLE, RTF_ULTH, 1 },
{ "ulthd", CONTROL_TOGGLE, RTF_ULTHD, 1 },
{ "ulthdash", CONTROL_TOGGLE, RTF_ULTHDASH, 1 },
{ "ulthdashd", CONTROL_TOGGLE, RTF_ULTHDASHD, 1 },
{ "ulthdashdd", CONTROL_TOGGLE, RTF_ULTHDASHDD, 1 },
{ "ulthldash", CONTROL_TOGGLE, RTF_ULTHLDASH, 1 },
{ "ululdbwave", CONTROL_TOGGLE, RTF_ULULDBWAVE, 1 },
{ "ulw", CONTROL_FLAG, RTF_ULW, 0 },
{ "ulwave", CONTROL_TOGGLE, RTF_ULWAVE, 1 },
{ "up", CONTROL_VALUE, RTF_UP, 6 },
{ "upr", CONTROL_DESTINATION, RTF_UPR, 0 },
{ "urtf", CONTROL_VALUE, RTF_URTF, 0 },
{ "useltbaln", CONTROL_FLAG, RTF_USELTBALN, 0 },
{ "usenormstyforlist", CONTROL_FLAG, RTF_USENORMSTYFORLIST, 0 },
{ "userprops", CONTROL_DESTINATION, RTF_USERPROPS, 0 },
{ "usexform", CONTROL_FLAG, RTF_USEXFORM, 0 },
{ "utinl", CONTROL_FLAG, RTF_UTINL, 0 },
{ "v", CONTROL_TOGGLE, RTF_V, 1 },
{ "validatexml", CONTROL_VALUE, RTF_VALIDATEXML, 0 },
{ "vern", CONTROL_VALUE, RTF_VERN, 0 },
{ "version", CONTROL_VALUE, RTF_VERSION, 0 },
{ "vertal", CONTROL_FLAG, RTF_VERTAL, 0 },
{ "vertalb", CONTROL_FLAG, RTF_VERTALB, 0 },
{ "vertalc", CONTROL_FLAG, RTF_VERTALC, 0 },
{ "vertalj", CONTROL_FLAG, RTF_VERTALJ, 0 },
{ "vertalt", CONTROL_FLAG, RTF_VERTALT, 0 },
{ "vertdoc", CONTROL_FLAG, RTF_VERTDOC, 0 },
{ "vertsect", CONTROL_FLAG, RTF_VERTSECT, 0 },
{ "viewbksp", CONTROL_VALUE, RTF_VIEWBKSP, 0 },
{ "viewkind", CONTROL_VALUE, RTF_VIEWKIND, 0 },
{ "viewnobound", CONTROL_FLAG, RTF_VIEWNOBOUND, 0 },
{ "viewscale", CONTROL_VALUE, RTF_VIEWSCALE, 100 },
{ "viewzk", CONTROL_VALUE, RTF_VIEWZK, 0 },
{ "wbitmap", CONTROL_VALUE, RTF_WBITMAP, 0 },
{ "wbmbitspixel", CONTROL_VALUE, RTF_WBMBITSPIXEL, 1 },
{ "wbmplanes", CONTROL_VALUE, RTF_WBMPLANES, 0 },
{ "wbmwidthbyte", CONTROL_VALUE, RTF_WBMWIDTHBYTE, 0 },
{ "webhidden", CONTROL_FLAG, RTF_WEBHIDDEN, 0 },
{ "wgrffmtfilter", CONTROL_DESTINATION, RTF_WGRFFMTFILTER, 0 },
{ "widctlpar", CONTROL_FLAG, RTF_WIDCTLPAR, 0 },
{ "widowctrl", CONTROL_FLAG, RTF_WIDOWCTRL, 0 },
{ "windowcaption", CONTROL_DESTINATION, RTF_WINDOWCAPTION, 0 },
{ "wmetafile", CONTROL_VALUE, RTF_WMETAFILE, 1 },
{ "wpeqn", CONTROL_FLAG, RTF_WPEQN, 0 },
{ "wpjst", CONTROL_FLAG, RTF_WPJST, 0 },
{ "wpsp", CONTROL_FLAG, RTF_WPSP, 0 },
{ "wraparound", CONTROL_FLAG, RTF_WRAPAROUND, 0 },
{ "wrapdefault", CONTROL_FLAG, RTF_WRAPDEFAULT, 0 },
{ "wrapthrough", CONTROL_FLAG, RTF_WRAPTHROUGH, 0 },
{ "wraptight", CONTROL_FLAG, RTF_WRAPTIGHT, 0 },
{ "wraptrsp", CONTROL_FLAG, RTF_WRAPTRSP, 0 },
{ "writereservation", CONTROL_DESTINATION, RTF_WRITERESERVATION, 0 },
{ "writereservhash", CONTROL_DESTINATION, RTF_WRITERESERVHASH, 0 },
{ "wrppunct", CONTROL_FLAG, RTF_WRPPUNCT, 0 },
{ "xe", CONTROL_DESTINATION, RTF_XE, 0 },
{ "xef", CONTROL_VALUE, RTF_XEF, 0 },
{ "xform", CONTROL_DESTINATION, RTF_XFORM, 0 },
{ "xmlattr", CONTROL_FLAG, RTF_XMLATTR, 0 },
{ "xmlattrname", CONTROL_DESTINATION, RTF_XMLATTRNAME, 0 },
{ "xmlattrns", CONTROL_VALUE, RTF_XMLATTRNS, 0 },
{ "xmlattrvalue", CONTROL_DESTINATION, RTF_XMLATTRVALUE, 0 },
{ "xmlclose", CONTROL_DESTINATION, RTF_XMLCLOSE, 0 },
{ "xmlname", CONTROL_DESTINATION, RTF_XMLNAME, 0 },
{ "xmlns", CONTROL_VALUE, RTF_XMLNS, 0 },
{ "xmlnstbl", CONTROL_DESTINATION, RTF_XMLNSTBL, 0 },
{ "xmlopen", CONTROL_DESTINATION, RTF_XMLOPEN, 0 },
{ "xmlsdttcell", CONTROL_FLAG, RTF_XMLSDTTCELL, 0 },
{ "xmlsdttpara", CONTROL_FLAG, RTF_XMLSDTTPARA, 0 },
{ "xmlsdttregular", CONTROL_FLAG, RTF_XMLSDTTREGULAR, 0 },
{ "xmlsdttrow", CONTROL_FLAG, RTF_XMLSDTTROW, 0 },
{ "xmlsdttunknown", CONTROL_FLAG, RTF_XMLSDTTUNKNOWN, 0 },
{ "yr", CONTROL_VALUE, RTF_YR, 0 },
{ "yts", CONTROL_VALUE, RTF_YTS, 0 },
{ "yxe", CONTROL_FLAG, RTF_YXE, 0 },
{ "zwbo", CONTROL_SYMBOL, RTF_ZWBO, 0 },
{ "zwj", CONTROL_SYMBOL, RTF_ZWJ, 0 },
{ "zwnbo", CONTROL_SYMBOL, RTF_ZWNBO, 0 },
{ "zwnj", CONTROL_SYMBOL, RTF_ZWNJ, 0 },
{ "flymaincnt", CONTROL_DESTINATION, RTF_FLYMAINCNT, 0 },
{ "flyvert", CONTROL_VALUE, RTF_FLYVERT, 0 },
{ "flyhorz", CONTROL_VALUE, RTF_FLYHORZ, 0 },
{ "flyanchor", CONTROL_VALUE, RTF_FLYANCHOR, 0 },
{ "'", RTFControlType::SYMBOL, RTFKeyword::HEXCHAR, 0 },
{ "-", RTFControlType::SYMBOL, RTFKeyword::OPTHYPH, 0 },
{ "*", RTFControlType::SYMBOL, RTFKeyword::IGNORE, 0 },
{ ":", RTFControlType::SYMBOL, RTFKeyword::SUBENTRY, 0 },
{ "\\", RTFControlType::SYMBOL, RTFKeyword::BACKSLASH, 0 },
{ "\n", RTFControlType::SYMBOL, RTFKeyword::PAR, 0 },
{ "\r", RTFControlType::SYMBOL, RTFKeyword::PAR, 0 },
{ "\r\n", RTFControlType::SYMBOL, RTFKeyword::PAR, 0 },
{ "_", RTFControlType::SYMBOL, RTFKeyword::NOBRKHYPH, 0 },
{ "{", RTFControlType::SYMBOL, RTFKeyword::LBRACE, 0 },
{ "|", RTFControlType::SYMBOL, RTFKeyword::FORMULA, 0 },
{ "}", RTFControlType::SYMBOL, RTFKeyword::RBRACE, 0 },
{ "~", RTFControlType::SYMBOL, RTFKeyword::NOBREAK, 0 },
{ "ab", RTFControlType::TOGGLE, RTFKeyword::AB, 1 },
{ "absh", RTFControlType::VALUE, RTFKeyword::ABSH, 0 },
{ "abslock", RTFControlType::FLAG, RTFKeyword::ABSLOCK, 0 },
{ "absnoovrlp", RTFControlType::TOGGLE, RTFKeyword::ABSNOOVRLP, 1 },
{ "absw", RTFControlType::VALUE, RTFKeyword::ABSW, 0 },
{ "acaps", RTFControlType::TOGGLE, RTFKeyword::ACAPS, 1 },
{ "acccircle", RTFControlType::TOGGLE, RTFKeyword::ACCCIRCLE, 1 },
{ "acccomma", RTFControlType::TOGGLE, RTFKeyword::ACCCOMMA, 1 },
{ "accdot", RTFControlType::TOGGLE, RTFKeyword::ACCDOT, 1 },
{ "accnone", RTFControlType::TOGGLE, RTFKeyword::ACCNONE, 1 },
{ "accunderdot", RTFControlType::TOGGLE, RTFKeyword::ACCUNDERDOT, 1 },
{ "acf", RTFControlType::VALUE, RTFKeyword::ACF, 0 },
{ "adeff", RTFControlType::VALUE, RTFKeyword::ADEFF, 0 },
{ "additive", RTFControlType::FLAG, RTFKeyword::ADDITIVE, 0 },
{ "adeflang", RTFControlType::VALUE, RTFKeyword::ADEFLANG, 0 },
{ "adjustright", RTFControlType::FLAG, RTFKeyword::ADJUSTRIGHT, 0 },
{ "adn", RTFControlType::VALUE, RTFKeyword::ADN, 6 },
{ "aenddoc", RTFControlType::FLAG, RTFKeyword::AENDDOC, 0 },
{ "aendnotes", RTFControlType::FLAG, RTFKeyword::AENDNOTES, 0 },
{ "aexpnd", RTFControlType::VALUE, RTFKeyword::AEXPND, 0 },
{ "af", RTFControlType::VALUE, RTFKeyword::AF, 0 },
{ "afelev", RTFControlType::FLAG, RTFKeyword::AFELEV, 0 },
{ "afs", RTFControlType::VALUE, RTFKeyword::AFS, 24 },
{ "aftnbj", RTFControlType::FLAG, RTFKeyword::AFTNBJ, 0 },
{ "aftncn", RTFControlType::DESTINATION, RTFKeyword::AFTNCN, 0 },
{ "aftnnalc", RTFControlType::FLAG, RTFKeyword::AFTNNALC, 0 },
{ "aftnnar", RTFControlType::FLAG, RTFKeyword::AFTNNAR, 0 },
{ "aftnnauc", RTFControlType::FLAG, RTFKeyword::AFTNNAUC, 0 },
{ "aftnnchi", RTFControlType::FLAG, RTFKeyword::AFTNNCHI, 0 },
{ "aftnnchosung", RTFControlType::FLAG, RTFKeyword::AFTNNCHOSUNG, 0 },
{ "aftnncnum", RTFControlType::FLAG, RTFKeyword::AFTNNCNUM, 0 },
{ "aftnndbar", RTFControlType::FLAG, RTFKeyword::AFTNNDBAR, 0 },
{ "aftnndbnum", RTFControlType::FLAG, RTFKeyword::AFTNNDBNUM, 0 },
{ "aftnndbnumd", RTFControlType::FLAG, RTFKeyword::AFTNNDBNUMD, 0 },
{ "aftnndbnumk", RTFControlType::FLAG, RTFKeyword::AFTNNDBNUMK, 0 },
{ "aftnndbnumt", RTFControlType::FLAG, RTFKeyword::AFTNNDBNUMT, 0 },
{ "aftnnganada", RTFControlType::FLAG, RTFKeyword::AFTNNGANADA, 0 },
{ "aftnngbnum", RTFControlType::FLAG, RTFKeyword::AFTNNGBNUM, 0 },
{ "aftnngbnumd", RTFControlType::FLAG, RTFKeyword::AFTNNGBNUMD, 0 },
{ "aftnngbnumk", RTFControlType::FLAG, RTFKeyword::AFTNNGBNUMK, 0 },
{ "aftnngbnuml", RTFControlType::FLAG, RTFKeyword::AFTNNGBNUML, 0 },
{ "aftnnrlc", RTFControlType::FLAG, RTFKeyword::AFTNNRLC, 0 },
{ "aftnnruc", RTFControlType::FLAG, RTFKeyword::AFTNNRUC, 0 },
{ "aftnnzodiac", RTFControlType::FLAG, RTFKeyword::AFTNNZODIAC, 0 },
{ "aftnnzodiacd", RTFControlType::FLAG, RTFKeyword::AFTNNZODIACD, 0 },
{ "aftnnzodiacl", RTFControlType::FLAG, RTFKeyword::AFTNNZODIACL, 0 },
{ "aftnrestart", RTFControlType::FLAG, RTFKeyword::AFTNRESTART, 0 },
{ "aftnrstcont", RTFControlType::FLAG, RTFKeyword::AFTNRSTCONT, 0 },
{ "aftnsep", RTFControlType::DESTINATION, RTFKeyword::AFTNSEP, 0 },
{ "aftnsepc", RTFControlType::DESTINATION, RTFKeyword::AFTNSEPC, 0 },
{ "aftnstart", RTFControlType::VALUE, RTFKeyword::AFTNSTART, 1 },
{ "aftntj", RTFControlType::FLAG, RTFKeyword::AFTNTJ, 0 },
{ "ai", RTFControlType::TOGGLE, RTFKeyword::AI, 1 },
{ "alang", RTFControlType::VALUE, RTFKeyword::ALANG, 0 },
{ "allowfieldendsel", RTFControlType::FLAG, RTFKeyword::ALLOWFIELDENDSEL, 0 },
{ "allprot", RTFControlType::FLAG, RTFKeyword::ALLPROT, 0 },
{ "alntblind", RTFControlType::FLAG, RTFKeyword::ALNTBLIND, 0 },
{ "alt", RTFControlType::FLAG, RTFKeyword::ALT, 0 },
{ "animtext", RTFControlType::VALUE, RTFKeyword::ANIMTEXT, 0 },
{ "annotation", RTFControlType::DESTINATION, RTFKeyword::ANNOTATION, 0 },
{ "annotprot", RTFControlType::FLAG, RTFKeyword::ANNOTPROT, 0 },
{ "ansi", RTFControlType::FLAG, RTFKeyword::ANSI, 0 },
{ "ansicpg", RTFControlType::VALUE, RTFKeyword::ANSICPG, 0 },
{ "aoutl", RTFControlType::TOGGLE, RTFKeyword::AOUTL, 1 },
{ "ApplyBrkRules", RTFControlType::FLAG, RTFKeyword::APPLYBRKRULES, 0 },
{ "ascaps", RTFControlType::TOGGLE, RTFKeyword::ASCAPS, 1 },
{ "ashad", RTFControlType::TOGGLE, RTFKeyword::ASHAD, 1 },
{ "asianbrkrule", RTFControlType::FLAG, RTFKeyword::ASIANBRKRULE, 0 },
{ "aspalpha", RTFControlType::TOGGLE, RTFKeyword::ASPALPHA, 1 },
{ "aspnum", RTFControlType::TOGGLE, RTFKeyword::ASPNUM, 1 },
{ "astrike", RTFControlType::TOGGLE, RTFKeyword::ASTRIKE, 1 },
{ "atnauthor", RTFControlType::DESTINATION, RTFKeyword::ATNAUTHOR, 0 },
{ "atndate", RTFControlType::DESTINATION, RTFKeyword::ATNDATE, 0 },
{ "atnicn", RTFControlType::DESTINATION, RTFKeyword::ATNICN, 0 },
{ "atnid", RTFControlType::DESTINATION, RTFKeyword::ATNID, 0 },
{ "atnparent", RTFControlType::DESTINATION, RTFKeyword::ATNPARENT, 0 },
{ "atnref", RTFControlType::DESTINATION, RTFKeyword::ATNREF, 0 },
{ "atntime", RTFControlType::DESTINATION, RTFKeyword::ATNTIME, 0 },
{ "atrfend", RTFControlType::DESTINATION, RTFKeyword::ATRFEND, 0 },
{ "atrfstart", RTFControlType::DESTINATION, RTFKeyword::ATRFSTART, 0 },
{ "aul", RTFControlType::TOGGLE, RTFKeyword::AUL, 1 },
{ "auld", RTFControlType::TOGGLE, RTFKeyword::AULD, 1 },
{ "auldb", RTFControlType::TOGGLE, RTFKeyword::AULDB, 1 },
{ "aulnone", RTFControlType::TOGGLE, RTFKeyword::AULNONE, 1 },
{ "aulw", RTFControlType::TOGGLE, RTFKeyword::AULW, 1 },
{ "aup", RTFControlType::VALUE, RTFKeyword::AUP, 6 },
{ "author", RTFControlType::DESTINATION, RTFKeyword::AUTHOR, 0 },
{ "autofmtoverride", RTFControlType::FLAG, RTFKeyword::AUTOFMTOVERRIDE, 0 },
{ "b", RTFControlType::TOGGLE, RTFKeyword::B, 1 },
{ "background", RTFControlType::DESTINATION, RTFKeyword::BACKGROUND, 0 },
{ "bdbfhdr", RTFControlType::FLAG, RTFKeyword::BDBFHDR, 0 },
{ "bdrrlswsix", RTFControlType::FLAG, RTFKeyword::BDRRLSWSIX, 0 },
{ "bgbdiag", RTFControlType::FLAG, RTFKeyword::BGBDIAG, 0 },
{ "bgcross", RTFControlType::FLAG, RTFKeyword::BGCROSS, 0 },
{ "bgdcross", RTFControlType::FLAG, RTFKeyword::BGDCROSS, 0 },
{ "bgdkbdiag", RTFControlType::FLAG, RTFKeyword::BGDKBDIAG, 0 },
{ "bgdkcross", RTFControlType::FLAG, RTFKeyword::BGDKCROSS, 0 },
{ "bgdkdcross", RTFControlType::FLAG, RTFKeyword::BGDKDCROSS, 0 },
{ "bgdkfdiag", RTFControlType::FLAG, RTFKeyword::BGDKFDIAG, 0 },
{ "bgdkhoriz", RTFControlType::FLAG, RTFKeyword::BGDKHORIZ, 0 },
{ "bgdkvert", RTFControlType::FLAG, RTFKeyword::BGDKVERT, 0 },
{ "bgfdiag", RTFControlType::FLAG, RTFKeyword::BGFDIAG, 0 },
{ "bghoriz", RTFControlType::FLAG, RTFKeyword::BGHORIZ, 0 },
{ "bgvert", RTFControlType::FLAG, RTFKeyword::BGVERT, 0 },
{ "bin", RTFControlType::VALUE, RTFKeyword::BIN, 0 },
{ "binfsxn", RTFControlType::VALUE, RTFKeyword::BINFSXN, 0 },
{ "binsxn", RTFControlType::VALUE, RTFKeyword::BINSXN, 0 },
{ "bkmkcolf", RTFControlType::VALUE, RTFKeyword::BKMKCOLF, 0 },
{ "bkmkcoll", RTFControlType::VALUE, RTFKeyword::BKMKCOLL, 0 },
{ "bkmkend", RTFControlType::DESTINATION, RTFKeyword::BKMKEND, 0 },
{ "bkmkpub", RTFControlType::FLAG, RTFKeyword::BKMKPUB, 0 },
{ "bkmkstart", RTFControlType::DESTINATION, RTFKeyword::BKMKSTART, 0 },
{ "bliptag", RTFControlType::VALUE, RTFKeyword::BLIPTAG, 0 },
{ "blipuid", RTFControlType::DESTINATION, RTFKeyword::BLIPUID, 0 },
{ "blipupi", RTFControlType::VALUE, RTFKeyword::BLIPUPI, 0 },
{ "blue", RTFControlType::VALUE, RTFKeyword::BLUE, 0 },
{ "bookfold", RTFControlType::FLAG, RTFKeyword::BOOKFOLD, 0 },
{ "bookfoldrev", RTFControlType::FLAG, RTFKeyword::BOOKFOLDREV, 0 },
{ "bookfoldsheets", RTFControlType::VALUE, RTFKeyword::BOOKFOLDSHEETS, 0 },
{ "box", RTFControlType::FLAG, RTFKeyword::BOX, 0 },
{ "brdrart", RTFControlType::VALUE, RTFKeyword::BRDRART, 0 },
{ "brdrb", RTFControlType::FLAG, RTFKeyword::BRDRB, 0 },
{ "brdrbar", RTFControlType::FLAG, RTFKeyword::BRDRBAR, 0 },
{ "brdrbtw", RTFControlType::FLAG, RTFKeyword::BRDRBTW, 0 },
{ "brdrcf", RTFControlType::VALUE, RTFKeyword::BRDRCF, 0 },
{ "brdrdash", RTFControlType::FLAG, RTFKeyword::BRDRDASH, 0 },
{ "brdrdashd", RTFControlType::FLAG, RTFKeyword::BRDRDASHD, 0 },
{ "brdrdashdd", RTFControlType::FLAG, RTFKeyword::BRDRDASHDD, 0 },
{ "brdrdashdotstr", RTFControlType::FLAG, RTFKeyword::BRDRDASHDOTSTR, 0 },
{ "brdrdashsm", RTFControlType::FLAG, RTFKeyword::BRDRDASHSM, 0 },
{ "brdrdb", RTFControlType::FLAG, RTFKeyword::BRDRDB, 0 },
{ "brdrdot", RTFControlType::FLAG, RTFKeyword::BRDRDOT, 0 },
{ "brdremboss", RTFControlType::FLAG, RTFKeyword::BRDREMBOSS, 0 },
{ "brdrengrave", RTFControlType::FLAG, RTFKeyword::BRDRENGRAVE, 0 },
{ "brdrframe", RTFControlType::FLAG, RTFKeyword::BRDRFRAME, 0 },
{ "brdrhair", RTFControlType::FLAG, RTFKeyword::BRDRHAIR, 0 },
{ "brdrinset", RTFControlType::FLAG, RTFKeyword::BRDRINSET, 0 },
{ "brdrl", RTFControlType::FLAG, RTFKeyword::BRDRL, 0 },
{ "brdrnil", RTFControlType::FLAG, RTFKeyword::BRDRNIL, 0 },
{ "brdrnone", RTFControlType::FLAG, RTFKeyword::BRDRNONE, 0 },
{ "brdroutset", RTFControlType::FLAG, RTFKeyword::BRDROUTSET, 0 },
{ "brdrr", RTFControlType::FLAG, RTFKeyword::BRDRR, 0 },
{ "brdrs", RTFControlType::FLAG, RTFKeyword::BRDRS, 0 },
{ "brdrsh", RTFControlType::FLAG, RTFKeyword::BRDRSH, 0 },
{ "brdrt", RTFControlType::FLAG, RTFKeyword::BRDRT, 0 },
{ "brdrtbl", RTFControlType::FLAG, RTFKeyword::BRDRTBL, 0 },
{ "brdrth", RTFControlType::FLAG, RTFKeyword::BRDRTH, 0 },
{ "brdrthtnlg", RTFControlType::FLAG, RTFKeyword::BRDRTHTNLG, 0 },
{ "brdrthtnmg", RTFControlType::FLAG, RTFKeyword::BRDRTHTNMG, 0 },
{ "brdrthtnsg", RTFControlType::FLAG, RTFKeyword::BRDRTHTNSG, 0 },
{ "brdrtnthlg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHLG, 0 },
{ "brdrtnthmg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHMG, 0 },
{ "brdrtnthsg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHSG, 0 },
{ "brdrtnthtnlg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHTNLG, 0 },
{ "brdrtnthtnmg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHTNMG, 0 },
{ "brdrtnthtnsg", RTFControlType::FLAG, RTFKeyword::BRDRTNTHTNSG, 0 },
{ "brdrtriple", RTFControlType::FLAG, RTFKeyword::BRDRTRIPLE, 0 },
{ "brdrw", RTFControlType::VALUE, RTFKeyword::BRDRW, 0 },
{ "brdrwavy", RTFControlType::FLAG, RTFKeyword::BRDRWAVY, 0 },
{ "brdrwavydb", RTFControlType::FLAG, RTFKeyword::BRDRWAVYDB, 0 },
{ "brkfrm", RTFControlType::FLAG, RTFKeyword::BRKFRM, 0 },
{ "brsp", RTFControlType::VALUE, RTFKeyword::BRSP, 0 },
{ "bullet", RTFControlType::SYMBOL, RTFKeyword::BULLET, 0 },
{ "buptim", RTFControlType::DESTINATION, RTFKeyword::BUPTIM, 0 },
{ "bxe", RTFControlType::FLAG, RTFKeyword::BXE, 0 },
{ "caccentfive", RTFControlType::FLAG, RTFKeyword::CACCENTFIVE, 0 },
{ "caccentfour", RTFControlType::FLAG, RTFKeyword::CACCENTFOUR, 0 },
{ "caccentone", RTFControlType::FLAG, RTFKeyword::CACCENTONE, 0 },
{ "caccentsix", RTFControlType::FLAG, RTFKeyword::CACCENTSIX, 0 },
{ "caccentthree", RTFControlType::FLAG, RTFKeyword::CACCENTTHREE, 0 },
{ "caccenttwo", RTFControlType::FLAG, RTFKeyword::CACCENTTWO, 0 },
{ "cachedcolbal", RTFControlType::FLAG, RTFKeyword::CACHEDCOLBAL, 0 },
{ "caps", RTFControlType::TOGGLE, RTFKeyword::CAPS, 1 },
{ "category", RTFControlType::DESTINATION, RTFKeyword::CATEGORY, 0 },
{ "cb", RTFControlType::VALUE, RTFKeyword::CB, 0 },
{ "cbackgroundone", RTFControlType::FLAG, RTFKeyword::CBACKGROUNDONE, 0 },
{ "cbackgroundtwo", RTFControlType::FLAG, RTFKeyword::CBACKGROUNDTWO, 0 },
{ "cbpat", RTFControlType::VALUE, RTFKeyword::CBPAT, 0 },
{ "cchs", RTFControlType::VALUE, RTFKeyword::CCHS, 0 },
{ "cell", RTFControlType::SYMBOL, RTFKeyword::CELL, 0 },
{ "cellx", RTFControlType::VALUE, RTFKeyword::CELLX, 0 },
{ "cf", RTFControlType::VALUE, RTFKeyword::CF, 0 },
{ "cfollowedhyperlink", RTFControlType::FLAG, RTFKeyword::CFOLLOWEDHYPERLINK, 0 },
{ "cfpat", RTFControlType::VALUE, RTFKeyword::CFPAT, 0 },
{ "cgrid", RTFControlType::VALUE, RTFKeyword::CGRID, 0 },
{ "charrsid", RTFControlType::VALUE, RTFKeyword::CHARRSID, 0 },
{ "charscalex", RTFControlType::VALUE, RTFKeyword::CHARSCALEX, 100 },
{ "chatn", RTFControlType::SYMBOL, RTFKeyword::CHATN, 0 },
{ "chbgbdiag", RTFControlType::FLAG, RTFKeyword::CHBGBDIAG, 0 },
{ "chbgcross", RTFControlType::FLAG, RTFKeyword::CHBGCROSS, 0 },
{ "chbgdcross", RTFControlType::FLAG, RTFKeyword::CHBGDCROSS, 0 },
{ "chbgdkbdiag", RTFControlType::FLAG, RTFKeyword::CHBGDKBDIAG, 0 },
{ "chbgdkcross", RTFControlType::FLAG, RTFKeyword::CHBGDKCROSS, 0 },
{ "chbgdkdcross", RTFControlType::FLAG, RTFKeyword::CHBGDKDCROSS, 0 },
{ "chbgdkfdiag", RTFControlType::FLAG, RTFKeyword::CHBGDKFDIAG, 0 },
{ "chbgdkhoriz", RTFControlType::FLAG, RTFKeyword::CHBGDKHORIZ, 0 },
{ "chbgdkvert", RTFControlType::FLAG, RTFKeyword::CHBGDKVERT, 0 },
{ "chbgfdiag", RTFControlType::FLAG, RTFKeyword::CHBGFDIAG, 0 },
{ "chbghoriz", RTFControlType::FLAG, RTFKeyword::CHBGHORIZ, 0 },
{ "chbgvert", RTFControlType::FLAG, RTFKeyword::CHBGVERT, 0 },
{ "chbrdr", RTFControlType::FLAG, RTFKeyword::CHBRDR, 0 },
{ "chcbpat", RTFControlType::VALUE, RTFKeyword::CHCBPAT, 0 },
{ "chcfpat", RTFControlType::VALUE, RTFKeyword::CHCFPAT, 0 },
{ "chdate", RTFControlType::SYMBOL, RTFKeyword::CHDATE, 0 },
{ "chdpa", RTFControlType::SYMBOL, RTFKeyword::CHDPA, 0 },
{ "chdpl", RTFControlType::SYMBOL, RTFKeyword::CHDPL, 0 },
{ "chftn", RTFControlType::SYMBOL, RTFKeyword::CHFTN, 0 },
{ "chftnsep", RTFControlType::SYMBOL, RTFKeyword::CHFTNSEP, 0 },
{ "chftnsepc", RTFControlType::SYMBOL, RTFKeyword::CHFTNSEPC, 0 },
{ "chpgn", RTFControlType::SYMBOL, RTFKeyword::CHPGN, 0 },
{ "chhres", RTFControlType::VALUE, RTFKeyword::CHHRES, 0 },
{ "chshdng", RTFControlType::VALUE, RTFKeyword::CHSHDNG, 0 },
{ "chtime", RTFControlType::SYMBOL, RTFKeyword::CHTIME, 0 },
{ "chyperlink", RTFControlType::FLAG, RTFKeyword::CHYPERLINK, 0 },
{ "clbgbdiag", RTFControlType::FLAG, RTFKeyword::CLBGBDIAG, 0 },
{ "clbgcross", RTFControlType::FLAG, RTFKeyword::CLBGCROSS, 0 },
{ "clbgdcross", RTFControlType::FLAG, RTFKeyword::CLBGDCROSS, 0 },
{ "clbgdkbdiag", RTFControlType::FLAG, RTFKeyword::CLBGDKBDIAG, 0 },
{ "clbgdkcross", RTFControlType::FLAG, RTFKeyword::CLBGDKCROSS, 0 },
{ "clbgdkdcross", RTFControlType::FLAG, RTFKeyword::CLBGDKDCROSS, 0 },
{ "clbgdkfdiag", RTFControlType::FLAG, RTFKeyword::CLBGDKFDIAG, 0 },
{ "clbgdkhor", RTFControlType::FLAG, RTFKeyword::CLBGDKHOR, 0 },
{ "clbgdkvert", RTFControlType::FLAG, RTFKeyword::CLBGDKVERT, 0 },
{ "clbgfdiag", RTFControlType::FLAG, RTFKeyword::CLBGFDIAG, 0 },
{ "clbghoriz", RTFControlType::FLAG, RTFKeyword::CLBGHORIZ, 0 },
{ "clbgvert", RTFControlType::FLAG, RTFKeyword::CLBGVERT, 0 },
{ "clbrdrb", RTFControlType::FLAG, RTFKeyword::CLBRDRB, 0 },
{ "clbrdrl", RTFControlType::FLAG, RTFKeyword::CLBRDRL, 0 },
{ "clbrdrr", RTFControlType::FLAG, RTFKeyword::CLBRDRR, 0 },
{ "clbrdrt", RTFControlType::FLAG, RTFKeyword::CLBRDRT, 0 },
{ "clcbpat", RTFControlType::VALUE, RTFKeyword::CLCBPAT, 0 },
{ "clcbpatraw", RTFControlType::VALUE, RTFKeyword::CLCBPATRAW, 0 },
{ "clcfpat", RTFControlType::VALUE, RTFKeyword::CLCFPAT, 0 },
{ "clcfpatraw", RTFControlType::VALUE, RTFKeyword::CLCFPATRAW, 0 },
{ "cldel", RTFControlType::FLAG, RTFKeyword::CLDEL, 0 },
{ "cldelauth", RTFControlType::VALUE, RTFKeyword::CLDELAUTH, 0 },
{ "cldeldttm", RTFControlType::VALUE, RTFKeyword::CLDELDTTM, 0 },
{ "cldgll", RTFControlType::FLAG, RTFKeyword::CLDGLL, 0 },
{ "cldglu", RTFControlType::FLAG, RTFKeyword::CLDGLU, 0 },
{ "clFitText", RTFControlType::FLAG, RTFKeyword::CLFITTEXT, 0 },
{ "clftsWidth", RTFControlType::VALUE, RTFKeyword::CLFTSWIDTH, 0 },
{ "clhidemark", RTFControlType::FLAG, RTFKeyword::CLHIDEMARK, 0 },
{ "clins", RTFControlType::FLAG, RTFKeyword::CLINS, 0 },
{ "clinsauth", RTFControlType::VALUE, RTFKeyword::CLINSAUTH, 0 },
{ "clinsdttm", RTFControlType::VALUE, RTFKeyword::CLINSDTTM, 0 },
{ "clmgf", RTFControlType::FLAG, RTFKeyword::CLMGF, 0 },
{ "clmrg", RTFControlType::FLAG, RTFKeyword::CLMRG, 0 },
{ "clmrgd", RTFControlType::FLAG, RTFKeyword::CLMRGD, 0 },
{ "clmrgdauth", RTFControlType::VALUE, RTFKeyword::CLMRGDAUTH, 0 },
{ "clmrgddttm", RTFControlType::VALUE, RTFKeyword::CLMRGDDTTM, 0 },
{ "clmrgdr", RTFControlType::FLAG, RTFKeyword::CLMRGDR, 0 },
{ "clNoWrap", RTFControlType::FLAG, RTFKeyword::CLNOWRAP, 0 },
{ "clpadb", RTFControlType::VALUE, RTFKeyword::CLPADB, 0 },
{ "clpadfb", RTFControlType::VALUE, RTFKeyword::CLPADFB, 0 },
{ "clpadfl", RTFControlType::VALUE, RTFKeyword::CLPADFL, 0 },
{ "clpadfr", RTFControlType::VALUE, RTFKeyword::CLPADFR, 0 },
{ "clpadft", RTFControlType::VALUE, RTFKeyword::CLPADFT, 0 },
{ "clpadl", RTFControlType::VALUE, RTFKeyword::CLPADL, 0 },
{ "clpadr", RTFControlType::VALUE, RTFKeyword::CLPADR, 0 },
{ "clpadt", RTFControlType::VALUE, RTFKeyword::CLPADT, 0 },
{ "clspb", RTFControlType::VALUE, RTFKeyword::CLSPB, 0 },
{ "clspfb", RTFControlType::VALUE, RTFKeyword::CLSPFB, 0 },
{ "clspfl", RTFControlType::VALUE, RTFKeyword::CLSPFL, 0 },
{ "clspfr", RTFControlType::VALUE, RTFKeyword::CLSPFR, 0 },
{ "clspft", RTFControlType::VALUE, RTFKeyword::CLSPFT, 0 },
{ "clspl", RTFControlType::VALUE, RTFKeyword::CLSPL, 0 },
{ "clspr", RTFControlType::VALUE, RTFKeyword::CLSPR, 0 },
{ "clspt", RTFControlType::VALUE, RTFKeyword::CLSPT, 0 },
{ "clshdng", RTFControlType::VALUE, RTFKeyword::CLSHDNG, 0 },
{ "clshdngraw", RTFControlType::VALUE, RTFKeyword::CLSHDNGRAW, 0 },
{ "clshdrawnil", RTFControlType::FLAG, RTFKeyword::CLSHDRAWNIL, 0 },
{ "clsplit", RTFControlType::FLAG, RTFKeyword::CLSPLIT, 0 },
{ "clsplitr", RTFControlType::FLAG, RTFKeyword::CLSPLITR, 0 },
{ "cltxbtlr", RTFControlType::FLAG, RTFKeyword::CLTXBTLR, 0 },
{ "cltxlrtb", RTFControlType::FLAG, RTFKeyword::CLTXLRTB, 0 },
{ "cltxlrtbv", RTFControlType::FLAG, RTFKeyword::CLTXLRTBV, 0 },
{ "cltxtbrl", RTFControlType::FLAG, RTFKeyword::CLTXTBRL, 0 },
{ "cltxtbrlv", RTFControlType::FLAG, RTFKeyword::CLTXTBRLV, 0 },
{ "clvertalb", RTFControlType::FLAG, RTFKeyword::CLVERTALB, 0 },
{ "clvertalc", RTFControlType::FLAG, RTFKeyword::CLVERTALC, 0 },
{ "clvertalt", RTFControlType::FLAG, RTFKeyword::CLVERTALT, 0 },
{ "clvmgf", RTFControlType::FLAG, RTFKeyword::CLVMGF, 0 },
{ "clvmrg", RTFControlType::FLAG, RTFKeyword::CLVMRG, 0 },
{ "clwWidth", RTFControlType::VALUE, RTFKeyword::CLWWIDTH, 0 },
{ "cmaindarkone", RTFControlType::FLAG, RTFKeyword::CMAINDARKONE, 0 },
{ "cmaindarktwo", RTFControlType::FLAG, RTFKeyword::CMAINDARKTWO, 0 },
{ "cmainlightone", RTFControlType::FLAG, RTFKeyword::CMAINLIGHTONE, 0 },
{ "cmainlighttwo", RTFControlType::FLAG, RTFKeyword::CMAINLIGHTTWO, 0 },
{ "collapsed", RTFControlType::FLAG, RTFKeyword::COLLAPSED, 0 },
{ "colno", RTFControlType::VALUE, RTFKeyword::COLNO, 0 },
{ "colorschememapping", RTFControlType::DESTINATION, RTFKeyword::COLORSCHEMEMAPPING, 0 },
{ "colortbl", RTFControlType::DESTINATION, RTFKeyword::COLORTBL, 0 },
{ "cols", RTFControlType::VALUE, RTFKeyword::COLS, 1 },
{ "colsr", RTFControlType::VALUE, RTFKeyword::COLSR, 0 },
{ "colsx", RTFControlType::VALUE, RTFKeyword::COLSX, 720 },
{ "column", RTFControlType::SYMBOL, RTFKeyword::COLUMN, 0 },
{ "colw", RTFControlType::VALUE, RTFKeyword::COLW, 0 },
{ "comment", RTFControlType::DESTINATION, RTFKeyword::COMMENT, 0 },
{ "company", RTFControlType::DESTINATION, RTFKeyword::COMPANY, 0 },
{ "contextualspace", RTFControlType::FLAG, RTFKeyword::CONTEXTUALSPACE, 0 },
{ "cpg", RTFControlType::VALUE, RTFKeyword::CPG, 0 },
{ "crauth", RTFControlType::VALUE, RTFKeyword::CRAUTH, 0 },
{ "crdate", RTFControlType::VALUE, RTFKeyword::CRDATE, 0 },
{ "creatim", RTFControlType::DESTINATION, RTFKeyword::CREATIM, 0 },
{ "cs", RTFControlType::VALUE, RTFKeyword::CS, 0 },
{ "cshade", RTFControlType::VALUE, RTFKeyword::CSHADE, 0 },
{ "ctextone", RTFControlType::FLAG, RTFKeyword::CTEXTONE, 0 },
{ "ctexttwo", RTFControlType::FLAG, RTFKeyword::CTEXTTWO, 0 },
{ "ctint", RTFControlType::VALUE, RTFKeyword::CTINT, 0 },
{ "ctrl", RTFControlType::FLAG, RTFKeyword::CTRL, 0 },
{ "cts", RTFControlType::VALUE, RTFKeyword::CTS, 0 },
{ "cufi", RTFControlType::VALUE, RTFKeyword::CUFI, 0 },
{ "culi", RTFControlType::VALUE, RTFKeyword::CULI, 0 },
{ "curi", RTFControlType::VALUE, RTFKeyword::CURI, 0 },
{ "cvmme", RTFControlType::FLAG, RTFKeyword::CVMME, 0 },
{ "datafield", RTFControlType::DESTINATION, RTFKeyword::DATAFIELD, 0 },
{ "datastore", RTFControlType::DESTINATION, RTFKeyword::DATASTORE, 0 },
{ "date", RTFControlType::FLAG, RTFKeyword::DATE, 0 },
{ "dbch", RTFControlType::FLAG, RTFKeyword::DBCH, 0 },
{ "defchp", RTFControlType::DESTINATION, RTFKeyword::DEFCHP, 0 },
{ "deff", RTFControlType::VALUE, RTFKeyword::DEFF, 0 },
{ "defformat", RTFControlType::FLAG, RTFKeyword::DEFFORMAT, 0 },
{ "deflang", RTFControlType::VALUE, RTFKeyword::DEFLANG, 0 },
{ "deflangfe", RTFControlType::VALUE, RTFKeyword::DEFLANGFE, 0 },
{ "defpap", RTFControlType::DESTINATION, RTFKeyword::DEFPAP, 0 },
{ "defshp", RTFControlType::FLAG, RTFKeyword::DEFSHP, 0 },
{ "deftab", RTFControlType::VALUE, RTFKeyword::DEFTAB, 720 },
{ "deleted", RTFControlType::TOGGLE, RTFKeyword::DELETED, 1 },
{ "delrsid", RTFControlType::VALUE, RTFKeyword::DELRSID, 0 },
{ "dfrauth", RTFControlType::VALUE, RTFKeyword::DFRAUTH, 0 },
{ "dfrdate", RTFControlType::VALUE, RTFKeyword::DFRDATE, 0 },
{ "dfrmtxtx", RTFControlType::VALUE, RTFKeyword::DFRMTXTX, 0 },
{ "dfrmtxty", RTFControlType::VALUE, RTFKeyword::DFRMTXTY, 0 },
{ "dfrstart", RTFControlType::VALUE, RTFKeyword::DFRSTART, 0 },
{ "dfrstop", RTFControlType::VALUE, RTFKeyword::DFRSTOP, 0 },
{ "dfrxst", RTFControlType::VALUE, RTFKeyword::DFRXST, 0 },
{ "dghorigin", RTFControlType::VALUE, RTFKeyword::DGHORIGIN, 1701 },
{ "dghshow", RTFControlType::VALUE, RTFKeyword::DGHSHOW, 3 },
{ "dghspace", RTFControlType::VALUE, RTFKeyword::DGHSPACE, 120 },
{ "dgmargin", RTFControlType::FLAG, RTFKeyword::DGMARGIN, 0 },
{ "dgsnap", RTFControlType::FLAG, RTFKeyword::DGSNAP, 0 },
{ "dgvorigin", RTFControlType::VALUE, RTFKeyword::DGVORIGIN, 1984 },
{ "dgvshow", RTFControlType::VALUE, RTFKeyword::DGVSHOW, 0 },
{ "dgvspace", RTFControlType::VALUE, RTFKeyword::DGVSPACE, 120 },
{ "dibitmap", RTFControlType::VALUE, RTFKeyword::DIBITMAP, 0 },
{ "disabled", RTFControlType::TOGGLE, RTFKeyword::DISABLED, 1 },
{ "dn", RTFControlType::VALUE, RTFKeyword::DN, 6 },
{ "dntblnsbdb", RTFControlType::FLAG, RTFKeyword::DNTBLNSBDB, 0 },
{ "do", RTFControlType::DESTINATION, RTFKeyword::DO, 0 },
{ "dobxcolumn", RTFControlType::FLAG, RTFKeyword::DOBXCOLUMN, 0 },
{ "dobxmargin", RTFControlType::FLAG, RTFKeyword::DOBXMARGIN, 0 },
{ "dobxpage", RTFControlType::FLAG, RTFKeyword::DOBXPAGE, 0 },
{ "dobymargin", RTFControlType::FLAG, RTFKeyword::DOBYMARGIN, 0 },
{ "dobypage", RTFControlType::FLAG, RTFKeyword::DOBYPAGE, 0 },
{ "dobypara", RTFControlType::FLAG, RTFKeyword::DOBYPARA, 0 },
{ "doccomm", RTFControlType::DESTINATION, RTFKeyword::DOCCOMM, 0 },
{ "doctemp", RTFControlType::FLAG, RTFKeyword::DOCTEMP, 0 },
{ "doctype", RTFControlType::VALUE, RTFKeyword::DOCTYPE, 0 },
{ "docvar", RTFControlType::DESTINATION, RTFKeyword::DOCVAR, 0 },
{ "dodhgt", RTFControlType::VALUE, RTFKeyword::DODHGT, 0 },
{ "dolock", RTFControlType::FLAG, RTFKeyword::DOLOCK, 0 },
{ "donotembedlingdata", RTFControlType::VALUE, RTFKeyword::DONOTEMBEDLINGDATA, 0 },
{ "donotembedsysfont", RTFControlType::VALUE, RTFKeyword::DONOTEMBEDSYSFONT, 0 },
{ "donotshowcomments", RTFControlType::FLAG, RTFKeyword::DONOTSHOWCOMMENTS, 0 },
{ "donotshowinsdel", RTFControlType::FLAG, RTFKeyword::DONOTSHOWINSDEL, 0 },
{ "donotshowmarkup", RTFControlType::FLAG, RTFKeyword::DONOTSHOWMARKUP, 0 },
{ "donotshowprops", RTFControlType::FLAG, RTFKeyword::DONOTSHOWPROPS, 0 },
{ "dpaendhol", RTFControlType::FLAG, RTFKeyword::DPAENDHOL, 0 },
{ "dpaendl", RTFControlType::VALUE, RTFKeyword::DPAENDL, 0 },
{ "dpaendsol", RTFControlType::FLAG, RTFKeyword::DPAENDSOL, 0 },
{ "dpaendw", RTFControlType::VALUE, RTFKeyword::DPAENDW, 0 },
{ "dparc", RTFControlType::FLAG, RTFKeyword::DPARC, 0 },
{ "dparcflipx", RTFControlType::FLAG, RTFKeyword::DPARCFLIPX, 0 },
{ "dparcflipy", RTFControlType::FLAG, RTFKeyword::DPARCFLIPY, 0 },
{ "dpastarthol", RTFControlType::FLAG, RTFKeyword::DPASTARTHOL, 0 },
{ "dpastartl", RTFControlType::VALUE, RTFKeyword::DPASTARTL, 0 },
{ "dpastartsol", RTFControlType::FLAG, RTFKeyword::DPASTARTSOL, 0 },
{ "dpastartw", RTFControlType::VALUE, RTFKeyword::DPASTARTW, 0 },
{ "dpcallout", RTFControlType::FLAG, RTFKeyword::DPCALLOUT, 0 },
{ "dpcoa", RTFControlType::VALUE, RTFKeyword::DPCOA, 0 },
{ "dpcoaccent", RTFControlType::FLAG, RTFKeyword::DPCOACCENT, 0 },
{ "dpcobestfit", RTFControlType::FLAG, RTFKeyword::DPCOBESTFIT, 0 },
{ "dpcoborder", RTFControlType::FLAG, RTFKeyword::DPCOBORDER, 0 },
{ "dpcodabs", RTFControlType::FLAG, RTFKeyword::DPCODABS, 0 },
{ "dpcodbottom", RTFControlType::FLAG, RTFKeyword::DPCODBOTTOM, 0 },
{ "dpcodcenter", RTFControlType::FLAG, RTFKeyword::DPCODCENTER, 0 },
{ "dpcodescent", RTFControlType::VALUE, RTFKeyword::DPCODESCENT, 0 },
{ "dpcodtop", RTFControlType::FLAG, RTFKeyword::DPCODTOP, 0 },
{ "dpcolength", RTFControlType::VALUE, RTFKeyword::DPCOLENGTH, 0 },
{ "dpcominusx", RTFControlType::FLAG, RTFKeyword::DPCOMINUSX, 0 },
{ "dpcominusy", RTFControlType::FLAG, RTFKeyword::DPCOMINUSY, 0 },
{ "dpcooffset", RTFControlType::VALUE, RTFKeyword::DPCOOFFSET, 0 },
{ "dpcosmarta", RTFControlType::FLAG, RTFKeyword::DPCOSMARTA, 0 },
{ "dpcotdouble", RTFControlType::FLAG, RTFKeyword::DPCOTDOUBLE, 0 },
{ "dpcotright", RTFControlType::FLAG, RTFKeyword::DPCOTRIGHT, 0 },
{ "dpcotsingle", RTFControlType::FLAG, RTFKeyword::DPCOTSINGLE, 0 },
{ "dpcottriple", RTFControlType::FLAG, RTFKeyword::DPCOTTRIPLE, 0 },
{ "dpcount", RTFControlType::VALUE, RTFKeyword::DPCOUNT, 0 },
{ "dpellipse", RTFControlType::FLAG, RTFKeyword::DPELLIPSE, 0 },
{ "dpendgroup", RTFControlType::FLAG, RTFKeyword::DPENDGROUP, 0 },
{ "dpfillbgcb", RTFControlType::VALUE, RTFKeyword::DPFILLBGCB, 0 },
{ "dpfillbgcg", RTFControlType::VALUE, RTFKeyword::DPFILLBGCG, 0 },
{ "dpfillbgcr", RTFControlType::VALUE, RTFKeyword::DPFILLBGCR, 0 },
{ "dpfillbggray", RTFControlType::VALUE, RTFKeyword::DPFILLBGGRAY, 0 },
{ "dpfillbgpal", RTFControlType::FLAG, RTFKeyword::DPFILLBGPAL, 0 },
{ "dpfillfgcb", RTFControlType::VALUE, RTFKeyword::DPFILLFGCB, 0 },
{ "dpfillfgcg", RTFControlType::VALUE, RTFKeyword::DPFILLFGCG, 0 },
{ "dpfillfgcr", RTFControlType::VALUE, RTFKeyword::DPFILLFGCR, 0 },
{ "dpfillfggray", RTFControlType::VALUE, RTFKeyword::DPFILLFGGRAY, 0 },
{ "dpfillfgpal", RTFControlType::FLAG, RTFKeyword::DPFILLFGPAL, 0 },
{ "dpfillpat", RTFControlType::VALUE, RTFKeyword::DPFILLPAT, 0 },
{ "dpgroup", RTFControlType::FLAG, RTFKeyword::DPGROUP, 0 },
{ "dpline", RTFControlType::FLAG, RTFKeyword::DPLINE, 0 },
{ "dplinecob", RTFControlType::VALUE, RTFKeyword::DPLINECOB, 0 },
{ "dplinecog", RTFControlType::VALUE, RTFKeyword::DPLINECOG, 0 },
{ "dplinecor", RTFControlType::VALUE, RTFKeyword::DPLINECOR, 0 },
{ "dplinedado", RTFControlType::FLAG, RTFKeyword::DPLINEDADO, 0 },
{ "dplinedadodo", RTFControlType::FLAG, RTFKeyword::DPLINEDADODO, 0 },
{ "dplinedash", RTFControlType::FLAG, RTFKeyword::DPLINEDASH, 0 },
{ "dplinedot", RTFControlType::FLAG, RTFKeyword::DPLINEDOT, 0 },
{ "dplinegray", RTFControlType::VALUE, RTFKeyword::DPLINEGRAY, 0 },
{ "dplinehollow", RTFControlType::FLAG, RTFKeyword::DPLINEHOLLOW, 0 },
{ "dplinepal", RTFControlType::FLAG, RTFKeyword::DPLINEPAL, 0 },
{ "dplinesolid", RTFControlType::FLAG, RTFKeyword::DPLINESOLID, 0 },
{ "dplinew", RTFControlType::VALUE, RTFKeyword::DPLINEW, 0 },
{ "dppolycount", RTFControlType::VALUE, RTFKeyword::DPPOLYCOUNT, 0 },
{ "dppolygon", RTFControlType::FLAG, RTFKeyword::DPPOLYGON, 0 },
{ "dppolyline", RTFControlType::FLAG, RTFKeyword::DPPOLYLINE, 0 },
{ "dpptx", RTFControlType::VALUE, RTFKeyword::DPPTX, 0 },
{ "dppty", RTFControlType::VALUE, RTFKeyword::DPPTY, 0 },
{ "dprect", RTFControlType::FLAG, RTFKeyword::DPRECT, 0 },
{ "dproundr", RTFControlType::FLAG, RTFKeyword::DPROUNDR, 0 },
{ "dpshadow", RTFControlType::FLAG, RTFKeyword::DPSHADOW, 0 },
{ "dpshadx", RTFControlType::VALUE, RTFKeyword::DPSHADX, 0 },
{ "dpshady", RTFControlType::VALUE, RTFKeyword::DPSHADY, 0 },
{ "dptxbtlr", RTFControlType::FLAG, RTFKeyword::DPTXBTLR, 0 },
{ "dptxbx", RTFControlType::FLAG, RTFKeyword::DPTXBX, 0 },
{ "dptxbxmar", RTFControlType::VALUE, RTFKeyword::DPTXBXMAR, 0 },
{ "dptxbxtext", RTFControlType::DESTINATION, RTFKeyword::DPTXBXTEXT, 0 },
{ "dptxlrtb", RTFControlType::FLAG, RTFKeyword::DPTXLRTB, 0 },
{ "dptxlrtbv", RTFControlType::FLAG, RTFKeyword::DPTXLRTBV, 0 },
{ "dptxtbrl", RTFControlType::FLAG, RTFKeyword::DPTXTBRL, 0 },
{ "dptxtbrlv", RTFControlType::FLAG, RTFKeyword::DPTXTBRLV, 0 },
{ "dpx", RTFControlType::VALUE, RTFKeyword::DPX, 0 },
{ "dpxsize", RTFControlType::VALUE, RTFKeyword::DPXSIZE, 0 },
{ "dpy", RTFControlType::VALUE, RTFKeyword::DPY, 0 },
{ "dpysize", RTFControlType::VALUE, RTFKeyword::DPYSIZE, 0 },
{ "dropcapli", RTFControlType::VALUE, RTFKeyword::DROPCAPLI, 0 },
{ "dropcapt", RTFControlType::VALUE, RTFKeyword::DROPCAPT, 0 },
{ "ds", RTFControlType::VALUE, RTFKeyword::DS, 0 },
{ "dxfrtext", RTFControlType::VALUE, RTFKeyword::DXFRTEXT, 0 },
{ "dy", RTFControlType::VALUE, RTFKeyword::DY, 0 },
{ "ebcend", RTFControlType::DESTINATION, RTFKeyword::EBCEND, 0 },
{ "ebcstart", RTFControlType::DESTINATION, RTFKeyword::EBCSTART, 0 },
{ "edmins", RTFControlType::VALUE, RTFKeyword::EDMINS, 0 },
{ "embo", RTFControlType::TOGGLE, RTFKeyword::EMBO, 1 },
{ "emdash", RTFControlType::SYMBOL, RTFKeyword::EMDASH, 0 },
{ "emfblip", RTFControlType::FLAG, RTFKeyword::EMFBLIP, 0 },
{ "emspace", RTFControlType::SYMBOL, RTFKeyword::EMSPACE, 0 },
{ "endash", RTFControlType::SYMBOL, RTFKeyword::ENDASH, 0 },
{ "enddoc", RTFControlType::FLAG, RTFKeyword::ENDDOC, 0 },
{ "endnhere", RTFControlType::FLAG, RTFKeyword::ENDNHERE, 0 },
{ "endnotes", RTFControlType::FLAG, RTFKeyword::ENDNOTES, 0 },
{ "enforceprot", RTFControlType::VALUE, RTFKeyword::ENFORCEPROT, 0 },
{ "enspace", RTFControlType::SYMBOL, RTFKeyword::ENSPACE, 0 },
{ "expnd", RTFControlType::VALUE, RTFKeyword::EXPND, 0 },
{ "expndtw", RTFControlType::VALUE, RTFKeyword::EXPNDTW, 0 },
{ "expshrtn", RTFControlType::FLAG, RTFKeyword::EXPSHRTN, 0 },
{ "f", RTFControlType::VALUE, RTFKeyword::F, 0 },
{ "faauto", RTFControlType::FLAG, RTFKeyword::FAAUTO, 0 },
{ "facenter", RTFControlType::FLAG, RTFKeyword::FACENTER, 0 },
{ "facingp", RTFControlType::TOGGLE, RTFKeyword::FACINGP, 1 },
{ "factoidname", RTFControlType::DESTINATION, RTFKeyword::FACTOIDNAME, 0 },
{ "fafixed", RTFControlType::FLAG, RTFKeyword::FAFIXED, 0 },
{ "fahang", RTFControlType::FLAG, RTFKeyword::FAHANG, 0 },
{ "falt", RTFControlType::DESTINATION, RTFKeyword::FALT, 0 },
{ "faroman", RTFControlType::FLAG, RTFKeyword::FAROMAN, 0 },
{ "favar", RTFControlType::FLAG, RTFKeyword::FAVAR, 0 },
{ "fbias", RTFControlType::VALUE, RTFKeyword::FBIAS, 0 },
{ "fbidi", RTFControlType::FLAG, RTFKeyword::FBIDI, 0 },
{ "fbidis", RTFControlType::FLAG, RTFKeyword::FBIDIS, 0 },
{ "fbimajor", RTFControlType::FLAG, RTFKeyword::FBIMAJOR, 0 },
{ "fbiminor", RTFControlType::FLAG, RTFKeyword::FBIMINOR, 0 },
{ "fchars", RTFControlType::DESTINATION, RTFKeyword::FCHARS, 0 },
{ "fcharset", RTFControlType::VALUE, RTFKeyword::FCHARSET, 0 },
{ "fcs", RTFControlType::VALUE, RTFKeyword::FCS, 0 },
{ "fdbmajor", RTFControlType::FLAG, RTFKeyword::FDBMAJOR, 0 },
{ "fdbminor", RTFControlType::FLAG, RTFKeyword::FDBMINOR, 0 },
{ "fdecor", RTFControlType::FLAG, RTFKeyword::FDECOR, 0 },
{ "felnbrelev", RTFControlType::FLAG, RTFKeyword::FELNBRELEV, 0 },
{ "fet", RTFControlType::VALUE, RTFKeyword::FET, 0 },
{ "fetch", RTFControlType::FLAG, RTFKeyword::FETCH, 0 },
{ "ffdefres", RTFControlType::VALUE, RTFKeyword::FFDEFRES, 0 },
{ "ffdeftext", RTFControlType::DESTINATION, RTFKeyword::FFDEFTEXT, 0 },
{ "ffentrymcr", RTFControlType::DESTINATION, RTFKeyword::FFENTRYMCR, 0 },
{ "ffexitmcr", RTFControlType::DESTINATION, RTFKeyword::FFEXITMCR, 0 },
{ "ffformat", RTFControlType::DESTINATION, RTFKeyword::FFFORMAT, 0 },
{ "ffhaslistbox", RTFControlType::VALUE, RTFKeyword::FFHASLISTBOX, 0 },
{ "ffhelptext", RTFControlType::DESTINATION, RTFKeyword::FFHELPTEXT, 0 },
{ "ffhps", RTFControlType::VALUE, RTFKeyword::FFHPS, 0 },
{ "ffl", RTFControlType::DESTINATION, RTFKeyword::FFL, 0 },
{ "ffmaxlen", RTFControlType::VALUE, RTFKeyword::FFMAXLEN, 0 },
{ "ffname", RTFControlType::DESTINATION, RTFKeyword::FFNAME, 0 },
{ "ffownhelp", RTFControlType::VALUE, RTFKeyword::FFOWNHELP, 0 },
{ "ffownstat", RTFControlType::VALUE, RTFKeyword::FFOWNSTAT, 0 },
{ "ffprot", RTFControlType::VALUE, RTFKeyword::FFPROT, 0 },
{ "ffrecalc", RTFControlType::VALUE, RTFKeyword::FFRECALC, 0 },
{ "ffres", RTFControlType::VALUE, RTFKeyword::FFRES, 0 },
{ "ffsize", RTFControlType::VALUE, RTFKeyword::FFSIZE, 0 },
{ "ffstattext", RTFControlType::DESTINATION, RTFKeyword::FFSTATTEXT, 0 },
{ "fftype", RTFControlType::VALUE, RTFKeyword::FFTYPE, 0 },
{ "fftypetxt", RTFControlType::VALUE, RTFKeyword::FFTYPETXT, 0 },
{ "fhimajor", RTFControlType::FLAG, RTFKeyword::FHIMAJOR, 0 },
{ "fhiminor", RTFControlType::FLAG, RTFKeyword::FHIMINOR, 0 },
{ "fi", RTFControlType::VALUE, RTFKeyword::FI, 0 },
{ "fid", RTFControlType::VALUE, RTFKeyword::FID, 0 },
{ "field", RTFControlType::DESTINATION, RTFKeyword::FIELD, 0 },
{ "file", RTFControlType::DESTINATION, RTFKeyword::FILE, 0 },
{ "filetbl", RTFControlType::DESTINATION, RTFKeyword::FILETBL, 0 },
{ "fittext", RTFControlType::VALUE, RTFKeyword::FITTEXT, 0 },
{ "fjgothic", RTFControlType::FLAG, RTFKeyword::FJGOTHIC, 0 },
{ "fjminchou", RTFControlType::FLAG, RTFKeyword::FJMINCHOU, 0 },
{ "fldalt", RTFControlType::FLAG, RTFKeyword::FLDALT, 0 },
{ "flddirty", RTFControlType::FLAG, RTFKeyword::FLDDIRTY, 0 },
{ "fldedit", RTFControlType::FLAG, RTFKeyword::FLDEDIT, 0 },
{ "fldinst", RTFControlType::DESTINATION, RTFKeyword::FLDINST, 0 },
{ "fldlock", RTFControlType::FLAG, RTFKeyword::FLDLOCK, 0 },
{ "fldpriv", RTFControlType::FLAG, RTFKeyword::FLDPRIV, 0 },
{ "fldrslt", RTFControlType::DESTINATION, RTFKeyword::FLDRSLT, 0 },
{ "fldtype", RTFControlType::DESTINATION, RTFKeyword::FLDTYPE, 0 },
{ "flomajor", RTFControlType::FLAG, RTFKeyword::FLOMAJOR, 0 },
{ "flominor", RTFControlType::FLAG, RTFKeyword::FLOMINOR, 0 },
{ "fmodern", RTFControlType::FLAG, RTFKeyword::FMODERN, 0 },
{ "fn", RTFControlType::VALUE, RTFKeyword::FN, 0 },
{ "fname", RTFControlType::DESTINATION, RTFKeyword::FNAME, 0 },
{ "fnetwork", RTFControlType::FLAG, RTFKeyword::FNETWORK, 0 },
{ "fnil", RTFControlType::FLAG, RTFKeyword::FNIL, 0 },
{ "fnonfilesys", RTFControlType::FLAG, RTFKeyword::FNONFILESYS, 0 },
{ "fontemb", RTFControlType::DESTINATION, RTFKeyword::FONTEMB, 0 },
{ "fontfile", RTFControlType::DESTINATION, RTFKeyword::FONTFILE, 0 },
{ "fonttbl", RTFControlType::DESTINATION, RTFKeyword::FONTTBL, 0 },
{ "footer", RTFControlType::DESTINATION, RTFKeyword::FOOTER, 0 },
{ "footerf", RTFControlType::DESTINATION, RTFKeyword::FOOTERF, 0 },
{ "footerl", RTFControlType::DESTINATION, RTFKeyword::FOOTERL, 0 },
{ "footerr", RTFControlType::DESTINATION, RTFKeyword::FOOTERR, 0 },
{ "footery", RTFControlType::VALUE, RTFKeyword::FOOTERY, 720 },
{ "footnote", RTFControlType::DESTINATION, RTFKeyword::FOOTNOTE, 0 },
{ "forceupgrade", RTFControlType::FLAG, RTFKeyword::FORCEUPGRADE, 0 },
{ "formdisp", RTFControlType::FLAG, RTFKeyword::FORMDISP, 0 },
{ "formfield", RTFControlType::DESTINATION, RTFKeyword::FORMFIELD, 0 },
{ "formprot", RTFControlType::FLAG, RTFKeyword::FORMPROT, 0 },
{ "formshade", RTFControlType::FLAG, RTFKeyword::FORMSHADE, 0 },
{ "fosnum", RTFControlType::VALUE, RTFKeyword::FOSNUM, 0 },
{ "fprq", RTFControlType::VALUE, RTFKeyword::FPRQ, 0 },
{ "fracwidth", RTFControlType::FLAG, RTFKeyword::FRACWIDTH, 0 },
{ "frelative", RTFControlType::VALUE, RTFKeyword::FRELATIVE, 0 },
{ "frmtxbtlr", RTFControlType::FLAG, RTFKeyword::FRMTXBTLR, 0 },
{ "frmtxlrtb", RTFControlType::FLAG, RTFKeyword::FRMTXLRTB, 0 },
{ "frmtxlrtbv", RTFControlType::FLAG, RTFKeyword::FRMTXLRTBV, 0 },
{ "frmtxtbrl", RTFControlType::FLAG, RTFKeyword::FRMTXTBRL, 0 },
{ "frmtxtbrlv", RTFControlType::FLAG, RTFKeyword::FRMTXTBRLV, 0 },
{ "froman", RTFControlType::FLAG, RTFKeyword::FROMAN, 0 },
{ "fromhtml", RTFControlType::VALUE, RTFKeyword::FROMHTML, 0 },
{ "fromtext", RTFControlType::FLAG, RTFKeyword::FROMTEXT, 0 },
{ "fs", RTFControlType::VALUE, RTFKeyword::FS, 24 },
{ "fscript", RTFControlType::FLAG, RTFKeyword::FSCRIPT, 0 },
{ "fswiss", RTFControlType::FLAG, RTFKeyword::FSWISS, 0 },
{ "ftech", RTFControlType::FLAG, RTFKeyword::FTECH, 0 },
{ "ftnalt", RTFControlType::FLAG, RTFKeyword::FTNALT, 0 },
{ "ftnbj", RTFControlType::FLAG, RTFKeyword::FTNBJ, 0 },
{ "ftncn", RTFControlType::DESTINATION, RTFKeyword::FTNCN, 0 },
{ "ftnil", RTFControlType::FLAG, RTFKeyword::FTNIL, 0 },
{ "ftnlytwnine", RTFControlType::FLAG, RTFKeyword::FTNLYTWNINE, 0 },
{ "ftnnalc", RTFControlType::FLAG, RTFKeyword::FTNNALC, 0 },
{ "ftnnar", RTFControlType::FLAG, RTFKeyword::FTNNAR, 0 },
{ "ftnnauc", RTFControlType::FLAG, RTFKeyword::FTNNAUC, 0 },
{ "ftnnchi", RTFControlType::FLAG, RTFKeyword::FTNNCHI, 0 },
{ "ftnnchosung", RTFControlType::FLAG, RTFKeyword::FTNNCHOSUNG, 0 },
{ "ftnncnum", RTFControlType::FLAG, RTFKeyword::FTNNCNUM, 0 },
{ "ftnndbar", RTFControlType::FLAG, RTFKeyword::FTNNDBAR, 0 },
{ "ftnndbnum", RTFControlType::FLAG, RTFKeyword::FTNNDBNUM, 0 },
{ "ftnndbnumd", RTFControlType::FLAG, RTFKeyword::FTNNDBNUMD, 0 },
{ "ftnndbnumk", RTFControlType::FLAG, RTFKeyword::FTNNDBNUMK, 0 },
{ "ftnndbnumt", RTFControlType::FLAG, RTFKeyword::FTNNDBNUMT, 0 },
{ "ftnnganada", RTFControlType::FLAG, RTFKeyword::FTNNGANADA, 0 },
{ "ftnngbnum", RTFControlType::FLAG, RTFKeyword::FTNNGBNUM, 0 },
{ "ftnngbnumd", RTFControlType::FLAG, RTFKeyword::FTNNGBNUMD, 0 },
{ "ftnngbnumk", RTFControlType::FLAG, RTFKeyword::FTNNGBNUMK, 0 },
{ "ftnngbnuml", RTFControlType::FLAG, RTFKeyword::FTNNGBNUML, 0 },
{ "ftnnrlc", RTFControlType::FLAG, RTFKeyword::FTNNRLC, 0 },
{ "ftnnruc", RTFControlType::FLAG, RTFKeyword::FTNNRUC, 0 },
{ "ftnnzodiac", RTFControlType::FLAG, RTFKeyword::FTNNZODIAC, 0 },
{ "ftnnzodiacd", RTFControlType::FLAG, RTFKeyword::FTNNZODIACD, 0 },
{ "ftnnzodiacl", RTFControlType::FLAG, RTFKeyword::FTNNZODIACL, 0 },
{ "ftnrestart", RTFControlType::FLAG, RTFKeyword::FTNRESTART, 0 },
{ "ftnrstcont", RTFControlType::FLAG, RTFKeyword::FTNRSTCONT, 0 },
{ "ftnrstpg", RTFControlType::FLAG, RTFKeyword::FTNRSTPG, 0 },
{ "ftnsep", RTFControlType::DESTINATION, RTFKeyword::FTNSEP, 0 },
{ "ftnsepc", RTFControlType::DESTINATION, RTFKeyword::FTNSEPC, 0 },
{ "ftnstart", RTFControlType::VALUE, RTFKeyword::FTNSTART, 1 },
{ "ftntj", RTFControlType::FLAG, RTFKeyword::FTNTJ, 0 },
{ "fttruetype", RTFControlType::FLAG, RTFKeyword::FTTRUETYPE, 0 },
{ "fvaliddos", RTFControlType::FLAG, RTFKeyword::FVALIDDOS, 0 },
{ "fvalidhpfs", RTFControlType::FLAG, RTFKeyword::FVALIDHPFS, 0 },
{ "fvalidmac", RTFControlType::FLAG, RTFKeyword::FVALIDMAC, 0 },
{ "fvalidntfs", RTFControlType::FLAG, RTFKeyword::FVALIDNTFS, 0 },
{ "g", RTFControlType::DESTINATION, RTFKeyword::G, 0 },
{ "gcw", RTFControlType::VALUE, RTFKeyword::GCW, 0 },
{ "generator", RTFControlType::DESTINATION, RTFKeyword::GENERATOR, 0 },
{ "green", RTFControlType::VALUE, RTFKeyword::GREEN, 0 },
{ "grfdocevents", RTFControlType::VALUE, RTFKeyword::GRFDOCEVENTS, 0 },
{ "gridtbl", RTFControlType::DESTINATION, RTFKeyword::GRIDTBL, 0 },
{ "gutter", RTFControlType::VALUE, RTFKeyword::GUTTER, 0 },
{ "gutterprl", RTFControlType::FLAG, RTFKeyword::GUTTERPRL, 0 },
{ "guttersxn", RTFControlType::VALUE, RTFKeyword::GUTTERSXN, 0 },
{ "header", RTFControlType::DESTINATION, RTFKeyword::HEADER, 0 },
{ "headerf", RTFControlType::DESTINATION, RTFKeyword::HEADERF, 0 },
{ "headerl", RTFControlType::DESTINATION, RTFKeyword::HEADERL, 0 },
{ "headerr", RTFControlType::DESTINATION, RTFKeyword::HEADERR, 0 },
{ "headery", RTFControlType::VALUE, RTFKeyword::HEADERY, 720 },
{ "hich", RTFControlType::FLAG, RTFKeyword::HICH, 0 },
{ "highlight", RTFControlType::VALUE, RTFKeyword::HIGHLIGHT, 0 },
{ "hl", RTFControlType::DESTINATION, RTFKeyword::HL, 0 },
{ "hlfr", RTFControlType::DESTINATION, RTFKeyword::HLFR, 0 },
{ "hlinkbase", RTFControlType::DESTINATION, RTFKeyword::HLINKBASE, 0 },
{ "hlloc", RTFControlType::DESTINATION, RTFKeyword::HLLOC, 0 },
{ "hlsrc", RTFControlType::DESTINATION, RTFKeyword::HLSRC, 0 },
{ "horzdoc", RTFControlType::FLAG, RTFKeyword::HORZDOC, 0 },
{ "horzsect", RTFControlType::FLAG, RTFKeyword::HORZSECT, 0 },
{ "horzvert", RTFControlType::VALUE, RTFKeyword::HORZVERT, 0 },
{ "hr", RTFControlType::VALUE, RTFKeyword::HR, 0 },
{ "hres", RTFControlType::VALUE, RTFKeyword::HRES, 0 },
{ "hrule", RTFControlType::FLAG, RTFKeyword::HRULE, 0 },
{ "hsv", RTFControlType::DESTINATION, RTFKeyword::HSV, 0 },
{ "htmautsp", RTFControlType::FLAG, RTFKeyword::HTMAUTSP, 0 },
{ "htmlbase", RTFControlType::FLAG, RTFKeyword::HTMLBASE, 0 },
{ "htmlrtf", RTFControlType::TOGGLE, RTFKeyword::HTMLRTF, 1 },
{ "htmltag", RTFControlType::DESTINATION, RTFKeyword::HTMLTAG, 0 },
{ "hwelev", RTFControlType::FLAG, RTFKeyword::HWELEV, 0 },
{ "hyphauto", RTFControlType::TOGGLE, RTFKeyword::HYPHAUTO, 1 },
{ "hyphcaps", RTFControlType::TOGGLE, RTFKeyword::HYPHCAPS, 1 },
{ "hyphconsec", RTFControlType::VALUE, RTFKeyword::HYPHCONSEC, 0 },
{ "hyphhotz", RTFControlType::VALUE, RTFKeyword::HYPHHOTZ, 0 },
{ "hyphpar", RTFControlType::TOGGLE, RTFKeyword::HYPHPAR, 1 },
{ "i", RTFControlType::TOGGLE, RTFKeyword::I, 1 },
{ "id", RTFControlType::VALUE, RTFKeyword::ID, 0 },
{ "ignoremixedcontent", RTFControlType::VALUE, RTFKeyword::IGNOREMIXEDCONTENT, 0 },
{ "ilfomacatclnup", RTFControlType::VALUE, RTFKeyword::ILFOMACATCLNUP, 0 },
{ "ilvl", RTFControlType::VALUE, RTFKeyword::ILVL, 0 },
{ "impr", RTFControlType::TOGGLE, RTFKeyword::IMPR, 1 },
{ "indmirror", RTFControlType::FLAG, RTFKeyword::INDMIRROR, 0 },
{ "indrlsweleven", RTFControlType::FLAG, RTFKeyword::INDRLSWELEVEN, 0 },
{ "info", RTFControlType::DESTINATION, RTFKeyword::INFO, 0 },
{ "insrsid", RTFControlType::VALUE, RTFKeyword::INSRSID, 0 },
{ "intbl", RTFControlType::FLAG, RTFKeyword::INTBL, 0 },
{ "ipgp", RTFControlType::VALUE, RTFKeyword::IPGP, 0 },
{ "irowband", RTFControlType::VALUE, RTFKeyword::IROWBAND, 0 },
{ "irow", RTFControlType::VALUE, RTFKeyword::IROW, 0 },
{ "itap", RTFControlType::VALUE, RTFKeyword::ITAP, 1 },
{ "ixe", RTFControlType::FLAG, RTFKeyword::IXE, 0 },
{ "jcompress", RTFControlType::FLAG, RTFKeyword::JCOMPRESS, 0 },
{ "jexpand", RTFControlType::FLAG, RTFKeyword::JEXPAND, 0 },
{ "jis", RTFControlType::FLAG, RTFKeyword::JIS, 0 },
{ "jpegblip", RTFControlType::FLAG, RTFKeyword::JPEGBLIP, 0 },
{ "jsksu", RTFControlType::FLAG, RTFKeyword::JSKSU, 0 },
{ "keep", RTFControlType::FLAG, RTFKeyword::KEEP, 0 },
{ "keepn", RTFControlType::FLAG, RTFKeyword::KEEPN, 0 },
{ "kerning", RTFControlType::VALUE, RTFKeyword::KERNING, 0 },
{ "keycode", RTFControlType::DESTINATION, RTFKeyword::KEYCODE, 0 },
{ "keywords", RTFControlType::DESTINATION, RTFKeyword::KEYWORDS, 0 },
{ "krnprsnet", RTFControlType::FLAG, RTFKeyword::KRNPRSNET, 0 },
{ "ksulang", RTFControlType::VALUE, RTFKeyword::KSULANG, 0 },
{ "jclisttab", RTFControlType::FLAG, RTFKeyword::JCLISTTAB, 0 },
{ "landscape", RTFControlType::FLAG, RTFKeyword::LANDSCAPE, 0 },
{ "lang", RTFControlType::VALUE, RTFKeyword::LANG, 0 },
{ "langfe", RTFControlType::VALUE, RTFKeyword::LANGFE, 0 },
{ "langfenp", RTFControlType::VALUE, RTFKeyword::LANGFENP, 0 },
{ "langnp", RTFControlType::VALUE, RTFKeyword::LANGNP, 0 },
{ "lastrow", RTFControlType::FLAG, RTFKeyword::LASTROW, 0 },
{ "latentstyles", RTFControlType::DESTINATION, RTFKeyword::LATENTSTYLES, 0 },
{ "lbr", RTFControlType::VALUE, RTFKeyword::LBR, 0 },
{ "lchars", RTFControlType::DESTINATION, RTFKeyword::LCHARS, 0 },
{ "ldblquote", RTFControlType::SYMBOL, RTFKeyword::LDBLQUOTE, 0 },
{ "level", RTFControlType::VALUE, RTFKeyword::LEVEL, 0 },
{ "levelfollow", RTFControlType::VALUE, RTFKeyword::LEVELFOLLOW, 0 },
{ "levelindent", RTFControlType::VALUE, RTFKeyword::LEVELINDENT, 0 },
{ "leveljc", RTFControlType::VALUE, RTFKeyword::LEVELJC, 0 },
{ "leveljcn", RTFControlType::VALUE, RTFKeyword::LEVELJCN, 0 },
{ "levellegal", RTFControlType::VALUE, RTFKeyword::LEVELLEGAL, 0 },
{ "levelnfc", RTFControlType::VALUE, RTFKeyword::LEVELNFC, 0 },
{ "levelnfcn", RTFControlType::VALUE, RTFKeyword::LEVELNFCN, 0 },
{ "levelnorestart", RTFControlType::VALUE, RTFKeyword::LEVELNORESTART, 0 },
{ "levelnumbers", RTFControlType::DESTINATION, RTFKeyword::LEVELNUMBERS, 0 },
{ "levelold", RTFControlType::VALUE, RTFKeyword::LEVELOLD, 0 },
{ "levelpicture", RTFControlType::VALUE, RTFKeyword::LEVELPICTURE, 0 },
{ "levelpicturenosize", RTFControlType::FLAG, RTFKeyword::LEVELPICTURENOSIZE, 0 },
{ "levelprev", RTFControlType::VALUE, RTFKeyword::LEVELPREV, 0 },
{ "levelprevspace", RTFControlType::VALUE, RTFKeyword::LEVELPREVSPACE, 0 },
{ "levelspace", RTFControlType::VALUE, RTFKeyword::LEVELSPACE, 0 },
{ "levelstartat", RTFControlType::VALUE, RTFKeyword::LEVELSTARTAT, 0 },
{ "leveltemplateid", RTFControlType::VALUE, RTFKeyword::LEVELTEMPLATEID, 0 },
{ "leveltext", RTFControlType::DESTINATION, RTFKeyword::LEVELTEXT, 0 },
{ "lfolevel", RTFControlType::DESTINATION, RTFKeyword::LFOLEVEL, 0 },
{ "li", RTFControlType::VALUE, RTFKeyword::LI, 0 },
{ "line", RTFControlType::SYMBOL, RTFKeyword::LINE, 0 },
{ "linebetcol", RTFControlType::FLAG, RTFKeyword::LINEBETCOL, 0 },
{ "linecont", RTFControlType::FLAG, RTFKeyword::LINECONT, 0 },
{ "linemod", RTFControlType::VALUE, RTFKeyword::LINEMOD, 1 },
{ "lineppage", RTFControlType::FLAG, RTFKeyword::LINEPPAGE, 0 },
{ "linerestart", RTFControlType::FLAG, RTFKeyword::LINERESTART, 0 },
{ "linestart", RTFControlType::VALUE, RTFKeyword::LINESTART, 1 },
{ "linestarts", RTFControlType::VALUE, RTFKeyword::LINESTARTS, 1 },
{ "linex", RTFControlType::VALUE, RTFKeyword::LINEX, 360 },
{ "linkself", RTFControlType::FLAG, RTFKeyword::LINKSELF, 0 },
{ "linkstyles", RTFControlType::FLAG, RTFKeyword::LINKSTYLES, 0 },
{ "linkval", RTFControlType::DESTINATION, RTFKeyword::LINKVAL, 0 },
{ "lin", RTFControlType::VALUE, RTFKeyword::LIN, 0 },
{ "lisa", RTFControlType::VALUE, RTFKeyword::LISA, 0 },
{ "lisb", RTFControlType::VALUE, RTFKeyword::LISB, 0 },
{ "list", RTFControlType::DESTINATION, RTFKeyword::LIST, 0 },
{ "listhybrid", RTFControlType::FLAG, RTFKeyword::LISTHYBRID, 0 },
{ "listid", RTFControlType::VALUE, RTFKeyword::LISTID, 0 },
{ "listlevel", RTFControlType::DESTINATION, RTFKeyword::LISTLEVEL, 0 },
{ "listname", RTFControlType::DESTINATION, RTFKeyword::LISTNAME, 0 },
{ "listoverride", RTFControlType::DESTINATION, RTFKeyword::LISTOVERRIDE, 0 },
{ "listoverridecount", RTFControlType::VALUE, RTFKeyword::LISTOVERRIDECOUNT, 0 },
{ "listoverrideformat", RTFControlType::VALUE, RTFKeyword::LISTOVERRIDEFORMAT, 0 },
{ "listoverridestartat", RTFControlType::FLAG, RTFKeyword::LISTOVERRIDESTARTAT, 0 },
{ "listoverridetable", RTFControlType::DESTINATION, RTFKeyword::LISTOVERRIDETABLE, 0 },
{ "listpicture", RTFControlType::DESTINATION, RTFKeyword::LISTPICTURE, 0 },
{ "listrestarthdn", RTFControlType::VALUE, RTFKeyword::LISTRESTARTHDN, 0 },
{ "listsimple", RTFControlType::VALUE, RTFKeyword::LISTSIMPLE, 0 },
{ "liststyleid", RTFControlType::VALUE, RTFKeyword::LISTSTYLEID, 0 },
{ "liststylename", RTFControlType::DESTINATION, RTFKeyword::LISTSTYLENAME, 0 },
{ "listtable", RTFControlType::DESTINATION, RTFKeyword::LISTTABLE, 0 },
{ "listtemplateid", RTFControlType::VALUE, RTFKeyword::LISTTEMPLATEID, 0 },
{ "listtext", RTFControlType::DESTINATION, RTFKeyword::LISTTEXT, 0 },
{ "lnbrkrule", RTFControlType::FLAG, RTFKeyword::LNBRKRULE, 0 },
{ "lndscpsxn", RTFControlType::FLAG, RTFKeyword::LNDSCPSXN, 0 },
{ "lnongrid", RTFControlType::FLAG, RTFKeyword::LNONGRID, 0 },
{ "loch", RTFControlType::FLAG, RTFKeyword::LOCH, 0 },
{ "lquote", RTFControlType::SYMBOL, RTFKeyword::LQUOTE, 0 },
{ "ls", RTFControlType::VALUE, RTFKeyword::LS, 0 },
{ "lsdlocked", RTFControlType::VALUE, RTFKeyword::LSDLOCKED, 0 },
{ "lsdlockeddef", RTFControlType::VALUE, RTFKeyword::LSDLOCKEDDEF, 0 },
{ "lsdlockedexcept", RTFControlType::DESTINATION, RTFKeyword::LSDLOCKEDEXCEPT, 0 },
{ "lsdpriority", RTFControlType::VALUE, RTFKeyword::LSDPRIORITY, 0 },
{ "lsdprioritydef", RTFControlType::VALUE, RTFKeyword::LSDPRIORITYDEF, 0 },
{ "lsdqformat", RTFControlType::VALUE, RTFKeyword::LSDQFORMAT, 0 },
{ "lsdqformatdef", RTFControlType::VALUE, RTFKeyword::LSDQFORMATDEF, 0 },
{ "lsdsemihidden", RTFControlType::VALUE, RTFKeyword::LSDSEMIHIDDEN, 0 },
{ "lsdsemihiddendef", RTFControlType::VALUE, RTFKeyword::LSDSEMIHIDDENDEF, 0 },
{ "lsdstimax", RTFControlType::VALUE, RTFKeyword::LSDSTIMAX, 0 },
{ "lsdunhideused", RTFControlType::VALUE, RTFKeyword::LSDUNHIDEUSED, 0 },
{ "lsdunhideuseddef", RTFControlType::VALUE, RTFKeyword::LSDUNHIDEUSEDDEF, 0 },
{ "ltrch", RTFControlType::FLAG, RTFKeyword::LTRCH, 0 },
{ "ltrdoc", RTFControlType::FLAG, RTFKeyword::LTRDOC, 0 },
{ "ltrmark", RTFControlType::SYMBOL, RTFKeyword::LTRMARK, 0 },
{ "ltrpar", RTFControlType::FLAG, RTFKeyword::LTRPAR, 0 },
{ "ltrrow", RTFControlType::FLAG, RTFKeyword::LTRROW, 0 },
{ "ltrsect", RTFControlType::FLAG, RTFKeyword::LTRSECT, 0 },
{ "lvltentative", RTFControlType::FLAG, RTFKeyword::LVLTENTATIVE, 0 },
{ "lytcalctblwd", RTFControlType::FLAG, RTFKeyword::LYTCALCTBLWD, 0 },
{ "lytexcttp", RTFControlType::FLAG, RTFKeyword::LYTEXCTTP, 0 },
{ "lytprtmet", RTFControlType::FLAG, RTFKeyword::LYTPRTMET, 0 },
{ "lyttblrtgr", RTFControlType::FLAG, RTFKeyword::LYTTBLRTGR, 0 },
{ "mac", RTFControlType::FLAG, RTFKeyword::MAC, 0 },
{ "macc", RTFControlType::DESTINATION, RTFKeyword::MACC, 0 },
{ "maccPr", RTFControlType::DESTINATION, RTFKeyword::MACCPR, 0 },
{ "macpict", RTFControlType::FLAG, RTFKeyword::MACPICT, 0 },
{ "mailmerge", RTFControlType::DESTINATION, RTFKeyword::MAILMERGE, 0 },
{ "makebackup", RTFControlType::FLAG, RTFKeyword::MAKEBACKUP, 0 },
{ "maln", RTFControlType::DESTINATION, RTFKeyword::MALN, 0 },
{ "malnScr", RTFControlType::DESTINATION, RTFKeyword::MALNSCR, 0 },
{ "manager", RTFControlType::DESTINATION, RTFKeyword::MANAGER, 0 },
{ "margb", RTFControlType::VALUE, RTFKeyword::MARGB, 1440 },
{ "margbsxn", RTFControlType::VALUE, RTFKeyword::MARGBSXN, 0 },
{ "margl", RTFControlType::VALUE, RTFKeyword::MARGL, 1800 },
{ "marglsxn", RTFControlType::VALUE, RTFKeyword::MARGLSXN, 0 },
{ "margmirror", RTFControlType::FLAG, RTFKeyword::MARGMIRROR, 0 },
{ "margmirsxn", RTFControlType::FLAG, RTFKeyword::MARGMIRSXN, 0 },
{ "margPr", RTFControlType::DESTINATION, RTFKeyword::MARGPR, 0 },
{ "margr", RTFControlType::VALUE, RTFKeyword::MARGR, 1800 },
{ "margrsxn", RTFControlType::VALUE, RTFKeyword::MARGRSXN, 0 },
{ "margSz", RTFControlType::VALUE, RTFKeyword::MARGSZ, 0 },
{ "margt", RTFControlType::VALUE, RTFKeyword::MARGT, 1440 },
{ "margtsxn", RTFControlType::VALUE, RTFKeyword::MARGTSXN, 0 },
{ "mbar", RTFControlType::DESTINATION, RTFKeyword::MBAR, 0 },
{ "mbarPr", RTFControlType::DESTINATION, RTFKeyword::MBARPR, 0 },
{ "mbaseJc", RTFControlType::DESTINATION, RTFKeyword::MBASEJC, 0 },
{ "mbegChr", RTFControlType::DESTINATION, RTFKeyword::MBEGCHR, 0 },
{ "mborderBox", RTFControlType::DESTINATION, RTFKeyword::MBORDERBOX, 0 },
{ "mborderBoxPr", RTFControlType::DESTINATION, RTFKeyword::MBORDERBOXPR, 0 },
{ "mbox", RTFControlType::DESTINATION, RTFKeyword::MBOX, 0 },
{ "mboxPr", RTFControlType::DESTINATION, RTFKeyword::MBOXPR, 0 },
{ "mbrk", RTFControlType::VALUE, RTFKeyword::MBRK, 0 },
{ "mbrkBin", RTFControlType::VALUE, RTFKeyword::MBRKBIN, 0 },
{ "mbrkBinSub", RTFControlType::VALUE, RTFKeyword::MBRKBINSUB, 0 },
{ "mcGp", RTFControlType::VALUE, RTFKeyword::MCGP, 0 },
{ "mcGpRule", RTFControlType::VALUE, RTFKeyword::MCGPRULE, 0 },
{ "mchr", RTFControlType::DESTINATION, RTFKeyword::MCHR, 0 },
{ "mcount", RTFControlType::DESTINATION, RTFKeyword::MCOUNT, 0 },
{ "mcSp", RTFControlType::VALUE, RTFKeyword::MCSP, 0 },
{ "mctrlPr", RTFControlType::DESTINATION, RTFKeyword::MCTRLPR, 0 },
{ "md", RTFControlType::DESTINATION, RTFKeyword::MD, 0 },
{ "mdefJc", RTFControlType::VALUE, RTFKeyword::MDEFJC, 0 },
{ "mdeg", RTFControlType::DESTINATION, RTFKeyword::MDEG, 0 },
{ "mdegHide", RTFControlType::DESTINATION, RTFKeyword::MDEGHIDE, 0 },
{ "mden", RTFControlType::DESTINATION, RTFKeyword::MDEN, 0 },
{ "mdiff", RTFControlType::DESTINATION, RTFKeyword::MDIFF, 0 },
{ "mdiffSty", RTFControlType::VALUE, RTFKeyword::MDIFFSTY, 0 },
{ "mdispdef", RTFControlType::VALUE, RTFKeyword::MDISPDEF, 1 },
{ "mdPr", RTFControlType::DESTINATION, RTFKeyword::MDPR, 0 },
{ "me", RTFControlType::DESTINATION, RTFKeyword::ME, 0 },
{ "mendChr", RTFControlType::DESTINATION, RTFKeyword::MENDCHR, 0 },
{ "meqArr", RTFControlType::DESTINATION, RTFKeyword::MEQARR, 0 },
{ "meqArrPr", RTFControlType::DESTINATION, RTFKeyword::MEQARRPR, 0 },
{ "mf", RTFControlType::DESTINATION, RTFKeyword::MF, 0 },
{ "mfName", RTFControlType::DESTINATION, RTFKeyword::MFNAME, 0 },
{ "mfPr", RTFControlType::DESTINATION, RTFKeyword::MFPR, 0 },
{ "mfunc", RTFControlType::DESTINATION, RTFKeyword::MFUNC, 0 },
{ "mfuncPr", RTFControlType::DESTINATION, RTFKeyword::MFUNCPR, 0 },
{ "mgroupChr", RTFControlType::DESTINATION, RTFKeyword::MGROUPCHR, 0 },
{ "mgroupChrPr", RTFControlType::DESTINATION, RTFKeyword::MGROUPCHRPR, 0 },
{ "mgrow", RTFControlType::DESTINATION, RTFKeyword::MGROW, 0 },
{ "mhideBot", RTFControlType::DESTINATION, RTFKeyword::MHIDEBOT, 0 },
{ "mhideLeft", RTFControlType::DESTINATION, RTFKeyword::MHIDELEFT, 0 },
{ "mhideRight", RTFControlType::DESTINATION, RTFKeyword::MHIDERIGHT, 0 },
{ "mhideTop", RTFControlType::DESTINATION, RTFKeyword::MHIDETOP, 0 },
{ "mhtmltag", RTFControlType::DESTINATION, RTFKeyword::MHTMLTAG, 0 },
{ "min", RTFControlType::VALUE, RTFKeyword::MIN, 0 },
{ "minterSp", RTFControlType::VALUE, RTFKeyword::MINTERSP, 0 },
{ "mintLim", RTFControlType::VALUE, RTFKeyword::MINTLIM, 0 },
{ "mintraSp", RTFControlType::VALUE, RTFKeyword::MINTRASP, 0 },
{ "mjc", RTFControlType::VALUE, RTFKeyword::MJC, 0 },
{ "mlim", RTFControlType::DESTINATION, RTFKeyword::MLIM, 0 },
{ "mlimloc", RTFControlType::DESTINATION, RTFKeyword::MLIMLOC, 0 },
{ "mlimLoc", RTFControlType::DESTINATION, RTFKeyword::MLIMLOC, 0 },
{ "mlimlow", RTFControlType::DESTINATION, RTFKeyword::MLIMLOW, 0 },
{ "mlimLow", RTFControlType::DESTINATION, RTFKeyword::MLIMLOW, 0 },
{ "mlimlowPr", RTFControlType::DESTINATION, RTFKeyword::MLIMLOWPR, 0 },
{ "mlimLowPr", RTFControlType::DESTINATION, RTFKeyword::MLIMLOWPR, 0 },
{ "mlimupp", RTFControlType::DESTINATION, RTFKeyword::MLIMUPP, 0 },
{ "mlimUpp", RTFControlType::DESTINATION, RTFKeyword::MLIMUPP, 0 },
{ "mlimuppPr", RTFControlType::DESTINATION, RTFKeyword::MLIMUPPPR, 0 },
{ "mlimUppPr", RTFControlType::DESTINATION, RTFKeyword::MLIMUPPPR, 0 },
{ "mlit", RTFControlType::FLAG, RTFKeyword::MLIT, 0 },
{ "mlMargin", RTFControlType::VALUE, RTFKeyword::MLMARGIN, 0 },
{ "mm", RTFControlType::DESTINATION, RTFKeyword::MM, 0 },
{ "mmaddfieldname", RTFControlType::DESTINATION, RTFKeyword::MMADDFIELDNAME, 0 },
{ "mmath", RTFControlType::DESTINATION, RTFKeyword::MMATH, 0 },
{ "mmathFont", RTFControlType::VALUE, RTFKeyword::MMATHFONT, 0 },
{ "mmathPict", RTFControlType::DESTINATION, RTFKeyword::MMATHPICT, 0 },
{ "mmathPr", RTFControlType::DESTINATION, RTFKeyword::MMATHPR, 0 },
{ "mmattach", RTFControlType::FLAG, RTFKeyword::MMATTACH, 0 },
{ "mmaxdist", RTFControlType::DESTINATION, RTFKeyword::MMAXDIST, 0 },
{ "mmblanklines", RTFControlType::FLAG, RTFKeyword::MMBLANKLINES, 0 },
{ "mmc", RTFControlType::DESTINATION, RTFKeyword::MMC, 0 },
{ "mmcJc", RTFControlType::DESTINATION, RTFKeyword::MMCJC, 0 },
{ "mmconnectstr", RTFControlType::DESTINATION, RTFKeyword::MMCONNECTSTR, 0 },
{ "mmconnectstrdata", RTFControlType::DESTINATION, RTFKeyword::MMCONNECTSTRDATA, 0 },
{ "mmcPr", RTFControlType::DESTINATION, RTFKeyword::MMCPR, 0 },
{ "mmcs", RTFControlType::DESTINATION, RTFKeyword::MMCS, 0 },
{ "mmdatasource", RTFControlType::DESTINATION, RTFKeyword::MMDATASOURCE, 0 },
{ "mmdatatypeaccess", RTFControlType::FLAG, RTFKeyword::MMDATATYPEACCESS, 0 },
{ "mmdatatypeexcel", RTFControlType::FLAG, RTFKeyword::MMDATATYPEEXCEL, 0 },
{ "mmdatatypefile", RTFControlType::FLAG, RTFKeyword::MMDATATYPEFILE, 0 },
{ "mmdatatypeodbc", RTFControlType::FLAG, RTFKeyword::MMDATATYPEODBC, 0 },
{ "mmdatatypeodso", RTFControlType::FLAG, RTFKeyword::MMDATATYPEODSO, 0 },
{ "mmdatatypeqt", RTFControlType::FLAG, RTFKeyword::MMDATATYPEQT, 0 },
{ "mmdefaultsql", RTFControlType::FLAG, RTFKeyword::MMDEFAULTSQL, 0 },
{ "mmdestemail", RTFControlType::FLAG, RTFKeyword::MMDESTEMAIL, 0 },
{ "mmdestfax", RTFControlType::FLAG, RTFKeyword::MMDESTFAX, 0 },
{ "mmdestnewdoc", RTFControlType::FLAG, RTFKeyword::MMDESTNEWDOC, 0 },
{ "mmdestprinter", RTFControlType::FLAG, RTFKeyword::MMDESTPRINTER, 0 },
{ "mmerrors", RTFControlType::VALUE, RTFKeyword::MMERRORS, 0 },
{ "mmfttypeaddress", RTFControlType::FLAG, RTFKeyword::MMFTTYPEADDRESS, 0 },
{ "mmfttypebarcode", RTFControlType::FLAG, RTFKeyword::MMFTTYPEBARCODE, 0 },
{ "mmfttypedbcolumn", RTFControlType::FLAG, RTFKeyword::MMFTTYPEDBCOLUMN, 0 },
{ "mmfttypemapped", RTFControlType::FLAG, RTFKeyword::MMFTTYPEMAPPED, 0 },
{ "mmfttypenull", RTFControlType::FLAG, RTFKeyword::MMFTTYPENULL, 0 },
{ "mmfttypesalutation", RTFControlType::FLAG, RTFKeyword::MMFTTYPESALUTATION, 0 },
{ "mmheadersource", RTFControlType::DESTINATION, RTFKeyword::MMHEADERSOURCE, 0 },
{ "mmjdsotype", RTFControlType::VALUE, RTFKeyword::MMJDSOTYPE, 0 },
{ "mmlinktoquery", RTFControlType::FLAG, RTFKeyword::MMLINKTOQUERY, 0 },
{ "mmmailsubject", RTFControlType::DESTINATION, RTFKeyword::MMMAILSUBJECT, 0 },
{ "mmmaintypecatalog", RTFControlType::FLAG, RTFKeyword::MMMAINTYPECATALOG, 0 },
{ "mmmaintypeemail", RTFControlType::FLAG, RTFKeyword::MMMAINTYPEEMAIL, 0 },
{ "mmmaintypeenvelopes", RTFControlType::FLAG, RTFKeyword::MMMAINTYPEENVELOPES, 0 },
{ "mmmaintypefax", RTFControlType::FLAG, RTFKeyword::MMMAINTYPEFAX, 0 },
{ "mmmaintypelabels", RTFControlType::FLAG, RTFKeyword::MMMAINTYPELABELS, 0 },
{ "mmmaintypeletters", RTFControlType::FLAG, RTFKeyword::MMMAINTYPELETTERS, 0 },
{ "mmodso", RTFControlType::DESTINATION, RTFKeyword::MMODSO, 0 },
{ "mmodsoactive", RTFControlType::VALUE, RTFKeyword::MMODSOACTIVE, 0 },
{ "mmodsocoldelim", RTFControlType::VALUE, RTFKeyword::MMODSOCOLDELIM, 0 },
{ "mmodsocolumn", RTFControlType::VALUE, RTFKeyword::MMODSOCOLUMN, 0 },
{ "mmodsodynaddr", RTFControlType::VALUE, RTFKeyword::MMODSODYNADDR, 0 },
{ "mmodsofhdr", RTFControlType::VALUE, RTFKeyword::MMODSOFHDR, 0 },
{ "mmodsofilter", RTFControlType::DESTINATION, RTFKeyword::MMODSOFILTER, 0 },
{ "mmodsofldmpdata", RTFControlType::DESTINATION, RTFKeyword::MMODSOFLDMPDATA, 0 },
{ "mmodsofmcolumn", RTFControlType::VALUE, RTFKeyword::MMODSOFMCOLUMN, 0 },
{ "mmodsohash", RTFControlType::VALUE, RTFKeyword::MMODSOHASH, 0 },
{ "mmodsolid", RTFControlType::VALUE, RTFKeyword::MMODSOLID, 0 },
{ "mmodsomappedname", RTFControlType::DESTINATION, RTFKeyword::MMODSOMAPPEDNAME, 0 },
{ "mmodsoname", RTFControlType::DESTINATION, RTFKeyword::MMODSONAME, 0 },
{ "mmodsorecipdata", RTFControlType::DESTINATION, RTFKeyword::MMODSORECIPDATA, 0 },
{ "mmodsosort", RTFControlType::DESTINATION, RTFKeyword::MMODSOSORT, 0 },
{ "mmodsosrc", RTFControlType::DESTINATION, RTFKeyword::MMODSOSRC, 0 },
{ "mmodsotable", RTFControlType::DESTINATION, RTFKeyword::MMODSOTABLE, 0 },
{ "mmodsoudl", RTFControlType::DESTINATION, RTFKeyword::MMODSOUDL, 0 },
{ "mmodsoudldata", RTFControlType::DESTINATION, RTFKeyword::MMODSOUDLDATA, 0 },
{ "mmodsouniquetag", RTFControlType::DESTINATION, RTFKeyword::MMODSOUNIQUETAG, 0 },
{ "mmPr", RTFControlType::DESTINATION, RTFKeyword::MMPR, 0 },
{ "mmquery", RTFControlType::DESTINATION, RTFKeyword::MMQUERY, 0 },
{ "mmr", RTFControlType::DESTINATION, RTFKeyword::MMR, 0 },
{ "mmreccur", RTFControlType::VALUE, RTFKeyword::MMRECCUR, 0 },
{ "mmshowdata", RTFControlType::FLAG, RTFKeyword::MMSHOWDATA, 0 },
{ "mnary", RTFControlType::DESTINATION, RTFKeyword::MNARY, 0 },
{ "mnaryLim", RTFControlType::VALUE, RTFKeyword::MNARYLIM, 0 },
{ "mnaryPr", RTFControlType::DESTINATION, RTFKeyword::MNARYPR, 0 },
{ "mnoBreak", RTFControlType::DESTINATION, RTFKeyword::MNOBREAK, 0 },
{ "mnor", RTFControlType::FLAG, RTFKeyword::MNOR, 0 },
{ "mnum", RTFControlType::DESTINATION, RTFKeyword::MNUM, 0 },
{ "mo", RTFControlType::VALUE, RTFKeyword::MO, 0 },
{ "mobjDist", RTFControlType::DESTINATION, RTFKeyword::MOBJDIST, 0 },
{ "moMath", RTFControlType::DESTINATION, RTFKeyword::MOMATH, 0 },
{ "moMathPara", RTFControlType::DESTINATION, RTFKeyword::MOMATHPARA, 0 },
{ "moMathParaPr", RTFControlType::DESTINATION, RTFKeyword::MOMATHPARAPR, 0 },
{ "mopEmu", RTFControlType::DESTINATION, RTFKeyword::MOPEMU, 0 },
{ "mphant", RTFControlType::DESTINATION, RTFKeyword::MPHANT, 0 },
{ "mphantPr", RTFControlType::DESTINATION, RTFKeyword::MPHANTPR, 0 },
{ "mplcHide", RTFControlType::DESTINATION, RTFKeyword::MPLCHIDE, 0 },
{ "mpos", RTFControlType::DESTINATION, RTFKeyword::MPOS, 0 },
{ "mpostSp", RTFControlType::VALUE, RTFKeyword::MPOSTSP, 0 },
{ "mpreSp", RTFControlType::VALUE, RTFKeyword::MPRESP, 0 },
{ "mr", RTFControlType::DESTINATION, RTFKeyword::MR, 0 },
{ "mrad", RTFControlType::DESTINATION, RTFKeyword::MRAD, 0 },
{ "mradPr", RTFControlType::DESTINATION, RTFKeyword::MRADPR, 0 },
{ "mrMargin", RTFControlType::VALUE, RTFKeyword::MRMARGIN, 0 },
{ "mrPr", RTFControlType::DESTINATION, RTFKeyword::MRPR, 0 },
{ "mrSp", RTFControlType::VALUE, RTFKeyword::MRSP, 0 },
{ "mrSpRule", RTFControlType::VALUE, RTFKeyword::MRSPRULE, 0 },
{ "mscr", RTFControlType::VALUE, RTFKeyword::MSCR, 0 },
{ "msepChr", RTFControlType::DESTINATION, RTFKeyword::MSEPCHR, 0 },
{ "mshow", RTFControlType::DESTINATION, RTFKeyword::MSHOW, 0 },
{ "mshp", RTFControlType::DESTINATION, RTFKeyword::MSHP, 0 },
{ "msmallFrac", RTFControlType::VALUE, RTFKeyword::MSMALLFRAC, 0 },
{ "msmcap", RTFControlType::FLAG, RTFKeyword::MSMCAP, 0 },
{ "msPre", RTFControlType::DESTINATION, RTFKeyword::MSPRE, 0 },
{ "msPrePr", RTFControlType::DESTINATION, RTFKeyword::MSPREPR, 0 },
{ "msSub", RTFControlType::DESTINATION, RTFKeyword::MSSUB, 0 },
{ "msSubPr", RTFControlType::DESTINATION, RTFKeyword::MSSUBPR, 0 },
{ "msSubSup", RTFControlType::DESTINATION, RTFKeyword::MSSUBSUP, 0 },
{ "msSubSupPr", RTFControlType::DESTINATION, RTFKeyword::MSSUBSUPPR, 0 },
{ "msSup", RTFControlType::DESTINATION, RTFKeyword::MSSUP, 0 },
{ "msSupPr", RTFControlType::DESTINATION, RTFKeyword::MSSUPPR, 0 },
{ "mstrikeBLTR", RTFControlType::DESTINATION, RTFKeyword::MSTRIKEBLTR, 0 },
{ "mstrikeH", RTFControlType::DESTINATION, RTFKeyword::MSTRIKEH, 0 },
{ "mstrikeTLBR", RTFControlType::DESTINATION, RTFKeyword::MSTRIKETLBR, 0 },
{ "mstrikeV", RTFControlType::DESTINATION, RTFKeyword::MSTRIKEV, 0 },
{ "msty", RTFControlType::VALUE, RTFKeyword::MSTY, 0 },
{ "msub", RTFControlType::DESTINATION, RTFKeyword::MSUB, 0 },
{ "msubHide", RTFControlType::DESTINATION, RTFKeyword::MSUBHIDE, 0 },
{ "msup", RTFControlType::DESTINATION, RTFKeyword::MSUP, 0 },
{ "msupHide", RTFControlType::DESTINATION, RTFKeyword::MSUPHIDE, 0 },
{ "mtransp", RTFControlType::DESTINATION, RTFKeyword::MTRANSP, 0 },
{ "mtype", RTFControlType::DESTINATION, RTFKeyword::MTYPE, 0 },
{ "muser", RTFControlType::FLAG, RTFKeyword::MUSER, 0 },
{ "mvauth", RTFControlType::VALUE, RTFKeyword::MVAUTH, 0 },
{ "mvdate", RTFControlType::VALUE, RTFKeyword::MVDATE, 0 },
{ "mvertJc", RTFControlType::DESTINATION, RTFKeyword::MVERTJC, 0 },
{ "mvf", RTFControlType::FLAG, RTFKeyword::MVF, 0 },
{ "mvfmf", RTFControlType::DESTINATION, RTFKeyword::MVFMF, 0 },
{ "mvfml", RTFControlType::DESTINATION, RTFKeyword::MVFML, 0 },
{ "mvt", RTFControlType::FLAG, RTFKeyword::MVT, 0 },
{ "mvtof", RTFControlType::DESTINATION, RTFKeyword::MVTOF, 0 },
{ "mvtol", RTFControlType::DESTINATION, RTFKeyword::MVTOL, 0 },
{ "mwrapIndent", RTFControlType::VALUE, RTFKeyword::MWRAPINDENT, 1440 },
{ "mwrapRight", RTFControlType::VALUE, RTFKeyword::MWRAPRIGHT, 0 },
{ "mzeroAsc", RTFControlType::DESTINATION, RTFKeyword::MZEROASC, 0 },
{ "mzeroDesc", RTFControlType::DESTINATION, RTFKeyword::MZERODESC, 0 },
{ "mzeroWid", RTFControlType::DESTINATION, RTFKeyword::MZEROWID, 0 },
{ "nestcell", RTFControlType::SYMBOL, RTFKeyword::NESTCELL, 0 },
{ "nestrow", RTFControlType::SYMBOL, RTFKeyword::NESTROW, 0 },
{ "nesttableprops", RTFControlType::DESTINATION, RTFKeyword::NESTTABLEPROPS, 0 },
{ "newtblstyruls", RTFControlType::FLAG, RTFKeyword::NEWTBLSTYRULS, 0 },
{ "nextfile", RTFControlType::DESTINATION, RTFKeyword::NEXTFILE, 0 },
{ "noafcnsttbl", RTFControlType::FLAG, RTFKeyword::NOAFCNSTTBL, 0 },
{ "nobrkwrptbl", RTFControlType::FLAG, RTFKeyword::NOBRKWRPTBL, 0 },
{ "nocolbal", RTFControlType::FLAG, RTFKeyword::NOCOLBAL, 0 },
{ "nocompatoptions", RTFControlType::FLAG, RTFKeyword::NOCOMPATOPTIONS, 0 },
{ "nocwrap", RTFControlType::FLAG, RTFKeyword::NOCWRAP, 0 },
{ "nocxsptable", RTFControlType::FLAG, RTFKeyword::NOCXSPTABLE, 0 },
{ "noextrasprl", RTFControlType::FLAG, RTFKeyword::NOEXTRASPRL, 0 },
{ "nofchars", RTFControlType::VALUE, RTFKeyword::NOFCHARS, 0 },
{ "nofcharsws", RTFControlType::VALUE, RTFKeyword::NOFCHARSWS, 0 },
{ "nofeaturethrottle", RTFControlType::FLAG, RTFKeyword::NOFEATURETHROTTLE, 0 },
{ "nofpages", RTFControlType::VALUE, RTFKeyword::NOFPAGES, 0 },
{ "nofwords", RTFControlType::VALUE, RTFKeyword::NOFWORDS, 0 },
{ "nogrowautofit", RTFControlType::FLAG, RTFKeyword::NOGROWAUTOFIT, 0 },
{ "noindnmbrts", RTFControlType::FLAG, RTFKeyword::NOINDNMBRTS, 0 },
{ "nojkernpunct", RTFControlType::FLAG, RTFKeyword::NOJKERNPUNCT, 0 },
{ "nolead", RTFControlType::FLAG, RTFKeyword::NOLEAD, 0 },
{ "noline", RTFControlType::FLAG, RTFKeyword::NOLINE, 0 },
{ "nolnhtadjtbl", RTFControlType::FLAG, RTFKeyword::NOLNHTADJTBL, 0 },
{ "nonesttables", RTFControlType::DESTINATION, RTFKeyword::NONESTTABLES, 0 },
{ "nonshppict", RTFControlType::FLAG, RTFKeyword::NONSHPPICT, 0 },
{ "nooverflow", RTFControlType::FLAG, RTFKeyword::NOOVERFLOW, 0 },
{ "noproof", RTFControlType::FLAG, RTFKeyword::NOPROOF, 0 },
{ "noqfpromote", RTFControlType::FLAG, RTFKeyword::NOQFPROMOTE, 0 },
{ "nosectexpand", RTFControlType::FLAG, RTFKeyword::NOSECTEXPAND, 0 },
{ "nosnaplinegrid", RTFControlType::FLAG, RTFKeyword::NOSNAPLINEGRID, 0 },
{ "nospaceforul", RTFControlType::FLAG, RTFKeyword::NOSPACEFORUL, 0 },
{ "nosupersub", RTFControlType::FLAG, RTFKeyword::NOSUPERSUB, 0 },
{ "notabind", RTFControlType::FLAG, RTFKeyword::NOTABIND, 0 },
{ "notbrkcnstfrctbl", RTFControlType::FLAG, RTFKeyword::NOTBRKCNSTFRCTBL, 0 },
{ "notcvasp", RTFControlType::FLAG, RTFKeyword::NOTCVASP, 0 },
{ "notvatxbx", RTFControlType::FLAG, RTFKeyword::NOTVATXBX, 0 },
{ "nouicompat", RTFControlType::FLAG, RTFKeyword::NOUICOMPAT, 0 },
{ "noultrlspc", RTFControlType::FLAG, RTFKeyword::NOULTRLSPC, 0 },
{ "nowidctlpar", RTFControlType::FLAG, RTFKeyword::NOWIDCTLPAR, 0 },
{ "nowrap", RTFControlType::FLAG, RTFKeyword::NOWRAP, 0 },
{ "nowwrap", RTFControlType::FLAG, RTFKeyword::NOWWRAP, 0 },
{ "noxlattoyen", RTFControlType::FLAG, RTFKeyword::NOXLATTOYEN, 0 },
{ "objalias", RTFControlType::DESTINATION, RTFKeyword::OBJALIAS, 0 },
{ "objalign", RTFControlType::VALUE, RTFKeyword::OBJALIGN, 0 },
{ "objattph", RTFControlType::FLAG, RTFKeyword::OBJATTPH, 0 },
{ "objautlink", RTFControlType::FLAG, RTFKeyword::OBJAUTLINK, 0 },
{ "objclass", RTFControlType::DESTINATION, RTFKeyword::OBJCLASS, 0 },
{ "objcropb", RTFControlType::VALUE, RTFKeyword::OBJCROPB, 0 },
{ "objcropl", RTFControlType::VALUE, RTFKeyword::OBJCROPL, 0 },
{ "objcropr", RTFControlType::VALUE, RTFKeyword::OBJCROPR, 0 },
{ "objcropt", RTFControlType::VALUE, RTFKeyword::OBJCROPT, 0 },
{ "objdata", RTFControlType::DESTINATION, RTFKeyword::OBJDATA, 0 },
{ "object", RTFControlType::DESTINATION, RTFKeyword::OBJECT, 0 },
{ "objemb", RTFControlType::FLAG, RTFKeyword::OBJEMB, 0 },
{ "objh", RTFControlType::VALUE, RTFKeyword::OBJH, 0 },
{ "objhtml", RTFControlType::FLAG, RTFKeyword::OBJHTML, 0 },
{ "objicemb", RTFControlType::FLAG, RTFKeyword::OBJICEMB, 0 },
{ "objlink", RTFControlType::FLAG, RTFKeyword::OBJLINK, 0 },
{ "objlock", RTFControlType::FLAG, RTFKeyword::OBJLOCK, 0 },
{ "objname", RTFControlType::DESTINATION, RTFKeyword::OBJNAME, 0 },
{ "objocx", RTFControlType::FLAG, RTFKeyword::OBJOCX, 0 },
{ "objpub", RTFControlType::FLAG, RTFKeyword::OBJPUB, 0 },
{ "objscalex", RTFControlType::VALUE, RTFKeyword::OBJSCALEX, 0 },
{ "objscaley", RTFControlType::VALUE, RTFKeyword::OBJSCALEY, 0 },
{ "objsect", RTFControlType::DESTINATION, RTFKeyword::OBJSECT, 0 },
{ "objsetsize", RTFControlType::FLAG, RTFKeyword::OBJSETSIZE, 0 },
{ "objsub", RTFControlType::FLAG, RTFKeyword::OBJSUB, 0 },
{ "objtime", RTFControlType::DESTINATION, RTFKeyword::OBJTIME, 0 },
{ "objtransy", RTFControlType::VALUE, RTFKeyword::OBJTRANSY, 0 },
{ "objupdate", RTFControlType::FLAG, RTFKeyword::OBJUPDATE, 0 },
{ "objw", RTFControlType::VALUE, RTFKeyword::OBJW, 0 },
{ "ogutter", RTFControlType::VALUE, RTFKeyword::OGUTTER, 0 },
{ "oldas", RTFControlType::FLAG, RTFKeyword::OLDAS, 0 },
{ "oldcprops", RTFControlType::DESTINATION, RTFKeyword::OLDCPROPS, 0 },
{ "oldlinewrap", RTFControlType::FLAG, RTFKeyword::OLDLINEWRAP, 0 },
{ "oldpprops", RTFControlType::DESTINATION, RTFKeyword::OLDPPROPS, 0 },
{ "oldsprops", RTFControlType::DESTINATION, RTFKeyword::OLDSPROPS, 0 },
{ "oldtprops", RTFControlType::DESTINATION, RTFKeyword::OLDTPROPS, 0 },
{ "oleclsid", RTFControlType::DESTINATION, RTFKeyword::OLECLSID, 0 },
{ "operator", RTFControlType::DESTINATION, RTFKeyword::OPERATOR, 0 },
{ "otblrul", RTFControlType::FLAG, RTFKeyword::OTBLRUL, 0 },
{ "outl", RTFControlType::TOGGLE, RTFKeyword::OUTL, 1 },
{ "outlinelevel", RTFControlType::VALUE, RTFKeyword::OUTLINELEVEL, 0 },
{ "overlay", RTFControlType::FLAG, RTFKeyword::OVERLAY, 0 },
{ "page", RTFControlType::SYMBOL, RTFKeyword::PAGE, 0 },
{ "pagebb", RTFControlType::FLAG, RTFKeyword::PAGEBB, 0 },
{ "panose", RTFControlType::DESTINATION, RTFKeyword::PANOSE, 0 },
{ "paperh", RTFControlType::VALUE, RTFKeyword::PAPERH, 15840 },
{ "paperw", RTFControlType::VALUE, RTFKeyword::PAPERW, 12240 },
{ "par", RTFControlType::SYMBOL, RTFKeyword::PAR, 0 },
{ "pararsid", RTFControlType::VALUE, RTFKeyword::PARARSID, 0 },
{ "pard", RTFControlType::FLAG, RTFKeyword::PARD, 0 },
{ "password", RTFControlType::DESTINATION, RTFKeyword::PASSWORD, 0 },
{ "passwordhash", RTFControlType::DESTINATION, RTFKeyword::PASSWORDHASH, 0 },
{ "pc", RTFControlType::FLAG, RTFKeyword::PC, 0 },
{ "pca", RTFControlType::FLAG, RTFKeyword::PCA, 0 },
{ "pgbrdrb", RTFControlType::FLAG, RTFKeyword::PGBRDRB, 0 },
{ "pgbrdrfoot", RTFControlType::FLAG, RTFKeyword::PGBRDRFOOT, 0 },
{ "pgbrdrhead", RTFControlType::FLAG, RTFKeyword::PGBRDRHEAD, 0 },
{ "pgbrdrl", RTFControlType::FLAG, RTFKeyword::PGBRDRL, 0 },
{ "pgbrdropt", RTFControlType::VALUE, RTFKeyword::PGBRDROPT, 0 },
{ "pgbrdrr", RTFControlType::FLAG, RTFKeyword::PGBRDRR, 0 },
{ "pgbrdrsnap", RTFControlType::FLAG, RTFKeyword::PGBRDRSNAP, 0 },
{ "pgbrdrt", RTFControlType::FLAG, RTFKeyword::PGBRDRT, 0 },
{ "pghsxn", RTFControlType::VALUE, RTFKeyword::PGHSXN, 0 },
{ "pgnbidia", RTFControlType::FLAG, RTFKeyword::PGNBIDIA, 0 },
{ "pgnbidib", RTFControlType::FLAG, RTFKeyword::PGNBIDIB, 0 },
{ "pgnchosung", RTFControlType::FLAG, RTFKeyword::PGNCHOSUNG, 0 },
{ "pgncnum", RTFControlType::FLAG, RTFKeyword::PGNCNUM, 0 },
{ "pgncont", RTFControlType::FLAG, RTFKeyword::PGNCONT, 0 },
{ "pgndbnum", RTFControlType::FLAG, RTFKeyword::PGNDBNUM, 0 },
{ "pgndbnumd", RTFControlType::FLAG, RTFKeyword::PGNDBNUMD, 0 },
{ "pgndbnumk", RTFControlType::FLAG, RTFKeyword::PGNDBNUMK, 0 },
{ "pgndbnumt", RTFControlType::FLAG, RTFKeyword::PGNDBNUMT, 0 },
{ "pgndec", RTFControlType::FLAG, RTFKeyword::PGNDEC, 0 },
{ "pgndecd", RTFControlType::FLAG, RTFKeyword::PGNDECD, 0 },
{ "pgnganada", RTFControlType::FLAG, RTFKeyword::PGNGANADA, 0 },
{ "pgngbnum", RTFControlType::FLAG, RTFKeyword::PGNGBNUM, 0 },
{ "pgngbnumd", RTFControlType::FLAG, RTFKeyword::PGNGBNUMD, 0 },
{ "pgngbnumk", RTFControlType::FLAG, RTFKeyword::PGNGBNUMK, 0 },
{ "pgngbnuml", RTFControlType::FLAG, RTFKeyword::PGNGBNUML, 0 },
{ "pgnhindia", RTFControlType::FLAG, RTFKeyword::PGNHINDIA, 0 },
{ "pgnhindib", RTFControlType::FLAG, RTFKeyword::PGNHINDIB, 0 },
{ "pgnhindic", RTFControlType::FLAG, RTFKeyword::PGNHINDIC, 0 },
{ "pgnhindid", RTFControlType::FLAG, RTFKeyword::PGNHINDID, 0 },
{ "pgnhn", RTFControlType::VALUE, RTFKeyword::PGNHN, 0 },
{ "pgnhnsc", RTFControlType::FLAG, RTFKeyword::PGNHNSC, 0 },
{ "pgnhnsh", RTFControlType::FLAG, RTFKeyword::PGNHNSH, 0 },
{ "pgnhnsm", RTFControlType::FLAG, RTFKeyword::PGNHNSM, 0 },
{ "pgnhnsn", RTFControlType::FLAG, RTFKeyword::PGNHNSN, 0 },
{ "pgnhnsp", RTFControlType::FLAG, RTFKeyword::PGNHNSP, 0 },
{ "pgnid", RTFControlType::FLAG, RTFKeyword::PGNID, 0 },
{ "pgnlcltr", RTFControlType::FLAG, RTFKeyword::PGNLCLTR, 0 },
{ "pgnlcrm", RTFControlType::FLAG, RTFKeyword::PGNLCRM, 0 },
{ "pgnrestart", RTFControlType::FLAG, RTFKeyword::PGNRESTART, 0 },
{ "pgnstart", RTFControlType::VALUE, RTFKeyword::PGNSTART, 1 },
{ "pgnstarts", RTFControlType::VALUE, RTFKeyword::PGNSTARTS, 1 },
{ "pgnthaia", RTFControlType::FLAG, RTFKeyword::PGNTHAIA, 0 },
{ "pgnthaib", RTFControlType::FLAG, RTFKeyword::PGNTHAIB, 0 },
{ "pgnthaic", RTFControlType::FLAG, RTFKeyword::PGNTHAIC, 0 },
{ "pgnucltr", RTFControlType::FLAG, RTFKeyword::PGNUCLTR, 0 },
{ "pgnucrm", RTFControlType::FLAG, RTFKeyword::PGNUCRM, 0 },
{ "pgnvieta", RTFControlType::FLAG, RTFKeyword::PGNVIETA, 0 },
{ "pgnx", RTFControlType::VALUE, RTFKeyword::PGNX, 720 },
{ "pgny", RTFControlType::VALUE, RTFKeyword::PGNY, 720 },
{ "pgnzodiac", RTFControlType::FLAG, RTFKeyword::PGNZODIAC, 0 },
{ "pgnzodiacd", RTFControlType::FLAG, RTFKeyword::PGNZODIACD, 0 },
{ "pgnzodiacl", RTFControlType::FLAG, RTFKeyword::PGNZODIACL, 0 },
{ "pgp", RTFControlType::DESTINATION, RTFKeyword::PGP, 0 },
{ "pgptbl", RTFControlType::DESTINATION, RTFKeyword::PGPTBL, 0 },
{ "pgwsxn", RTFControlType::VALUE, RTFKeyword::PGWSXN, 0 },
{ "phcol", RTFControlType::FLAG, RTFKeyword::PHCOL, 0 },
{ "phmrg", RTFControlType::FLAG, RTFKeyword::PHMRG, 0 },
{ "phpg", RTFControlType::FLAG, RTFKeyword::PHPG, 0 },
{ "picbmp", RTFControlType::FLAG, RTFKeyword::PICBMP, 0 },
{ "picbpp", RTFControlType::VALUE, RTFKeyword::PICBPP, 0 },
{ "piccropb", RTFControlType::VALUE, RTFKeyword::PICCROPB, 0 },
{ "piccropl", RTFControlType::VALUE, RTFKeyword::PICCROPL, 0 },
{ "piccropr", RTFControlType::VALUE, RTFKeyword::PICCROPR, 0 },
{ "piccropt", RTFControlType::VALUE, RTFKeyword::PICCROPT, 0 },
{ "pich", RTFControlType::VALUE, RTFKeyword::PICH, 0 },
{ "pichgoal", RTFControlType::VALUE, RTFKeyword::PICHGOAL, 0 },
{ "pichGoal", RTFControlType::VALUE, RTFKeyword::PICHGOAL, 0 },
{ "picprop", RTFControlType::DESTINATION, RTFKeyword::PICPROP, 0 },
{ "picscaled", RTFControlType::FLAG, RTFKeyword::PICSCALED, 0 },
{ "picscalex", RTFControlType::VALUE, RTFKeyword::PICSCALEX, 100 },
{ "picscaley", RTFControlType::VALUE, RTFKeyword::PICSCALEY, 100 },
{ "pict", RTFControlType::DESTINATION, RTFKeyword::PICT, 0 },
{ "picw", RTFControlType::VALUE, RTFKeyword::PICW, 0 },
{ "picwgoal", RTFControlType::VALUE, RTFKeyword::PICWGOAL, 0 },
{ "picwGoal", RTFControlType::VALUE, RTFKeyword::PICWGOAL, 0 },
{ "pindtabqc", RTFControlType::FLAG, RTFKeyword::PINDTABQC, 0 },
{ "pindtabql", RTFControlType::FLAG, RTFKeyword::PINDTABQL, 0 },
{ "pindtabqr", RTFControlType::FLAG, RTFKeyword::PINDTABQR, 0 },
{ "plain", RTFControlType::FLAG, RTFKeyword::PLAIN, 0 },
{ "pmartabqc", RTFControlType::FLAG, RTFKeyword::PMARTABQC, 0 },
{ "pmartabql", RTFControlType::FLAG, RTFKeyword::PMARTABQL, 0 },
{ "pmartabqr", RTFControlType::FLAG, RTFKeyword::PMARTABQR, 0 },
{ "pmmetafile", RTFControlType::VALUE, RTFKeyword::PMMETAFILE, 0 },
{ "pn", RTFControlType::DESTINATION, RTFKeyword::PN, 0 },
{ "pnacross", RTFControlType::FLAG, RTFKeyword::PNACROSS, 0 },
{ "pnaiu", RTFControlType::FLAG, RTFKeyword::PNAIU, 0 },
{ "pnaiud", RTFControlType::FLAG, RTFKeyword::PNAIUD, 0 },
{ "pnaiueo", RTFControlType::FLAG, RTFKeyword::PNAIUEO, 0 },
{ "pnaiueod", RTFControlType::FLAG, RTFKeyword::PNAIUEOD, 0 },
{ "pnb", RTFControlType::TOGGLE, RTFKeyword::PNB, 1 },
{ "pnbidia", RTFControlType::FLAG, RTFKeyword::PNBIDIA, 0 },
{ "pnbidib", RTFControlType::FLAG, RTFKeyword::PNBIDIB, 0 },
{ "pncaps", RTFControlType::TOGGLE, RTFKeyword::PNCAPS, 1 },
{ "pncard", RTFControlType::FLAG, RTFKeyword::PNCARD, 0 },
{ "pncf", RTFControlType::VALUE, RTFKeyword::PNCF, 0 },
{ "pnchosung", RTFControlType::FLAG, RTFKeyword::PNCHOSUNG, 0 },
{ "pncnum", RTFControlType::FLAG, RTFKeyword::PNCNUM, 0 },
{ "pndbnum", RTFControlType::FLAG, RTFKeyword::PNDBNUM, 0 },
{ "pndbnumd", RTFControlType::FLAG, RTFKeyword::PNDBNUMD, 0 },
{ "pndbnumk", RTFControlType::FLAG, RTFKeyword::PNDBNUMK, 0 },
{ "pndbnuml", RTFControlType::FLAG, RTFKeyword::PNDBNUML, 0 },
{ "pndbnumt", RTFControlType::FLAG, RTFKeyword::PNDBNUMT, 0 },
{ "pndec", RTFControlType::FLAG, RTFKeyword::PNDEC, 0 },
{ "pndecd", RTFControlType::FLAG, RTFKeyword::PNDECD, 0 },
{ "pnf", RTFControlType::VALUE, RTFKeyword::PNF, 0 },
{ "pnfs", RTFControlType::VALUE, RTFKeyword::PNFS, 0 },
{ "pnganada", RTFControlType::FLAG, RTFKeyword::PNGANADA, 0 },
{ "pngblip", RTFControlType::FLAG, RTFKeyword::PNGBLIP, 0 },
{ "pngbnum", RTFControlType::FLAG, RTFKeyword::PNGBNUM, 0 },
{ "pngbnumd", RTFControlType::FLAG, RTFKeyword::PNGBNUMD, 0 },
{ "pngbnumk", RTFControlType::FLAG, RTFKeyword::PNGBNUMK, 0 },
{ "pngbnuml", RTFControlType::FLAG, RTFKeyword::PNGBNUML, 0 },
{ "pnhang", RTFControlType::FLAG, RTFKeyword::PNHANG, 0 },
{ "pni", RTFControlType::TOGGLE, RTFKeyword::PNI, 1 },
{ "pnindent", RTFControlType::VALUE, RTFKeyword::PNINDENT, 0 },
{ "pniroha", RTFControlType::FLAG, RTFKeyword::PNIROHA, 0 },
{ "pnirohad", RTFControlType::FLAG, RTFKeyword::PNIROHAD, 0 },
{ "pnlcltr", RTFControlType::FLAG, RTFKeyword::PNLCLTR, 0 },
{ "pnlcrm", RTFControlType::FLAG, RTFKeyword::PNLCRM, 0 },
{ "pnlvl", RTFControlType::VALUE, RTFKeyword::PNLVL, 0 },
{ "pnlvlblt", RTFControlType::FLAG, RTFKeyword::PNLVLBLT, 0 },
{ "pnlvlbody", RTFControlType::FLAG, RTFKeyword::PNLVLBODY, 0 },
{ "pnlvlcont", RTFControlType::FLAG, RTFKeyword::PNLVLCONT, 0 },
{ "pnnumonce", RTFControlType::FLAG, RTFKeyword::PNNUMONCE, 0 },
{ "pnord", RTFControlType::FLAG, RTFKeyword::PNORD, 0 },
{ "pnordt", RTFControlType::FLAG, RTFKeyword::PNORDT, 0 },
{ "pnprev", RTFControlType::FLAG, RTFKeyword::PNPREV, 0 },
{ "pnqc", RTFControlType::FLAG, RTFKeyword::PNQC, 0 },
{ "pnql", RTFControlType::FLAG, RTFKeyword::PNQL, 0 },
{ "pnqr", RTFControlType::FLAG, RTFKeyword::PNQR, 0 },
{ "pnrauth", RTFControlType::VALUE, RTFKeyword::PNRAUTH, 0 },
{ "pnrdate", RTFControlType::VALUE, RTFKeyword::PNRDATE, 0 },
{ "pnrestart", RTFControlType::FLAG, RTFKeyword::PNRESTART, 0 },
{ "pnrnfc", RTFControlType::VALUE, RTFKeyword::PNRNFC, 0 },
{ "pnrnot", RTFControlType::FLAG, RTFKeyword::PNRNOT, 0 },
{ "pnrpnbr", RTFControlType::VALUE, RTFKeyword::PNRPNBR, 0 },
{ "pnrrgb", RTFControlType::VALUE, RTFKeyword::PNRRGB, 0 },
{ "pnrstart", RTFControlType::VALUE, RTFKeyword::PNRSTART, 0 },
{ "pnrstop", RTFControlType::VALUE, RTFKeyword::PNRSTOP, 0 },
{ "pnrxst", RTFControlType::VALUE, RTFKeyword::PNRXST, 0 },
{ "pnscaps", RTFControlType::TOGGLE, RTFKeyword::PNSCAPS, 1 },
{ "pnseclvl", RTFControlType::DESTINATION, RTFKeyword::PNSECLVL, 0 },
{ "pnsp", RTFControlType::VALUE, RTFKeyword::PNSP, 0 },
{ "pnstart", RTFControlType::VALUE, RTFKeyword::PNSTART, 0 },
{ "pnstrike", RTFControlType::TOGGLE, RTFKeyword::PNSTRIKE, 1 },
{ "pntext", RTFControlType::DESTINATION, RTFKeyword::PNTEXT, 0 },
{ "pntxta", RTFControlType::DESTINATION, RTFKeyword::PNTXTA, 0 },
{ "pntxtb", RTFControlType::DESTINATION, RTFKeyword::PNTXTB, 0 },
{ "pnucltr", RTFControlType::FLAG, RTFKeyword::PNUCLTR, 0 },
{ "pnucrm", RTFControlType::FLAG, RTFKeyword::PNUCRM, 0 },
{ "pnul", RTFControlType::TOGGLE, RTFKeyword::PNUL, 1 },
{ "pnuld", RTFControlType::FLAG, RTFKeyword::PNULD, 0 },
{ "pnuldash", RTFControlType::FLAG, RTFKeyword::PNULDASH, 0 },
{ "pnuldashd", RTFControlType::FLAG, RTFKeyword::PNULDASHD, 0 },
{ "pnuldashdd", RTFControlType::FLAG, RTFKeyword::PNULDASHDD, 0 },
{ "pnuldb", RTFControlType::FLAG, RTFKeyword::PNULDB, 0 },
{ "pnulhair", RTFControlType::FLAG, RTFKeyword::PNULHAIR, 0 },
{ "pnulnone", RTFControlType::FLAG, RTFKeyword::PNULNONE, 0 },
{ "pnulth", RTFControlType::FLAG, RTFKeyword::PNULTH, 0 },
{ "pnulw", RTFControlType::FLAG, RTFKeyword::PNULW, 0 },
{ "pnulwave", RTFControlType::FLAG, RTFKeyword::PNULWAVE, 0 },
{ "pnzodiac", RTFControlType::FLAG, RTFKeyword::PNZODIAC, 0 },
{ "pnzodiacd", RTFControlType::FLAG, RTFKeyword::PNZODIACD, 0 },
{ "pnzodiacl", RTFControlType::FLAG, RTFKeyword::PNZODIACL, 0 },
{ "posnegx", RTFControlType::VALUE, RTFKeyword::POSNEGX, 0 },
{ "posnegy", RTFControlType::VALUE, RTFKeyword::POSNEGY, 0 },
{ "posx", RTFControlType::VALUE, RTFKeyword::POSX, 0 },
{ "posxc", RTFControlType::FLAG, RTFKeyword::POSXC, 0 },
{ "posxi", RTFControlType::FLAG, RTFKeyword::POSXI, 0 },
{ "posxl", RTFControlType::FLAG, RTFKeyword::POSXL, 0 },
{ "posxo", RTFControlType::FLAG, RTFKeyword::POSXO, 0 },
{ "posxr", RTFControlType::FLAG, RTFKeyword::POSXR, 0 },
{ "posy", RTFControlType::VALUE, RTFKeyword::POSY, 0 },
{ "posyb", RTFControlType::FLAG, RTFKeyword::POSYB, 0 },
{ "posyc", RTFControlType::FLAG, RTFKeyword::POSYC, 0 },
{ "posyil", RTFControlType::FLAG, RTFKeyword::POSYIL, 0 },
{ "posyin", RTFControlType::FLAG, RTFKeyword::POSYIN, 0 },
{ "posyout", RTFControlType::FLAG, RTFKeyword::POSYOUT, 0 },
{ "posyt", RTFControlType::FLAG, RTFKeyword::POSYT, 0 },
{ "prauth", RTFControlType::VALUE, RTFKeyword::PRAUTH, 0 },
{ "prcolbl", RTFControlType::FLAG, RTFKeyword::PRCOLBL, 0 },
{ "prdate", RTFControlType::VALUE, RTFKeyword::PRDATE, 0 },
{ "printdata", RTFControlType::FLAG, RTFKeyword::PRINTDATA, 0 },
{ "printim", RTFControlType::DESTINATION, RTFKeyword::PRINTIM, 0 },
{ "private", RTFControlType::DESTINATION, RTFKeyword::PRIVATE, 0 },
{ "propname", RTFControlType::DESTINATION, RTFKeyword::PROPNAME, 0 },
{ "proptype", RTFControlType::VALUE, RTFKeyword::PROPTYPE, 0 },
{ "protect", RTFControlType::TOGGLE, RTFKeyword::PROTECT, 1 },
{ "protend", RTFControlType::DESTINATION, RTFKeyword::PROTEND, 0 },
{ "protlevel", RTFControlType::VALUE, RTFKeyword::PROTLEVEL, 0 },
{ "protstart", RTFControlType::DESTINATION, RTFKeyword::PROTSTART, 0 },
{ "protusertbl", RTFControlType::DESTINATION, RTFKeyword::PROTUSERTBL, 0 },
{ "psover", RTFControlType::FLAG, RTFKeyword::PSOVER, 0 },
{ "psz", RTFControlType::VALUE, RTFKeyword::PSZ, 0 },
{ "ptabldot", RTFControlType::FLAG, RTFKeyword::PTABLDOT, 0 },
{ "ptablmdot", RTFControlType::FLAG, RTFKeyword::PTABLMDOT, 0 },
{ "ptablminus", RTFControlType::FLAG, RTFKeyword::PTABLMINUS, 0 },
{ "ptablnone", RTFControlType::FLAG, RTFKeyword::PTABLNONE, 0 },
{ "ptabluscore", RTFControlType::FLAG, RTFKeyword::PTABLUSCORE, 0 },
{ "pubauto", RTFControlType::FLAG, RTFKeyword::PUBAUTO, 0 },
{ "pvmrg", RTFControlType::FLAG, RTFKeyword::PVMRG, 0 },
{ "pvpara", RTFControlType::FLAG, RTFKeyword::PVPARA, 0 },
{ "pvpg", RTFControlType::FLAG, RTFKeyword::PVPG, 0 },
{ "pwd", RTFControlType::VALUE, RTFKeyword::PWD, 0 },
{ "pxe", RTFControlType::DESTINATION, RTFKeyword::PXE, 0 },
{ "qc", RTFControlType::FLAG, RTFKeyword::QC, 0 },
{ "qd", RTFControlType::FLAG, RTFKeyword::QD, 0 },
{ "qj", RTFControlType::FLAG, RTFKeyword::QJ, 0 },
{ "qk", RTFControlType::VALUE, RTFKeyword::QK, 0 },
{ "ql", RTFControlType::FLAG, RTFKeyword::QL, 0 },
{ "qmspace", RTFControlType::SYMBOL, RTFKeyword::QMSPACE, 0 },
{ "qr", RTFControlType::FLAG, RTFKeyword::QR, 0 },
{ "qt", RTFControlType::FLAG, RTFKeyword::QT, 0 },
{ "rawclbgdkbdiag", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKBDIAG, 0 },
{ "rawclbgbdiag", RTFControlType::FLAG, RTFKeyword::RAWCLBGBDIAG, 0 },
{ "rawclbgcross", RTFControlType::FLAG, RTFKeyword::RAWCLBGCROSS, 0 },
{ "rawclbgdcross", RTFControlType::FLAG, RTFKeyword::RAWCLBGDCROSS, 0 },
{ "rawclbgdkcross", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKCROSS, 0 },
{ "rawclbgdkdcross", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKDCROSS, 0 },
{ "rawclbgdkfdiag", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKFDIAG, 0 },
{ "rawclbgdkhor", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKHOR, 0 },
{ "rawclbgdkvert", RTFControlType::FLAG, RTFKeyword::RAWCLBGDKVERT, 0 },
{ "rawclbgfdiag", RTFControlType::FLAG, RTFKeyword::RAWCLBGFDIAG, 0 },
{ "rawclbghoriz", RTFControlType::FLAG, RTFKeyword::RAWCLBGHORIZ, 0 },
{ "rawclbgvert", RTFControlType::FLAG, RTFKeyword::RAWCLBGVERT, 0 },
{ "rdblquote", RTFControlType::SYMBOL, RTFKeyword::RDBLQUOTE, 0 },
{ "readonlyrecommended", RTFControlType::FLAG, RTFKeyword::READONLYRECOMMENDED, 0 },
{ "readprot", RTFControlType::FLAG, RTFKeyword::READPROT, 0 },
{ "red", RTFControlType::VALUE, RTFKeyword::RED, 0 },
{ "relyonvml", RTFControlType::VALUE, RTFKeyword::RELYONVML, 0 },
{ "remdttm", RTFControlType::FLAG, RTFKeyword::REMDTTM, 0 },
{ "rempersonalinfo", RTFControlType::FLAG, RTFKeyword::REMPERSONALINFO, 0 },
{ "result", RTFControlType::DESTINATION, RTFKeyword::RESULT, 0 },
{ "revauth", RTFControlType::VALUE, RTFKeyword::REVAUTH, 0 },
{ "revauthdel", RTFControlType::VALUE, RTFKeyword::REVAUTHDEL, 0 },
{ "revbar", RTFControlType::VALUE, RTFKeyword::REVBAR, 3 },
{ "revdttm", RTFControlType::VALUE, RTFKeyword::REVDTTM, 0 },
{ "revdttmdel", RTFControlType::VALUE, RTFKeyword::REVDTTMDEL, 0 },
{ "revised", RTFControlType::TOGGLE, RTFKeyword::REVISED, 1 },
{ "revisions", RTFControlType::FLAG, RTFKeyword::REVISIONS, 0 },
{ "revprop", RTFControlType::VALUE, RTFKeyword::REVPROP, 3 },
{ "revprot", RTFControlType::FLAG, RTFKeyword::REVPROT, 0 },
{ "revtbl", RTFControlType::DESTINATION, RTFKeyword::REVTBL, 0 },
{ "revtim", RTFControlType::DESTINATION, RTFKeyword::REVTIM, 0 },
{ "ri", RTFControlType::VALUE, RTFKeyword::RI, 0 },
{ "rin", RTFControlType::VALUE, RTFKeyword::RIN, 0 },
{ "row", RTFControlType::SYMBOL, RTFKeyword::ROW, 0 },
{ "rquote", RTFControlType::SYMBOL, RTFKeyword::RQUOTE, 0 },
{ "rsid", RTFControlType::VALUE, RTFKeyword::RSID, 0 },
{ "rsidroot", RTFControlType::VALUE, RTFKeyword::RSIDROOT, 0 },
{ "rsidtbl", RTFControlType::DESTINATION, RTFKeyword::RSIDTBL, 0 },
{ "rsltbmp", RTFControlType::FLAG, RTFKeyword::RSLTBMP, 0 },
{ "rslthtml", RTFControlType::FLAG, RTFKeyword::RSLTHTML, 0 },
{ "rsltmerge", RTFControlType::FLAG, RTFKeyword::RSLTMERGE, 0 },
{ "rsltpict", RTFControlType::FLAG, RTFKeyword::RSLTPICT, 0 },
{ "rsltrtf", RTFControlType::FLAG, RTFKeyword::RSLTRTF, 0 },
{ "rslttxt", RTFControlType::FLAG, RTFKeyword::RSLTTXT, 0 },
{ "rtf", RTFControlType::DESTINATION, RTFKeyword::RTF, 0 },
{ "rtlch", RTFControlType::FLAG, RTFKeyword::RTLCH, 0 },
{ "rtldoc", RTFControlType::FLAG, RTFKeyword::RTLDOC, 0 },
{ "rtlgutter", RTFControlType::FLAG, RTFKeyword::RTLGUTTER, 0 },
{ "rtlmark", RTFControlType::SYMBOL, RTFKeyword::RTLMARK, 0 },
{ "rtlpar", RTFControlType::FLAG, RTFKeyword::RTLPAR, 0 },
{ "rtlrow", RTFControlType::FLAG, RTFKeyword::RTLROW, 0 },
{ "rtlsect", RTFControlType::FLAG, RTFKeyword::RTLSECT, 0 },
{ "rxe", RTFControlType::DESTINATION, RTFKeyword::RXE, 0 },
{ "s", RTFControlType::VALUE, RTFKeyword::S, 0 },
{ "sa", RTFControlType::VALUE, RTFKeyword::SA, 0 },
{ "saauto", RTFControlType::TOGGLE, RTFKeyword::SAAUTO, 1 },
{ "saftnnalc", RTFControlType::FLAG, RTFKeyword::SAFTNNALC, 0 },
{ "saftnnar", RTFControlType::FLAG, RTFKeyword::SAFTNNAR, 0 },
{ "saftnnauc", RTFControlType::FLAG, RTFKeyword::SAFTNNAUC, 0 },
{ "saftnnchi", RTFControlType::FLAG, RTFKeyword::SAFTNNCHI, 0 },
{ "saftnnchosung", RTFControlType::FLAG, RTFKeyword::SAFTNNCHOSUNG, 0 },
{ "saftnncnum", RTFControlType::FLAG, RTFKeyword::SAFTNNCNUM, 0 },
{ "saftnndbar", RTFControlType::FLAG, RTFKeyword::SAFTNNDBAR, 0 },
{ "saftnndbnum", RTFControlType::FLAG, RTFKeyword::SAFTNNDBNUM, 0 },
{ "saftnndbnumd", RTFControlType::FLAG, RTFKeyword::SAFTNNDBNUMD, 0 },
{ "saftnndbnumk", RTFControlType::FLAG, RTFKeyword::SAFTNNDBNUMK, 0 },
{ "saftnndbnumt", RTFControlType::FLAG, RTFKeyword::SAFTNNDBNUMT, 0 },
{ "saftnnganada", RTFControlType::FLAG, RTFKeyword::SAFTNNGANADA, 0 },
{ "saftnngbnum", RTFControlType::FLAG, RTFKeyword::SAFTNNGBNUM, 0 },
{ "saftnngbnumd", RTFControlType::FLAG, RTFKeyword::SAFTNNGBNUMD, 0 },
{ "saftnngbnumk", RTFControlType::FLAG, RTFKeyword::SAFTNNGBNUMK, 0 },
{ "saftnngbnuml", RTFControlType::FLAG, RTFKeyword::SAFTNNGBNUML, 0 },
{ "saftnnrlc", RTFControlType::FLAG, RTFKeyword::SAFTNNRLC, 0 },
{ "saftnnruc", RTFControlType::FLAG, RTFKeyword::SAFTNNRUC, 0 },
{ "saftnnzodiac", RTFControlType::FLAG, RTFKeyword::SAFTNNZODIAC, 0 },
{ "saftnnzodiacd", RTFControlType::FLAG, RTFKeyword::SAFTNNZODIACD, 0 },
{ "saftnnzodiacl", RTFControlType::FLAG, RTFKeyword::SAFTNNZODIACL, 0 },
{ "saftnrestart", RTFControlType::FLAG, RTFKeyword::SAFTNRESTART, 0 },
{ "saftnrstcont", RTFControlType::FLAG, RTFKeyword::SAFTNRSTCONT, 0 },
{ "saftnstart", RTFControlType::VALUE, RTFKeyword::SAFTNSTART, 1 },
{ "sautoupd", RTFControlType::FLAG, RTFKeyword::SAUTOUPD, 0 },
{ "saveinvalidxml", RTFControlType::FLAG, RTFKeyword::SAVEINVALIDXML, 0 },
{ "saveprevpict", RTFControlType::FLAG, RTFKeyword::SAVEPREVPICT, 0 },
{ "sb", RTFControlType::VALUE, RTFKeyword::SB, 0 },
{ "sbasedon", RTFControlType::VALUE, RTFKeyword::SBASEDON, 222 },
{ "sbauto", RTFControlType::TOGGLE, RTFKeyword::SBAUTO, 1 },
{ "sbkcol", RTFControlType::FLAG, RTFKeyword::SBKCOL, 0 },
{ "sbkeven", RTFControlType::FLAG, RTFKeyword::SBKEVEN, 0 },
{ "sbknone", RTFControlType::FLAG, RTFKeyword::SBKNONE, 0 },
{ "sbkodd", RTFControlType::FLAG, RTFKeyword::SBKODD, 0 },
{ "sbkpage", RTFControlType::FLAG, RTFKeyword::SBKPAGE, 0 },
{ "sbys", RTFControlType::FLAG, RTFKeyword::SBYS, 0 },
{ "scaps", RTFControlType::TOGGLE, RTFKeyword::SCAPS, 1 },
{ "scompose", RTFControlType::FLAG, RTFKeyword::SCOMPOSE, 0 },
{ "sec", RTFControlType::VALUE, RTFKeyword::SEC, 0 },
{ "sect", RTFControlType::SYMBOL, RTFKeyword::SECT, 0 },
{ "sectd", RTFControlType::FLAG, RTFKeyword::SECTD, 0 },
{ "sectdefaultcl", RTFControlType::FLAG, RTFKeyword::SECTDEFAULTCL, 0 },
{ "sectexpand", RTFControlType::VALUE, RTFKeyword::SECTEXPAND, 0 },
{ "sectlinegrid", RTFControlType::VALUE, RTFKeyword::SECTLINEGRID, 0 },
{ "sectnum", RTFControlType::SYMBOL, RTFKeyword::SECTNUM, 0 },
{ "sectrsid", RTFControlType::VALUE, RTFKeyword::SECTRSID, 0 },
{ "sectspecifycl", RTFControlType::FLAG, RTFKeyword::SECTSPECIFYCL, 0 },
{ "sectspecifygenN", RTFControlType::FLAG, RTFKeyword::SECTSPECIFYGENN, 0 },
{ "sectspecifyl", RTFControlType::FLAG, RTFKeyword::SECTSPECIFYL, 0 },
{ "sectunlocked", RTFControlType::FLAG, RTFKeyword::SECTUNLOCKED, 0 },
{ "sftnbj", RTFControlType::FLAG, RTFKeyword::SFTNBJ, 0 },
{ "sftnnalc", RTFControlType::FLAG, RTFKeyword::SFTNNALC, 0 },
{ "sftnnar", RTFControlType::FLAG, RTFKeyword::SFTNNAR, 0 },
{ "sftnnauc", RTFControlType::FLAG, RTFKeyword::SFTNNAUC, 0 },
{ "sftnnchi", RTFControlType::FLAG, RTFKeyword::SFTNNCHI, 0 },
{ "sftnnchosung", RTFControlType::FLAG, RTFKeyword::SFTNNCHOSUNG, 0 },
{ "sftnncnum", RTFControlType::FLAG, RTFKeyword::SFTNNCNUM, 0 },
{ "sftnndbar", RTFControlType::FLAG, RTFKeyword::SFTNNDBAR, 0 },
{ "sftnndbnum", RTFControlType::FLAG, RTFKeyword::SFTNNDBNUM, 0 },
{ "sftnndbnumd", RTFControlType::FLAG, RTFKeyword::SFTNNDBNUMD, 0 },
{ "sftnndbnumk", RTFControlType::FLAG, RTFKeyword::SFTNNDBNUMK, 0 },
{ "sftnndbnumt", RTFControlType::FLAG, RTFKeyword::SFTNNDBNUMT, 0 },
{ "sftnnganada", RTFControlType::FLAG, RTFKeyword::SFTNNGANADA, 0 },
{ "sftnngbnum", RTFControlType::FLAG, RTFKeyword::SFTNNGBNUM, 0 },
{ "sftnngbnumd", RTFControlType::FLAG, RTFKeyword::SFTNNGBNUMD, 0 },
{ "sftnngbnumk", RTFControlType::FLAG, RTFKeyword::SFTNNGBNUMK, 0 },
{ "sftnngbnuml", RTFControlType::FLAG, RTFKeyword::SFTNNGBNUML, 0 },
{ "sftnnrlc", RTFControlType::FLAG, RTFKeyword::SFTNNRLC, 0 },
{ "sftnnruc", RTFControlType::FLAG, RTFKeyword::SFTNNRUC, 0 },
{ "sftnnzodiac", RTFControlType::FLAG, RTFKeyword::SFTNNZODIAC, 0 },
{ "sftnnzodiacd", RTFControlType::FLAG, RTFKeyword::SFTNNZODIACD, 0 },
{ "sftnnzodiacl", RTFControlType::FLAG, RTFKeyword::SFTNNZODIACL, 0 },
{ "sftnrestart", RTFControlType::FLAG, RTFKeyword::SFTNRESTART, 0 },
{ "sftnrstcont", RTFControlType::FLAG, RTFKeyword::SFTNRSTCONT, 0 },
{ "sftnrstpg", RTFControlType::FLAG, RTFKeyword::SFTNRSTPG, 0 },
{ "sftnstart", RTFControlType::VALUE, RTFKeyword::SFTNSTART, 1 },
{ "sftntj", RTFControlType::FLAG, RTFKeyword::SFTNTJ, 0 },
{ "shad", RTFControlType::TOGGLE, RTFKeyword::SHAD, 1 },
{ "shading", RTFControlType::VALUE, RTFKeyword::SHADING, 0 },
{ "shidden", RTFControlType::FLAG, RTFKeyword::SHIDDEN, 0 },
{ "shift", RTFControlType::FLAG, RTFKeyword::SHIFT, 0 },
{ "showplaceholdtext", RTFControlType::VALUE, RTFKeyword::SHOWPLACEHOLDTEXT, 0 },
{ "showxmlerrors", RTFControlType::VALUE, RTFKeyword::SHOWXMLERRORS, 0 },
{ "shp", RTFControlType::DESTINATION, RTFKeyword::SHP, 0 },
{ "shpbottom", RTFControlType::VALUE, RTFKeyword::SHPBOTTOM, 0 },
{ "shpbxcolumn", RTFControlType::FLAG, RTFKeyword::SHPBXCOLUMN, 0 },
{ "shpbxignore", RTFControlType::FLAG, RTFKeyword::SHPBXIGNORE, 0 },
{ "shpbxmargin", RTFControlType::FLAG, RTFKeyword::SHPBXMARGIN, 0 },
{ "shpbxpage", RTFControlType::FLAG, RTFKeyword::SHPBXPAGE, 0 },
{ "shpbyignore", RTFControlType::FLAG, RTFKeyword::SHPBYIGNORE, 0 },
{ "shpbymargin", RTFControlType::FLAG, RTFKeyword::SHPBYMARGIN, 0 },
{ "shpbypage", RTFControlType::FLAG, RTFKeyword::SHPBYPAGE, 0 },
{ "shpbypara", RTFControlType::FLAG, RTFKeyword::SHPBYPARA, 0 },
{ "shpfblwtxt", RTFControlType::VALUE, RTFKeyword::SHPFBLWTXT, 0 },
{ "shpfhdr", RTFControlType::VALUE, RTFKeyword::SHPFHDR, 0 },
{ "shpgrp", RTFControlType::DESTINATION, RTFKeyword::SHPGRP, 0 },
{ "shpinst", RTFControlType::DESTINATION, RTFKeyword::SHPINST, 0 },
{ "shpleft", RTFControlType::VALUE, RTFKeyword::SHPLEFT, 0 },
{ "shplid", RTFControlType::VALUE, RTFKeyword::SHPLID, 0 },
{ "shplockanchor", RTFControlType::FLAG, RTFKeyword::SHPLOCKANCHOR, 0 },
{ "shppict", RTFControlType::DESTINATION, RTFKeyword::SHPPICT, 0 },
{ "shpright", RTFControlType::VALUE, RTFKeyword::SHPRIGHT, 0 },
{ "shprslt", RTFControlType::DESTINATION, RTFKeyword::SHPRSLT, 0 },
{ "shptop", RTFControlType::VALUE, RTFKeyword::SHPTOP, 0 },
{ "shptxt", RTFControlType::DESTINATION, RTFKeyword::SHPTXT, 0 },
{ "shpwrk", RTFControlType::VALUE, RTFKeyword::SHPWRK, 0 },
{ "shpwr", RTFControlType::VALUE, RTFKeyword::SHPWR, 0 },
{ "shpz", RTFControlType::VALUE, RTFKeyword::SHPZ, 0 },
{ "sl", RTFControlType::VALUE, RTFKeyword::SL, 0 },
{ "slink", RTFControlType::VALUE, RTFKeyword::SLINK, 0 },
{ "slmult", RTFControlType::VALUE, RTFKeyword::SLMULT, 0 },
{ "slocked", RTFControlType::FLAG, RTFKeyword::SLOCKED, 0 },
{ "sn", RTFControlType::DESTINATION, RTFKeyword::SN, 0 },
{ "snaptogridincell", RTFControlType::FLAG, RTFKeyword::SNAPTOGRIDINCELL, 0 },
{ "snext", RTFControlType::VALUE, RTFKeyword::SNEXT, 0 },
{ "softcol", RTFControlType::FLAG, RTFKeyword::SOFTCOL, 0 },
{ "softlheight", RTFControlType::VALUE, RTFKeyword::SOFTLHEIGHT, 0 },
{ "softline", RTFControlType::FLAG, RTFKeyword::SOFTLINE, 0 },
{ "softpage", RTFControlType::FLAG, RTFKeyword::SOFTPAGE, 0 },
{ "sp", RTFControlType::DESTINATION, RTFKeyword::SP, 0 },
{ "spersonal", RTFControlType::FLAG, RTFKeyword::SPERSONAL, 0 },
{ "spltpgpar", RTFControlType::FLAG, RTFKeyword::SPLTPGPAR, 0 },
{ "splytwnine", RTFControlType::FLAG, RTFKeyword::SPLYTWNINE, 0 },
{ "spriority", RTFControlType::VALUE, RTFKeyword::SPRIORITY, 0 },
{ "sprsbsp", RTFControlType::FLAG, RTFKeyword::SPRSBSP, 0 },
{ "sprslnsp", RTFControlType::FLAG, RTFKeyword::SPRSLNSP, 0 },
{ "sprsspbf", RTFControlType::FLAG, RTFKeyword::SPRSSPBF, 0 },
{ "sprstsm", RTFControlType::FLAG, RTFKeyword::SPRSTSM, 0 },
{ "sprstsp", RTFControlType::FLAG, RTFKeyword::SPRSTSP, 0 },
{ "spv", RTFControlType::FLAG, RTFKeyword::SPV, 0 },
{ "sqformat", RTFControlType::FLAG, RTFKeyword::SQFORMAT, 0 },
{ "srauth", RTFControlType::VALUE, RTFKeyword::SRAUTH, 0 },
{ "srdate", RTFControlType::VALUE, RTFKeyword::SRDATE, 0 },
{ "sreply", RTFControlType::FLAG, RTFKeyword::SREPLY, 0 },
{ "ssemihidden", RTFControlType::VALUE, RTFKeyword::SSEMIHIDDEN, 0 },
{ "staticval", RTFControlType::DESTINATION, RTFKeyword::STATICVAL, 0 },
{ "stextflow", RTFControlType::VALUE, RTFKeyword::STEXTFLOW, 0 },
{ "strike", RTFControlType::TOGGLE, RTFKeyword::STRIKE, 1 },
{ "striked", RTFControlType::TOGGLE, RTFKeyword::STRIKED, 1 },
{ "stshfbi", RTFControlType::VALUE, RTFKeyword::STSHFBI, 0 },
{ "stshfdbch", RTFControlType::VALUE, RTFKeyword::STSHFDBCH, 0 },
{ "stshfhich", RTFControlType::VALUE, RTFKeyword::STSHFHICH, 0 },
{ "stshfloch", RTFControlType::VALUE, RTFKeyword::STSHFLOCH, 0 },
{ "stylelock", RTFControlType::FLAG, RTFKeyword::STYLELOCK, 0 },
{ "stylelockbackcomp", RTFControlType::FLAG, RTFKeyword::STYLELOCKBACKCOMP, 0 },
{ "stylelockenforced", RTFControlType::FLAG, RTFKeyword::STYLELOCKENFORCED, 0 },
{ "stylelockqfset", RTFControlType::FLAG, RTFKeyword::STYLELOCKQFSET, 0 },
{ "stylelocktheme", RTFControlType::FLAG, RTFKeyword::STYLELOCKTHEME, 0 },
{ "stylesheet", RTFControlType::DESTINATION, RTFKeyword::STYLESHEET, 0 },
{ "stylesortmethod", RTFControlType::VALUE, RTFKeyword::STYLESORTMETHOD, 1 },
{ "styrsid", RTFControlType::VALUE, RTFKeyword::STYRSID, 0 },
{ "sub", RTFControlType::FLAG, RTFKeyword::SUB, 0 },
{ "subdocument", RTFControlType::VALUE, RTFKeyword::SUBDOCUMENT, 0 },
{ "subfontbysize", RTFControlType::FLAG, RTFKeyword::SUBFONTBYSIZE, 0 },
{ "subject", RTFControlType::DESTINATION, RTFKeyword::SUBJECT, 0 },
{ "sunhideused", RTFControlType::VALUE, RTFKeyword::SUNHIDEUSED, 0 },
{ "super", RTFControlType::FLAG, RTFKeyword::SUPER, 0 },
{ "sv", RTFControlType::DESTINATION, RTFKeyword::SV, 0 },
{ "svb", RTFControlType::DESTINATION, RTFKeyword::SVB, 0 },
{ "swpbdr", RTFControlType::FLAG, RTFKeyword::SWPBDR, 0 },
{ "tab", RTFControlType::SYMBOL, RTFKeyword::TAB, 0 },
{ "tabsnoovrlp", RTFControlType::FLAG, RTFKeyword::TABSNOOVRLP, 0 },
{ "taprtl", RTFControlType::FLAG, RTFKeyword::TAPRTL, 0 },
{ "tb", RTFControlType::VALUE, RTFKeyword::TB, 0 },
{ "tblind", RTFControlType::VALUE, RTFKeyword::TBLIND, 0 },
{ "tblindtype", RTFControlType::VALUE, RTFKeyword::TBLINDTYPE, 0 },
{ "tbllkbestfit", RTFControlType::FLAG, RTFKeyword::TBLLKBESTFIT, 0 },
{ "tbllkborder", RTFControlType::FLAG, RTFKeyword::TBLLKBORDER, 0 },
{ "tbllkcolor", RTFControlType::FLAG, RTFKeyword::TBLLKCOLOR, 0 },
{ "tbllkfont", RTFControlType::FLAG, RTFKeyword::TBLLKFONT, 0 },
{ "tbllkhdrcols", RTFControlType::FLAG, RTFKeyword::TBLLKHDRCOLS, 0 },
{ "tbllkhdrrows", RTFControlType::FLAG, RTFKeyword::TBLLKHDRROWS, 0 },
{ "tbllklastcol", RTFControlType::FLAG, RTFKeyword::TBLLKLASTCOL, 0 },
{ "tbllklastrow", RTFControlType::FLAG, RTFKeyword::TBLLKLASTROW, 0 },
{ "tbllknocolband", RTFControlType::FLAG, RTFKeyword::TBLLKNOCOLBAND, 0 },
{ "tbllknorowband", RTFControlType::FLAG, RTFKeyword::TBLLKNOROWBAND, 0 },
{ "tbllkshading", RTFControlType::FLAG, RTFKeyword::TBLLKSHADING, 0 },
{ "tblrsid", RTFControlType::VALUE, RTFKeyword::TBLRSID, 0 },
{ "tc", RTFControlType::DESTINATION, RTFKeyword::TC, 0 },
{ "tcelld", RTFControlType::FLAG, RTFKeyword::TCELLD, 0 },
{ "tcf", RTFControlType::VALUE, RTFKeyword::TCF, 67 },
{ "tcl", RTFControlType::VALUE, RTFKeyword::TCL, 0 },
{ "tcn", RTFControlType::FLAG, RTFKeyword::TCN, 0 },
{ "tdfrmtxtBottom", RTFControlType::VALUE, RTFKeyword::TDFRMTXTBOTTOM, 0 },
{ "tdfrmtxtLeft", RTFControlType::VALUE, RTFKeyword::TDFRMTXTLEFT, 0 },
{ "tdfrmtxtRight", RTFControlType::VALUE, RTFKeyword::TDFRMTXTRIGHT, 0 },
{ "tdfrmtxtTop", RTFControlType::VALUE, RTFKeyword::TDFRMTXTTOP, 0 },
{ "template", RTFControlType::DESTINATION, RTFKeyword::TEMPLATE, 0 },
{ "themedata", RTFControlType::DESTINATION, RTFKeyword::THEMEDATA, 0 },
{ "themelang", RTFControlType::VALUE, RTFKeyword::THEMELANG, 0 },
{ "themelangcs", RTFControlType::VALUE, RTFKeyword::THEMELANGCS, 0 },
{ "themelangfe", RTFControlType::VALUE, RTFKeyword::THEMELANGFE, 0 },
{ "time", RTFControlType::FLAG, RTFKeyword::TIME, 0 },
{ "title", RTFControlType::DESTINATION, RTFKeyword::TITLE, 0 },
{ "titlepg", RTFControlType::FLAG, RTFKeyword::TITLEPG, 0 },
{ "tldot", RTFControlType::FLAG, RTFKeyword::TLDOT, 0 },
{ "tleq", RTFControlType::FLAG, RTFKeyword::TLEQ, 0 },
{ "tlhyph", RTFControlType::FLAG, RTFKeyword::TLHYPH, 0 },
{ "tlmdot", RTFControlType::FLAG, RTFKeyword::TLMDOT, 0 },
{ "tlth", RTFControlType::FLAG, RTFKeyword::TLTH, 0 },
{ "tlul", RTFControlType::FLAG, RTFKeyword::TLUL, 0 },
{ "toplinepunct", RTFControlType::FLAG, RTFKeyword::TOPLINEPUNCT, 0 },
{ "tphcol", RTFControlType::FLAG, RTFKeyword::TPHCOL, 0 },
{ "tphmrg", RTFControlType::FLAG, RTFKeyword::TPHMRG, 0 },
{ "tphpg", RTFControlType::FLAG, RTFKeyword::TPHPG, 0 },
{ "tposnegx", RTFControlType::VALUE, RTFKeyword::TPOSNEGX, 0 },
{ "tposnegy", RTFControlType::VALUE, RTFKeyword::TPOSNEGY, 0 },
{ "tposxc", RTFControlType::FLAG, RTFKeyword::TPOSXC, 0 },
{ "tposxi", RTFControlType::FLAG, RTFKeyword::TPOSXI, 0 },
{ "tposxl", RTFControlType::FLAG, RTFKeyword::TPOSXL, 0 },
{ "tposx", RTFControlType::VALUE, RTFKeyword::TPOSX, 0 },
{ "tposxo", RTFControlType::FLAG, RTFKeyword::TPOSXO, 0 },
{ "tposxr", RTFControlType::FLAG, RTFKeyword::TPOSXR, 0 },
{ "tposy", RTFControlType::VALUE, RTFKeyword::TPOSY, 0 },
{ "tposyb", RTFControlType::FLAG, RTFKeyword::TPOSYB, 0 },
{ "tposyc", RTFControlType::FLAG, RTFKeyword::TPOSYC, 0 },
{ "tposyil", RTFControlType::FLAG, RTFKeyword::TPOSYIL, 0 },
{ "tposyin", RTFControlType::FLAG, RTFKeyword::TPOSYIN, 0 },
{ "tposyout", RTFControlType::FLAG, RTFKeyword::TPOSYOUT, 0 },
{ "tposyt", RTFControlType::FLAG, RTFKeyword::TPOSYT, 0 },
{ "tpvmrg", RTFControlType::FLAG, RTFKeyword::TPVMRG, 0 },
{ "tpvpara", RTFControlType::FLAG, RTFKeyword::TPVPARA, 0 },
{ "tpvpg", RTFControlType::FLAG, RTFKeyword::TPVPG, 0 },
{ "tqc", RTFControlType::FLAG, RTFKeyword::TQC, 0 },
{ "tqdec", RTFControlType::FLAG, RTFKeyword::TQDEC, 0 },
{ "tqr", RTFControlType::FLAG, RTFKeyword::TQR, 0 },
{ "trackformatting", RTFControlType::VALUE, RTFKeyword::TRACKFORMATTING, 0 },
{ "trackmoves", RTFControlType::VALUE, RTFKeyword::TRACKMOVES, 0 },
{ "transmf", RTFControlType::FLAG, RTFKeyword::TRANSMF, 0 },
{ "trauth", RTFControlType::VALUE, RTFKeyword::TRAUTH, 0 },
{ "trautofit", RTFControlType::TOGGLE, RTFKeyword::TRAUTOFIT, 1 },
{ "trbgbdiag", RTFControlType::FLAG, RTFKeyword::TRBGBDIAG, 0 },
{ "trbgcross", RTFControlType::FLAG, RTFKeyword::TRBGCROSS, 0 },
{ "trbgdcross", RTFControlType::FLAG, RTFKeyword::TRBGDCROSS, 0 },
{ "trbgdkbdiag", RTFControlType::FLAG, RTFKeyword::TRBGDKBDIAG, 0 },
{ "trbgdkcross", RTFControlType::FLAG, RTFKeyword::TRBGDKCROSS, 0 },
{ "trbgdkdcross", RTFControlType::FLAG, RTFKeyword::TRBGDKDCROSS, 0 },
{ "trbgdkfdiag", RTFControlType::FLAG, RTFKeyword::TRBGDKFDIAG, 0 },
{ "trbgdkhor", RTFControlType::FLAG, RTFKeyword::TRBGDKHOR, 0 },
{ "trbgdkvert", RTFControlType::FLAG, RTFKeyword::TRBGDKVERT, 0 },
{ "trbgfdiag", RTFControlType::FLAG, RTFKeyword::TRBGFDIAG, 0 },
{ "trbghoriz", RTFControlType::FLAG, RTFKeyword::TRBGHORIZ, 0 },
{ "trbgvert", RTFControlType::FLAG, RTFKeyword::TRBGVERT, 0 },
{ "trbrdrb", RTFControlType::FLAG, RTFKeyword::TRBRDRB, 0 },
{ "trbrdrh", RTFControlType::FLAG, RTFKeyword::TRBRDRH, 0 },
{ "trbrdrl", RTFControlType::FLAG, RTFKeyword::TRBRDRL, 0 },
{ "trbrdrr", RTFControlType::FLAG, RTFKeyword::TRBRDRR, 0 },
{ "trbrdrt", RTFControlType::FLAG, RTFKeyword::TRBRDRT, 0 },
{ "trbrdrv", RTFControlType::FLAG, RTFKeyword::TRBRDRV, 0 },
{ "trcbpat", RTFControlType::VALUE, RTFKeyword::TRCBPAT, 0 },
{ "trcfpat", RTFControlType::VALUE, RTFKeyword::TRCFPAT, 0 },
{ "trdate", RTFControlType::VALUE, RTFKeyword::TRDATE, 0 },
{ "trftsWidthA", RTFControlType::VALUE, RTFKeyword::TRFTSWIDTHA, 0 },
{ "trftsWidthB", RTFControlType::VALUE, RTFKeyword::TRFTSWIDTHB, 0 },
{ "trftsWidth", RTFControlType::VALUE, RTFKeyword::TRFTSWIDTH, 0 },
{ "trgaph", RTFControlType::VALUE, RTFKeyword::TRGAPH, 0 },
{ "trhdr", RTFControlType::FLAG, RTFKeyword::TRHDR, 0 },
{ "trkeep", RTFControlType::FLAG, RTFKeyword::TRKEEP, 0 },
{ "trkeepfollow", RTFControlType::FLAG, RTFKeyword::TRKEEPFOLLOW, 0 },
{ "trleft", RTFControlType::VALUE, RTFKeyword::TRLEFT, 0 },
{ "trowd", RTFControlType::FLAG, RTFKeyword::TROWD, 0 },
{ "trpaddb", RTFControlType::VALUE, RTFKeyword::TRPADDB, 0 },
{ "trpaddfb", RTFControlType::VALUE, RTFKeyword::TRPADDFB, 0 },
{ "trpaddfl", RTFControlType::VALUE, RTFKeyword::TRPADDFL, 0 },
{ "trpaddfr", RTFControlType::VALUE, RTFKeyword::TRPADDFR, 0 },
{ "trpaddft", RTFControlType::VALUE, RTFKeyword::TRPADDFT, 0 },
{ "trpaddl", RTFControlType::VALUE, RTFKeyword::TRPADDL, 0 },
{ "trpaddr", RTFControlType::VALUE, RTFKeyword::TRPADDR, 0 },
{ "trpaddt", RTFControlType::VALUE, RTFKeyword::TRPADDT, 0 },
{ "trpadob", RTFControlType::VALUE, RTFKeyword::TRPADOB, 0 },
{ "trpadofb", RTFControlType::VALUE, RTFKeyword::TRPADOFB, 0 },
{ "trpadofl", RTFControlType::VALUE, RTFKeyword::TRPADOFL, 0 },
{ "trpadofr", RTFControlType::VALUE, RTFKeyword::TRPADOFR, 0 },
{ "trpadoft", RTFControlType::VALUE, RTFKeyword::TRPADOFT, 0 },
{ "trpadol", RTFControlType::VALUE, RTFKeyword::TRPADOL, 0 },
{ "trpador", RTFControlType::VALUE, RTFKeyword::TRPADOR, 0 },
{ "trpadot", RTFControlType::VALUE, RTFKeyword::TRPADOT, 0 },
{ "trpat", RTFControlType::VALUE, RTFKeyword::TRPAT, 0 },
{ "trqc", RTFControlType::FLAG, RTFKeyword::TRQC, 0 },
{ "trql", RTFControlType::FLAG, RTFKeyword::TRQL, 0 },
{ "trqr", RTFControlType::FLAG, RTFKeyword::TRQR, 0 },
{ "trrh", RTFControlType::VALUE, RTFKeyword::TRRH, 0 },
{ "trshdng", RTFControlType::VALUE, RTFKeyword::TRSHDNG, 0 },
{ "trspdb", RTFControlType::VALUE, RTFKeyword::TRSPDB, 0 },
{ "trspdfb", RTFControlType::VALUE, RTFKeyword::TRSPDFB, 0 },
{ "trspdfl", RTFControlType::VALUE, RTFKeyword::TRSPDFL, 0 },
{ "trspdfr", RTFControlType::VALUE, RTFKeyword::TRSPDFR, 0 },
{ "trspdft", RTFControlType::VALUE, RTFKeyword::TRSPDFT, 0 },
{ "trspdl", RTFControlType::VALUE, RTFKeyword::TRSPDL, 0 },
{ "trspdr", RTFControlType::VALUE, RTFKeyword::TRSPDR, 0 },
{ "trspdt", RTFControlType::VALUE, RTFKeyword::TRSPDT, 0 },
{ "trspob", RTFControlType::VALUE, RTFKeyword::TRSPOB, 0 },
{ "trspofb", RTFControlType::VALUE, RTFKeyword::TRSPOFB, 0 },
{ "trspofl", RTFControlType::VALUE, RTFKeyword::TRSPOFL, 0 },
{ "trspofr", RTFControlType::VALUE, RTFKeyword::TRSPOFR, 0 },
{ "trspoft", RTFControlType::VALUE, RTFKeyword::TRSPOFT, 0 },
{ "trspol", RTFControlType::VALUE, RTFKeyword::TRSPOL, 0 },
{ "trspor", RTFControlType::VALUE, RTFKeyword::TRSPOR, 0 },
{ "trspot", RTFControlType::VALUE, RTFKeyword::TRSPOT, 0 },
{ "truncatefontheight", RTFControlType::FLAG, RTFKeyword::TRUNCATEFONTHEIGHT, 0 },
{ "truncex", RTFControlType::FLAG, RTFKeyword::TRUNCEX, 0 },
{ "trwWidthA", RTFControlType::VALUE, RTFKeyword::TRWWIDTHA, 0 },
{ "trwWidthB", RTFControlType::VALUE, RTFKeyword::TRWWIDTHB, 0 },
{ "trwWidth", RTFControlType::VALUE, RTFKeyword::TRWWIDTH, 0 },
{ "ts", RTFControlType::VALUE, RTFKeyword::TS, 0 },
{ "tsbgbdiag", RTFControlType::FLAG, RTFKeyword::TSBGBDIAG, 0 },
{ "tsbgcross", RTFControlType::FLAG, RTFKeyword::TSBGCROSS, 0 },
{ "tsbgdcross", RTFControlType::FLAG, RTFKeyword::TSBGDCROSS, 0 },
{ "tsbgdkbdiag", RTFControlType::FLAG, RTFKeyword::TSBGDKBDIAG, 0 },
{ "tsbgdkcross", RTFControlType::FLAG, RTFKeyword::TSBGDKCROSS, 0 },
{ "tsbgdkdcross", RTFControlType::FLAG, RTFKeyword::TSBGDKDCROSS, 0 },
{ "tsbgdkfdiag", RTFControlType::FLAG, RTFKeyword::TSBGDKFDIAG, 0 },
{ "tsbgdkhor", RTFControlType::FLAG, RTFKeyword::TSBGDKHOR, 0 },
{ "tsbgdkvert", RTFControlType::FLAG, RTFKeyword::TSBGDKVERT, 0 },
{ "tsbgfdiag", RTFControlType::FLAG, RTFKeyword::TSBGFDIAG, 0 },
{ "tsbghoriz", RTFControlType::FLAG, RTFKeyword::TSBGHORIZ, 0 },
{ "tsbgvert", RTFControlType::FLAG, RTFKeyword::TSBGVERT, 0 },
{ "tsbrdrb", RTFControlType::FLAG, RTFKeyword::TSBRDRB, 0 },
{ "tsbrdrdgl", RTFControlType::FLAG, RTFKeyword::TSBRDRDGL, 0 },
{ "tsbrdrdgr", RTFControlType::FLAG, RTFKeyword::TSBRDRDGR, 0 },
{ "tsbrdrh", RTFControlType::FLAG, RTFKeyword::TSBRDRH, 0 },
{ "tsbrdrl", RTFControlType::FLAG, RTFKeyword::TSBRDRL, 0 },
{ "tsbrdrr", RTFControlType::FLAG, RTFKeyword::TSBRDRR, 0 },
{ "tsbrdrt", RTFControlType::FLAG, RTFKeyword::TSBRDRT, 0 },
{ "tsbrdrv", RTFControlType::FLAG, RTFKeyword::TSBRDRV, 0 },
{ "tscbandhorzeven", RTFControlType::FLAG, RTFKeyword::TSCBANDHORZEVEN, 0 },
{ "tscbandhorzodd", RTFControlType::FLAG, RTFKeyword::TSCBANDHORZODD, 0 },
{ "tscbandsh", RTFControlType::VALUE, RTFKeyword::TSCBANDSH, 0 },
{ "tscbandsv", RTFControlType::VALUE, RTFKeyword::TSCBANDSV, 0 },
{ "tscbandverteven", RTFControlType::FLAG, RTFKeyword::TSCBANDVERTEVEN, 0 },
{ "tscbandvertodd", RTFControlType::FLAG, RTFKeyword::TSCBANDVERTODD, 0 },
{ "tscellcbpat", RTFControlType::VALUE, RTFKeyword::TSCELLCBPAT, 0 },
{ "tscellcfpat", RTFControlType::VALUE, RTFKeyword::TSCELLCFPAT, 0 },
{ "tscellpaddb", RTFControlType::VALUE, RTFKeyword::TSCELLPADDB, 0 },
{ "tscellpaddfb", RTFControlType::VALUE, RTFKeyword::TSCELLPADDFB, 0 },
{ "tscellpaddfl", RTFControlType::VALUE, RTFKeyword::TSCELLPADDFL, 0 },
{ "tscellpaddfr", RTFControlType::VALUE, RTFKeyword::TSCELLPADDFR, 0 },
{ "tscellpaddft", RTFControlType::VALUE, RTFKeyword::TSCELLPADDFT, 0 },
{ "tscellpaddl", RTFControlType::VALUE, RTFKeyword::TSCELLPADDL, 0 },
{ "tscellpaddr", RTFControlType::VALUE, RTFKeyword::TSCELLPADDR, 0 },
{ "tscellpaddt", RTFControlType::VALUE, RTFKeyword::TSCELLPADDT, 0 },
{ "tscellpct", RTFControlType::VALUE, RTFKeyword::TSCELLPCT, 0 },
{ "tscellwidth", RTFControlType::VALUE, RTFKeyword::TSCELLWIDTH, 0 },
{ "tscellwidthfts", RTFControlType::VALUE, RTFKeyword::TSCELLWIDTHFTS, 0 },
{ "tscfirstcol", RTFControlType::FLAG, RTFKeyword::TSCFIRSTCOL, 0 },
{ "tscfirstrow", RTFControlType::FLAG, RTFKeyword::TSCFIRSTROW, 0 },
{ "tsclastcol", RTFControlType::FLAG, RTFKeyword::TSCLASTCOL, 0 },
{ "tsclastrow", RTFControlType::FLAG, RTFKeyword::TSCLASTROW, 0 },
{ "tscnecell", RTFControlType::FLAG, RTFKeyword::TSCNECELL, 0 },
{ "tscnwcell", RTFControlType::FLAG, RTFKeyword::TSCNWCELL, 0 },
{ "tscsecell", RTFControlType::FLAG, RTFKeyword::TSCSECELL, 0 },
{ "tscswcell", RTFControlType::FLAG, RTFKeyword::TSCSWCELL, 0 },
{ "tsd", RTFControlType::FLAG, RTFKeyword::TSD, 0 },
{ "tsnowrap", RTFControlType::FLAG, RTFKeyword::TSNOWRAP, 0 },
{ "tsrowd", RTFControlType::FLAG, RTFKeyword::TSROWD, 0 },
{ "tsvertalb", RTFControlType::FLAG, RTFKeyword::TSVERTALB, 0 },
{ "tsvertalc", RTFControlType::FLAG, RTFKeyword::TSVERTALC, 0 },
{ "tsvertalt", RTFControlType::FLAG, RTFKeyword::TSVERTALT, 0 },
{ "twoinone", RTFControlType::VALUE, RTFKeyword::TWOINONE, 0 },
{ "twoonone", RTFControlType::FLAG, RTFKeyword::TWOONONE, 0 },
{ "tx", RTFControlType::VALUE, RTFKeyword::TX, 0 },
{ "txbxtwalways", RTFControlType::FLAG, RTFKeyword::TXBXTWALWAYS, 0 },
{ "txbxtwfirst", RTFControlType::FLAG, RTFKeyword::TXBXTWFIRST, 0 },
{ "txbxtwfirstlast", RTFControlType::FLAG, RTFKeyword::TXBXTWFIRSTLAST, 0 },
{ "txbxtwlast", RTFControlType::FLAG, RTFKeyword::TXBXTWLAST, 0 },
{ "txbxtwno", RTFControlType::FLAG, RTFKeyword::TXBXTWNO, 0 },
{ "txe", RTFControlType::DESTINATION, RTFKeyword::TXE, 0 },
{ "u", RTFControlType::VALUE, RTFKeyword::U, 0 },
{ "uc", RTFControlType::VALUE, RTFKeyword::UC, 1 },
{ "ud", RTFControlType::DESTINATION, RTFKeyword::UD, 0 },
{ "ul", RTFControlType::TOGGLE, RTFKeyword::UL, 1 },
{ "ulc", RTFControlType::VALUE, RTFKeyword::ULC, 0 },
{ "uld", RTFControlType::FLAG, RTFKeyword::ULD, 0 },
{ "uldash", RTFControlType::TOGGLE, RTFKeyword::ULDASH, 1 },
{ "uldashd", RTFControlType::TOGGLE, RTFKeyword::ULDASHD, 1 },
{ "uldashdd", RTFControlType::TOGGLE, RTFKeyword::ULDASHDD, 1 },
{ "uldb", RTFControlType::TOGGLE, RTFKeyword::ULDB, 1 },
{ "ulhair", RTFControlType::TOGGLE, RTFKeyword::ULHAIR, 1 },
{ "ulhwave", RTFControlType::TOGGLE, RTFKeyword::ULHWAVE, 1 },
{ "ulldash", RTFControlType::TOGGLE, RTFKeyword::ULLDASH, 1 },
{ "ulnone", RTFControlType::FLAG, RTFKeyword::ULNONE, 0 },
{ "ulth", RTFControlType::TOGGLE, RTFKeyword::ULTH, 1 },
{ "ulthd", RTFControlType::TOGGLE, RTFKeyword::ULTHD, 1 },
{ "ulthdash", RTFControlType::TOGGLE, RTFKeyword::ULTHDASH, 1 },
{ "ulthdashd", RTFControlType::TOGGLE, RTFKeyword::ULTHDASHD, 1 },
{ "ulthdashdd", RTFControlType::TOGGLE, RTFKeyword::ULTHDASHDD, 1 },
{ "ulthldash", RTFControlType::TOGGLE, RTFKeyword::ULTHLDASH, 1 },
{ "ululdbwave", RTFControlType::TOGGLE, RTFKeyword::ULULDBWAVE, 1 },
{ "ulw", RTFControlType::FLAG, RTFKeyword::ULW, 0 },
{ "ulwave", RTFControlType::TOGGLE, RTFKeyword::ULWAVE, 1 },
{ "up", RTFControlType::VALUE, RTFKeyword::UP, 6 },
{ "upr", RTFControlType::DESTINATION, RTFKeyword::UPR, 0 },
{ "urtf", RTFControlType::VALUE, RTFKeyword::URTF, 0 },
{ "useltbaln", RTFControlType::FLAG, RTFKeyword::USELTBALN, 0 },
{ "usenormstyforlist", RTFControlType::FLAG, RTFKeyword::USENORMSTYFORLIST, 0 },
{ "userprops", RTFControlType::DESTINATION, RTFKeyword::USERPROPS, 0 },
{ "usexform", RTFControlType::FLAG, RTFKeyword::USEXFORM, 0 },
{ "utinl", RTFControlType::FLAG, RTFKeyword::UTINL, 0 },
{ "v", RTFControlType::TOGGLE, RTFKeyword::V, 1 },
{ "validatexml", RTFControlType::VALUE, RTFKeyword::VALIDATEXML, 0 },
{ "vern", RTFControlType::VALUE, RTFKeyword::VERN, 0 },
{ "version", RTFControlType::VALUE, RTFKeyword::VERSION, 0 },
{ "vertal", RTFControlType::FLAG, RTFKeyword::VERTAL, 0 },
{ "vertalb", RTFControlType::FLAG, RTFKeyword::VERTALB, 0 },
{ "vertalc", RTFControlType::FLAG, RTFKeyword::VERTALC, 0 },
{ "vertalj", RTFControlType::FLAG, RTFKeyword::VERTALJ, 0 },
{ "vertalt", RTFControlType::FLAG, RTFKeyword::VERTALT, 0 },
{ "vertdoc", RTFControlType::FLAG, RTFKeyword::VERTDOC, 0 },
{ "vertsect", RTFControlType::FLAG, RTFKeyword::VERTSECT, 0 },
{ "viewbksp", RTFControlType::VALUE, RTFKeyword::VIEWBKSP, 0 },
{ "viewkind", RTFControlType::VALUE, RTFKeyword::VIEWKIND, 0 },
{ "viewnobound", RTFControlType::FLAG, RTFKeyword::VIEWNOBOUND, 0 },
{ "viewscale", RTFControlType::VALUE, RTFKeyword::VIEWSCALE, 100 },
{ "viewzk", RTFControlType::VALUE, RTFKeyword::VIEWZK, 0 },
{ "wbitmap", RTFControlType::VALUE, RTFKeyword::WBITMAP, 0 },
{ "wbmbitspixel", RTFControlType::VALUE, RTFKeyword::WBMBITSPIXEL, 1 },
{ "wbmplanes", RTFControlType::VALUE, RTFKeyword::WBMPLANES, 0 },
{ "wbmwidthbyte", RTFControlType::VALUE, RTFKeyword::WBMWIDTHBYTE, 0 },
{ "webhidden", RTFControlType::FLAG, RTFKeyword::WEBHIDDEN, 0 },
{ "wgrffmtfilter", RTFControlType::DESTINATION, RTFKeyword::WGRFFMTFILTER, 0 },
{ "widctlpar", RTFControlType::FLAG, RTFKeyword::WIDCTLPAR, 0 },
{ "widowctrl", RTFControlType::FLAG, RTFKeyword::WIDOWCTRL, 0 },
{ "windowcaption", RTFControlType::DESTINATION, RTFKeyword::WINDOWCAPTION, 0 },
{ "wmetafile", RTFControlType::VALUE, RTFKeyword::WMETAFILE, 1 },
{ "wpeqn", RTFControlType::FLAG, RTFKeyword::WPEQN, 0 },
{ "wpjst", RTFControlType::FLAG, RTFKeyword::WPJST, 0 },
{ "wpsp", RTFControlType::FLAG, RTFKeyword::WPSP, 0 },
{ "wraparound", RTFControlType::FLAG, RTFKeyword::WRAPAROUND, 0 },
{ "wrapdefault", RTFControlType::FLAG, RTFKeyword::WRAPDEFAULT, 0 },
{ "wrapthrough", RTFControlType::FLAG, RTFKeyword::WRAPTHROUGH, 0 },
{ "wraptight", RTFControlType::FLAG, RTFKeyword::WRAPTIGHT, 0 },
{ "wraptrsp", RTFControlType::FLAG, RTFKeyword::WRAPTRSP, 0 },
{ "writereservation", RTFControlType::DESTINATION, RTFKeyword::WRITERESERVATION, 0 },
{ "writereservhash", RTFControlType::DESTINATION, RTFKeyword::WRITERESERVHASH, 0 },
{ "wrppunct", RTFControlType::FLAG, RTFKeyword::WRPPUNCT, 0 },
{ "xe", RTFControlType::DESTINATION, RTFKeyword::XE, 0 },
{ "xef", RTFControlType::VALUE, RTFKeyword::XEF, 0 },
{ "xform", RTFControlType::DESTINATION, RTFKeyword::XFORM, 0 },
{ "xmlattr", RTFControlType::FLAG, RTFKeyword::XMLATTR, 0 },
{ "xmlattrname", RTFControlType::DESTINATION, RTFKeyword::XMLATTRNAME, 0 },
{ "xmlattrns", RTFControlType::VALUE, RTFKeyword::XMLATTRNS, 0 },
{ "xmlattrvalue", RTFControlType::DESTINATION, RTFKeyword::XMLATTRVALUE, 0 },
{ "xmlclose", RTFControlType::DESTINATION, RTFKeyword::XMLCLOSE, 0 },
{ "xmlname", RTFControlType::DESTINATION, RTFKeyword::XMLNAME, 0 },
{ "xmlns", RTFControlType::VALUE, RTFKeyword::XMLNS, 0 },
{ "xmlnstbl", RTFControlType::DESTINATION, RTFKeyword::XMLNSTBL, 0 },
{ "xmlopen", RTFControlType::DESTINATION, RTFKeyword::XMLOPEN, 0 },
{ "xmlsdttcell", RTFControlType::FLAG, RTFKeyword::XMLSDTTCELL, 0 },
{ "xmlsdttpara", RTFControlType::FLAG, RTFKeyword::XMLSDTTPARA, 0 },
{ "xmlsdttregular", RTFControlType::FLAG, RTFKeyword::XMLSDTTREGULAR, 0 },
{ "xmlsdttrow", RTFControlType::FLAG, RTFKeyword::XMLSDTTROW, 0 },
{ "xmlsdttunknown", RTFControlType::FLAG, RTFKeyword::XMLSDTTUNKNOWN, 0 },
{ "yr", RTFControlType::VALUE, RTFKeyword::YR, 0 },
{ "yts", RTFControlType::VALUE, RTFKeyword::YTS, 0 },
{ "yxe", RTFControlType::FLAG, RTFKeyword::YXE, 0 },
{ "zwbo", RTFControlType::SYMBOL, RTFKeyword::ZWBO, 0 },
{ "zwj", RTFControlType::SYMBOL, RTFKeyword::ZWJ, 0 },
{ "zwnbo", RTFControlType::SYMBOL, RTFKeyword::ZWNBO, 0 },
{ "zwnj", RTFControlType::SYMBOL, RTFKeyword::ZWNJ, 0 },
{ "flymaincnt", RTFControlType::DESTINATION, RTFKeyword::FLYMAINCNT, 0 },
{ "flyvert", RTFControlType::VALUE, RTFKeyword::FLYVERT, 0 },
{ "flyhorz", RTFControlType::VALUE, RTFKeyword::FLYHORZ, 0 },
{ "flyanchor", RTFControlType::VALUE, RTFKeyword::FLYANCHOR, 0 },
};
int nRTFControlWords = SAL_N_ELEMENTS(aRTFControlWords);
const int nRTFControlWords = SAL_N_ELEMENTS(aRTFControlWords);
RTFMathSymbol const aRTFMathControlWords[] = {
// eKeyword nToken eDestination
{ RTF_MOMATH, M_TOKEN(oMath), Destination::MOMATH },
{ RTF_MF, M_TOKEN(f), Destination::MF },
{ RTF_MFPR, M_TOKEN(fPr), Destination::MFPR },
{ RTF_MCTRLPR, M_TOKEN(ctrlPr), Destination::MCTRLPR },
{ RTF_MNUM, M_TOKEN(num), Destination::MNUM },
{ RTF_MDEN, M_TOKEN(den), Destination::MDEN },
{ RTF_MACC, M_TOKEN(acc), Destination::MACC },
{ RTF_MACCPR, M_TOKEN(accPr), Destination::MACCPR },
{ RTF_MBAR, M_TOKEN(bar), Destination::MBAR },
{ RTF_MBARPR, M_TOKEN(barPr), Destination::MBARPR },
{ RTF_ME, M_TOKEN(e), Destination::ME },
{ RTF_MD, M_TOKEN(d), Destination::MD },
{ RTF_MDPR, M_TOKEN(dPr), Destination::MDPR },
{ RTF_MFUNC, M_TOKEN(func), Destination::MFUNC },
{ RTF_MFUNCPR, M_TOKEN(funcPr), Destination::MFUNCPR },
{ RTF_MFNAME, M_TOKEN(fName), Destination::MFNAME },
{ RTF_MLIMLOW, M_TOKEN(limLow), Destination::MLIMLOW },
{ RTF_MLIMLOWPR, M_TOKEN(limLowPr), Destination::MLIMLOWPR },
{ RTF_MLIM, M_TOKEN(lim), Destination::MLIM },
{ RTF_MM, M_TOKEN(m), Destination::MM },
{ RTF_MMPR, M_TOKEN(mPr), Destination::MMPR },
{ RTF_MMR, M_TOKEN(mr), Destination::MMR },
{ RTF_MNARY, M_TOKEN(nary), Destination::MNARY },
{ RTF_MNARYPR, M_TOKEN(naryPr), Destination::MNARYPR },
{ RTF_MSUB, M_TOKEN(sub), Destination::MSUB },
{ RTF_MSUP, M_TOKEN(sup), Destination::MSUP },
{ RTF_MLIMUPP, M_TOKEN(limUpp), Destination::MLIMUPP },
{ RTF_MLIMUPPPR, M_TOKEN(limUppPr), Destination::MLIMUPPPR },
{ RTF_MGROUPCHR, M_TOKEN(groupChr), Destination::MGROUPCHR },
{ RTF_MGROUPCHRPR, M_TOKEN(groupChrPr), Destination::MGROUPCHRPR },
{ RTF_MBORDERBOX, M_TOKEN(borderBox), Destination::MBORDERBOX },
{ RTF_MBORDERBOXPR, M_TOKEN(borderBoxPr), Destination::MBORDERBOXPR },
{ RTF_MRAD, M_TOKEN(rad), Destination::MRAD },
{ RTF_MRADPR, M_TOKEN(radPr), Destination::MRADPR },
{ RTF_MDEG, M_TOKEN(deg), Destination::MDEG },
{ RTF_MSSUB, M_TOKEN(sSub), Destination::MSSUB },
{ RTF_MSSUBPR, M_TOKEN(sSubPr), Destination::MSSUBPR },
{ RTF_MSSUP, M_TOKEN(sSup), Destination::MSSUP },
{ RTF_MSSUPPR, M_TOKEN(sSupPr), Destination::MSSUPPR },
{ RTF_MSSUBSUP, M_TOKEN(sSubSup), Destination::MSSUBSUP },
{ RTF_MSSUBSUPPR, M_TOKEN(sSubSupPr), Destination::MSSUBSUPPR },
{ RTF_MSPRE, M_TOKEN(sPre), Destination::MSPRE },
{ RTF_MSPREPR, M_TOKEN(sPrePr), Destination::MSPREPR },
{ RTF_MBOX, M_TOKEN(box), Destination::MBOX },
{ RTF_MEQARR, M_TOKEN(eqArr), Destination::MEQARR },
{ RTFKeyword::MOMATH, M_TOKEN(oMath), Destination::MOMATH },
{ RTFKeyword::MF, M_TOKEN(f), Destination::MF },
{ RTFKeyword::MFPR, M_TOKEN(fPr), Destination::MFPR },
{ RTFKeyword::MCTRLPR, M_TOKEN(ctrlPr), Destination::MCTRLPR },
{ RTFKeyword::MNUM, M_TOKEN(num), Destination::MNUM },
{ RTFKeyword::MDEN, M_TOKEN(den), Destination::MDEN },
{ RTFKeyword::MACC, M_TOKEN(acc), Destination::MACC },
{ RTFKeyword::MACCPR, M_TOKEN(accPr), Destination::MACCPR },
{ RTFKeyword::MBAR, M_TOKEN(bar), Destination::MBAR },
{ RTFKeyword::MBARPR, M_TOKEN(barPr), Destination::MBARPR },
{ RTFKeyword::ME, M_TOKEN(e), Destination::ME },
{ RTFKeyword::MD, M_TOKEN(d), Destination::MD },
{ RTFKeyword::MDPR, M_TOKEN(dPr), Destination::MDPR },
{ RTFKeyword::MFUNC, M_TOKEN(func), Destination::MFUNC },
{ RTFKeyword::MFUNCPR, M_TOKEN(funcPr), Destination::MFUNCPR },
{ RTFKeyword::MFNAME, M_TOKEN(fName), Destination::MFNAME },
{ RTFKeyword::MLIMLOW, M_TOKEN(limLow), Destination::MLIMLOW },
{ RTFKeyword::MLIMLOWPR, M_TOKEN(limLowPr), Destination::MLIMLOWPR },
{ RTFKeyword::MLIM, M_TOKEN(lim), Destination::MLIM },
{ RTFKeyword::MM, M_TOKEN(m), Destination::MM },
{ RTFKeyword::MMPR, M_TOKEN(mPr), Destination::MMPR },
{ RTFKeyword::MMR, M_TOKEN(mr), Destination::MMR },
{ RTFKeyword::MNARY, M_TOKEN(nary), Destination::MNARY },
{ RTFKeyword::MNARYPR, M_TOKEN(naryPr), Destination::MNARYPR },
{ RTFKeyword::MSUB, M_TOKEN(sub), Destination::MSUB },
{ RTFKeyword::MSUP, M_TOKEN(sup), Destination::MSUP },
{ RTFKeyword::MLIMUPP, M_TOKEN(limUpp), Destination::MLIMUPP },
{ RTFKeyword::MLIMUPPPR, M_TOKEN(limUppPr), Destination::MLIMUPPPR },
{ RTFKeyword::MGROUPCHR, M_TOKEN(groupChr), Destination::MGROUPCHR },
{ RTFKeyword::MGROUPCHRPR, M_TOKEN(groupChrPr), Destination::MGROUPCHRPR },
{ RTFKeyword::MBORDERBOX, M_TOKEN(borderBox), Destination::MBORDERBOX },
{ RTFKeyword::MBORDERBOXPR, M_TOKEN(borderBoxPr), Destination::MBORDERBOXPR },
{ RTFKeyword::MRAD, M_TOKEN(rad), Destination::MRAD },
{ RTFKeyword::MRADPR, M_TOKEN(radPr), Destination::MRADPR },
{ RTFKeyword::MDEG, M_TOKEN(deg), Destination::MDEG },
{ RTFKeyword::MSSUB, M_TOKEN(sSub), Destination::MSSUB },
{ RTFKeyword::MSSUBPR, M_TOKEN(sSubPr), Destination::MSSUBPR },
{ RTFKeyword::MSSUP, M_TOKEN(sSup), Destination::MSSUP },
{ RTFKeyword::MSSUPPR, M_TOKEN(sSupPr), Destination::MSSUPPR },
{ RTFKeyword::MSSUBSUP, M_TOKEN(sSubSup), Destination::MSSUBSUP },
{ RTFKeyword::MSSUBSUPPR, M_TOKEN(sSubSupPr), Destination::MSSUBSUPPR },
{ RTFKeyword::MSPRE, M_TOKEN(sPre), Destination::MSPRE },
{ RTFKeyword::MSPREPR, M_TOKEN(sPrePr), Destination::MSPREPR },
{ RTFKeyword::MBOX, M_TOKEN(box), Destination::MBOX },
{ RTFKeyword::MEQARR, M_TOKEN(eqArr), Destination::MEQARR },
};
int nRTFMathControlWords = SAL_N_ELEMENTS(aRTFMathControlWords);
const int nRTFMathControlWords = SAL_N_ELEMENTS(aRTFMathControlWords);
bool RTFMathSymbol::operator<(const RTFMathSymbol& rOther) const
{
diff --git a/writerfilter/source/rtftok/rtfcontrolwords.hxx b/writerfilter/source/rtftok/rtfcontrolwords.hxx
index e0553b2..e79f4f3 100644
--- a/writerfilter/source/rtftok/rtfcontrolwords.hxx
+++ b/writerfilter/source/rtftok/rtfcontrolwords.hxx
@@ -158,1850 +158,1848 @@ enum class Destination
GENERATOR,
};
enum RTFKeyword
enum class RTFKeyword
{
RTF_invalid = -1,
RTF_HEXCHAR,
RTF_OPTHYPH,
RTF_IGNORE,
RTF_SUBENTRY,
RTF_BACKSLASH,
RTF_NOBRKHYPH,
RTF_LBRACE,
RTF_FORMULA,
RTF_RBRACE,
RTF_NOBREAK,
RTF_AB,
RTF_ABSH,
RTF_ABSLOCK,
RTF_ABSNOOVRLP,
RTF_ABSW,
RTF_ACAPS,
RTF_ACCCIRCLE,
RTF_ACCCOMMA,
RTF_ACCDOT,
RTF_ACCNONE,
RTF_ACCUNDERDOT,
RTF_ACF,
RTF_ADEFF,
RTF_ADDITIVE,
RTF_ADEFLANG,
RTF_ADJUSTRIGHT,
RTF_ADN,
RTF_AENDDOC,
RTF_AENDNOTES,
RTF_AEXPND,
RTF_AF,
RTF_AFELEV,
RTF_AFS,
RTF_AFTNBJ,
RTF_AFTNCN,
RTF_AFTNNALC,
RTF_AFTNNAR,
RTF_AFTNNAUC,
RTF_AFTNNCHI,
RTF_AFTNNCHOSUNG,
RTF_AFTNNCNUM,
RTF_AFTNNDBAR,
RTF_AFTNNDBNUM,
RTF_AFTNNDBNUMD,
RTF_AFTNNDBNUMK,
RTF_AFTNNDBNUMT,
RTF_AFTNNGANADA,
RTF_AFTNNGBNUM,
RTF_AFTNNGBNUMD,
RTF_AFTNNGBNUMK,
RTF_AFTNNGBNUML,
RTF_AFTNNRLC,
RTF_AFTNNRUC,
RTF_AFTNNZODIAC,
RTF_AFTNNZODIACD,
RTF_AFTNNZODIACL,
RTF_AFTNRESTART,
RTF_AFTNRSTCONT,
RTF_AFTNSEP,
RTF_AFTNSEPC,
RTF_AFTNSTART,
RTF_AFTNTJ,
RTF_AI,
RTF_ALANG,
RTF_ALLOWFIELDENDSEL,
RTF_ALLPROT,
RTF_ALNTBLIND,
RTF_ALT,
RTF_ANIMTEXT,
RTF_ANNOTATION,
RTF_ANNOTPROT,
RTF_ANSI,
RTF_ANSICPG,
RTF_AOUTL,
RTF_APPLYBRKRULES,
RTF_ASCAPS,
RTF_ASHAD,
RTF_ASIANBRKRULE,
RTF_ASPALPHA,
RTF_ASPNUM,
RTF_ASTRIKE,
RTF_ATNAUTHOR,
RTF_ATNDATE,
RTF_ATNICN,
RTF_ATNID,
RTF_ATNPARENT,
RTF_ATNREF,
RTF_ATNTIME,
RTF_ATRFEND,
RTF_ATRFSTART,
RTF_AUL,
RTF_AULD,
RTF_AULDB,
RTF_AULNONE,
RTF_AULW,
RTF_AUP,
RTF_AUTHOR,
RTF_AUTOFMTOVERRIDE,
RTF_B,
RTF_BACKGROUND,
RTF_BDBFHDR,
RTF_BDRRLSWSIX,
RTF_BGBDIAG,
RTF_BGCROSS,
RTF_BGDCROSS,
RTF_BGDKBDIAG,
RTF_BGDKCROSS,
RTF_BGDKDCROSS,
RTF_BGDKFDIAG,
RTF_BGDKHORIZ,
RTF_BGDKVERT,
RTF_BGFDIAG,
RTF_BGHORIZ,
RTF_BGVERT,
RTF_BIN,
RTF_BINFSXN,
RTF_BINSXN,
RTF_BKMKCOLF,
RTF_BKMKCOLL,
RTF_BKMKEND,
RTF_BKMKPUB,
RTF_BKMKSTART,
RTF_BLIPTAG,
RTF_BLIPUID,
RTF_BLIPUPI,
RTF_BLUE,
RTF_BOOKFOLD,
RTF_BOOKFOLDREV,
RTF_BOOKFOLDSHEETS,
RTF_BOX,
RTF_BRDRART,
RTF_BRDRB,
RTF_BRDRBAR,
RTF_BRDRBTW,
RTF_BRDRCF,
RTF_BRDRDASH,
RTF_BRDRDASHD,
RTF_BRDRDASHDD,
RTF_BRDRDASHDOTSTR,
RTF_BRDRDASHSM,
RTF_BRDRDB,
RTF_BRDRDOT,
RTF_BRDREMBOSS,
RTF_BRDRENGRAVE,
RTF_BRDRFRAME,
RTF_BRDRHAIR,
RTF_BRDRINSET,
RTF_BRDRL,
RTF_BRDRNIL,
RTF_BRDRNONE,
RTF_BRDROUTSET,
RTF_BRDRR,
RTF_BRDRS,
RTF_BRDRSH,
RTF_BRDRT,
RTF_BRDRTBL,
RTF_BRDRTH,
RTF_BRDRTHTNLG,
RTF_BRDRTHTNMG,
RTF_BRDRTHTNSG,
RTF_BRDRTNTHLG,
RTF_BRDRTNTHMG,
RTF_BRDRTNTHSG,
RTF_BRDRTNTHTNLG,
RTF_BRDRTNTHTNMG,
RTF_BRDRTNTHTNSG,
RTF_BRDRTRIPLE,
RTF_BRDRW,
RTF_BRDRWAVY,
RTF_BRDRWAVYDB,
RTF_BRKFRM,
RTF_BRSP,
RTF_BULLET,
RTF_BUPTIM,
RTF_BXE,
RTF_CACCENTFIVE,
RTF_CACCENTFOUR,
RTF_CACCENTONE,
RTF_CACCENTSIX,
RTF_CACCENTTHREE,
RTF_CACCENTTWO,
RTF_CACHEDCOLBAL,
RTF_CAPS,
RTF_CATEGORY,
RTF_CB,
RTF_CBACKGROUNDONE,
RTF_CBACKGROUNDTWO,
RTF_CBPAT,
RTF_CCHS,
RTF_CELL,
RTF_CELLX,
RTF_CF,
RTF_CFOLLOWEDHYPERLINK,
RTF_CFPAT,
RTF_CGRID,
RTF_CHARRSID,
RTF_CHARSCALEX,
RTF_CHATN,
RTF_CHBGBDIAG,
RTF_CHBGCROSS,
RTF_CHBGDCROSS,
RTF_CHBGDKBDIAG,
RTF_CHBGDKCROSS,
RTF_CHBGDKDCROSS,
RTF_CHBGDKFDIAG,
RTF_CHBGDKHORIZ,
RTF_CHBGDKVERT,
RTF_CHBGFDIAG,
RTF_CHBGHORIZ,
RTF_CHBGVERT,
RTF_CHBRDR,
RTF_CHCBPAT,
RTF_CHCFPAT,
RTF_CHDATE,
RTF_CHDPA,
RTF_CHDPL,
RTF_CHFTN,
RTF_CHFTNSEP,
RTF_CHFTNSEPC,
RTF_CHPGN,
RTF_CHHRES,
RTF_CHSHDNG,
RTF_CHTIME,
RTF_CHYPERLINK,
RTF_CLBGBDIAG,
RTF_CLBGCROSS,
RTF_CLBGDCROSS,
RTF_CLBGDKBDIAG,
RTF_CLBGDKCROSS,
RTF_CLBGDKDCROSS,
RTF_CLBGDKFDIAG,
RTF_CLBGDKHOR,
RTF_CLBGDKVERT,
RTF_CLBGFDIAG,
RTF_CLBGHORIZ,
RTF_CLBGVERT,
RTF_CLBRDRB,
RTF_CLBRDRL,
RTF_CLBRDRR,
RTF_CLBRDRT,
RTF_CLCBPAT,
RTF_CLCBPATRAW,
RTF_CLCFPAT,
RTF_CLCFPATRAW,
RTF_CLDEL,
RTF_CLDELAUTH,
RTF_CLDELDTTM,
RTF_CLDGLL,
RTF_CLDGLU,
RTF_CLFITTEXT,
RTF_CLFTSWIDTH,
RTF_CLHIDEMARK,
RTF_CLINS,
RTF_CLINSAUTH,
RTF_CLINSDTTM,
RTF_CLMGF,
RTF_CLMRG,
RTF_CLMRGD,
RTF_CLMRGDAUTH,
RTF_CLMRGDDTTM,
RTF_CLMRGDR,
RTF_CLNOWRAP,
RTF_CLPADB,
RTF_CLPADFB,
RTF_CLPADFL,
RTF_CLPADFR,
RTF_CLPADFT,
RTF_CLPADL,
RTF_CLPADR,
RTF_CLPADT,
RTF_CLSPB,
RTF_CLSPFB,
RTF_CLSPFL,
RTF_CLSPFR,
RTF_CLSPFT,
RTF_CLSPL,
RTF_CLSPR,
RTF_CLSPT,
RTF_CLSHDNG,
RTF_CLSHDNGRAW,
RTF_CLSHDRAWNIL,
RTF_CLSPLIT,
RTF_CLSPLITR,
RTF_CLTXBTLR,
RTF_CLTXLRTB,
RTF_CLTXLRTBV,
RTF_CLTXTBRL,
RTF_CLTXTBRLV,
RTF_CLVERTALB,
RTF_CLVERTALC,
RTF_CLVERTALT,
RTF_CLVMGF,
RTF_CLVMRG,
RTF_CLWWIDTH,
RTF_CMAINDARKONE,
RTF_CMAINDARKTWO,
RTF_CMAINLIGHTONE,
RTF_CMAINLIGHTTWO,
RTF_COLLAPSED,
RTF_COLNO,
RTF_COLORSCHEMEMAPPING,
RTF_COLORTBL,
RTF_COLS,
RTF_COLSR,
RTF_COLSX,
RTF_COLUMN,
RTF_COLW,
RTF_COMMENT,
RTF_COMPANY,
RTF_CONTEXTUALSPACE,
RTF_CPG,
RTF_CRAUTH,
RTF_CRDATE,
RTF_CREATIM,
RTF_CS,
RTF_CSHADE,
RTF_CTEXTONE,
RTF_CTEXTTWO,
RTF_CTINT,
RTF_CTRL,
RTF_CTS,
RTF_CUFI,
RTF_CULI,
RTF_CURI,
RTF_CVMME,
RTF_DATAFIELD,
RTF_DATASTORE,
RTF_DATE,
RTF_DBCH,
RTF_DEFCHP,
RTF_DEFF,
RTF_DEFFORMAT,
RTF_DEFLANG,
RTF_DEFLANGFE,
RTF_DEFPAP,
RTF_DEFSHP,
RTF_DEFTAB,
RTF_DELETED,
RTF_DELRSID,
RTF_DFRAUTH,
RTF_DFRDATE,
RTF_DFRMTXTX,
RTF_DFRMTXTY,
RTF_DFRSTART,
RTF_DFRSTOP,
RTF_DFRXST,
RTF_DGHORIGIN,
RTF_DGHSHOW,
RTF_DGHSPACE,
RTF_DGMARGIN,
RTF_DGSNAP,
RTF_DGVORIGIN,
RTF_DGVSHOW,
RTF_DGVSPACE,
RTF_DIBITMAP,
RTF_DISABLED,
RTF_DN,
RTF_DNTBLNSBDB,
RTF_DO,
RTF_DOBXCOLUMN,
RTF_DOBXMARGIN,
RTF_DOBXPAGE,
RTF_DOBYMARGIN,
RTF_DOBYPAGE,
RTF_DOBYPARA,
RTF_DOCCOMM,
RTF_DOCTEMP,
RTF_DOCTYPE,
RTF_DOCVAR,
RTF_DODHGT,
RTF_DOLOCK,
RTF_DONOTEMBEDLINGDATA,
RTF_DONOTEMBEDSYSFONT,
RTF_DONOTSHOWCOMMENTS,
RTF_DONOTSHOWINSDEL,
RTF_DONOTSHOWMARKUP,
RTF_DONOTSHOWPROPS,
RTF_DPAENDHOL,
RTF_DPAENDL,
RTF_DPAENDSOL,
RTF_DPAENDW,
RTF_DPARC,
RTF_DPARCFLIPX,
RTF_DPARCFLIPY,
RTF_DPASTARTHOL,
RTF_DPASTARTL,
RTF_DPASTARTSOL,
RTF_DPASTARTW,
RTF_DPCALLOUT,
RTF_DPCOA,
RTF_DPCOACCENT,
RTF_DPCOBESTFIT,
RTF_DPCOBORDER,
RTF_DPCODABS,
RTF_DPCODBOTTOM,
RTF_DPCODCENTER,
RTF_DPCODESCENT,
RTF_DPCODTOP,
RTF_DPCOLENGTH,
RTF_DPCOMINUSX,
RTF_DPCOMINUSY,
RTF_DPCOOFFSET,
RTF_DPCOSMARTA,
RTF_DPCOTDOUBLE,
RTF_DPCOTRIGHT,
RTF_DPCOTSINGLE,
RTF_DPCOTTRIPLE,
RTF_DPCOUNT,
RTF_DPELLIPSE,
RTF_DPENDGROUP,
RTF_DPFILLBGCB,
RTF_DPFILLBGCG,
RTF_DPFILLBGCR,
RTF_DPFILLBGGRAY,
RTF_DPFILLBGPAL,
RTF_DPFILLFGCB,
RTF_DPFILLFGCG,
RTF_DPFILLFGCR,
RTF_DPFILLFGGRAY,
RTF_DPFILLFGPAL,
RTF_DPFILLPAT,
RTF_DPGROUP,
RTF_DPLINE,
RTF_DPLINECOB,
RTF_DPLINECOG,
RTF_DPLINECOR,
RTF_DPLINEDADO,
RTF_DPLINEDADODO,
RTF_DPLINEDASH,
RTF_DPLINEDOT,
RTF_DPLINEGRAY,
RTF_DPLINEHOLLOW,
RTF_DPLINEPAL,
RTF_DPLINESOLID,
RTF_DPLINEW,
RTF_DPPOLYCOUNT,
RTF_DPPOLYGON,
RTF_DPPOLYLINE,
RTF_DPPTX,
RTF_DPPTY,
RTF_DPRECT,
RTF_DPROUNDR,
RTF_DPSHADOW,
RTF_DPSHADX,
RTF_DPSHADY,
RTF_DPTXBTLR,
RTF_DPTXBX,
RTF_DPTXBXMAR,
RTF_DPTXBXTEXT,
RTF_DPTXLRTB,
RTF_DPTXLRTBV,
RTF_DPTXTBRL,
RTF_DPTXTBRLV,
RTF_DPX,
RTF_DPXSIZE,
RTF_DPY,
RTF_DPYSIZE,
RTF_DROPCAPLI,
RTF_DROPCAPT,
RTF_DS,
RTF_DXFRTEXT,
RTF_DY,
RTF_EBCEND,
RTF_EBCSTART,
RTF_EDMINS,
RTF_EMBO,
RTF_EMDASH,
RTF_EMFBLIP,
RTF_EMSPACE,
RTF_ENDASH,
RTF_ENDDOC,
RTF_ENDNHERE,
RTF_ENDNOTES,
RTF_ENFORCEPROT,
RTF_ENSPACE,
RTF_EXPND,
RTF_EXPNDTW,
RTF_EXPSHRTN,
RTF_F,
RTF_FAAUTO,
RTF_FACENTER,
RTF_FACINGP,
RTF_FACTOIDNAME,
RTF_FAFIXED,
RTF_FAHANG,
RTF_FALT,
RTF_FAROMAN,
RTF_FAVAR,
RTF_FBIAS,
RTF_FBIDI,
RTF_FBIDIS,
RTF_FBIMAJOR,
RTF_FBIMINOR,
RTF_FCHARS,
RTF_FCHARSET,
RTF_FCS,
RTF_FDBMAJOR,
RTF_FDBMINOR,
RTF_FDECOR,
RTF_FELNBRELEV,
RTF_FET,
RTF_FETCH,
RTF_FFDEFRES,
RTF_FFDEFTEXT,
RTF_FFENTRYMCR,
RTF_FFEXITMCR,
RTF_FFFORMAT,
RTF_FFHASLISTBOX,
RTF_FFHELPTEXT,
RTF_FFHPS,
RTF_FFL,
RTF_FFMAXLEN,
RTF_FFNAME,
RTF_FFOWNHELP,
RTF_FFOWNSTAT,
RTF_FFPROT,
RTF_FFRECALC,
RTF_FFRES,
RTF_FFSIZE,
RTF_FFSTATTEXT,
RTF_FFTYPE,
RTF_FFTYPETXT,
RTF_FHIMAJOR,
RTF_FHIMINOR,
RTF_FI,
RTF_FID,
RTF_FIELD,
RTF_FILE,
RTF_FILETBL,
RTF_FITTEXT,
RTF_FJGOTHIC,
RTF_FJMINCHOU,
RTF_FLDALT,
RTF_FLDDIRTY,
RTF_FLDEDIT,
RTF_FLDINST,
RTF_FLDLOCK,
RTF_FLDPRIV,
RTF_FLDRSLT,
RTF_FLDTYPE,
RTF_FLOMAJOR,
RTF_FLOMINOR,
RTF_FMODERN,
RTF_FN,
RTF_FNAME,
RTF_FNETWORK,
RTF_FNIL,
RTF_FNONFILESYS,
RTF_FONTEMB,
RTF_FONTFILE,
RTF_FONTTBL,
RTF_FOOTER,
RTF_FOOTERF,
RTF_FOOTERL,
RTF_FOOTERR,
RTF_FOOTERY,
RTF_FOOTNOTE,
RTF_FORCEUPGRADE,
RTF_FORMDISP,
RTF_FORMFIELD,
RTF_FORMPROT,
RTF_FORMSHADE,
RTF_FOSNUM,
RTF_FPRQ,
RTF_FRACWIDTH,
RTF_FRELATIVE,
RTF_FRMTXBTLR,
RTF_FRMTXLRTB,
RTF_FRMTXLRTBV,
RTF_FRMTXTBRL,
RTF_FRMTXTBRLV,
RTF_FROMAN,
RTF_FROMHTML,
RTF_FROMTEXT,
RTF_FS,
RTF_FSCRIPT,
RTF_FSWISS,
RTF_FTECH,
RTF_FTNALT,
RTF_FTNBJ,
RTF_FTNCN,
RTF_FTNIL,
RTF_FTNLYTWNINE,
RTF_FTNNALC,
RTF_FTNNAR,
RTF_FTNNAUC,
RTF_FTNNCHI,
RTF_FTNNCHOSUNG,
RTF_FTNNCNUM,
RTF_FTNNDBAR,
RTF_FTNNDBNUM,
RTF_FTNNDBNUMD,
RTF_FTNNDBNUMK,
RTF_FTNNDBNUMT,
RTF_FTNNGANADA,
RTF_FTNNGBNUM,
RTF_FTNNGBNUMD,
RTF_FTNNGBNUMK,
RTF_FTNNGBNUML,
RTF_FTNNRLC,
RTF_FTNNRUC,
RTF_FTNNZODIAC,
RTF_FTNNZODIACD,
RTF_FTNNZODIACL,
RTF_FTNRESTART,
RTF_FTNRSTCONT,
RTF_FTNRSTPG,
RTF_FTNSEP,
RTF_FTNSEPC,
RTF_FTNSTART,
RTF_FTNTJ,
RTF_FTTRUETYPE,
RTF_FVALIDDOS,
RTF_FVALIDHPFS,
RTF_FVALIDMAC,
RTF_FVALIDNTFS,
RTF_G,
RTF_GCW,
RTF_GENERATOR,
RTF_GREEN,
RTF_GRFDOCEVENTS,
RTF_GRIDTBL,
RTF_GUTTER,
RTF_GUTTERPRL,
RTF_GUTTERSXN,
RTF_HEADER,
RTF_HEADERF,
RTF_HEADERL,
RTF_HEADERR,
RTF_HEADERY,
RTF_HICH,
RTF_HIGHLIGHT,
RTF_HL,
RTF_HLFR,
RTF_HLINKBASE,
RTF_HLLOC,
RTF_HLSRC,
RTF_HORZDOC,
RTF_HORZSECT,
RTF_HORZVERT,
RTF_HR,
RTF_HRES,
RTF_HRULE,
RTF_HSV,
RTF_HTMAUTSP,
RTF_HTMLBASE,
RTF_HTMLRTF,
RTF_HTMLTAG,
RTF_HWELEV,
RTF_HYPHAUTO,
RTF_HYPHCAPS,
RTF_HYPHCONSEC,
RTF_HYPHHOTZ,
RTF_HYPHPAR,
RTF_I,
RTF_ID,
RTF_IGNOREMIXEDCONTENT,
RTF_ILFOMACATCLNUP,
RTF_ILVL,
RTF_IMPR,
RTF_INDMIRROR,
RTF_INDRLSWELEVEN,
RTF_INFO,
RTF_INSRSID,
RTF_INTBL,
RTF_IPGP,
RTF_IROWBAND,
RTF_IROW,
RTF_ITAP,
RTF_IXE,
RTF_JCOMPRESS,
RTF_JEXPAND,
RTF_JIS,
RTF_JPEGBLIP,
RTF_JSKSU,
RTF_KEEP,
RTF_KEEPN,
RTF_KERNING,
RTF_KEYCODE,
RTF_KEYWORDS,
RTF_KRNPRSNET,
RTF_KSULANG,
RTF_JCLISTTAB,
RTF_LANDSCAPE,
RTF_LANG,
RTF_LANGFE,
RTF_LANGFENP,
RTF_LANGNP,
RTF_LASTROW,
RTF_LATENTSTYLES,
RTF_LBR,
RTF_LCHARS,
RTF_LDBLQUOTE,
RTF_LEVEL,
RTF_LEVELFOLLOW,
RTF_LEVELINDENT,
RTF_LEVELJC,
RTF_LEVELJCN,
RTF_LEVELLEGAL,
RTF_LEVELNFC,
RTF_LEVELNFCN,
RTF_LEVELNORESTART,
RTF_LEVELNUMBERS,
RTF_LEVELOLD,
RTF_LEVELPICTURE,
RTF_LEVELPICTURENOSIZE,
RTF_LEVELPREV,
RTF_LEVELPREVSPACE,
RTF_LEVELSPACE,
RTF_LEVELSTARTAT,
RTF_LEVELTEMPLATEID,
RTF_LEVELTEXT,
RTF_LFOLEVEL,
RTF_LI,
RTF_LINE,
RTF_LINEBETCOL,
RTF_LINECONT,
RTF_LINEMOD,
RTF_LINEPPAGE,
RTF_LINERESTART,
RTF_LINESTART,
RTF_LINESTARTS,
RTF_LINEX,
RTF_LINKSELF,
RTF_LINKSTYLES,
RTF_LINKVAL,
RTF_LIN,
RTF_LISA,
RTF_LISB,
RTF_LIST,
RTF_LISTHYBRID,
RTF_LISTID,
RTF_LISTLEVEL,
RTF_LISTNAME,
RTF_LISTOVERRIDE,
RTF_LISTOVERRIDECOUNT,
RTF_LISTOVERRIDEFORMAT,
RTF_LISTOVERRIDESTARTAT,
RTF_LISTOVERRIDETABLE,
RTF_LISTPICTURE,
RTF_LISTRESTARTHDN,
RTF_LISTSIMPLE,
RTF_LISTSTYLEID,
RTF_LISTSTYLENAME,
RTF_LISTTABLE,
RTF_LISTTEMPLATEID,
RTF_LISTTEXT,
RTF_LNBRKRULE,
RTF_LNDSCPSXN,
RTF_LNONGRID,
RTF_LOCH,
RTF_LQUOTE,
RTF_LS,
RTF_LSDLOCKED,
RTF_LSDLOCKEDDEF,
RTF_LSDLOCKEDEXCEPT,
RTF_LSDPRIORITY,
RTF_LSDPRIORITYDEF,
RTF_LSDQFORMAT,
RTF_LSDQFORMATDEF,
RTF_LSDSEMIHIDDEN,
RTF_LSDSEMIHIDDENDEF,
RTF_LSDSTIMAX,
RTF_LSDUNHIDEUSED,
RTF_LSDUNHIDEUSEDDEF,
RTF_LTRCH,
RTF_LTRDOC,
RTF_LTRMARK,
RTF_LTRPAR,
RTF_LTRROW,
RTF_LTRSECT,
RTF_LVLTENTATIVE,
RTF_LYTCALCTBLWD,
RTF_LYTEXCTTP,
RTF_LYTPRTMET,
RTF_LYTTBLRTGR,
RTF_MAC,
RTF_MACC,
RTF_MACCPR,
RTF_MACPICT,
RTF_MAILMERGE,
RTF_MAKEBACKUP,
RTF_MALN,
RTF_MALNSCR,
RTF_MANAGER,
RTF_MARGB,
RTF_MARGBSXN,
RTF_MARGL,
RTF_MARGLSXN,
RTF_MARGMIRROR,
RTF_MARGMIRSXN,
RTF_MARGPR,
RTF_MARGR,
RTF_MARGRSXN,
RTF_MARGSZ,
RTF_MARGT,
RTF_MARGTSXN,
RTF_MBAR,
RTF_MBARPR,
RTF_MBASEJC,
RTF_MBEGCHR,
RTF_MBORDERBOX,
RTF_MBORDERBOXPR,
RTF_MBOX,
RTF_MBOXPR,
RTF_MBRK,
RTF_MBRKBIN,
RTF_MBRKBINSUB,
RTF_MCGP,
RTF_MCGPRULE,
RTF_MCHR,
RTF_MCOUNT,
RTF_MCSP,
RTF_MCTRLPR,
RTF_MD,
RTF_MDEFJC,
RTF_MDEG,
RTF_MDEGHIDE,
RTF_MDEN,
RTF_MDIFF,
RTF_MDIFFSTY,
RTF_MDISPDEF,
RTF_MDPR,
RTF_ME,
RTF_MENDCHR,
RTF_MEQARR,
RTF_MEQARRPR,
RTF_MF,
RTF_MFNAME,
RTF_MFPR,
RTF_MFUNC,
RTF_MFUNCPR,
RTF_MGROUPCHR,
RTF_MGROUPCHRPR,
RTF_MGROW,
RTF_MHIDEBOT,
RTF_MHIDELEFT,
RTF_MHIDERIGHT,
RTF_MHIDETOP,
RTF_MHTMLTAG,
RTF_MIN,
RTF_MINTERSP,
RTF_MINTLIM,
RTF_MINTRASP,
RTF_MJC,
RTF_MLIM,
RTF_MLIMLOC,
RTF_MLIMLOW,
RTF_MLIMLOWPR,
RTF_MLIMUPP,
RTF_MLIMUPPPR,
RTF_MLIT,
RTF_MLMARGIN,
RTF_MM,
RTF_MMADDFIELDNAME,
RTF_MMATH,
RTF_MMATHFONT,
RTF_MMATHPICT,
RTF_MMATHPR,
RTF_MMATTACH,
RTF_MMAXDIST,
RTF_MMBLANKLINES,
RTF_MMC,
RTF_MMCJC,
RTF_MMCONNECTSTR,
RTF_MMCONNECTSTRDATA,
RTF_MMCPR,
RTF_MMCS,
RTF_MMDATASOURCE,
RTF_MMDATATYPEACCESS,
RTF_MMDATATYPEEXCEL,
RTF_MMDATATYPEFILE,
RTF_MMDATATYPEODBC,
RTF_MMDATATYPEODSO,
RTF_MMDATATYPEQT,
RTF_MMDEFAULTSQL,
RTF_MMDESTEMAIL,
RTF_MMDESTFAX,
RTF_MMDESTNEWDOC,
RTF_MMDESTPRINTER,
RTF_MMERRORS,
RTF_MMFTTYPEADDRESS,
RTF_MMFTTYPEBARCODE,
RTF_MMFTTYPEDBCOLUMN,
RTF_MMFTTYPEMAPPED,
RTF_MMFTTYPENULL,
RTF_MMFTTYPESALUTATION,
RTF_MMHEADERSOURCE,
RTF_MMJDSOTYPE,
RTF_MMLINKTOQUERY,
RTF_MMMAILSUBJECT,
RTF_MMMAINTYPECATALOG,
RTF_MMMAINTYPEEMAIL,
RTF_MMMAINTYPEENVELOPES,
RTF_MMMAINTYPEFAX,
RTF_MMMAINTYPELABELS,
RTF_MMMAINTYPELETTERS,
RTF_MMODSO,
RTF_MMODSOACTIVE,
RTF_MMODSOCOLDELIM,
RTF_MMODSOCOLUMN,
RTF_MMODSODYNADDR,
RTF_MMODSOFHDR,
RTF_MMODSOFILTER,
RTF_MMODSOFLDMPDATA,
RTF_MMODSOFMCOLUMN,
RTF_MMODSOHASH,
RTF_MMODSOLID,
RTF_MMODSOMAPPEDNAME,
RTF_MMODSONAME,
RTF_MMODSORECIPDATA,
RTF_MMODSOSORT,
RTF_MMODSOSRC,
RTF_MMODSOTABLE,
RTF_MMODSOUDL,
RTF_MMODSOUDLDATA,
RTF_MMODSOUNIQUETAG,
RTF_MMPR,
RTF_MMQUERY,
RTF_MMR,
RTF_MMRECCUR,
RTF_MMSHOWDATA,
RTF_MNARY,
RTF_MNARYLIM,
RTF_MNARYPR,
RTF_MNOBREAK,
RTF_MNOR,
RTF_MNUM,
RTF_MO,
RTF_MOBJDIST,
RTF_MOMATH,
RTF_MOMATHPARA,
RTF_MOMATHPARAPR,
RTF_MOPEMU,
RTF_MPHANT,
RTF_MPHANTPR,
RTF_MPLCHIDE,
RTF_MPOS,
RTF_MPOSTSP,
RTF_MPRESP,
RTF_MR,
RTF_MRAD,
RTF_MRADPR,
RTF_MRMARGIN,
RTF_MRPR,
RTF_MRSP,
RTF_MRSPRULE,
RTF_MSCR,
RTF_MSEPCHR,
RTF_MSHOW,
RTF_MSHP,
RTF_MSMALLFRAC,
RTF_MSMCAP,
RTF_MSPRE,
RTF_MSPREPR,
RTF_MSSUB,
RTF_MSSUBPR,
RTF_MSSUBSUP,
RTF_MSSUBSUPPR,
RTF_MSSUP,
RTF_MSSUPPR,
RTF_MSTRIKEBLTR,
RTF_MSTRIKEH,
RTF_MSTRIKETLBR,
RTF_MSTRIKEV,
RTF_MSTY,
RTF_MSUB,
RTF_MSUBHIDE,
RTF_MSUP,
RTF_MSUPHIDE,
RTF_MTRANSP,
RTF_MTYPE,
RTF_MUSER,
RTF_MVAUTH,
RTF_MVDATE,
RTF_MVERTJC,
RTF_MVF,
RTF_MVFMF,
RTF_MVFML,
RTF_MVT,
RTF_MVTOF,
RTF_MVTOL,
RTF_MWRAPINDENT,
RTF_MWRAPRIGHT,
RTF_MZEROASC,
RTF_MZERODESC,
RTF_MZEROWID,
RTF_NESTCELL,
RTF_NESTROW,
RTF_NESTTABLEPROPS,
RTF_NEWTBLSTYRULS,
RTF_NEXTFILE,
RTF_NOAFCNSTTBL,
RTF_NOBRKWRPTBL,
RTF_NOCOLBAL,
RTF_NOCOMPATOPTIONS,
RTF_NOCWRAP,
RTF_NOCXSPTABLE,
RTF_NOEXTRASPRL,
RTF_NOFCHARS,
RTF_NOFCHARSWS,
RTF_NOFEATURETHROTTLE,
RTF_NOFPAGES,
RTF_NOFWORDS,
RTF_NOGROWAUTOFIT,
RTF_NOINDNMBRTS,
RTF_NOJKERNPUNCT,
RTF_NOLEAD,
RTF_NOLINE,
RTF_NOLNHTADJTBL,
RTF_NONESTTABLES,
RTF_NONSHPPICT,
RTF_NOOVERFLOW,
RTF_NOPROOF,
RTF_NOQFPROMOTE,
RTF_NOSECTEXPAND,
RTF_NOSNAPLINEGRID,
RTF_NOSPACEFORUL,
RTF_NOSUPERSUB,
RTF_NOTABIND,
RTF_NOTBRKCNSTFRCTBL,
RTF_NOTCVASP,
RTF_NOTVATXBX,
RTF_NOUICOMPAT,
RTF_NOULTRLSPC,
RTF_NOWIDCTLPAR,
RTF_NOWRAP,
RTF_NOWWRAP,
RTF_NOXLATTOYEN,
RTF_OBJALIAS,
RTF_OBJALIGN,
RTF_OBJATTPH,
RTF_OBJAUTLINK,
RTF_OBJCLASS,
RTF_OBJCROPB,
RTF_OBJCROPL,
RTF_OBJCROPR,
RTF_OBJCROPT,
RTF_OBJDATA,
RTF_OBJECT,
RTF_OBJEMB,
RTF_OBJH,
RTF_OBJHTML,
RTF_OBJICEMB,
RTF_OBJLINK,
RTF_OBJLOCK,
RTF_OBJNAME,
RTF_OBJOCX,
RTF_OBJPUB,
RTF_OBJSCALEX,
RTF_OBJSCALEY,
RTF_OBJSECT,
RTF_OBJSETSIZE,
RTF_OBJSUB,
RTF_OBJTIME,
RTF_OBJTRANSY,
RTF_OBJUPDATE,
RTF_OBJW,
RTF_OGUTTER,
RTF_OLDAS,
RTF_OLDCPROPS,
RTF_OLDLINEWRAP,
RTF_OLDPPROPS,
RTF_OLDSPROPS,
RTF_OLDTPROPS,
RTF_OLECLSID,
RTF_OPERATOR,
RTF_OTBLRUL,
RTF_OUTL,
RTF_OUTLINELEVEL,
RTF_OVERLAY,
RTF_PAGE,
RTF_PAGEBB,
RTF_PANOSE,
RTF_PAPERH,
RTF_PAPERW,
RTF_PAR,
RTF_PARARSID,
RTF_PARD,
RTF_PASSWORD,
RTF_PASSWORDHASH,
RTF_PC,
RTF_PCA,
RTF_PGBRDRB,
RTF_PGBRDRFOOT,
RTF_PGBRDRHEAD,
RTF_PGBRDRL,
RTF_PGBRDROPT,
RTF_PGBRDRR,
RTF_PGBRDRSNAP,
RTF_PGBRDRT,
RTF_PGHSXN,
RTF_PGNBIDIA,
RTF_PGNBIDIB,
RTF_PGNCHOSUNG,
RTF_PGNCNUM,
RTF_PGNCONT,
RTF_PGNDBNUM,
RTF_PGNDBNUMD,
RTF_PGNDBNUMK,
RTF_PGNDBNUMT,
RTF_PGNDEC,
RTF_PGNDECD,
RTF_PGNGANADA,
RTF_PGNGBNUM,
RTF_PGNGBNUMD,
RTF_PGNGBNUMK,
RTF_PGNGBNUML,
RTF_PGNHINDIA,
RTF_PGNHINDIB,
RTF_PGNHINDIC,
RTF_PGNHINDID,
RTF_PGNHN,
RTF_PGNHNSC,
RTF_PGNHNSH,
RTF_PGNHNSM,
RTF_PGNHNSN,
RTF_PGNHNSP,
RTF_PGNID,
RTF_PGNLCLTR,
RTF_PGNLCRM,
RTF_PGNRESTART,
RTF_PGNSTART,
RTF_PGNSTARTS,
RTF_PGNTHAIA,
RTF_PGNTHAIB,
RTF_PGNTHAIC,
RTF_PGNUCLTR,
RTF_PGNUCRM,
RTF_PGNVIETA,
RTF_PGNX,
RTF_PGNY,
RTF_PGNZODIAC,
RTF_PGNZODIACD,
RTF_PGNZODIACL,
RTF_PGP,
RTF_PGPTBL,
RTF_PGWSXN,
RTF_PHCOL,
RTF_PHMRG,
RTF_PHPG,
RTF_PICBMP,
RTF_PICBPP,
RTF_PICCROPB,
RTF_PICCROPL,
RTF_PICCROPR,
RTF_PICCROPT,
RTF_PICH,
RTF_PICHGOAL,
RTF_PICPROP,
RTF_PICSCALED,
RTF_PICSCALEX,
RTF_PICSCALEY,
RTF_PICT,
RTF_PICW,
RTF_PICWGOAL,
RTF_PINDTABQC,
RTF_PINDTABQL,
RTF_PINDTABQR,
RTF_PLAIN,
RTF_PMARTABQC,
RTF_PMARTABQL,
RTF_PMARTABQR,
RTF_PMMETAFILE,
RTF_PN,
RTF_PNACROSS,
RTF_PNAIU,
RTF_PNAIUD,
RTF_PNAIUEO,
RTF_PNAIUEOD,
RTF_PNB,
RTF_PNBIDIA,
RTF_PNBIDIB,
RTF_PNCAPS,
RTF_PNCARD,
RTF_PNCF,
RTF_PNCHOSUNG,
RTF_PNCNUM,
RTF_PNDBNUM,
RTF_PNDBNUMD,
RTF_PNDBNUMK,
RTF_PNDBNUML,
RTF_PNDBNUMT,
RTF_PNDEC,
RTF_PNDECD,
RTF_PNF,
RTF_PNFS,
RTF_PNGANADA,
RTF_PNGBLIP,
RTF_PNGBNUM,
RTF_PNGBNUMD,
RTF_PNGBNUMK,
RTF_PNGBNUML,
RTF_PNHANG,
RTF_PNI,
RTF_PNINDENT,
RTF_PNIROHA,
RTF_PNIROHAD,
RTF_PNLCLTR,
RTF_PNLCRM,
RTF_PNLVL,
RTF_PNLVLBLT,
RTF_PNLVLBODY,
RTF_PNLVLCONT,
RTF_PNNUMONCE,
RTF_PNORD,
RTF_PNORDT,
RTF_PNPREV,
RTF_PNQC,
RTF_PNQL,
RTF_PNQR,
RTF_PNRAUTH,
RTF_PNRDATE,
RTF_PNRESTART,
RTF_PNRNFC,
RTF_PNRNOT,
RTF_PNRPNBR,
RTF_PNRRGB,
RTF_PNRSTART,
RTF_PNRSTOP,
RTF_PNRXST,
RTF_PNSCAPS,
RTF_PNSECLVL,
RTF_PNSP,
RTF_PNSTART,
RTF_PNSTRIKE,
RTF_PNTEXT,
RTF_PNTXTA,
RTF_PNTXTB,
RTF_PNUCLTR,
RTF_PNUCRM,
RTF_PNUL,
RTF_PNULD,
RTF_PNULDASH,
RTF_PNULDASHD,
RTF_PNULDASHDD,
RTF_PNULDB,
RTF_PNULHAIR,
RTF_PNULNONE,
RTF_PNULTH,
RTF_PNULW,
RTF_PNULWAVE,
RTF_PNZODIAC,
RTF_PNZODIACD,
RTF_PNZODIACL,
RTF_POSNEGX,
RTF_POSNEGY,
RTF_POSX,
RTF_POSXC,
RTF_POSXI,
RTF_POSXL,
RTF_POSXO,
RTF_POSXR,
RTF_POSY,
RTF_POSYB,
RTF_POSYC,
RTF_POSYIL,
RTF_POSYIN,
RTF_POSYOUT,
RTF_POSYT,
RTF_PRAUTH,
RTF_PRCOLBL,
RTF_PRDATE,
RTF_PRINTDATA,
RTF_PRINTIM,
RTF_PRIVATE,
RTF_PROPNAME,
RTF_PROPTYPE,
RTF_PROTECT,
RTF_PROTEND,
RTF_PROTLEVEL,
RTF_PROTSTART,
RTF_PROTUSERTBL,
RTF_PSOVER,
RTF_PSZ,
RTF_PTABLDOT,
RTF_PTABLMDOT,
RTF_PTABLMINUS,
RTF_PTABLNONE,
RTF_PTABLUSCORE,
RTF_PUBAUTO,
RTF_PVMRG,
RTF_PVPARA,
RTF_PVPG,
RTF_PWD,
RTF_PXE,
RTF_QC,
RTF_QD,
RTF_QJ,
RTF_QK,
RTF_QL,
RTF_QMSPACE,
RTF_QR,
RTF_QT,
RTF_RAWCLBGDKBDIAG,
RTF_RAWCLBGBDIAG,
RTF_RAWCLBGCROSS,
RTF_RAWCLBGDCROSS,
RTF_RAWCLBGDKCROSS,
RTF_RAWCLBGDKDCROSS,
RTF_RAWCLBGDKFDIAG,
RTF_RAWCLBGDKHOR,
RTF_RAWCLBGDKVERT,
RTF_RAWCLBGFDIAG,
RTF_RAWCLBGHORIZ,
RTF_RAWCLBGVERT,
RTF_RDBLQUOTE,
RTF_READONLYRECOMMENDED,
RTF_READPROT,
RTF_RED,
RTF_RELYONVML,
RTF_REMDTTM,
RTF_REMPERSONALINFO,
RTF_RESULT,
RTF_REVAUTH,
RTF_REVAUTHDEL,
RTF_REVBAR,
RTF_REVDTTM,
RTF_REVDTTMDEL,
RTF_REVISED,
RTF_REVISIONS,
RTF_REVPROP,
RTF_REVPROT,
RTF_REVTBL,
RTF_REVTIM,
RTF_RI,
RTF_RIN,
RTF_ROW,
RTF_RQUOTE,
RTF_RSID,
RTF_RSIDROOT,
RTF_RSIDTBL,
RTF_RSLTBMP,
RTF_RSLTHTML,
RTF_RSLTMERGE,
RTF_RSLTPICT,
RTF_RSLTRTF,
RTF_RSLTTXT,
RTF_RTF,
RTF_RTLCH,
RTF_RTLDOC,
RTF_RTLGUTTER,
RTF_RTLMARK,
RTF_RTLPAR,
RTF_RTLROW,
RTF_RTLSECT,
RTF_RXE,
RTF_S,
RTF_SA,
RTF_SAAUTO,
RTF_SAFTNNALC,
RTF_SAFTNNAR,
RTF_SAFTNNAUC,
RTF_SAFTNNCHI,
RTF_SAFTNNCHOSUNG,
RTF_SAFTNNCNUM,
RTF_SAFTNNDBAR,
RTF_SAFTNNDBNUM,
RTF_SAFTNNDBNUMD,
RTF_SAFTNNDBNUMK,
RTF_SAFTNNDBNUMT,
RTF_SAFTNNGANADA,
RTF_SAFTNNGBNUM,
RTF_SAFTNNGBNUMD,
RTF_SAFTNNGBNUMK,
RTF_SAFTNNGBNUML,
RTF_SAFTNNRLC,
RTF_SAFTNNRUC,
RTF_SAFTNNZODIAC,
RTF_SAFTNNZODIACD,
RTF_SAFTNNZODIACL,
RTF_SAFTNRESTART,
RTF_SAFTNRSTCONT,
RTF_SAFTNSTART,
RTF_SAUTOUPD,
RTF_SAVEINVALIDXML,
RTF_SAVEPREVPICT,
RTF_SB,
RTF_SBASEDON,
RTF_SBAUTO,
RTF_SBKCOL,
RTF_SBKEVEN,
RTF_SBKNONE,
RTF_SBKODD,
RTF_SBKPAGE,
RTF_SBYS,
RTF_SCAPS,
RTF_SCOMPOSE,
RTF_SEC,
RTF_SECT,
RTF_SECTD,
RTF_SECTDEFAULTCL,
RTF_SECTEXPAND,
RTF_SECTLINEGRID,
RTF_SECTNUM,
RTF_SECTRSID,
RTF_SECTSPECIFYCL,
RTF_SECTSPECIFYGENN,
RTF_SECTSPECIFYL,
RTF_SECTUNLOCKED,
RTF_SFTNBJ,
RTF_SFTNNALC,
RTF_SFTNNAR,
RTF_SFTNNAUC,
RTF_SFTNNCHI,
RTF_SFTNNCHOSUNG,
RTF_SFTNNCNUM,
RTF_SFTNNDBAR,
RTF_SFTNNDBNUM,
RTF_SFTNNDBNUMD,
RTF_SFTNNDBNUMK,
RTF_SFTNNDBNUMT,
RTF_SFTNNGANADA,
RTF_SFTNNGBNUM,
RTF_SFTNNGBNUMD,
RTF_SFTNNGBNUMK,
RTF_SFTNNGBNUML,
RTF_SFTNNRLC,
RTF_SFTNNRUC,
RTF_SFTNNZODIAC,
RTF_SFTNNZODIACD,
RTF_SFTNNZODIACL,
RTF_SFTNRESTART,
RTF_SFTNRSTCONT,
RTF_SFTNRSTPG,
RTF_SFTNSTART,
RTF_SFTNTJ,
RTF_SHAD,
RTF_SHADING,
RTF_SHIDDEN,
RTF_SHIFT,
RTF_SHOWPLACEHOLDTEXT,
RTF_SHOWXMLERRORS,
RTF_SHP,
RTF_SHPBOTTOM,
RTF_SHPBXCOLUMN,
RTF_SHPBXIGNORE,
RTF_SHPBXMARGIN,
RTF_SHPBXPAGE,
RTF_SHPBYIGNORE,
RTF_SHPBYMARGIN,
RTF_SHPBYPAGE,
RTF_SHPBYPARA,
RTF_SHPFBLWTXT,
RTF_SHPFHDR,
RTF_SHPGRP,
RTF_SHPINST,
RTF_SHPLEFT,
RTF_SHPLID,
RTF_SHPLOCKANCHOR,
RTF_SHPPICT,
RTF_SHPRIGHT,
RTF_SHPRSLT,
RTF_SHPTOP,
RTF_SHPTXT,
RTF_SHPWRK,
RTF_SHPWR,
RTF_SHPZ,
RTF_SL,
RTF_SLINK,
RTF_SLMULT,
RTF_SLOCKED,
RTF_SN,
RTF_SNAPTOGRIDINCELL,
RTF_SNEXT,
RTF_SOFTCOL,
RTF_SOFTLHEIGHT,
RTF_SOFTLINE,
RTF_SOFTPAGE,
RTF_SP,
RTF_SPERSONAL,
RTF_SPLTPGPAR,
RTF_SPLYTWNINE,
RTF_SPRIORITY,
RTF_SPRSBSP,
RTF_SPRSLNSP,
RTF_SPRSSPBF,
RTF_SPRSTSM,
RTF_SPRSTSP,
RTF_SPV,
RTF_SQFORMAT,
RTF_SRAUTH,
RTF_SRDATE,
RTF_SREPLY,
RTF_SSEMIHIDDEN,
RTF_STATICVAL,
RTF_STEXTFLOW,
RTF_STRIKE,
RTF_STRIKED,
RTF_STSHFBI,
RTF_STSHFDBCH,
RTF_STSHFHICH,
RTF_STSHFLOCH,
RTF_STYLELOCK,
RTF_STYLELOCKBACKCOMP,
RTF_STYLELOCKENFORCED,
RTF_STYLELOCKQFSET,
RTF_STYLELOCKTHEME,
RTF_STYLESHEET,
RTF_STYLESORTMETHOD,
RTF_STYRSID,
RTF_SUB,
RTF_SUBDOCUMENT,
RTF_SUBFONTBYSIZE,
RTF_SUBJECT,
RTF_SUNHIDEUSED,
RTF_SUPER,
RTF_SV,
RTF_SVB,
RTF_SWPBDR,
RTF_TAB,
RTF_TABSNOOVRLP,
RTF_TAPRTL,
RTF_TB,
RTF_TBLIND,
RTF_TBLINDTYPE,
RTF_TBLLKBESTFIT,
RTF_TBLLKBORDER,
RTF_TBLLKCOLOR,
RTF_TBLLKFONT,
RTF_TBLLKHDRCOLS,
RTF_TBLLKHDRROWS,
RTF_TBLLKLASTCOL,
RTF_TBLLKLASTROW,
RTF_TBLLKNOCOLBAND,
RTF_TBLLKNOROWBAND,
RTF_TBLLKSHADING,
RTF_TBLRSID,
RTF_TC,
RTF_TCELLD,
RTF_TCF,
RTF_TCL,
RTF_TCN,
RTF_TDFRMTXTBOTTOM,
RTF_TDFRMTXTLEFT,
RTF_TDFRMTXTRIGHT,
RTF_TDFRMTXTTOP,
RTF_TEMPLATE,
RTF_THEMEDATA,
RTF_THEMELANG,
RTF_THEMELANGCS,
RTF_THEMELANGFE,
RTF_TIME,
RTF_TITLE,
RTF_TITLEPG,
RTF_TLDOT,
RTF_TLEQ,
RTF_TLHYPH,
RTF_TLMDOT,
RTF_TLTH,
RTF_TLUL,
RTF_TOPLINEPUNCT,
RTF_TPHCOL,
RTF_TPHMRG,
RTF_TPHPG,
RTF_TPOSNEGX,
RTF_TPOSNEGY,
RTF_TPOSXC,
RTF_TPOSXI,
RTF_TPOSXL,
RTF_TPOSX,
RTF_TPOSXO,
RTF_TPOSXR,
RTF_TPOSY,
RTF_TPOSYB,
RTF_TPOSYC,
RTF_TPOSYIL,
RTF_TPOSYIN,
RTF_TPOSYOUT,
RTF_TPOSYT,
RTF_TPVMRG,
RTF_TPVPARA,
RTF_TPVPG,
RTF_TQC,
RTF_TQDEC,
RTF_TQR,
RTF_TRACKFORMATTING,
RTF_TRACKMOVES,
RTF_TRANSMF,
RTF_TRAUTH,
RTF_TRAUTOFIT,
RTF_TRBGBDIAG,
RTF_TRBGCROSS,
RTF_TRBGDCROSS,
RTF_TRBGDKBDIAG,
RTF_TRBGDKCROSS,
RTF_TRBGDKDCROSS,
RTF_TRBGDKFDIAG,
RTF_TRBGDKHOR,
RTF_TRBGDKVERT,
RTF_TRBGFDIAG,
RTF_TRBGHORIZ,
RTF_TRBGVERT,
RTF_TRBRDRB,
RTF_TRBRDRH,
RTF_TRBRDRL,
RTF_TRBRDRR,
RTF_TRBRDRT,
RTF_TRBRDRV,
RTF_TRCBPAT,
RTF_TRCFPAT,
RTF_TRDATE,
RTF_TRFTSWIDTHA,
RTF_TRFTSWIDTHB,
RTF_TRFTSWIDTH,
RTF_TRGAPH,
RTF_TRHDR,
RTF_TRKEEP,
RTF_TRKEEPFOLLOW,
RTF_TRLEFT,
RTF_TROWD,
RTF_TRPADDB,
RTF_TRPADDFB,
RTF_TRPADDFL,
RTF_TRPADDFR,
RTF_TRPADDFT,
RTF_TRPADDL,
RTF_TRPADDR,
RTF_TRPADDT,
RTF_TRPADOB,
RTF_TRPADOFB,
RTF_TRPADOFL,
RTF_TRPADOFR,
RTF_TRPADOFT,
RTF_TRPADOL,
RTF_TRPADOR,
RTF_TRPADOT,
RTF_TRPAT,
RTF_TRQC,
RTF_TRQL,
RTF_TRQR,
RTF_TRRH,
RTF_TRSHDNG,
RTF_TRSPDB,
RTF_TRSPDFB,
RTF_TRSPDFL,
RTF_TRSPDFR,
RTF_TRSPDFT,
RTF_TRSPDL,
RTF_TRSPDR,
RTF_TRSPDT,
RTF_TRSPOB,
RTF_TRSPOFB,
RTF_TRSPOFL,
RTF_TRSPOFR,
RTF_TRSPOFT,
RTF_TRSPOL,
RTF_TRSPOR,
RTF_TRSPOT,
RTF_TRUNCATEFONTHEIGHT,
RTF_TRUNCEX,
RTF_TRWWIDTHA,
RTF_TRWWIDTHB,
RTF_TRWWIDTH,
RTF_TS,
RTF_TSBGBDIAG,
RTF_TSBGCROSS,
RTF_TSBGDCROSS,
RTF_TSBGDKBDIAG,
RTF_TSBGDKCROSS,
RTF_TSBGDKDCROSS,
RTF_TSBGDKFDIAG,
RTF_TSBGDKHOR,
RTF_TSBGDKVERT,
RTF_TSBGFDIAG,
RTF_TSBGHORIZ,
RTF_TSBGVERT,
RTF_TSBRDRB,
RTF_TSBRDRDGL,
RTF_TSBRDRDGR,
RTF_TSBRDRH,
RTF_TSBRDRL,
RTF_TSBRDRR,
RTF_TSBRDRT,
RTF_TSBRDRV,
RTF_TSCBANDHORZEVEN,
RTF_TSCBANDHORZODD,
RTF_TSCBANDSH,
RTF_TSCBANDSV,
RTF_TSCBANDVERTEVEN,
RTF_TSCBANDVERTODD,
RTF_TSCELLCBPAT,
RTF_TSCELLCFPAT,
RTF_TSCELLPADDB,
RTF_TSCELLPADDFB,
RTF_TSCELLPADDFL,
RTF_TSCELLPADDFR,
RTF_TSCELLPADDFT,
RTF_TSCELLPADDL,
RTF_TSCELLPADDR,
RTF_TSCELLPADDT,
RTF_TSCELLPCT,
RTF_TSCELLWIDTH,
RTF_TSCELLWIDTHFTS,
RTF_TSCFIRSTCOL,
RTF_TSCFIRSTROW,
RTF_TSCLASTCOL,
RTF_TSCLASTROW,
RTF_TSCNECELL,
RTF_TSCNWCELL,
RTF_TSCSECELL,
RTF_TSCSWCELL,
RTF_TSD,
RTF_TSNOWRAP,
RTF_TSROWD,
RTF_TSVERTALB,
RTF_TSVERTALC,
RTF_TSVERTALT,
RTF_TWOINONE,
RTF_TWOONONE,
RTF_TX,
RTF_TXBXTWALWAYS,
RTF_TXBXTWFIRST,
RTF_TXBXTWFIRSTLAST,
RTF_TXBXTWLAST,
RTF_TXBXTWNO,
RTF_TXE,
RTF_U,
RTF_UC,
RTF_UD,
RTF_UL,
RTF_ULC,
RTF_ULD,
RTF_ULDASH,
RTF_ULDASHD,
RTF_ULDASHDD,
RTF_ULDB,
RTF_ULHAIR,
RTF_ULHWAVE,
RTF_ULLDASH,
RTF_ULNONE,
RTF_ULTH,
RTF_ULTHD,
RTF_ULTHDASH,
RTF_ULTHDASHD,
RTF_ULTHDASHDD,
RTF_ULTHLDASH,
RTF_ULULDBWAVE,
RTF_ULW,
RTF_ULWAVE,
RTF_UP,
RTF_UPR,
RTF_URTF,
RTF_USELTBALN,
RTF_USENORMSTYFORLIST,
RTF_USERPROPS,
RTF_USEXFORM,
RTF_UTINL,
RTF_V,
RTF_VALIDATEXML,
RTF_VERN,
RTF_VERSION,
RTF_VERTAL,
RTF_VERTALB,
RTF_VERTALC,
RTF_VERTALJ,
RTF_VERTALT,
RTF_VERTDOC,
RTF_VERTSECT,
RTF_VIEWBKSP,
RTF_VIEWKIND,
RTF_VIEWNOBOUND,
RTF_VIEWSCALE,
RTF_VIEWZK,
RTF_WBITMAP,
RTF_WBMBITSPIXEL,
RTF_WBMPLANES,
RTF_WBMWIDTHBYTE,
RTF_WEBHIDDEN,
RTF_WGRFFMTFILTER,
RTF_WIDCTLPAR,
RTF_WIDOWCTRL,
RTF_WINDOWCAPTION,
RTF_WMETAFILE,
RTF_WPEQN,
RTF_WPJST,
RTF_WPSP,
RTF_WRAPAROUND,
RTF_WRAPDEFAULT,
RTF_WRAPTHROUGH,
RTF_WRAPTIGHT,
RTF_WRAPTRSP,
RTF_WRITERESERVATION,
RTF_WRITERESERVHASH,
RTF_WRPPUNCT,
RTF_XE,
RTF_XEF,
RTF_XFORM,
RTF_XMLATTR,
RTF_XMLATTRNAME,
RTF_XMLATTRNS,
RTF_XMLATTRVALUE,
RTF_XMLCLOSE,
RTF_XMLNAME,
RTF_XMLNS,
RTF_XMLNSTBL,
RTF_XMLOPEN,
RTF_XMLSDTTCELL,
RTF_XMLSDTTPARA,
RTF_XMLSDTTREGULAR,
RTF_XMLSDTTROW,
RTF_XMLSDTTUNKNOWN,
RTF_YR,
RTF_YTS,
RTF_YXE,
RTF_ZWBO,
RTF_ZWJ,
RTF_ZWNBO,
RTF_ZWNJ,
RTF_FLYMAINCNT,
RTF_FLYVERT,
RTF_FLYHORZ,
RTF_FLYANCHOR
invalid = -1,
HEXCHAR,
OPTHYPH,
IGNORE,
SUBENTRY,
BACKSLASH,
NOBRKHYPH,
LBRACE,
FORMULA,
RBRACE,
NOBREAK,
AB,
ABSH,
ABSLOCK,
ABSNOOVRLP,
ABSW,
ACAPS,
ACCCIRCLE,
ACCCOMMA,
ACCDOT,
ACCNONE,
ACCUNDERDOT,
ACF,
ADEFF,
ADDITIVE,
ADEFLANG,
ADJUSTRIGHT,
ADN,
AENDDOC,
AENDNOTES,
AEXPND,
AF,
AFELEV,
AFS,
AFTNBJ,
AFTNCN,
AFTNNALC,
AFTNNAR,
AFTNNAUC,
AFTNNCHI,
AFTNNCHOSUNG,
AFTNNCNUM,
AFTNNDBAR,
AFTNNDBNUM,
AFTNNDBNUMD,
AFTNNDBNUMK,
AFTNNDBNUMT,
AFTNNGANADA,
AFTNNGBNUM,
AFTNNGBNUMD,
AFTNNGBNUMK,
AFTNNGBNUML,
AFTNNRLC,
AFTNNRUC,
AFTNNZODIAC,
AFTNNZODIACD,
AFTNNZODIACL,
AFTNRESTART,
AFTNRSTCONT,
AFTNSEP,
AFTNSEPC,
AFTNSTART,
AFTNTJ,
AI,
ALANG,
ALLOWFIELDENDSEL,
ALLPROT,
ALNTBLIND,
ALT,
ANIMTEXT,
ANNOTATION,
ANNOTPROT,
ANSI,
ANSICPG,
AOUTL,
APPLYBRKRULES,
ASCAPS,
ASHAD,
ASIANBRKRULE,
ASPALPHA,
ASPNUM,
ASTRIKE,
ATNAUTHOR,
ATNDATE,
ATNICN,
ATNID,
ATNPARENT,
ATNREF,
ATNTIME,
ATRFEND,
ATRFSTART,
AUL,
AULD,
AULDB,
AULNONE,
AULW,
AUP,
AUTHOR,
AUTOFMTOVERRIDE,
B,
BACKGROUND,
BDBFHDR,
BDRRLSWSIX,
BGBDIAG,
BGCROSS,
BGDCROSS,
BGDKBDIAG,
BGDKCROSS,
BGDKDCROSS,
BGDKFDIAG,
BGDKHORIZ,
BGDKVERT,
BGFDIAG,
BGHORIZ,
BGVERT,
BIN,
BINFSXN,
BINSXN,
BKMKCOLF,
BKMKCOLL,
BKMKEND,
BKMKPUB,
BKMKSTART,
BLIPTAG,
BLIPUID,
BLIPUPI,
BLUE,
BOOKFOLD,
BOOKFOLDREV,
BOOKFOLDSHEETS,
BOX,
BRDRART,
BRDRB,
BRDRBAR,
BRDRBTW,
BRDRCF,
BRDRDASH,
BRDRDASHD,
BRDRDASHDD,
BRDRDASHDOTSTR,
BRDRDASHSM,
BRDRDB,
BRDRDOT,
BRDREMBOSS,
BRDRENGRAVE,
BRDRFRAME,
BRDRHAIR,
BRDRINSET,
BRDRL,
BRDRNIL,
BRDRNONE,
BRDROUTSET,
BRDRR,
BRDRS,
BRDRSH,
BRDRT,
BRDRTBL,
BRDRTH,
BRDRTHTNLG,
BRDRTHTNMG,
BRDRTHTNSG,
BRDRTNTHLG,
BRDRTNTHMG,
BRDRTNTHSG,
BRDRTNTHTNLG,
BRDRTNTHTNMG,
BRDRTNTHTNSG,
BRDRTRIPLE,
BRDRW,
BRDRWAVY,
BRDRWAVYDB,
BRKFRM,
BRSP,
BULLET,
BUPTIM,
BXE,
CACCENTFIVE,
CACCENTFOUR,
CACCENTONE,
CACCENTSIX,
CACCENTTHREE,
CACCENTTWO,
CACHEDCOLBAL,
CAPS,
CATEGORY,
CB,
CBACKGROUNDONE,
CBACKGROUNDTWO,
CBPAT,
CCHS,
CELL,
CELLX,
CF,
CFOLLOWEDHYPERLINK,
CFPAT,
CGRID,
CHARRSID,
CHARSCALEX,
CHATN,
CHBGBDIAG,
CHBGCROSS,
CHBGDCROSS,
CHBGDKBDIAG,
CHBGDKCROSS,
CHBGDKDCROSS,
CHBGDKFDIAG,
CHBGDKHORIZ,
CHBGDKVERT,
CHBGFDIAG,
CHBGHORIZ,
CHBGVERT,
CHBRDR,
CHCBPAT,
CHCFPAT,
CHDATE,
CHDPA,
CHDPL,
CHFTN,
CHFTNSEP,
CHFTNSEPC,
CHPGN,
CHHRES,
CHSHDNG,
CHTIME,
CHYPERLINK,
CLBGBDIAG,
CLBGCROSS,
CLBGDCROSS,
CLBGDKBDIAG,
CLBGDKCROSS,
CLBGDKDCROSS,
CLBGDKFDIAG,
CLBGDKHOR,
CLBGDKVERT,
CLBGFDIAG,
CLBGHORIZ,
CLBGVERT,
CLBRDRB,
CLBRDRL,
CLBRDRR,
CLBRDRT,
CLCBPAT,
CLCBPATRAW,
CLCFPAT,
CLCFPATRAW,
CLDEL,
CLDELAUTH,
CLDELDTTM,
CLDGLL,
CLDGLU,
CLFITTEXT,
CLFTSWIDTH,
CLHIDEMARK,
CLINS,
CLINSAUTH,
CLINSDTTM,
CLMGF,
CLMRG,
CLMRGD,
CLMRGDAUTH,
CLMRGDDTTM,
CLMRGDR,
CLNOWRAP,
CLPADB,
CLPADFB,
CLPADFL,
CLPADFR,
CLPADFT,
CLPADL,
CLPADR,
CLPADT,
CLSPB,
CLSPFB,
CLSPFL,
CLSPFR,
CLSPFT,
CLSPL,
CLSPR,
CLSPT,
CLSHDNG,
CLSHDNGRAW,
CLSHDRAWNIL,
CLSPLIT,
CLSPLITR,
CLTXBTLR,
CLTXLRTB,
CLTXLRTBV,
CLTXTBRL,
CLTXTBRLV,
CLVERTALB,
CLVERTALC,
CLVERTALT,
CLVMGF,
CLVMRG,
CLWWIDTH,
CMAINDARKONE,
CMAINDARKTWO,
CMAINLIGHTONE,
CMAINLIGHTTWO,
COLLAPSED,
COLNO,
COLORSCHEMEMAPPING,
COLORTBL,
COLS,
COLSR,
COLSX,
COLUMN,
COLW,
COMMENT,
COMPANY,
CONTEXTUALSPACE,
CPG,
CRAUTH,
CRDATE,
CREATIM,
CS,
CSHADE,
CTEXTONE,
CTEXTTWO,
CTINT,
CTRL,
CTS,
CUFI,
CULI,
CURI,
CVMME,
DATAFIELD,
DATASTORE,
DATE,
DBCH,
DEFCHP,
DEFF,
DEFFORMAT,
DEFLANG,
DEFLANGFE,
DEFPAP,
DEFSHP,
DEFTAB,
DELETED,
DELRSID,
DFRAUTH,
DFRDATE,
DFRMTXTX,
DFRMTXTY,
DFRSTART,
DFRSTOP,
DFRXST,
DGHORIGIN,
DGHSHOW,
DGHSPACE,
DGMARGIN,
DGSNAP,
DGVORIGIN,
DGVSHOW,
DGVSPACE,
DIBITMAP,
DISABLED,
DN,
DNTBLNSBDB,
DO,
DOBXCOLUMN,
DOBXMARGIN,
DOBXPAGE,
DOBYMARGIN,
DOBYPAGE,
DOBYPARA,
DOCCOMM,
DOCTEMP,
DOCTYPE,
DOCVAR,
DODHGT,
DOLOCK,
DONOTEMBEDLINGDATA,
DONOTEMBEDSYSFONT,
DONOTSHOWCOMMENTS,
DONOTSHOWINSDEL,
DONOTSHOWMARKUP,
DONOTSHOWPROPS,
DPAENDHOL,
DPAENDL,
DPAENDSOL,
DPAENDW,
DPARC,
DPARCFLIPX,
DPARCFLIPY,
DPASTARTHOL,
DPASTARTL,
DPASTARTSOL,
DPASTARTW,
DPCALLOUT,
DPCOA,
DPCOACCENT,
DPCOBESTFIT,
DPCOBORDER,
DPCODABS,
DPCODBOTTOM,
DPCODCENTER,
DPCODESCENT,
DPCODTOP,
DPCOLENGTH,
DPCOMINUSX,
DPCOMINUSY,
DPCOOFFSET,
DPCOSMARTA,
DPCOTDOUBLE,
DPCOTRIGHT,
DPCOTSINGLE,
DPCOTTRIPLE,
DPCOUNT,
DPELLIPSE,
DPENDGROUP,
DPFILLBGCB,
DPFILLBGCG,
DPFILLBGCR,
DPFILLBGGRAY,
DPFILLBGPAL,
DPFILLFGCB,
DPFILLFGCG,
DPFILLFGCR,
DPFILLFGGRAY,
DPFILLFGPAL,
DPFILLPAT,
DPGROUP,
DPLINE,
DPLINECOB,
DPLINECOG,
DPLINECOR,
DPLINEDADO,
DPLINEDADODO,
DPLINEDASH,
DPLINEDOT,
DPLINEGRAY,
DPLINEHOLLOW,
DPLINEPAL,
DPLINESOLID,
DPLINEW,
DPPOLYCOUNT,
DPPOLYGON,
DPPOLYLINE,
DPPTX,
DPPTY,
DPRECT,
DPROUNDR,
DPSHADOW,
DPSHADX,
DPSHADY,
DPTXBTLR,
DPTXBX,
DPTXBXMAR,
DPTXBXTEXT,
DPTXLRTB,
DPTXLRTBV,
DPTXTBRL,
DPTXTBRLV,
DPX,
DPXSIZE,
DPY,
DPYSIZE,
DROPCAPLI,
DROPCAPT,
DS,
DXFRTEXT,
DY,
EBCEND,
EBCSTART,
EDMINS,
EMBO,
EMDASH,
EMFBLIP,
EMSPACE,
ENDASH,
ENDDOC,
ENDNHERE,
ENDNOTES,
ENFORCEPROT,
ENSPACE,
EXPND,
EXPNDTW,
EXPSHRTN,
F,
FAAUTO,
FACENTER,
FACINGP,
FACTOIDNAME,
FAFIXED,
FAHANG,
FALT,
FAROMAN,
FAVAR,
FBIAS,
FBIDI,
FBIDIS,
FBIMAJOR,
FBIMINOR,
FCHARS,
FCHARSET,
FCS,
FDBMAJOR,
FDBMINOR,
FDECOR,
FELNBRELEV,
FET,
FETCH,
FFDEFRES,
FFDEFTEXT,
FFENTRYMCR,
FFEXITMCR,
FFFORMAT,
FFHASLISTBOX,
FFHELPTEXT,
FFHPS,
FFL,
FFMAXLEN,
FFNAME,
FFOWNHELP,
FFOWNSTAT,
FFPROT,
FFRECALC,
FFRES,
FFSIZE,
FFSTATTEXT,
FFTYPE,
FFTYPETXT,
FHIMAJOR,
FHIMINOR,
FI,
FID,
FIELD,
FILE,
FILETBL,
FITTEXT,
FJGOTHIC,
FJMINCHOU,
FLDALT,
FLDDIRTY,
FLDEDIT,
FLDINST,
FLDLOCK,
FLDPRIV,
FLDRSLT,
FLDTYPE,
FLOMAJOR,
FLOMINOR,
FMODERN,
FN,
FNAME,
FNETWORK,
FNIL,
FNONFILESYS,
FONTEMB,
FONTFILE,
FONTTBL,
FOOTER,
FOOTERF,
FOOTERL,
FOOTERR,
FOOTERY,
FOOTNOTE,
FORCEUPGRADE,
FORMDISP,
FORMFIELD,
FORMPROT,
FORMSHADE,
FOSNUM,
FPRQ,
FRACWIDTH,
FRELATIVE,
FRMTXBTLR,
FRMTXLRTB,
FRMTXLRTBV,
FRMTXTBRL,
FRMTXTBRLV,
FROMAN,
FROMHTML,
FROMTEXT,
FS,
FSCRIPT,
FSWISS,
FTECH,
FTNALT,
FTNBJ,
FTNCN,
FTNIL,
FTNLYTWNINE,
FTNNALC,
FTNNAR,
FTNNAUC,
FTNNCHI,
FTNNCHOSUNG,
FTNNCNUM,
FTNNDBAR,
FTNNDBNUM,
FTNNDBNUMD,
FTNNDBNUMK,
FTNNDBNUMT,
FTNNGANADA,
FTNNGBNUM,
FTNNGBNUMD,
FTNNGBNUMK,
FTNNGBNUML,
FTNNRLC,
FTNNRUC,
FTNNZODIAC,
FTNNZODIACD,
FTNNZODIACL,
FTNRESTART,
FTNRSTCONT,
FTNRSTPG,
FTNSEP,
FTNSEPC,
FTNSTART,
FTNTJ,
FTTRUETYPE,
FVALIDDOS,
FVALIDHPFS,
FVALIDMAC,
FVALIDNTFS,
G,
GCW,
GENERATOR,
GREEN,
GRFDOCEVENTS,
GRIDTBL,
GUTTER,
GUTTERPRL,
GUTTERSXN,
HEADER,
HEADERF,
HEADERL,
HEADERR,
HEADERY,
HICH,
HIGHLIGHT,
HL,
HLFR,
HLINKBASE,
HLLOC,
HLSRC,
HORZDOC,
HORZSECT,
HORZVERT,
HR,
HRES,
HRULE,
HSV,
HTMAUTSP,
HTMLBASE,
HTMLRTF,
HTMLTAG,
HWELEV,
HYPHAUTO,
HYPHCAPS,
HYPHCONSEC,
HYPHHOTZ,
HYPHPAR,
I,
ID,
IGNOREMIXEDCONTENT,
ILFOMACATCLNUP,
ILVL,
IMPR,
INDMIRROR,
INDRLSWELEVEN,
INFO,
INSRSID,
INTBL,
IPGP,
IROWBAND,
IROW,
ITAP,
IXE,
JCOMPRESS,
JEXPAND,
JIS,
JPEGBLIP,
JSKSU,
KEEP,
KEEPN,
KERNING,
KEYCODE,
KEYWORDS,
KRNPRSNET,
KSULANG,
JCLISTTAB,
LANDSCAPE,
LANG,
LANGFE,
LANGFENP,
LANGNP,
LASTROW,
LATENTSTYLES,
LBR,
LCHARS,
LDBLQUOTE,
LEVEL,
LEVELFOLLOW,
LEVELINDENT,
LEVELJC,
LEVELJCN,
LEVELLEGAL,
LEVELNFC,
LEVELNFCN,
LEVELNORESTART,
LEVELNUMBERS,
LEVELOLD,
LEVELPICTURE,
LEVELPICTURENOSIZE,
LEVELPREV,
LEVELPREVSPACE,
LEVELSPACE,
LEVELSTARTAT,
LEVELTEMPLATEID,
LEVELTEXT,
LFOLEVEL,
LI,
LINE,
LINEBETCOL,
LINECONT,
LINEMOD,
LINEPPAGE,
LINERESTART,
LINESTART,
LINESTARTS,
LINEX,
LINKSELF,
LINKSTYLES,
LINKVAL,
LIN,
LISA,
LISB,
LIST,
LISTHYBRID,
LISTID,
LISTLEVEL,
LISTNAME,
LISTOVERRIDE,
LISTOVERRIDECOUNT,
LISTOVERRIDEFORMAT,
LISTOVERRIDESTARTAT,
LISTOVERRIDETABLE,
LISTPICTURE,
LISTRESTARTHDN,
LISTSIMPLE,
LISTSTYLEID,
LISTSTYLENAME,
LISTTABLE,
LISTTEMPLATEID,
LISTTEXT,
LNBRKRULE,
LNDSCPSXN,
LNONGRID,
LOCH,
LQUOTE,
LS,
LSDLOCKED,
LSDLOCKEDDEF,
LSDLOCKEDEXCEPT,
LSDPRIORITY,
LSDPRIORITYDEF,
LSDQFORMAT,
LSDQFORMATDEF,
LSDSEMIHIDDEN,
LSDSEMIHIDDENDEF,
LSDSTIMAX,
LSDUNHIDEUSED,
LSDUNHIDEUSEDDEF,
LTRCH,
LTRDOC,
LTRMARK,
LTRPAR,
LTRROW,
LTRSECT,
LVLTENTATIVE,
LYTCALCTBLWD,
LYTEXCTTP,
LYTPRTMET,
LYTTBLRTGR,
MAC,
MACC,
MACCPR,
MACPICT,
MAILMERGE,
MAKEBACKUP,
MALN,
MALNSCR,
MANAGER,
MARGB,
MARGBSXN,
MARGL,
MARGLSXN,
MARGMIRROR,
MARGMIRSXN,
MARGPR,
MARGR,
MARGRSXN,
MARGSZ,
MARGT,
MARGTSXN,
MBAR,
MBARPR,
MBASEJC,
MBEGCHR,
MBORDERBOX,
MBORDERBOXPR,
MBOX,
MBOXPR,
MBRK,
MBRKBIN,
MBRKBINSUB,
MCGP,
MCGPRULE,
MCHR,
MCOUNT,
MCSP,
MCTRLPR,
MD,
MDEFJC,
MDEG,
MDEGHIDE,
MDEN,
MDIFF,
MDIFFSTY,
MDISPDEF,
MDPR,
ME,
MENDCHR,
MEQARR,
MEQARRPR,
MF,
MFNAME,
MFPR,
MFUNC,
MFUNCPR,
MGROUPCHR,
MGROUPCHRPR,
MGROW,
MHIDEBOT,
MHIDELEFT,
MHIDERIGHT,
MHIDETOP,
MHTMLTAG,
MIN,
MINTERSP,
MINTLIM,
MINTRASP,
MJC,
MLIM,
MLIMLOC,
MLIMLOW,
MLIMLOWPR,
MLIMUPP,
MLIMUPPPR,
MLIT,
MLMARGIN,
MM,
MMADDFIELDNAME,
MMATH,
MMATHFONT,
MMATHPICT,
MMATHPR,
MMATTACH,
MMAXDIST,
MMBLANKLINES,
MMC,
MMCJC,
MMCONNECTSTR,
MMCONNECTSTRDATA,
MMCPR,
MMCS,
MMDATASOURCE,
MMDATATYPEACCESS,
MMDATATYPEEXCEL,
MMDATATYPEFILE,
MMDATATYPEODBC,
MMDATATYPEODSO,
MMDATATYPEQT,
MMDEFAULTSQL,
MMDESTEMAIL,
MMDESTFAX,
MMDESTNEWDOC,
MMDESTPRINTER,
MMERRORS,
MMFTTYPEADDRESS,
MMFTTYPEBARCODE,
MMFTTYPEDBCOLUMN,
MMFTTYPEMAPPED,
MMFTTYPENULL,
MMFTTYPESALUTATION,
MMHEADERSOURCE,
MMJDSOTYPE,
MMLINKTOQUERY,
MMMAILSUBJECT,
MMMAINTYPECATALOG,
MMMAINTYPEEMAIL,
MMMAINTYPEENVELOPES,
MMMAINTYPEFAX,
MMMAINTYPELABELS,
MMMAINTYPELETTERS,
MMODSO,
MMODSOACTIVE,
MMODSOCOLDELIM,
MMODSOCOLUMN,
MMODSODYNADDR,
MMODSOFHDR,
MMODSOFILTER,
MMODSOFLDMPDATA,
MMODSOFMCOLUMN,
MMODSOHASH,
MMODSOLID,
MMODSOMAPPEDNAME,
MMODSONAME,
MMODSORECIPDATA,
MMODSOSORT,
MMODSOSRC,
MMODSOTABLE,
MMODSOUDL,
MMODSOUDLDATA,
MMODSOUNIQUETAG,
MMPR,
MMQUERY,
MMR,
MMRECCUR,
MMSHOWDATA,
MNARY,
MNARYLIM,
MNARYPR,
MNOBREAK,
MNOR,
MNUM,
MO,
MOBJDIST,
MOMATH,
MOMATHPARA,
MOMATHPARAPR,
MOPEMU,
MPHANT,
MPHANTPR,
MPLCHIDE,
MPOS,
MPOSTSP,
MPRESP,
MR,
MRAD,
MRADPR,
MRMARGIN,
MRPR,
MRSP,
MRSPRULE,
MSCR,
MSEPCHR,
MSHOW,
MSHP,
MSMALLFRAC,
MSMCAP,
MSPRE,
MSPREPR,
MSSUB,
MSSUBPR,
MSSUBSUP,
MSSUBSUPPR,
MSSUP,
MSSUPPR,
MSTRIKEBLTR,
MSTRIKEH,
MSTRIKETLBR,
MSTRIKEV,
MSTY,
MSUB,
MSUBHIDE,
MSUP,
MSUPHIDE,
MTRANSP,
MTYPE,
MUSER,
MVAUTH,
MVDATE,
MVERTJC,
MVF,
MVFMF,
MVFML,
MVT,
MVTOF,
MVTOL,
MWRAPINDENT,
MWRAPRIGHT,
MZEROASC,
MZERODESC,
MZEROWID,
NESTCELL,
NESTROW,
NESTTABLEPROPS,
NEWTBLSTYRULS,
NEXTFILE,
NOAFCNSTTBL,
NOBRKWRPTBL,
NOCOLBAL,
NOCOMPATOPTIONS,
NOCWRAP,
NOCXSPTABLE,
NOEXTRASPRL,
NOFCHARS,
NOFCHARSWS,
NOFEATURETHROTTLE,
NOFPAGES,
NOFWORDS,
NOGROWAUTOFIT,
NOINDNMBRTS,
NOJKERNPUNCT,
NOLEAD,
NOLINE,
NOLNHTADJTBL,
NONESTTABLES,
NONSHPPICT,
NOOVERFLOW,
NOPROOF,
NOQFPROMOTE,
NOSECTEXPAND,
NOSNAPLINEGRID,
NOSPACEFORUL,
NOSUPERSUB,
NOTABIND,
NOTBRKCNSTFRCTBL,
NOTCVASP,
NOTVATXBX,
NOUICOMPAT,
NOULTRLSPC,
NOWIDCTLPAR,
NOWRAP,
NOWWRAP,
NOXLATTOYEN,
OBJALIAS,
OBJALIGN,
OBJATTPH,
OBJAUTLINK,
OBJCLASS,
OBJCROPB,
OBJCROPL,
OBJCROPR,
OBJCROPT,
OBJDATA,
OBJECT,
OBJEMB,
OBJH,
OBJHTML,
OBJICEMB,
OBJLINK,
OBJLOCK,
OBJNAME,
OBJOCX,
OBJPUB,
OBJSCALEX,
OBJSCALEY,
OBJSECT,
OBJSETSIZE,
OBJSUB,
OBJTIME,
OBJTRANSY,
OBJUPDATE,
OBJW,
OGUTTER,
OLDAS,
OLDCPROPS,
OLDLINEWRAP,
OLDPPROPS,
OLDSPROPS,
OLDTPROPS,
OLECLSID,
OPERATOR,
OTBLRUL,
OUTL,
OUTLINELEVEL,
OVERLAY,
PAGE,
PAGEBB,
PANOSE,
PAPERH,
PAPERW,
PAR,
PARARSID,
PARD,
PASSWORD,
PASSWORDHASH,
PC,
PCA,
PGBRDRB,
PGBRDRFOOT,
PGBRDRHEAD,
PGBRDRL,
PGBRDROPT,
PGBRDRR,
PGBRDRSNAP,
PGBRDRT,
PGHSXN,
PGNBIDIA,
PGNBIDIB,
PGNCHOSUNG,
PGNCNUM,
PGNCONT,
PGNDBNUM,
PGNDBNUMD,
PGNDBNUMK,
PGNDBNUMT,
PGNDEC,
PGNDECD,
PGNGANADA,
PGNGBNUM,
PGNGBNUMD,
PGNGBNUMK,
PGNGBNUML,
PGNHINDIA,
PGNHINDIB,
PGNHINDIC,
PGNHINDID,
PGNHN,
PGNHNSC,
PGNHNSH,
PGNHNSM,
PGNHNSN,
PGNHNSP,
PGNID,
PGNLCLTR,
PGNLCRM,
PGNRESTART,
PGNSTART,
PGNSTARTS,
PGNTHAIA,
PGNTHAIB,
PGNTHAIC,
PGNUCLTR,
PGNUCRM,
PGNVIETA,
PGNX,
PGNY,
PGNZODIAC,
PGNZODIACD,
PGNZODIACL,
PGP,
PGPTBL,
PGWSXN,
PHCOL,
PHMRG,
PHPG,
PICBMP,
PICBPP,
PICCROPB,
PICCROPL,
PICCROPR,
PICCROPT,
PICH,
PICHGOAL,
PICPROP,
PICSCALED,
PICSCALEX,
PICSCALEY,
PICT,
PICW,
PICWGOAL,
PINDTABQC,
PINDTABQL,
PINDTABQR,
PLAIN,
PMARTABQC,
PMARTABQL,
PMARTABQR,
PMMETAFILE,
PN,
PNACROSS,
PNAIU,
PNAIUD,
PNAIUEO,
PNAIUEOD,
PNB,
PNBIDIA,
PNBIDIB,
PNCAPS,
PNCARD,
PNCF,
PNCHOSUNG,
PNCNUM,
PNDBNUM,
PNDBNUMD,
PNDBNUMK,
PNDBNUML,
PNDBNUMT,
PNDEC,
PNDECD,
PNF,
PNFS,
PNGANADA,
PNGBLIP,
PNGBNUM,
PNGBNUMD,
PNGBNUMK,
PNGBNUML,
PNHANG,
PNI,
PNINDENT,
PNIROHA,
PNIROHAD,
PNLCLTR,
PNLCRM,
PNLVL,
PNLVLBLT,
PNLVLBODY,
PNLVLCONT,
PNNUMONCE,
PNORD,
PNORDT,
PNPREV,
PNQC,
PNQL,
PNQR,
PNRAUTH,
PNRDATE,
PNRESTART,
PNRNFC,
PNRNOT,
PNRPNBR,
PNRRGB,
PNRSTART,
PNRSTOP,
PNRXST,
PNSCAPS,
PNSECLVL,
PNSP,
PNSTART,
PNSTRIKE,
PNTEXT,
PNTXTA,
PNTXTB,
PNUCLTR,
PNUCRM,
PNUL,
PNULD,
PNULDASH,
PNULDASHD,
PNULDASHDD,
PNULDB,
PNULHAIR,
PNULNONE,
PNULTH,
PNULW,
PNULWAVE,
PNZODIAC,
PNZODIACD,
PNZODIACL,
POSNEGX,
POSNEGY,
POSX,
POSXC,
POSXI,
POSXL,
POSXO,
POSXR,
POSY,
POSYB,
POSYC,
POSYIL,
POSYIN,
POSYOUT,
POSYT,
PRAUTH,
PRCOLBL,
PRDATE,
PRINTDATA,
PRINTIM,
PRIVATE,
PROPNAME,
PROPTYPE,
PROTECT,
PROTEND,
PROTLEVEL,
PROTSTART,
PROTUSERTBL,
PSOVER,
PSZ,
PTABLDOT,
PTABLMDOT,
PTABLMINUS,
PTABLNONE,
PTABLUSCORE,
PUBAUTO,
PVMRG,
PVPARA,
PVPG,
PWD,
PXE,
QC,
QD,
QJ,
QK,
QL,
QMSPACE,
QR,
QT,
RAWCLBGDKBDIAG,
RAWCLBGBDIAG,
RAWCLBGCROSS,
RAWCLBGDCROSS,
RAWCLBGDKCROSS,
RAWCLBGDKDCROSS,
RAWCLBGDKFDIAG,
RAWCLBGDKHOR,
RAWCLBGDKVERT,
RAWCLBGFDIAG,
RAWCLBGHORIZ,
RAWCLBGVERT,
RDBLQUOTE,
READONLYRECOMMENDED,
READPROT,
RED,
RELYONVML,
REMDTTM,
REMPERSONALINFO,
RESULT,
REVAUTH,
REVAUTHDEL,
REVBAR,
REVDTTM,
REVDTTMDEL,
REVISED,
REVISIONS,
REVPROP,
REVPROT,
REVTBL,
REVTIM,
RI,
RIN,
ROW,
RQUOTE,
RSID,
RSIDROOT,
RSIDTBL,
RSLTBMP,
RSLTHTML,
RSLTMERGE,
RSLTPICT,
RSLTRTF,
RSLTTXT,
RTF,
RTLCH,
RTLDOC,
RTLGUTTER,
RTLMARK,
RTLPAR,
RTLROW,
RTLSECT,
RXE,
S,
SA,
SAAUTO,
SAFTNNALC,
SAFTNNAR,
SAFTNNAUC,
SAFTNNCHI,
SAFTNNCHOSUNG,
SAFTNNCNUM,
SAFTNNDBAR,
SAFTNNDBNUM,
SAFTNNDBNUMD,
SAFTNNDBNUMK,
SAFTNNDBNUMT,
SAFTNNGANADA,
SAFTNNGBNUM,
SAFTNNGBNUMD,
SAFTNNGBNUMK,
SAFTNNGBNUML,
SAFTNNRLC,
SAFTNNRUC,
SAFTNNZODIAC,
SAFTNNZODIACD,
SAFTNNZODIACL,
SAFTNRESTART,
SAFTNRSTCONT,
SAFTNSTART,
SAUTOUPD,
SAVEINVALIDXML,
SAVEPREVPICT,
SB,
SBASEDON,
SBAUTO,
SBKCOL,
SBKEVEN,
SBKNONE,
SBKODD,
SBKPAGE,
SBYS,
SCAPS,
SCOMPOSE,
SEC,
SECT,
SECTD,
SECTDEFAULTCL,
SECTEXPAND,
SECTLINEGRID,
SECTNUM,
SECTRSID,
SECTSPECIFYCL,
SECTSPECIFYGENN,
SECTSPECIFYL,
SECTUNLOCKED,
SFTNBJ,
SFTNNALC,
SFTNNAR,
SFTNNAUC,
SFTNNCHI,
SFTNNCHOSUNG,
SFTNNCNUM,
SFTNNDBAR,
SFTNNDBNUM,
SFTNNDBNUMD,
SFTNNDBNUMK,
SFTNNDBNUMT,
SFTNNGANADA,
SFTNNGBNUM,
SFTNNGBNUMD,
SFTNNGBNUMK,
SFTNNGBNUML,
SFTNNRLC,
SFTNNRUC,
SFTNNZODIAC,
SFTNNZODIACD,
SFTNNZODIACL,
SFTNRESTART,
SFTNRSTCONT,
SFTNRSTPG,
SFTNSTART,
SFTNTJ,
SHAD,
SHADING,
SHIDDEN,
SHIFT,
SHOWPLACEHOLDTEXT,
SHOWXMLERRORS,
SHP,
SHPBOTTOM,
SHPBXCOLUMN,
SHPBXIGNORE,
SHPBXMARGIN,
SHPBXPAGE,
SHPBYIGNORE,
SHPBYMARGIN,
SHPBYPAGE,
SHPBYPARA,
SHPFBLWTXT,
SHPFHDR,
SHPGRP,
SHPINST,
SHPLEFT,
SHPLID,
SHPLOCKANCHOR,
SHPPICT,
SHPRIGHT,
SHPRSLT,
SHPTOP,
SHPTXT,
SHPWRK,
SHPWR,
SHPZ,
SL,
SLINK,
SLMULT,
SLOCKED,
SN,
SNAPTOGRIDINCELL,
SNEXT,
SOFTCOL,
SOFTLHEIGHT,
SOFTLINE,
SOFTPAGE,
SP,
SPERSONAL,
SPLTPGPAR,
SPLYTWNINE,
SPRIORITY,
SPRSBSP,
SPRSLNSP,
SPRSSPBF,
SPRSTSM,
SPRSTSP,
SPV,
SQFORMAT,
SRAUTH,
SRDATE,
SREPLY,
SSEMIHIDDEN,
STATICVAL,
STEXTFLOW,
STRIKE,
STRIKED,
STSHFBI,
STSHFDBCH,
STSHFHICH,
STSHFLOCH,
STYLELOCK,
STYLELOCKBACKCOMP,
STYLELOCKENFORCED,
STYLELOCKQFSET,
STYLELOCKTHEME,
STYLESHEET,
STYLESORTMETHOD,
STYRSID,
SUB,
SUBDOCUMENT,
SUBFONTBYSIZE,
SUBJECT,
SUNHIDEUSED,
SUPER,
SV,
SVB,
SWPBDR,
TAB,
TABSNOOVRLP,
TAPRTL,
TB,
TBLIND,
TBLINDTYPE,
TBLLKBESTFIT,
TBLLKBORDER,
TBLLKCOLOR,
TBLLKFONT,
TBLLKHDRCOLS,
TBLLKHDRROWS,
TBLLKLASTCOL,
TBLLKLASTROW,
TBLLKNOCOLBAND,
TBLLKNOROWBAND,
TBLLKSHADING,
TBLRSID,
TC,
TCELLD,
TCF,
TCL,
TCN,
TDFRMTXTBOTTOM,
TDFRMTXTLEFT,
TDFRMTXTRIGHT,
TDFRMTXTTOP,
TEMPLATE,
THEMEDATA,
THEMELANG,
THEMELANGCS,
THEMELANGFE,
TIME,
TITLE,
TITLEPG,
TLDOT,
TLEQ,
TLHYPH,
TLMDOT,
TLTH,
TLUL,
TOPLINEPUNCT,
TPHCOL,
TPHMRG,
TPHPG,
TPOSNEGX,
TPOSNEGY,
TPOSXC,
TPOSXI,
TPOSXL,
TPOSX,
TPOSXO,
TPOSXR,
TPOSY,
TPOSYB,
TPOSYC,
TPOSYIL,
TPOSYIN,
TPOSYOUT,
TPOSYT,
TPVMRG,
TPVPARA,
TPVPG,
TQC,
TQDEC,
TQR,
TRACKFORMATTING,
TRACKMOVES,
TRANSMF,
TRAUTH,
TRAUTOFIT,
TRBGBDIAG,
TRBGCROSS,
TRBGDCROSS,
TRBGDKBDIAG,
TRBGDKCROSS,
TRBGDKDCROSS,
TRBGDKFDIAG,
TRBGDKHOR,
TRBGDKVERT,
TRBGFDIAG,
TRBGHORIZ,
TRBGVERT,
TRBRDRB,
TRBRDRH,
TRBRDRL,
TRBRDRR,
TRBRDRT,
TRBRDRV,
TRCBPAT,
TRCFPAT,
TRDATE,
TRFTSWIDTHA,
TRFTSWIDTHB,
TRFTSWIDTH,
TRGAPH,
TRHDR,
TRKEEP,
TRKEEPFOLLOW,
TRLEFT,
TROWD,
TRPADDB,
TRPADDFB,
TRPADDFL,
TRPADDFR,
TRPADDFT,
TRPADDL,
TRPADDR,
TRPADDT,
TRPADOB,
TRPADOFB,
TRPADOFL,
TRPADOFR,
TRPADOFT,
TRPADOL,
TRPADOR,
TRPADOT,
TRPAT,
TRQC,
TRQL,
TRQR,
TRRH,
TRSHDNG,
TRSPDB,
TRSPDFB,
TRSPDFL,
TRSPDFR,
TRSPDFT,
TRSPDL,
TRSPDR,
TRSPDT,
TRSPOB,
TRSPOFB,
TRSPOFL,
TRSPOFR,
TRSPOFT,
TRSPOL,
TRSPOR,
TRSPOT,
TRUNCATEFONTHEIGHT,
TRUNCEX,
TRWWIDTHA,
TRWWIDTHB,
TRWWIDTH,
TS,
TSBGBDIAG,
TSBGCROSS,
TSBGDCROSS,
TSBGDKBDIAG,
TSBGDKCROSS,
TSBGDKDCROSS,
TSBGDKFDIAG,
TSBGDKHOR,
TSBGDKVERT,
TSBGFDIAG,
TSBGHORIZ,
TSBGVERT,
TSBRDRB,
TSBRDRDGL,
TSBRDRDGR,
TSBRDRH,
TSBRDRL,
TSBRDRR,
TSBRDRT,
TSBRDRV,
TSCBANDHORZEVEN,
TSCBANDHORZODD,
TSCBANDSH,
TSCBANDSV,
TSCBANDVERTEVEN,
TSCBANDVERTODD,
TSCELLCBPAT,
TSCELLCFPAT,
TSCELLPADDB,
TSCELLPADDFB,
TSCELLPADDFL,
TSCELLPADDFR,
TSCELLPADDFT,
TSCELLPADDL,
TSCELLPADDR,
TSCELLPADDT,
TSCELLPCT,
TSCELLWIDTH,
TSCELLWIDTHFTS,
TSCFIRSTCOL,
TSCFIRSTROW,
TSCLASTCOL,
TSCLASTROW,
TSCNECELL,
TSCNWCELL,
TSCSECELL,
TSCSWCELL,
TSD,
TSNOWRAP,
TSROWD,
TSVERTALB,
TSVERTALC,
TSVERTALT,
TWOINONE,
TWOONONE,
TX,
TXBXTWALWAYS,
TXBXTWFIRST,
TXBXTWFIRSTLAST,
TXBXTWLAST,
TXBXTWNO,
TXE,
U,
UC,
UD,
UL,
ULC,
ULD,
ULDASH,
ULDASHD,
ULDASHDD,
ULDB,
ULHAIR,
ULHWAVE,
ULLDASH,
ULNONE,
ULTH,
ULTHD,
ULTHDASH,
ULTHDASHD,
ULTHDASHDD,
ULTHLDASH,
ULULDBWAVE,
ULW,
ULWAVE,
UP,
UPR,
URTF,
USELTBALN,
USENORMSTYFORLIST,
USERPROPS,
USEXFORM,
UTINL,
V,
VALIDATEXML,
VERN,
VERSION,
VERTAL,
VERTALB,
VERTALC,
VERTALJ,
VERTALT,
VERTDOC,
VERTSECT,
VIEWBKSP,
VIEWKIND,
VIEWNOBOUND,
VIEWSCALE,
VIEWZK,
WBITMAP,
WBMBITSPIXEL,
WBMPLANES,
WBMWIDTHBYTE,
WEBHIDDEN,
WGRFFMTFILTER,
WIDCTLPAR,
WIDOWCTRL,
WINDOWCAPTION,
WMETAFILE,
WPEQN,
WPJST,
WPSP,
WRAPAROUND,
WRAPDEFAULT,
WRAPTHROUGH,
WRAPTIGHT,
WRAPTRSP,
WRITERESERVATION,
WRITERESERVHASH,
WRPPUNCT,
XE,
XEF,
XFORM,
XMLATTR,
XMLATTRNAME,
XMLATTRNS,
XMLATTRVALUE,
XMLCLOSE,
XMLNAME,
XMLNS,
XMLNSTBL,
XMLOPEN,
XMLSDTTCELL,
XMLSDTTPARA,
XMLSDTTREGULAR,
XMLSDTTROW,
XMLSDTTUNKNOWN,
YR,
YTS,
YXE,
ZWBO,
ZWJ,
ZWNBO,
ZWNJ,
FLYMAINCNT,
FLYVERT,
FLYHORZ,
FLYANCHOR
};
const char* keywordToString(RTFKeyword nKeyword);
/// Types of an RTF Control Word
enum RTFControlTypes
enum class RTFControlType
{
CONTROL_FLAG, // eg \sbknone takes no parameter
CONTROL_DESTINATION, // eg \fonttbl, if ignored, the whole group should be skipped
CONTROL_SYMBOL, // eg \tab
CONTROL_TOGGLE, // eg \b (between on and off)
CONTROL_VALUE // eg \fs (requires parameter)
FLAG, // eg \sbknone takes no parameter
DESTINATION, // eg \fonttbl, if ignored, the whole group should be skipped
SYMBOL, // eg \tab
TOGGLE, // eg \b (between on and off)
VALUE // eg \fs (requires parameter)
};
/// Represents an RTF Control Word
class RTFSymbol
{
const char* m_sKeyword;
int m_nControlType;
RTFControlType m_eControlType;
RTFKeyword m_nIndex;
int m_nDefValue; ///< Most of the control words default to 0.
public:
RTFSymbol() = default;
RTFSymbol(const char* sKeyword, int nControlType = 0, RTFKeyword nIndex = RTF_invalid,
int nDefValue = 0)
RTFSymbol(const char* sKeyword, RTFControlType nControlType, RTFKeyword nIndex, int nDefValue)
: m_sKeyword(sKeyword)
, m_nControlType(nControlType)
, m_eControlType(nControlType)
, m_nIndex(nIndex)
, m_nDefValue(nDefValue)
{
@@ -2009,7 +2007,7 @@ public:
const char* GetKeyword() const { return m_sKeyword; }
int GetControlType() const { return m_nControlType; }
RTFControlType GetControlType() const { return m_eControlType; }
RTFKeyword GetIndex() const { return m_nIndex; }
@@ -2017,7 +2015,7 @@ public:
};
extern RTFSymbol const aRTFControlWords[];
extern int nRTFControlWords;
extern const int nRTFControlWords;
/// Represents an RTF Math Control Word
class RTFMathSymbol
@@ -2043,7 +2041,7 @@ public:
};
extern RTFMathSymbol const aRTFMathControlWords[];
extern int nRTFMathControlWords;
extern const int nRTFMathControlWords;
} // namespace writerfilter::rtftok
diff --git a/writerfilter/source/rtftok/rtfdispatchdestination.cxx b/writerfilter/source/rtftok/rtfdispatchdestination.cxx
index f545d86..2f79750 100644
--- a/writerfilter/source/rtftok/rtfdispatchdestination.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchdestination.cxx
@@ -42,7 +42,7 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
checkUnicode(/*bUnicode =*/true, /*bHex =*/true);
RTFSkipDestination aSkip(*this);
// special case \upr: ignore everything except nested \ud
if (Destination::UPR == m_aStates.top().getDestination() && RTF_UD != nKeyword)
if (Destination::UPR == m_aStates.top().getDestination() && RTFKeyword::UD != nKeyword)
{
m_aStates.top().setDestination(Destination::SKIP);
aSkip.setParsed(false);
@@ -50,21 +50,21 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
else
switch (nKeyword)
{
case RTF_RTF:
case RTFKeyword::RTF:
break;
case RTF_FONTTBL:
case RTFKeyword::FONTTBL:
m_aStates.top().setDestination(Destination::FONTTABLE);
break;
case RTF_COLORTBL:
case RTFKeyword::COLORTBL:
m_aStates.top().setDestination(Destination::COLORTABLE);
break;
case RTF_STYLESHEET:
case RTFKeyword::STYLESHEET:
m_aStates.top().setDestination(Destination::STYLESHEET);
break;
case RTF_FIELD:
case RTFKeyword::FIELD:
m_aStates.top().setDestination(Destination::FIELD);
break;
case RTF_FLDINST:
case RTFKeyword::FLDINST:
{
// Look for the field type
sal_uInt64 const nPos = Strm().Tell();
@@ -116,74 +116,74 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aStates.top().setDestination(Destination::FIELDINSTRUCTION);
}
break;
case RTF_FLDRSLT:
case RTFKeyword::FLDRSLT:
m_aStates.top().setDestination(Destination::FIELDRESULT);
break;
case RTF_LISTTABLE:
case RTFKeyword::LISTTABLE:
m_aStates.top().setDestination(Destination::LISTTABLE);
break;
case RTF_LISTPICTURE:
case RTFKeyword::LISTPICTURE:
m_aStates.top().setDestination(Destination::LISTPICTURE);
m_aStates.top().setInListpicture(true);
break;
case RTF_LIST:
case RTFKeyword::LIST:
m_aStates.top().setDestination(Destination::LISTENTRY);
break;
case RTF_LISTNAME:
case RTFKeyword::LISTNAME:
m_aStates.top().setDestination(Destination::LISTNAME);
break;
case RTF_LFOLEVEL:
case RTFKeyword::LFOLEVEL:
m_aStates.top().setDestination(Destination::LFOLEVEL);
m_aStates.top().getTableSprms().clear();
break;
case RTF_LISTOVERRIDETABLE:
case RTFKeyword::LISTOVERRIDETABLE:
m_aStates.top().setDestination(Destination::LISTOVERRIDETABLE);
break;
case RTF_LISTOVERRIDE:
case RTFKeyword::LISTOVERRIDE:
m_aStates.top().setDestination(Destination::LISTOVERRIDEENTRY);
break;
case RTF_LISTLEVEL:
case RTFKeyword::LISTLEVEL:
m_aStates.top().setDestination(Destination::LISTLEVEL);
++m_nListLevel;
break;
case RTF_LEVELTEXT:
case RTFKeyword::LEVELTEXT:
m_aStates.top().setDestination(Destination::LEVELTEXT);
break;
case RTF_LEVELNUMBERS:
case RTFKeyword::LEVELNUMBERS:
m_aStates.top().setDestination(Destination::LEVELNUMBERS);
break;
case RTF_SHPPICT:
case RTFKeyword::SHPPICT:
resetFrame();
m_aStates.top().setDestination(Destination::SHPPICT);
break;
case RTF_PICT:
case RTFKeyword::PICT:
if (m_aStates.top().getDestination() != Destination::SHAPEPROPERTYVALUE)
m_aStates.top().setDestination(Destination::PICT); // as character
else
m_aStates.top().setDestination(
Destination::SHAPEPROPERTYVALUEPICT); // anchored inside a shape
break;
case RTF_PICPROP:
case RTFKeyword::PICPROP:
m_aStates.top().setDestination(Destination::PICPROP);
break;
case RTF_SP:
case RTFKeyword::SP:
m_aStates.top().setDestination(Destination::SHAPEPROPERTY);
break;
case RTF_SN:
case RTFKeyword::SN:
m_aStates.top().setDestination(Destination::SHAPEPROPERTYNAME);
break;
case RTF_SV:
case RTFKeyword::SV:
m_aStates.top().setDestination(Destination::SHAPEPROPERTYVALUE);
break;
case RTF_SHP:
case RTFKeyword::SHP:
m_bNeedCrOrig = m_bNeedCr;
m_aStates.top().setDestination(Destination::SHAPE);
m_aStates.top().setInShape(true);
break;
case RTF_SHPINST:
case RTFKeyword::SHPINST:
m_aStates.top().setDestination(Destination::SHAPEINSTRUCTION);
break;
case RTF_NESTTABLEPROPS:
case RTFKeyword::NESTTABLEPROPS:
// do not set any properties of outer table at nested table!
m_aStates.top().getTableCellSprms() = m_aDefaultState.getTableCellSprms();
m_aStates.top().getTableCellAttributes() = m_aDefaultState.getTableCellAttributes();
@@ -192,54 +192,54 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_nNestedCells = 0;
m_aStates.top().setDestination(Destination::NESTEDTABLEPROPERTIES);
break;
case RTF_HEADER:
case RTF_FOOTER:
case RTF_HEADERL:
case RTF_HEADERR:
case RTF_HEADERF:
case RTF_FOOTERL:
case RTF_FOOTERR:
case RTF_FOOTERF:
case RTFKeyword::HEADER:
case RTFKeyword::FOOTER:
case RTFKeyword::HEADERL:
case RTFKeyword::HEADERR:
case RTFKeyword::HEADERF:
case RTFKeyword::FOOTERL:
case RTFKeyword::FOOTERR:
case RTFKeyword::FOOTERF:
if (!m_pSuperstream)
{
Id nId = 0;
std::size_t nPos = m_nGroupStartPos - 1;
switch (nKeyword)
{
case RTF_HEADER:
case RTFKeyword::HEADER:
if (!m_hasRHeader)
{
nId = NS_ooxml::LN_headerr;
m_hasRHeader = true;
}
break;
case RTF_FOOTER:
case RTFKeyword::FOOTER:
if (!m_hasRFooter)
{
nId = NS_ooxml::LN_footerr;
m_hasRFooter = true;
}
break;
case RTF_HEADERL:
case RTFKeyword::HEADERL:
nId = NS_ooxml::LN_headerl;
break;
case RTF_HEADERR:
case RTFKeyword::HEADERR:
nId = NS_ooxml::LN_headerr;
break;
case RTF_HEADERF:
case RTFKeyword::HEADERF:
if (!m_hasFHeader)
{
nId = NS_ooxml::LN_headerf;
m_hasFHeader = true;
}
break;
case RTF_FOOTERL:
case RTFKeyword::FOOTERL:
nId = NS_ooxml::LN_footerl;
break;
case RTF_FOOTERR:
case RTFKeyword::FOOTERR:
nId = NS_ooxml::LN_footerr;
break;
case RTF_FOOTERF:
case RTFKeyword::FOOTERF:
if (!m_hasFFooter)
{
nId = NS_ooxml::LN_footerf;
@@ -256,7 +256,7 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aStates.top().setDestination(Destination::SKIP);
}
break;
case RTF_FOOTNOTE:
case RTFKeyword::FOOTNOTE:
checkFirstRun();
if (!m_pSuperstream)
{
@@ -316,23 +316,23 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aStates.top().setDestination(Destination::SKIP);
}
break;
case RTF_BKMKSTART:
case RTFKeyword::BKMKSTART:
m_aStates.top().setDestination(Destination::BOOKMARKSTART);
break;
case RTF_BKMKEND:
case RTFKeyword::BKMKEND:
m_aStates.top().setDestination(Destination::BOOKMARKEND);
break;
case RTF_XE:
case RTFKeyword::XE:
m_aStates.top().setDestination(Destination::INDEXENTRY);
break;
case RTF_TC:
case RTF_TCN:
case RTFKeyword::TC:
case RTFKeyword::TCN:
m_aStates.top().setDestination(Destination::TOCENTRY);
break;
case RTF_REVTBL:
case RTFKeyword::REVTBL:
m_aStates.top().setDestination(Destination::REVISIONTABLE);
break;
case RTF_ANNOTATION:
case RTFKeyword::ANNOTATION:
if (!m_pSuperstream)
{
if (!m_aStates.top().getCurrentBuffer())
@@ -372,8 +372,8 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
}
}
break;
case RTF_SHPTXT:
case RTF_DPTXBXTEXT:
case RTFKeyword::SHPTXT:
case RTFKeyword::DPTXBXTEXT:
{
bool bPictureFrame = false;
for (const auto& rProperty : m_aStates.top().getShape().getProperties())
@@ -394,9 +394,9 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
{
m_aStates.top().setDestination(Destination::SHAPETEXT);
checkFirstRun();
dispatchFlag(RTF_PARD);
dispatchFlag(RTFKeyword::PARD);
m_bNeedPap = true;
if (nKeyword == RTF_SHPTXT)
if (nKeyword == RTFKeyword::SHPTXT)
{
if (!m_aStates.top().getCurrentBuffer())
m_pSdrImport->resolve(m_aStates.top().getShape(), false,
@@ -411,47 +411,47 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
}
}
break;
case RTF_FORMFIELD:
case RTFKeyword::FORMFIELD:
if (m_aStates.top().getDestination() == Destination::FIELDINSTRUCTION)
m_aStates.top().setDestination(Destination::FORMFIELD);
break;
case RTF_FFNAME:
case RTFKeyword::FFNAME:
m_aStates.top().setDestination(Destination::FORMFIELDNAME);
break;
case RTF_FFL:
case RTFKeyword::FFL:
m_aStates.top().setDestination(Destination::FORMFIELDLIST);
break;
case RTF_DATAFIELD:
case RTFKeyword::DATAFIELD:
m_aStates.top().setDestination(Destination::DATAFIELD);
break;
case RTF_INFO:
case RTFKeyword::INFO:
m_aStates.top().setDestination(Destination::INFO);
break;
case RTF_CREATIM:
case RTFKeyword::CREATIM:
m_aStates.top().setDestination(Destination::CREATIONTIME);
break;
case RTF_REVTIM:
case RTFKeyword::REVTIM:
m_aStates.top().setDestination(Destination::REVISIONTIME);
break;
case RTF_PRINTIM:
case RTFKeyword::PRINTIM:
m_aStates.top().setDestination(Destination::PRINTTIME);
break;
case RTF_AUTHOR:
case RTFKeyword::AUTHOR:
m_aStates.top().setDestination(Destination::AUTHOR);
break;
case RTF_KEYWORDS:
case RTFKeyword::KEYWORDS:
m_aStates.top().setDestination(Destination::KEYWORDS);
break;
case RTF_OPERATOR:
case RTFKeyword::OPERATOR:
m_aStates.top().setDestination(Destination::OPERATOR);
break;
case RTF_COMPANY:
case RTFKeyword::COMPANY:
m_aStates.top().setDestination(Destination::COMPANY);
break;
case RTF_COMMENT:
case RTFKeyword::COMMENT:
m_aStates.top().setDestination(Destination::COMMENT);
break;
case RTF_OBJECT:
case RTFKeyword::OBJECT:
{
// beginning of an OLE Object
m_aStates.top().setDestination(Destination::OBJECT);
@@ -461,18 +461,18 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
{
// the object is in a table or another container.
// Don't try to treat it as an OLE object (fdo#53594).
// Use the \result (RTF_RESULT) element of the object instead,
// Use the \result (RTFKeyword::RESULT) element of the object instead,
// the result element contain picture representing the OLE Object.
m_bObject = true;
}
}
break;
case RTF_OBJDATA:
case RTFKeyword::OBJDATA:
// check if the object is in a special container (e.g. a table)
if (m_aStates.top().getCurrentBuffer())
{
// the object is in a table or another container.
// Use the \result (RTF_RESULT) element of the object instead,
// Use the \result (RTFKeyword::RESULT) element of the object instead,
// of the \objdata.
m_aStates.top().setDestination(Destination::SKIP);
}
@@ -481,129 +481,129 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aStates.top().setDestination(Destination::OBJDATA);
}
break;
case RTF_OBJCLASS:
case RTFKeyword::OBJCLASS:
m_aStates.top().setDestination(Destination::OBJCLASS);
break;
case RTF_RESULT:
case RTFKeyword::RESULT:
m_aStates.top().setDestination(Destination::RESULT);
break;
case RTF_ATNDATE:
case RTFKeyword::ATNDATE:
m_aStates.top().setDestination(Destination::ANNOTATIONDATE);
break;
case RTF_ATNAUTHOR:
case RTFKeyword::ATNAUTHOR:
m_aStates.top().setDestination(Destination::ANNOTATIONAUTHOR);
break;
case RTF_ATNREF:
case RTFKeyword::ATNREF:
m_aStates.top().setDestination(Destination::ANNOTATIONREFERENCE);
break;
case RTF_FALT:
case RTFKeyword::FALT:
m_aStates.top().setDestination(Destination::FALT);
break;
case RTF_FLYMAINCNT:
case RTFKeyword::FLYMAINCNT:
m_aStates.top().setDestination(Destination::FLYMAINCONTENT);
break;
case RTF_LISTTEXT:
case RTFKeyword::LISTTEXT:
// Should be ignored by any reader that understands Word 97 through Word 2007 numbering.
case RTF_NONESTTABLES:
case RTFKeyword::NONESTTABLES:
// This destination should be ignored by readers that support nested tables.
m_aStates.top().setDestination(Destination::SKIP);
break;
case RTF_DO:
case RTFKeyword::DO:
m_aStates.top().setDestination(Destination::DRAWINGOBJECT);
break;
case RTF_PN:
case RTFKeyword::PN:
m_aStates.top().setDestination(Destination::PARAGRAPHNUMBERING);
break;
case RTF_PNTEXT:
case RTFKeyword::PNTEXT:
// This destination should be ignored by readers that support paragraph numbering.
m_aStates.top().setDestination(Destination::SKIP);
break;
case RTF_PNTXTA:
case RTFKeyword::PNTXTA:
m_aStates.top().setDestination(Destination::PARAGRAPHNUMBERING_TEXTAFTER);
break;
case RTF_PNTXTB:
case RTFKeyword::PNTXTB:
m_aStates.top().setDestination(Destination::PARAGRAPHNUMBERING_TEXTBEFORE);
break;
case RTF_TITLE:
case RTFKeyword::TITLE:
m_aStates.top().setDestination(Destination::TITLE);
break;
case RTF_SUBJECT:
case RTFKeyword::SUBJECT:
m_aStates.top().setDestination(Destination::SUBJECT);
break;
case RTF_DOCCOMM:
case RTFKeyword::DOCCOMM:
m_aStates.top().setDestination(Destination::DOCCOMM);
break;
case RTF_ATRFSTART:
case RTFKeyword::ATRFSTART:
m_aStates.top().setDestination(Destination::ANNOTATIONREFERENCESTART);
break;
case RTF_ATRFEND:
case RTFKeyword::ATRFEND:
m_aStates.top().setDestination(Destination::ANNOTATIONREFERENCEEND);
break;
case RTF_ATNID:
case RTFKeyword::ATNID:
m_aStates.top().setDestination(Destination::ATNID);
break;
case RTF_MMATH:
case RTF_MOMATHPARA:
// Nothing to do here (just enter the destination) till RTF_MMATHPR is implemented.
case RTFKeyword::MMATH:
case RTFKeyword::MOMATHPARA:
// Nothing to do here (just enter the destination) till RTFKeyword::MMATHPR is implemented.
break;
case RTF_MR:
case RTFKeyword::MR:
m_aStates.top().setDestination(Destination::MR);
break;
case RTF_MCHR:
case RTFKeyword::MCHR:
m_aStates.top().setDestination(Destination::MCHR);
break;
case RTF_MPOS:
case RTFKeyword::MPOS:
m_aStates.top().setDestination(Destination::MPOS);
break;
case RTF_MVERTJC:
case RTFKeyword::MVERTJC:
m_aStates.top().setDestination(Destination::MVERTJC);
break;
case RTF_MSTRIKEH:
case RTFKeyword::MSTRIKEH:
m_aStates.top().setDestination(Destination::MSTRIKEH);
break;
case RTF_MDEGHIDE:
case RTFKeyword::MDEGHIDE:
m_aStates.top().setDestination(Destination::MDEGHIDE);
break;
case RTF_MTYPE:
case RTFKeyword::MTYPE:
m_aStates.top().setDestination(Destination::MTYPE);
break;
case RTF_MGROW:
case RTFKeyword::MGROW:
m_aStates.top().setDestination(Destination::MGROW);
break;
case RTF_MHIDETOP:
case RTF_MHIDEBOT:
case RTF_MHIDELEFT:
case RTF_MHIDERIGHT:
case RTFKeyword::MHIDETOP:
case RTFKeyword::MHIDEBOT:
case RTFKeyword::MHIDELEFT:
case RTFKeyword::MHIDERIGHT:
// SmOoxmlImport::handleBorderBox will ignore these anyway, so silently ignore for now.
m_aStates.top().setDestination(Destination::SKIP);
break;
case RTF_MSUBHIDE:
case RTFKeyword::MSUBHIDE:
m_aStates.top().setDestination(Destination::MSUBHIDE);
break;
case RTF_MSUPHIDE:
case RTFKeyword::MSUPHIDE:
m_aStates.top().setDestination(Destination::MSUPHIDE);
break;
case RTF_MBEGCHR:
case RTFKeyword::MBEGCHR:
m_aStates.top().setDestination(Destination::MBEGCHR);
break;
case RTF_MSEPCHR:
case RTFKeyword::MSEPCHR:
m_aStates.top().setDestination(Destination::MSEPCHR);
break;
case RTF_MENDCHR:
case RTFKeyword::MENDCHR:
m_aStates.top().setDestination(Destination::MENDCHR);
break;
case RTF_UPR:
case RTFKeyword::UPR:
m_aStates.top().setDestination(Destination::UPR);
break;
case RTF_UD:
case RTFKeyword::UD:
// Anything inside \ud is just normal Unicode content.
m_aStates.top().setDestination(Destination::NORMAL);
break;
case RTF_BACKGROUND:
case RTFKeyword::BACKGROUND:
m_aStates.top().setDestination(Destination::BACKGROUND);
m_aStates.top().setInBackground(true);
break;
case RTF_SHPGRP:
case RTFKeyword::SHPGRP:
{
RTFLookahead aLookahead(Strm(), m_pTokenizer->getGroupStart());
if (!aLookahead.hasTable())
@@ -629,26 +629,26 @@ RTFError RTFDocumentImpl::dispatchDestination(RTFKeyword nKeyword)
m_aStates.top().setInShapeGroup(true);
}
break;
case RTF_FTNSEP:
case RTFKeyword::FTNSEP:
m_aStates.top().setDestination(Destination::FOOTNOTESEPARATOR);
m_aStates.top().getCharacterAttributes().set(
NS_ooxml::LN_CT_FtnEdn_type,
new RTFValue(NS_ooxml::LN_Value_doc_ST_FtnEdn_separator));
break;
case RTF_USERPROPS:
case RTFKeyword::USERPROPS:
// Container of all user-defined properties.
m_aStates.top().setDestination(Destination::USERPROPS);
if (m_xDocumentProperties.is())
// Create a custom document properties to be able to process them later all at once.
m_xDocumentProperties = document::DocumentProperties::create(m_xContext);
break;
case RTF_PROPNAME:
case RTFKeyword::PROPNAME:
m_aStates.top().setDestination(Destination::PROPNAME);
break;
case RTF_STATICVAL:
case RTFKeyword::STATICVAL:
m_aStates.top().setDestination(Destination::STATICVAL);
break;
case RTF_GENERATOR:
case RTFKeyword::GENERATOR:
m_aStates.top().setDestination(Destination::GENERATOR);
break;
default:
diff --git a/writerfilter/source/rtftok/rtfdispatchflag.cxx b/writerfilter/source/rtftok/rtfdispatchflag.cxx
index 30f9753..7b12ec4 100644
--- a/writerfilter/source/rtftok/rtfdispatchflag.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchflag.cxx
@@ -39,10 +39,10 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Underline flags.
switch (nKeyword)
{
case RTF_ULD:
case RTFKeyword::ULD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dotted;
break;
case RTF_ULW:
case RTFKeyword::ULW:
nSprm = NS_ooxml::LN_Value_ST_Underline_words;
break;
default:
@@ -58,19 +58,19 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Indentation
switch (nKeyword)
{
case RTF_QC:
case RTFKeyword::QC:
nParam = NS_ooxml::LN_Value_ST_Jc_center;
break;
case RTF_QJ:
case RTFKeyword::QJ:
nParam = NS_ooxml::LN_Value_ST_Jc_both;
break;
case RTF_QL:
case RTFKeyword::QL:
nParam = NS_ooxml::LN_Value_ST_Jc_left;
break;
case RTF_QR:
case RTFKeyword::QR:
nParam = NS_ooxml::LN_Value_ST_Jc_right;
break;
case RTF_QD:
case RTFKeyword::QD:
nParam = NS_ooxml::LN_Value_ST_Jc_distribute;
break;
default:
@@ -87,20 +87,20 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Font Alignment
switch (nKeyword)
{
case RTF_FAFIXED:
case RTF_FAAUTO:
case RTFKeyword::FAFIXED:
case RTFKeyword::FAAUTO:
nParam = NS_ooxml::LN_Value_doc_ST_TextAlignment_auto;
break;
case RTF_FAHANG:
case RTFKeyword::FAHANG:
nParam = NS_ooxml::LN_Value_doc_ST_TextAlignment_top;
break;
case RTF_FACENTER:
case RTFKeyword::FACENTER:
nParam = NS_ooxml::LN_Value_doc_ST_TextAlignment_center;
break;
case RTF_FAROMAN:
case RTFKeyword::FAROMAN:
nParam = NS_ooxml::LN_Value_doc_ST_TextAlignment_baseline;
break;
case RTF_FAVAR:
case RTFKeyword::FAVAR:
nParam = NS_ooxml::LN_Value_doc_ST_TextAlignment_bottom;
break;
default:
@@ -116,13 +116,13 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Tab kind.
switch (nKeyword)
{
case RTF_TQR:
case RTFKeyword::TQR:
nParam = NS_ooxml::LN_Value_ST_TabJc_right;
break;
case RTF_TQC:
case RTFKeyword::TQC:
nParam = NS_ooxml::LN_Value_ST_TabJc_center;
break;
case RTF_TQDEC:
case RTFKeyword::TQDEC:
nParam = NS_ooxml::LN_Value_ST_TabJc_decimal;
break;
default:
@@ -138,20 +138,20 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Tab lead.
switch (nKeyword)
{
case RTF_TLDOT:
case RTFKeyword::TLDOT:
nParam = NS_ooxml::LN_Value_ST_TabTlc_dot;
break;
case RTF_TLMDOT:
case RTFKeyword::TLMDOT:
nParam = NS_ooxml::LN_Value_ST_TabTlc_middleDot;
break;
case RTF_TLHYPH:
case RTFKeyword::TLHYPH:
nParam = NS_ooxml::LN_Value_ST_TabTlc_hyphen;
break;
case RTF_TLUL:
case RTF_TLTH:
case RTFKeyword::TLUL:
case RTFKeyword::TLTH:
nParam = NS_ooxml::LN_Value_ST_TabTlc_underscore;
break;
case RTF_TLEQ:
case RTFKeyword::TLEQ:
default:
break;
}
@@ -168,59 +168,59 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
{
// brdrhair and brdrs are the same, brdrw will make a difference
// map to values in ooxml/model.xml resource ST_Border
case RTF_BRDRHAIR:
case RTF_BRDRS:
case RTFKeyword::BRDRHAIR:
case RTFKeyword::BRDRS:
nParam = NS_ooxml::LN_Value_ST_Border_single;
break;
case RTF_BRDRDOT:
case RTFKeyword::BRDRDOT:
nParam = NS_ooxml::LN_Value_ST_Border_dotted;
break;
case RTF_BRDRDASH:
case RTFKeyword::BRDRDASH:
nParam = NS_ooxml::LN_Value_ST_Border_dashed;
break;
case RTF_BRDRDB:
case RTFKeyword::BRDRDB:
nParam = NS_ooxml::LN_Value_ST_Border_double;
break;
case RTF_BRDRTNTHSG:
case RTFKeyword::BRDRTNTHSG:
nParam = NS_ooxml::LN_Value_ST_Border_thinThickSmallGap;
break;
case RTF_BRDRTNTHMG:
case RTFKeyword::BRDRTNTHMG:
nParam = NS_ooxml::LN_Value_ST_Border_thinThickMediumGap;
break;
case RTF_BRDRTNTHLG:
case RTFKeyword::BRDRTNTHLG:
nParam = NS_ooxml::LN_Value_ST_Border_thinThickLargeGap;
break;
case RTF_BRDRTHTNSG:
case RTFKeyword::BRDRTHTNSG:
nParam = NS_ooxml::LN_Value_ST_Border_thickThinSmallGap;
break;
case RTF_BRDRTHTNMG:
case RTFKeyword::BRDRTHTNMG:
nParam = NS_ooxml::LN_Value_ST_Border_thickThinMediumGap;
break;
case RTF_BRDRTHTNLG:
case RTFKeyword::BRDRTHTNLG:
nParam = NS_ooxml::LN_Value_ST_Border_thickThinLargeGap;
break;
case RTF_BRDREMBOSS:
case RTFKeyword::BRDREMBOSS:
nParam = NS_ooxml::LN_Value_ST_Border_threeDEmboss;
break;
case RTF_BRDRENGRAVE:
case RTFKeyword::BRDRENGRAVE:
nParam = NS_ooxml::LN_Value_ST_Border_threeDEngrave;
break;
case RTF_BRDROUTSET:
case RTFKeyword::BRDROUTSET:
nParam = NS_ooxml::LN_Value_ST_Border_outset;
break;
case RTF_BRDRINSET:
case RTFKeyword::BRDRINSET:
nParam = NS_ooxml::LN_Value_ST_Border_inset;
break;
case RTF_BRDRDASHSM:
case RTFKeyword::BRDRDASHSM:
nParam = NS_ooxml::LN_Value_ST_Border_dashSmallGap;
break;
case RTF_BRDRDASHD:
case RTFKeyword::BRDRDASHD:
nParam = NS_ooxml::LN_Value_ST_Border_dotDash;
break;
case RTF_BRDRDASHDD:
case RTFKeyword::BRDRDASHDD:
nParam = NS_ooxml::LN_Value_ST_Border_dotDotDash;
break;
case RTF_BRDRNONE:
case RTFKeyword::BRDRNONE:
nParam = NS_ooxml::LN_Value_ST_Border_none;
break;
default:
@@ -237,19 +237,19 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Section breaks
switch (nKeyword)
{
case RTF_SBKNONE:
case RTFKeyword::SBKNONE:
nParam = NS_ooxml::LN_Value_ST_SectionMark_continuous;
break;
case RTF_SBKCOL:
case RTFKeyword::SBKCOL:
nParam = NS_ooxml::LN_Value_ST_SectionMark_nextColumn;
break;
case RTF_SBKPAGE:
case RTFKeyword::SBKPAGE:
nParam = NS_ooxml::LN_Value_ST_SectionMark_nextPage;
break;
case RTF_SBKEVEN:
case RTFKeyword::SBKEVEN:
nParam = NS_ooxml::LN_Value_ST_SectionMark_evenPage;
break;
case RTF_SBKODD:
case RTFKeyword::SBKODD:
nParam = NS_ooxml::LN_Value_ST_SectionMark_oddPage;
break;
default:
@@ -257,7 +257,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
}
if (nParam >= 0)
{
if (m_nResetBreakOnSectBreak != RTF_invalid)
if (m_nResetBreakOnSectBreak != RTFKeyword::invalid)
{
m_nResetBreakOnSectBreak = nKeyword;
}
@@ -269,22 +269,22 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Footnote numbering
switch (nKeyword)
{
case RTF_FTNNAR:
case RTFKeyword::FTNNAR:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_decimal;
break;
case RTF_FTNNALC:
case RTFKeyword::FTNNALC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_lowerLetter;
break;
case RTF_FTNNAUC:
case RTFKeyword::FTNNAUC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_upperLetter;
break;
case RTF_FTNNRLC:
case RTFKeyword::FTNNRLC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_lowerRoman;
break;
case RTF_FTNNRUC:
case RTFKeyword::FTNNRUC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_upperRoman;
break;
case RTF_FTNNCHI:
case RTFKeyword::FTNNCHI:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_chicago;
break;
default:
@@ -305,13 +305,13 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Footnote restart type
switch (nKeyword)
{
case RTF_FTNRSTPG:
case RTFKeyword::FTNRSTPG:
nParam = NS_ooxml::LN_Value_ST_RestartNumber_eachPage;
break;
case RTF_FTNRESTART:
case RTFKeyword::FTNRESTART:
nParam = NS_ooxml::LN_Value_ST_RestartNumber_eachSect;
break;
case RTF_FTNRSTCONT:
case RTFKeyword::FTNRSTCONT:
nParam = NS_ooxml::LN_Value_ST_RestartNumber_continuous;
break;
default:
@@ -329,22 +329,22 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Endnote numbering
switch (nKeyword)
{
case RTF_AFTNNAR:
case RTFKeyword::AFTNNAR:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_decimal;
break;
case RTF_AFTNNALC:
case RTFKeyword::AFTNNALC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_lowerLetter;
break;
case RTF_AFTNNAUC:
case RTFKeyword::AFTNNAUC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_upperLetter;
break;
case RTF_AFTNNRLC:
case RTFKeyword::AFTNNRLC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_lowerRoman;
break;
case RTF_AFTNNRUC:
case RTFKeyword::AFTNNRUC:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_upperRoman;
break;
case RTF_AFTNNCHI:
case RTFKeyword::AFTNNCHI:
nParam = NS_ooxml::LN_Value_ST_NumberFormat_chicago;
break;
default:
@@ -363,13 +363,13 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
switch (nKeyword)
{
case RTF_TRQL:
case RTFKeyword::TRQL:
nParam = NS_ooxml::LN_Value_ST_Jc_left;
break;
case RTF_TRQC:
case RTFKeyword::TRQC:
nParam = NS_ooxml::LN_Value_ST_Jc_center;
break;
case RTF_TRQR:
case RTFKeyword::TRQR:
nParam = NS_ooxml::LN_Value_ST_Jc_right;
break;
default:
@@ -385,19 +385,19 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Cell Text Flow
switch (nKeyword)
{
case RTF_CLTXLRTB:
case RTFKeyword::CLTXLRTB:
nParam = NS_ooxml::LN_Value_ST_TextDirection_lrTb;
break;
case RTF_CLTXTBRL:
case RTFKeyword::CLTXTBRL:
nParam = NS_ooxml::LN_Value_ST_TextDirection_tbRl;
break;
case RTF_CLTXBTLR:
case RTFKeyword::CLTXBTLR:
nParam = NS_ooxml::LN_Value_ST_TextDirection_btLr;
break;
case RTF_CLTXLRTBV:
case RTFKeyword::CLTXLRTBV:
nParam = NS_ooxml::LN_Value_ST_TextDirection_lrTbV;
break;
case RTF_CLTXTBRLV:
case RTFKeyword::CLTXTBRLV:
nParam = NS_ooxml::LN_Value_ST_TextDirection_tbRlV;
break;
default:
@@ -412,21 +412,21 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
// Trivial paragraph flags
switch (nKeyword)
{
case RTF_KEEP:
case RTFKeyword::KEEP:
if (m_aStates.top().getCurrentBuffer() != &m_aTableBufferStack.back())
nParam = NS_ooxml::LN_CT_PPrBase_keepLines;
break;
case RTF_KEEPN:
case RTFKeyword::KEEPN:
if (m_aStates.top().getCurrentBuffer() != &m_aTableBufferStack.back())
nParam = NS_ooxml::LN_CT_PPrBase_keepNext;
break;
case RTF_INTBL:
case RTFKeyword::INTBL:
{
m_aStates.top().setCurrentBuffer(&m_aTableBufferStack.back());
nParam = NS_ooxml::LN_inTbl;
}
break;
case RTF_PAGEBB:
case RTFKeyword::PAGEBB:
nParam = NS_ooxml::LN_CT_PPrBase_pageBreakBefore;
break;
default:
@@ -441,32 +441,32 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
switch (nKeyword)
{
case RTF_FNIL:
case RTF_FROMAN:
case RTF_FSWISS:
case RTF_FMODERN:
case RTF_FSCRIPT:
case RTF_FDECOR:
case RTF_FTECH:
case RTF_FBIDI:
case RTFKeyword::FNIL:
case RTFKeyword::FROMAN:
case RTFKeyword::FSWISS:
case RTFKeyword::FMODERN:
case RTFKeyword::FSCRIPT:
case RTFKeyword::FDECOR:
case RTFKeyword::FTECH:
case RTFKeyword::FBIDI:
// TODO ooxml:CT_Font_family seems to be ignored by the domain mapper
break;
case RTF_ANSI:
case RTFKeyword::ANSI:
m_aStates.top().setCurrentEncoding(RTL_TEXTENCODING_MS_1252);
break;
case RTF_MAC:
case RTFKeyword::MAC:
m_aDefaultState.setCurrentEncoding(RTL_TEXTENCODING_APPLE_ROMAN);
m_aStates.top().setCurrentEncoding(m_aDefaultState.getCurrentEncoding());
break;
case RTF_PC:
case RTFKeyword::PC:
m_aDefaultState.setCurrentEncoding(RTL_TEXTENCODING_IBM_437);
m_aStates.top().setCurrentEncoding(m_aDefaultState.getCurrentEncoding());
break;
case RTF_PCA:
case RTFKeyword::PCA:
m_aDefaultState.setCurrentEncoding(RTL_TEXTENCODING_IBM_850);
m_aStates.top().setCurrentEncoding(m_aDefaultState.getCurrentEncoding());
break;
case RTF_PLAIN:
case RTFKeyword::PLAIN:
{
m_aStates.top().getCharacterSprms() = getDefaultState().getCharacterSprms();
m_aStates.top().setCurrentEncoding(getEncoding(getFontIndex(m_nDefaultFontIndex)));
@@ -475,10 +475,10 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setRunType(RTFParserState::RunType::NONE);
}
break;
case RTF_PARD:
case RTFKeyword::PARD:
{
if (m_bHadPicture)
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
// \pard is allowed between \cell and \row, but in that case it should not reset the fact that we're inside a table.
// It should not reset the paragraph style, either, so remember the old paragraph style.
RTFValue::Pointer_t pOldStyle
@@ -527,13 +527,13 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_bNeedPap = true;
break;
}
case RTF_SECTD:
case RTFKeyword::SECTD:
{
m_aStates.top().getSectionSprms() = m_aDefaultState.getSectionSprms();
m_aStates.top().getSectionAttributes() = m_aDefaultState.getSectionAttributes();
}
break;
case RTF_TROWD:
case RTFKeyword::TROWD:
{
// Back these up, in case later we still need this info.
backupTableRowProperties();
@@ -543,14 +543,14 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_bNeedPap = true;
}
break;
case RTF_WIDCTLPAR:
case RTF_NOWIDCTLPAR:
case RTFKeyword::WIDCTLPAR:
case RTFKeyword::NOWIDCTLPAR:
{
auto pValue = new RTFValue(int(nKeyword == RTF_WIDCTLPAR));
auto pValue = new RTFValue(int(nKeyword == RTFKeyword::WIDCTLPAR));
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_widowControl, pValue);
}
break;
case RTF_BOX:
case RTFKeyword::BOX:
{
RTFSprms aAttributes;
auto pValue = new RTFValue(aAttributes);
@@ -559,37 +559,38 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setBorderState(RTFBorderState::PARAGRAPH_BOX);
}
break;
case RTF_LTRSECT:
case RTF_RTLSECT:
case RTFKeyword::LTRSECT:
case RTFKeyword::RTLSECT:
{
auto pValue = new RTFValue(nKeyword == RTF_LTRSECT ? 0 : 1);
auto pValue = new RTFValue(nKeyword == RTFKeyword::LTRSECT ? 0 : 1);
m_aStates.top().setRunType(RTFParserState::RunType::NONE);
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_EG_SectPrContents_textDirection,
pValue);
}
break;
case RTF_LTRPAR:
case RTF_RTLPAR:
case RTFKeyword::LTRPAR:
case RTFKeyword::RTLPAR:
{
auto pValue = new RTFValue(nKeyword == RTF_LTRPAR ? 0 : 1);
auto pValue = new RTFValue(nKeyword == RTFKeyword::LTRPAR ? 0 : 1);
m_aStates.top().setRunType(RTFParserState::RunType::NONE);
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_bidi, pValue);
}
break;
case RTF_LTRROW:
case RTF_RTLROW:
case RTFKeyword::LTRROW:
case RTFKeyword::RTLROW:
m_aStates.top().setRunType(RTFParserState::RunType::NONE);
m_aStates.top().getTableRowSprms().set(NS_ooxml::LN_CT_TblPrBase_bidiVisual,
new RTFValue(int(nKeyword == RTF_RTLROW)));
m_aStates.top().getTableRowSprms().set(
NS_ooxml::LN_CT_TblPrBase_bidiVisual,
new RTFValue(int(nKeyword == RTFKeyword::RTLROW)));
break;
case RTF_LTRCH:
case RTFKeyword::LTRCH:
// dmapper does not support this.
if (m_aStates.top().getRunType() == RTFParserState::RunType::RTLCH_LTRCH_1)
m_aStates.top().setRunType(RTFParserState::RunType::RTLCH_LTRCH_2);
else
m_aStates.top().setRunType(RTFParserState::RunType::LTRCH_RTLCH_1);
break;
case RTF_RTLCH:
case RTFKeyword::RTLCH:
if (m_aStates.top().getRunType() == RTFParserState::RunType::LTRCH_RTLCH_1)
m_aStates.top().setRunType(RTFParserState::RunType::LTRCH_RTLCH_2);
else
@@ -598,36 +599,36 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
if (m_aDefaultState.getCurrentEncoding() == RTL_TEXTENCODING_MS_1255)
m_aStates.top().setCurrentEncoding(m_aDefaultState.getCurrentEncoding());
break;
case RTF_ULNONE:
case RTFKeyword::ULNONE:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_Underline_none);
m_aStates.top().getCharacterAttributes().set(NS_ooxml::LN_CT_Underline_val, pValue);
}
break;
case RTF_NONSHPPICT:
case RTF_MMATHPICT: // Picture group used by readers not understanding \moMath group
case RTFKeyword::NONSHPPICT:
case RTFKeyword::MMATHPICT: // Picture group used by readers not understanding \moMath group
m_aStates.top().setDestination(Destination::SKIP);
break;
case RTF_CLBRDRT:
case RTF_CLBRDRL:
case RTF_CLBRDRB:
case RTF_CLBRDRR:
case RTFKeyword::CLBRDRT:
case RTFKeyword::CLBRDRL:
case RTFKeyword::CLBRDRB:
case RTFKeyword::CLBRDRR:
{
RTFSprms aAttributes;
RTFSprms aSprms;
auto pValue = new RTFValue(aAttributes, aSprms);
switch (nKeyword)
{
case RTF_CLBRDRT:
case RTFKeyword::CLBRDRT:
nParam = NS_ooxml::LN_CT_TcBorders_top;
break;
case RTF_CLBRDRL:
case RTFKeyword::CLBRDRL:
nParam = NS_ooxml::LN_CT_TcBorders_left;
break;
case RTF_CLBRDRB:
case RTFKeyword::CLBRDRB:
nParam = NS_ooxml::LN_CT_TcBorders_bottom;
break;
case RTF_CLBRDRR:
case RTFKeyword::CLBRDRR:
nParam = NS_ooxml::LN_CT_TcBorders_right;
break;
default:
@@ -638,26 +639,26 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setBorderState(RTFBorderState::CELL);
}
break;
case RTF_PGBRDRT:
case RTF_PGBRDRL:
case RTF_PGBRDRB:
case RTF_PGBRDRR:
case RTFKeyword::PGBRDRT:
case RTFKeyword::PGBRDRL:
case RTFKeyword::PGBRDRB:
case RTFKeyword::PGBRDRR:
{
RTFSprms aAttributes;
RTFSprms aSprms;
auto pValue = new RTFValue(aAttributes, aSprms);
switch (nKeyword)
{
case RTF_PGBRDRT:
case RTFKeyword::PGBRDRT:
nParam = NS_ooxml::LN_CT_PageBorders_top;
break;
case RTF_PGBRDRL:
case RTFKeyword::PGBRDRL:
nParam = NS_ooxml::LN_CT_PageBorders_left;
break;
case RTF_PGBRDRB:
case RTFKeyword::PGBRDRB:
nParam = NS_ooxml::LN_CT_PageBorders_bottom;
break;
case RTF_PGBRDRR:
case RTFKeyword::PGBRDRR:
nParam = NS_ooxml::LN_CT_PageBorders_right;
break;
default:
@@ -668,26 +669,26 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setBorderState(RTFBorderState::PAGE);
}
break;
case RTF_BRDRT:
case RTF_BRDRL:
case RTF_BRDRB:
case RTF_BRDRR:
case RTFKeyword::BRDRT:
case RTFKeyword::BRDRL:
case RTFKeyword::BRDRB:
case RTFKeyword::BRDRR:
{
RTFSprms aAttributes;
RTFSprms aSprms;
auto pValue = new RTFValue(aAttributes, aSprms);
switch (nKeyword)
{
case RTF_BRDRT:
case RTFKeyword::BRDRT:
nParam = getParagraphBorder(0);
break;
case RTF_BRDRL:
case RTFKeyword::BRDRL:
nParam = getParagraphBorder(1);
break;
case RTF_BRDRB:
case RTFKeyword::BRDRB:
nParam = getParagraphBorder(2);
break;
case RTF_BRDRR:
case RTFKeyword::BRDRR:
nParam = getParagraphBorder(3);
break;
default:
@@ -698,7 +699,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setBorderState(RTFBorderState::PARAGRAPH);
}
break;
case RTF_CHBRDR:
case RTFKeyword::CHBRDR:
{
RTFSprms aAttributes;
auto pValue = new RTFValue(aAttributes);
@@ -706,43 +707,43 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().setBorderState(RTFBorderState::CHARACTER);
}
break;
case RTF_CLMGF:
case RTFKeyword::CLMGF:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_Merge_restart);
m_aStates.top().getTableCellSprms().set(NS_ooxml::LN_CT_TcPrBase_hMerge, pValue);
}
break;
case RTF_CLMRG:
case RTFKeyword::CLMRG:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_Merge_continue);
m_aStates.top().getTableCellSprms().set(NS_ooxml::LN_CT_TcPrBase_hMerge, pValue);
}
break;
case RTF_CLVMGF:
case RTFKeyword::CLVMGF:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_Merge_restart);
m_aStates.top().getTableCellSprms().set(NS_ooxml::LN_CT_TcPrBase_vMerge, pValue);
}
break;
case RTF_CLVMRG:
case RTFKeyword::CLVMRG:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_Merge_continue);
m_aStates.top().getTableCellSprms().set(NS_ooxml::LN_CT_TcPrBase_vMerge, pValue);
}
break;
case RTF_CLVERTALT:
case RTF_CLVERTALC:
case RTF_CLVERTALB:
case RTFKeyword::CLVERTALT:
case RTFKeyword::CLVERTALC:
case RTFKeyword::CLVERTALB:
{
switch (nKeyword)
{
case RTF_CLVERTALT:
case RTFKeyword::CLVERTALT:
nParam = NS_ooxml::LN_Value_ST_VerticalJc_top;
break;
case RTF_CLVERTALC:
case RTFKeyword::CLVERTALC:
nParam = NS_ooxml::LN_Value_ST_VerticalJc_center;
break;
case RTF_CLVERTALB:
case RTFKeyword::CLVERTALB:
nParam = NS_ooxml::LN_Value_ST_VerticalJc_bottom;
break;
default:
@@ -752,38 +753,38 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getTableCellSprms().set(NS_ooxml::LN_CT_TcPrBase_vAlign, pValue);
}
break;
case RTF_TRKEEP:
case RTFKeyword::TRKEEP:
{
auto pValue = new RTFValue(1);
m_aStates.top().getTableRowSprms().set(NS_ooxml::LN_CT_TrPrBase_cantSplit, pValue);
}
break;
case RTF_SECTUNLOCKED:
case RTFKeyword::SECTUNLOCKED:
{
auto pValue = new RTFValue(0);
m_aStates.top().getSectionSprms().set(NS_ooxml::LN_EG_SectPrContents_formProt, pValue);
}
break;
case RTF_PGNBIDIA:
case RTF_PGNBIDIB:
case RTFKeyword::PGNBIDIA:
case RTFKeyword::PGNBIDIB:
// These should be mapped to NS_ooxml::LN_EG_SectPrContents_pgNumType, but dmapper has no API for that at the moment.
break;
case RTF_LOCH:
case RTFKeyword::LOCH:
m_aStates.top().setRunType(RTFParserState::RunType::LOCH);
break;
case RTF_HICH:
case RTFKeyword::HICH:
m_aStates.top().setRunType(RTFParserState::RunType::HICH);
break;
case RTF_DBCH:
case RTFKeyword::DBCH:
m_aStates.top().setRunType(RTFParserState::RunType::DBCH);
break;
case RTF_TITLEPG:
case RTFKeyword::TITLEPG:
{
auto pValue = new RTFValue(1);
m_aStates.top().getSectionSprms().set(NS_ooxml::LN_EG_SectPrContents_titlePg, pValue);
}
break;
case RTF_SUPER:
case RTFKeyword::SUPER:
{
// Make sure character properties are not lost if the document
// starts with a footnote.
@@ -800,13 +801,13 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getCharacterSprms().set(NS_ooxml::LN_EG_RPrBase_vertAlign, pValue);
}
break;
case RTF_SUB:
case RTFKeyword::SUB:
{
auto pValue = new RTFValue("subscript");
m_aStates.top().getCharacterSprms().set(NS_ooxml::LN_EG_RPrBase_vertAlign, pValue);
}
break;
case RTF_NOSUPERSUB:
case RTFKeyword::NOSUPERSUB:
{
if (m_aStates.top().getCurrentBuffer() == &m_aSuperBuffer)
{
@@ -816,10 +817,10 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getCharacterSprms().erase(NS_ooxml::LN_EG_RPrBase_vertAlign);
}
break;
case RTF_LINEPPAGE:
case RTF_LINECONT:
case RTFKeyword::LINEPPAGE:
case RTFKeyword::LINECONT:
{
auto pValue = new RTFValue(nKeyword == RTF_LINEPPAGE
auto pValue = new RTFValue(nKeyword == RTFKeyword::LINEPPAGE
? NS_ooxml::LN_Value_ST_LineNumberRestart_newPage
: NS_ooxml::LN_Value_ST_LineNumberRestart_continuous);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -827,18 +828,18 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_LineNumber_restart, pValue);
}
break;
case RTF_AENDDOC:
case RTFKeyword::AENDDOC:
// Noop, this is the default in Writer.
case RTF_AENDNOTES:
case RTFKeyword::AENDNOTES:
// Noop
case RTF_AFTNRSTCONT:
case RTFKeyword::AFTNRSTCONT:
// Noop, this is the default in Writer.
case RTF_AFTNRESTART:
case RTFKeyword::AFTNRESTART:
// Noop
case RTF_FTNBJ:
case RTFKeyword::FTNBJ:
// Noop, this is the default in Writer.
break;
case RTF_ENDDOC:
case RTFKeyword::ENDDOC:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_RestartNumber_eachSect);
putNestedSprm(m_aDefaultState.getParagraphSprms(),
@@ -846,102 +847,102 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_EG_FtnEdnNumProps_numRestart, pValue);
}
break;
case RTF_NOLINE:
case RTFKeyword::NOLINE:
eraseNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_lnNumType,
NS_ooxml::LN_CT_LineNumber_distance);
break;
case RTF_FORMSHADE:
case RTFKeyword::FORMSHADE:
// Noop, this is the default in Writer.
break;
case RTF_PNGBLIP:
case RTFKeyword::PNGBLIP:
m_aStates.top().getPicture().eStyle = RTFBmpStyle::PNG;
break;
case RTF_JPEGBLIP:
case RTFKeyword::JPEGBLIP:
m_aStates.top().getPicture().eStyle = RTFBmpStyle::JPEG;
break;
case RTF_POSYT:
case RTFKeyword::POSYT:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_top);
break;
case RTF_POSYB:
case RTFKeyword::POSYB:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_bottom);
break;
case RTF_POSYC:
case RTFKeyword::POSYC:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_center);
break;
case RTF_POSYIN:
case RTFKeyword::POSYIN:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_inside);
break;
case RTF_POSYOUT:
case RTFKeyword::POSYOUT:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_outside);
break;
case RTF_POSYIL:
case RTFKeyword::POSYIL:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
NS_ooxml::LN_Value_doc_ST_YAlign_inline);
break;
case RTF_PHMRG:
case RTFKeyword::PHMRG:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_hAnchor,
NS_ooxml::LN_Value_doc_ST_HAnchor_margin);
break;
case RTF_PVMRG:
case RTFKeyword::PVMRG:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_vAnchor,
NS_ooxml::LN_Value_doc_ST_VAnchor_margin);
break;
case RTF_PHPG:
case RTFKeyword::PHPG:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_hAnchor,
NS_ooxml::LN_Value_doc_ST_HAnchor_page);
break;
case RTF_PVPG:
case RTFKeyword::PVPG:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_vAnchor,
NS_ooxml::LN_Value_doc_ST_VAnchor_page);
break;
case RTF_PHCOL:
case RTFKeyword::PHCOL:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_hAnchor,
NS_ooxml::LN_Value_doc_ST_HAnchor_text);
break;
case RTF_PVPARA:
case RTFKeyword::PVPARA:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_vAnchor,
NS_ooxml::LN_Value_doc_ST_VAnchor_text);
break;
case RTF_POSXC:
case RTFKeyword::POSXC:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
NS_ooxml::LN_Value_doc_ST_XAlign_center);
break;
case RTF_POSXI:
case RTFKeyword::POSXI:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
NS_ooxml::LN_Value_doc_ST_XAlign_inside);
break;
case RTF_POSXO:
case RTFKeyword::POSXO:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
NS_ooxml::LN_Value_doc_ST_XAlign_outside);
break;
case RTF_POSXL:
case RTFKeyword::POSXL:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
NS_ooxml::LN_Value_doc_ST_XAlign_left);
break;
case RTF_POSXR:
case RTFKeyword::POSXR:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
NS_ooxml::LN_Value_doc_ST_XAlign_right);
break;
case RTF_DPLINE:
case RTF_DPRECT:
case RTF_DPELLIPSE:
case RTF_DPTXBX:
case RTF_DPPOLYLINE:
case RTF_DPPOLYGON:
case RTFKeyword::DPLINE:
case RTFKeyword::DPRECT:
case RTFKeyword::DPELLIPSE:
case RTFKeyword::DPTXBX:
case RTFKeyword::DPPOLYLINE:
case RTFKeyword::DPPOLYGON:
{
sal_Int32 nType = 0;
switch (nKeyword)
{
case RTF_DPLINE:
case RTFKeyword::DPLINE:
{
uno::Reference<drawing::XShape> xShape(
getModelFactory()->createInstance("com.sun.star.drawing.LineShape"),
@@ -949,7 +950,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getDrawingObject().setShape(xShape);
break;
}
case RTF_DPPOLYLINE:
case RTFKeyword::DPPOLYLINE:
{
// The reason this is not a simple CustomShape is that in the old syntax we have no ViewBox info.
uno::Reference<drawing::XShape> xShape(
@@ -958,7 +959,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getDrawingObject().setShape(xShape);
break;
}
case RTF_DPPOLYGON:
case RTFKeyword::DPPOLYGON:
{
uno::Reference<drawing::XShape> xShape(
getModelFactory()->createInstance("com.sun.star.drawing.PolyPolygonShape"),
@@ -966,7 +967,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getDrawingObject().setShape(xShape);
break;
}
case RTF_DPRECT:
case RTFKeyword::DPRECT:
{
uno::Reference<drawing::XShape> xShape(
getModelFactory()->createInstance("com.sun.star.drawing.RectangleShape"),
@@ -974,10 +975,10 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getDrawingObject().setShape(xShape);
break;
}
case RTF_DPELLIPSE:
case RTFKeyword::DPELLIPSE:
nType = ESCHER_ShpInst_Ellipse;
break;
case RTF_DPTXBX:
case RTFKeyword::DPTXBX:
{
uno::Reference<drawing::XShape> xShape(
getModelFactory()->createInstance("com.sun.star.text.TextFrame"),
@@ -1015,7 +1016,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
if (xDrawSupplier.is())
{
uno::Reference<drawing::XShapes> xShapes = xDrawSupplier->getDrawPage();
if (xShapes.is() && nKeyword != RTF_DPTXBX)
if (xShapes.is() && nKeyword != RTFKeyword::DPTXBX)
{
// set default VertOrient before inserting
m_aStates.top().getDrawingObject().getPropertySet()->setPropertyValue(
@@ -1039,29 +1040,29 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
/*bOldStyle=*/true);
}
break;
case RTF_DOBXMARGIN:
case RTF_DOBYMARGIN:
case RTFKeyword::DOBXMARGIN:
case RTFKeyword::DOBYMARGIN:
{
beans::PropertyValue aPropertyValue;
aPropertyValue.Name
= (nKeyword == RTF_DOBXMARGIN ? OUStringLiteral(u"HoriOrientRelation")
: OUStringLiteral(u"VertOrientRelation"));
= (nKeyword == RTFKeyword::DOBXMARGIN ? OUStringLiteral(u"HoriOrientRelation")
: OUStringLiteral(u"VertOrientRelation"));
aPropertyValue.Value <<= text::RelOrientation::PAGE_PRINT_AREA;
m_aStates.top().getDrawingObject().getPendingProperties().push_back(aPropertyValue);
}
break;
case RTF_DOBXPAGE:
case RTF_DOBYPAGE:
case RTFKeyword::DOBXPAGE:
case RTFKeyword::DOBYPAGE:
{
beans::PropertyValue aPropertyValue;
aPropertyValue.Name
= (nKeyword == RTF_DOBXPAGE ? OUStringLiteral(u"HoriOrientRelation")
: OUStringLiteral(u"VertOrientRelation"));
= (nKeyword == RTFKeyword::DOBXPAGE ? OUStringLiteral(u"HoriOrientRelation")
: OUStringLiteral(u"VertOrientRelation"));
aPropertyValue.Value <<= text::RelOrientation::PAGE_FRAME;
m_aStates.top().getDrawingObject().getPendingProperties().push_back(aPropertyValue);
}
break;
case RTF_DOBYPARA:
case RTFKeyword::DOBYPARA:
{
beans::PropertyValue aPropertyValue;
aPropertyValue.Name = "VertOrientRelation";
@@ -1069,33 +1070,33 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
m_aStates.top().getDrawingObject().getPendingProperties().push_back(aPropertyValue);
}
break;
case RTF_CONTEXTUALSPACE:
case RTFKeyword::CONTEXTUALSPACE:
{
auto pValue = new RTFValue(1);
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_contextualSpacing,
pValue);
}
break;
case RTF_LINKSTYLES:
case RTFKeyword::LINKSTYLES:
{
auto pValue = new RTFValue(1);
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_linkStyles, pValue);
}
break;
case RTF_PNLVLBODY:
case RTFKeyword::PNLVLBODY:
{
auto pValue = new RTFValue(2);
m_aStates.top().getTableAttributes().set(NS_ooxml::LN_CT_AbstractNum_nsid, pValue);
}
break;
case RTF_PNDEC:
case RTFKeyword::PNDEC:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_decimal);
putNestedAttribute(m_aStates.top().getTableSprms(), NS_ooxml::LN_CT_Lvl_numFmt,
NS_ooxml::LN_CT_NumFmt_val, pValue);
}
break;
case RTF_PNLVLBLT:
case RTFKeyword::PNLVLBLT:
{
m_aStates.top().getTableAttributes().set(NS_ooxml::LN_CT_AbstractNum_nsid,
new RTFValue(1));
@@ -1104,7 +1105,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_bullet));
}
break;
case RTF_LANDSCAPE:
case RTFKeyword::LANDSCAPE:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_PageOrientation_landscape);
putNestedAttribute(m_aDefaultState.getSectionSprms(),
@@ -1112,7 +1113,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
pValue);
[[fallthrough]]; // set the default + current value
}
case RTF_LNDSCPSXN:
case RTFKeyword::LNDSCPSXN:
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_ST_PageOrientation_landscape);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1120,62 +1121,62 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
pValue);
}
break;
case RTF_SHPBXPAGE:
case RTFKeyword::SHPBXPAGE:
m_aStates.top().getShape().setHoriOrientRelation(text::RelOrientation::PAGE_FRAME);
m_aStates.top().getShape().setHoriOrientRelationToken(
NS_ooxml::LN_Value_wordprocessingDrawing_ST_RelFromH_page);
break;
case RTF_SHPBYPAGE:
case RTFKeyword::SHPBYPAGE:
m_aStates.top().getShape().setVertOrientRelation(text::RelOrientation::PAGE_FRAME);
m_aStates.top().getShape().setVertOrientRelationToken(
NS_ooxml::LN_Value_wordprocessingDrawing_ST_RelFromV_page);
break;
case RTF_DPLINEHOLLOW:
case RTFKeyword::DPLINEHOLLOW:
m_aStates.top().getDrawingObject().setFLine(0);
break;
case RTF_DPROUNDR:
case RTFKeyword::DPROUNDR:
if (m_aStates.top().getDrawingObject().getPropertySet().is())
// Seems this old syntax has no way to specify a custom radius, and this is the default
m_aStates.top().getDrawingObject().getPropertySet()->setPropertyValue(
"CornerRadius", uno::makeAny(sal_Int32(83)));
break;
case RTF_NOWRAP:
case RTFKeyword::NOWRAP:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_wrap,
NS_ooxml::LN_Value_doc_ST_Wrap_notBeside);
break;
case RTF_MNOR:
case RTFKeyword::MNOR:
m_bMathNor = true;
break;
case RTF_REVISIONS:
case RTFKeyword::REVISIONS:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_trackRevisions, new RTFValue(1));
break;
case RTF_BRDRSH:
case RTFKeyword::BRDRSH:
putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_shadow, new RTFValue(1));
break;
case RTF_NOCOLBAL:
case RTFKeyword::NOCOLBAL:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Compat_noColumnBalance, new RTFValue(1));
break;
case RTF_MARGMIRROR:
case RTFKeyword::MARGMIRROR:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_mirrorMargins, new RTFValue(1));
break;
case RTF_SAUTOUPD:
case RTFKeyword::SAUTOUPD:
m_aStates.top().getTableSprms().set(NS_ooxml::LN_CT_Style_autoRedefine,
new RTFValue(1));
break;
case RTF_WIDOWCTRL:
case RTFKeyword::WIDOWCTRL:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_widowControl, new RTFValue(1));
break;
case RTF_LINEBETCOL:
case RTFKeyword::LINEBETCOL:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_cols, NS_ooxml::LN_CT_Columns_sep,
new RTFValue(1));
break;
case RTF_PGNRESTART:
case RTFKeyword::PGNRESTART:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgNumType,
NS_ooxml::LN_CT_PageNumber_start, new RTFValue(1));
break;
case RTF_PGNUCLTR:
case RTFKeyword::PGNUCLTR:
{
auto pIntValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_upperLetter);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1183,7 +1184,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_PageNumber_fmt, pIntValue);
}
break;
case RTF_PGNLCLTR:
case RTFKeyword::PGNLCLTR:
{
auto pIntValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_lowerLetter);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1191,7 +1192,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_PageNumber_fmt, pIntValue);
}
break;
case RTF_PGNUCRM:
case RTFKeyword::PGNUCRM:
{
auto pIntValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_upperRoman);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1199,7 +1200,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_PageNumber_fmt, pIntValue);
}
break;
case RTF_PGNLCRM:
case RTFKeyword::PGNLCRM:
{
auto pIntValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_lowerRoman);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1207,7 +1208,7 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_PageNumber_fmt, pIntValue);
}
break;
case RTF_PGNDEC:
case RTFKeyword::PGNDEC:
{
auto pIntValue = new RTFValue(NS_ooxml::LN_Value_ST_NumberFormat_decimal);
putNestedAttribute(m_aStates.top().getSectionSprms(),
@@ -1215,16 +1216,16 @@ RTFError RTFDocumentImpl::dispatchFlag(RTFKeyword nKeyword)
NS_ooxml::LN_CT_PageNumber_fmt, pIntValue);
}
break;
case RTF_HTMAUTSP:
case RTFKeyword::HTMAUTSP:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Compat_doNotUseHTMLParagraphAutoSpacing,
new RTFValue(0));
break;
case RTF_DNTBLNSBDB:
case RTFKeyword::DNTBLNSBDB:
// tdf#128428 switch off longer space sequence
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_longerSpaceSequence,
new RTFValue(0));
break;
case RTF_GUTTERPRL:
case RTFKeyword::GUTTERPRL:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_gutterAtTop, new RTFValue(1));
break;
default:
diff --git a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
index fea4d7d..88d303c 100644
--- a/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchsymbol.cxx
@@ -26,13 +26,13 @@ namespace writerfilter::rtftok
RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
{
setNeedSect(true);
if (nKeyword != RTF_HEXCHAR)
if (nKeyword != RTFKeyword::HEXCHAR)
checkUnicode(/*bUnicode =*/true, /*bHex =*/true);
else
checkUnicode(/*bUnicode =*/true, /*bHex =*/false);
RTFSkipDestination aSkip(*this);
if (RTF_LINE == nKeyword)
if (RTFKeyword::LINE == nKeyword)
{
// very special handling since text() will eat lone '\n'
singleChar('\n');
@@ -42,37 +42,37 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
sal_uInt8 cCh = 0;
switch (nKeyword)
{
case RTF_TAB:
case RTFKeyword::TAB:
cCh = '\t';
break;
case RTF_BACKSLASH:
case RTFKeyword::BACKSLASH:
cCh = '\\';
break;
case RTF_LBRACE:
case RTFKeyword::LBRACE:
cCh = '{';
break;
case RTF_RBRACE:
case RTFKeyword::RBRACE:
cCh = '}';
break;
case RTF_EMDASH:
case RTFKeyword::EMDASH:
cCh = 151;
break;
case RTF_ENDASH:
case RTFKeyword::ENDASH:
cCh = 150;
break;
case RTF_BULLET:
case RTFKeyword::BULLET:
cCh = 149;
break;
case RTF_LQUOTE:
case RTFKeyword::LQUOTE:
cCh = 145;
break;
case RTF_RQUOTE:
case RTFKeyword::RQUOTE:
cCh = 146;
break;
case RTF_LDBLQUOTE:
case RTFKeyword::LDBLQUOTE:
cCh = 147;
break;
case RTF_RDBLQUOTE:
case RTFKeyword::RDBLQUOTE:
cCh = 148;
break;
default:
@@ -87,14 +87,14 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
switch (nKeyword)
{
case RTF_IGNORE:
case RTFKeyword::IGNORE:
{
m_bSkipUnknown = true;
aSkip.setReset(false);
return RTFError::OK;
}
break;
case RTF_PAR:
case RTFKeyword::PAR:
{
if (m_aStates.top().getDestination() == Destination::FOOTNOTESEPARATOR)
break; // just ignore it - only thing we read in here is CHFTNSEP
@@ -131,7 +131,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
m_bNeedFinalPar = false;
}
break;
case RTF_SECT:
case RTFKeyword::SECT:
{
m_bHadSect = true;
if (m_bIgnoreNextContSectBreak)
@@ -139,41 +139,41 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
else
{
sectBreak();
if (m_nResetBreakOnSectBreak != RTF_invalid)
if (m_nResetBreakOnSectBreak != RTFKeyword::invalid)
{
// this should run on _second_ \sect after \page
dispatchSymbol(m_nResetBreakOnSectBreak); // lazy reset
m_nResetBreakOnSectBreak = RTF_invalid;
m_nResetBreakOnSectBreak = RTFKeyword::invalid;
m_bNeedSect = false; // dispatchSymbol set it
}
}
}
break;
case RTF_NOBREAK:
case RTFKeyword::NOBREAK:
{
OUString aStr(SVT_HARD_SPACE);
text(aStr);
}
break;
case RTF_NOBRKHYPH:
case RTFKeyword::NOBRKHYPH:
{
OUString aStr(SVT_HARD_HYPHEN);
text(aStr);
}
break;
case RTF_OPTHYPH:
case RTFKeyword::OPTHYPH:
{
OUString aStr(SVT_SOFT_HYPHEN);
text(aStr);
}
break;
case RTF_HEXCHAR:
case RTFKeyword::HEXCHAR:
m_aStates.top().setInternalState(RTFInternalState::HEX);
break;
case RTF_CELL:
case RTF_NESTCELL:
case RTFKeyword::CELL:
case RTFKeyword::NESTCELL:
{
if (nKeyword == RTF_CELL)
if (nKeyword == RTFKeyword::CELL)
m_bAfterCellBeforeRow = true;
checkFirstRun();
@@ -193,7 +193,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
m_bNeedPap = true;
}
break;
case RTF_NESTROW:
case RTFKeyword::NESTROW:
{
tools::SvRef<TableRowBuffer> const pBuffer(
new TableRowBuffer(m_aTableBufferStack.back(), m_aNestedTableCellsSprms,
@@ -227,7 +227,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
m_bNeedPap = true;
}
break;
case RTF_ROW:
case RTFKeyword::ROW:
{
m_bAfterCellBeforeRow = false;
if (m_aStates.top().getTableRowWidthAfter() > 0)
@@ -237,7 +237,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
auto pXValue = new RTFValue(m_aStates.top().getTableRowWidthAfter());
m_aStates.top().getTableRowSprms().set(NS_ooxml::LN_CT_TblGridBase_gridCol, pXValue,
RTFOverwrite::NO_APPEND);
dispatchSymbol(RTF_CELL);
dispatchSymbol(RTFKeyword::CELL);
// Adjust total width, which is done in the \cellx handler for normal cells.
m_nTopLevelCurrentCellX += m_aStates.top().getTableRowWidthAfter();
@@ -323,7 +323,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
resetTableRowProperties();
}
break;
case RTF_COLUMN:
case RTFKeyword::COLUMN:
{
bool bColumns = false; // If we have multiple columns
RTFValue::Pointer_t pCols
@@ -343,17 +343,17 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
Mapper().endCharacterGroup();
}
else
dispatchSymbol(RTF_PAGE);
dispatchSymbol(RTFKeyword::PAGE);
}
break;
case RTF_CHFTN:
case RTFKeyword::CHFTN:
{
if (m_aStates.top().getCurrentBuffer() == &m_aSuperBuffer)
// Stop buffering, there will be no custom mark for this footnote or endnote.
m_aStates.top().setCurrentBuffer(nullptr);
break;
}
case RTF_PAGE:
case RTFKeyword::PAGE:
{
// Ignore page breaks inside tables.
if (m_aStates.top().getCurrentBuffer() == &m_aTableBufferStack.back())
@@ -368,23 +368,23 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
if (((pBreak
&& pBreak->getInt()
== static_cast<sal_Int32>(NS_ooxml::LN_Value_ST_SectionMark_continuous))
|| m_nResetBreakOnSectBreak == RTF_SBKNONE)
|| m_nResetBreakOnSectBreak == RTFKeyword::SBKNONE)
&& !(pTitlePg && pTitlePg->getInt()))
{
if (m_bWasInFrame)
{
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
m_bWasInFrame = false;
}
sectBreak();
// note: this will not affect the following section break
// but the one just pushed
dispatchFlag(RTF_SBKPAGE);
dispatchFlag(RTFKeyword::SBKPAGE);
if (m_bNeedPar)
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
m_bIgnoreNextContSectBreak = true;
// arrange to clean up the synthetic RTF_SBKPAGE
m_nResetBreakOnSectBreak = RTF_SBKNONE;
// arrange to clean up the synthetic RTFKeyword::SBKPAGE
m_nResetBreakOnSectBreak = RTFKeyword::SBKNONE;
}
else
{
@@ -401,7 +401,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
}
}
break;
case RTF_CHPGN:
case RTFKeyword::CHPGN:
{
OUString aStr("PAGE");
singleChar(cFieldStart);
@@ -410,7 +410,7 @@ RTFError RTFDocumentImpl::dispatchSymbol(RTFKeyword nKeyword)
singleChar(cFieldEnd);
}
break;
case RTF_CHFTNSEP:
case RTFKeyword::CHFTNSEP:
{
static const sal_Unicode uFtnEdnSep = 0x3;
Mapper().utext(reinterpret_cast<const sal_uInt8*>(&uFtnEdnSep), 1);
diff --git a/writerfilter/source/rtftok/rtfdispatchvalue.cxx b/writerfilter/source/rtftok/rtfdispatchvalue.cxx
index f398326..135e239 100644
--- a/writerfilter/source/rtftok/rtfdispatchvalue.cxx
+++ b/writerfilter/source/rtftok/rtfdispatchvalue.cxx
@@ -102,7 +102,7 @@ bool RTFDocumentImpl::dispatchTableSprmValue(RTFKeyword nKeyword, int nParam)
tools::SvRef<RTFValue> pIntValue(new RTFValue(nParam));
switch (nKeyword)
{
case RTF_LEVELJC:
case RTFKeyword::LEVELJC:
{
nSprm = NS_ooxml::LN_CT_Lvl_lvlJc;
int nValue = 0;
@@ -121,13 +121,13 @@ bool RTFDocumentImpl::dispatchTableSprmValue(RTFKeyword nKeyword, int nParam)
pIntValue = new RTFValue(nValue);
break;
}
case RTF_LEVELSTARTAT:
case RTFKeyword::LEVELSTARTAT:
nSprm = NS_ooxml::LN_CT_Lvl_start;
break;
case RTF_LEVELPICTURE:
case RTFKeyword::LEVELPICTURE:
nSprm = NS_ooxml::LN_CT_Lvl_lvlPicBulletId;
break;
case RTF_SBASEDON:
case RTFKeyword::SBASEDON:
nSprm = NS_ooxml::LN_CT_Style_basedOn;
pIntValue = new RTFValue(getStyleName(nParam));
break;
@@ -139,7 +139,7 @@ bool RTFDocumentImpl::dispatchTableSprmValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getTableSprms().set(nSprm, pIntValue);
return true;
}
if (nKeyword == RTF_LEVELNFC)
if (nKeyword == RTFKeyword::LEVELNFC)
{
pIntValue = new RTFValue(getNumberFormat(nParam));
putNestedAttribute(m_aStates.top().getTableSprms(), NS_ooxml::LN_CT_Lvl_numFmt,
@@ -157,8 +157,8 @@ bool RTFDocumentImpl::dispatchCharacterSprmValue(RTFKeyword nKeyword, int nParam
switch (nKeyword)
{
case RTF_FS:
case RTF_AFS:
case RTFKeyword::FS:
case RTFKeyword::AFS:
switch (m_aStates.top().getRunType())
{
case RTFParserState::RunType::HICH:
@@ -176,13 +176,13 @@ bool RTFDocumentImpl::dispatchCharacterSprmValue(RTFKeyword nKeyword, int nParam
break;
}
break;
case RTF_EXPNDTW:
case RTFKeyword::EXPNDTW:
nSprm = NS_ooxml::LN_EG_RPrBase_spacing;
break;
case RTF_KERNING:
case RTFKeyword::KERNING:
nSprm = NS_ooxml::LN_EG_RPrBase_kern;
break;
case RTF_CHARSCALEX:
case RTFKeyword::CHARSCALEX:
nSprm = NS_ooxml::LN_EG_RPrBase_w;
break;
default:
@@ -203,8 +203,8 @@ bool RTFDocumentImpl::dispatchCharacterAttributeValue(RTFKeyword nKeyword, int n
switch (nKeyword)
{
case RTF_LANG:
case RTF_ALANG:
case RTFKeyword::LANG:
case RTFKeyword::ALANG:
switch (m_aStates.top().getRunType())
{
case RTFParserState::RunType::HICH:
@@ -224,7 +224,7 @@ bool RTFDocumentImpl::dispatchCharacterAttributeValue(RTFKeyword nKeyword, int n
break;
}
break;
case RTF_LANGFE: // this one is always CJK apparently
case RTFKeyword::LANGFE: // this one is always CJK apparently
nSprm = NS_ooxml::LN_CT_Language_eastAsia;
break;
default:
@@ -237,7 +237,7 @@ bool RTFDocumentImpl::dispatchCharacterAttributeValue(RTFKeyword nKeyword, int n
putNestedAttribute(m_aStates.top().getCharacterSprms(), NS_ooxml::LN_EG_RPrBase_lang, nSprm,
pValue);
// Language is a character property, but we should store it at a paragraph level as well for fields.
if (nKeyword == RTF_LANG && m_bNeedPap)
if (nKeyword == RTFKeyword::LANG && m_bNeedPap)
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_EG_RPrBase_lang,
nSprm, pValue);
return true;
@@ -253,7 +253,7 @@ bool RTFDocumentImpl::dispatchParagraphSprmValue(RTFKeyword nKeyword, int nParam
switch (nKeyword)
{
case RTF_ITAP:
case RTFKeyword::ITAP:
nSprm = NS_ooxml::LN_tblDepth;
// tdf#117268: If \itap0 is encountered inside tables (between \cellxN and \cell), then
// use the default value (1), as Word apparently does
@@ -269,14 +269,14 @@ bool RTFDocumentImpl::dispatchParagraphSprmValue(RTFKeyword nKeyword, int nParam
if (nSprm > 0)
{
m_aStates.top().getParagraphSprms().set(nSprm, pIntValue);
if (nKeyword == RTF_ITAP && nParam > 0)
if (nKeyword == RTFKeyword::ITAP && nParam > 0)
{
while (m_aTableBufferStack.size() < sal::static_int_cast<std::size_t>(nParam))
{
m_aTableBufferStack.emplace_back();
}
// Invalid tables may omit INTBL after ITAP
dispatchFlag(RTF_INTBL); // sets newly pushed buffer as current
dispatchFlag(RTFKeyword::INTBL); // sets newly pushed buffer as current
assert(m_aStates.top().getCurrentBuffer() == &m_aTableBufferStack.back());
}
return true;
@@ -291,31 +291,31 @@ bool RTFDocumentImpl::dispatchInfoValue(RTFKeyword nKeyword, int nParam)
switch (nKeyword)
{
case RTF_YR:
case RTFKeyword::YR:
{
m_aStates.top().setYear(nParam);
nSprm = 1;
}
break;
case RTF_MO:
case RTFKeyword::MO:
{
m_aStates.top().setMonth(nParam);
nSprm = 1;
}
break;
case RTF_DY:
case RTFKeyword::DY:
{
m_aStates.top().setDay(nParam);
nSprm = 1;
}
break;
case RTF_HR:
case RTFKeyword::HR:
{
m_aStates.top().setHour(nParam);
nSprm = 1;
}
break;
case RTF_MIN:
case RTFKeyword::MIN:
{
m_aStates.top().setMinute(nParam);
nSprm = 1;
@@ -333,19 +333,19 @@ bool RTFDocumentImpl::dispatchFrameValue(RTFKeyword nKeyword, int nParam)
Id nId = 0;
switch (nKeyword)
{
case RTF_ABSW:
case RTFKeyword::ABSW:
nId = NS_ooxml::LN_CT_FramePr_w;
break;
case RTF_ABSH:
case RTFKeyword::ABSH:
nId = NS_ooxml::LN_CT_FramePr_h;
break;
case RTF_POSX:
case RTFKeyword::POSX:
{
nId = NS_ooxml::LN_CT_FramePr_x;
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign, 0);
}
break;
case RTF_POSY:
case RTFKeyword::POSY:
{
nId = NS_ooxml::LN_CT_FramePr_y;
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign, 0);
@@ -375,7 +375,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
switch (nKeyword)
{
case RTF_CELLX:
case RTFKeyword::CELLX:
{
int& rCurrentCellX(
(Destination::NESTEDTABLEPROPERTIES == m_aStates.top().getDestination())
@@ -420,7 +420,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getTableCellSprms() = m_aDefaultState.getTableCellSprms();
m_aStates.top().getTableCellAttributes() = m_aDefaultState.getTableCellAttributes();
// We assume text after a row definition always belongs to the table, to handle text before the real INTBL token
dispatchFlag(RTF_INTBL);
dispatchFlag(RTFKeyword::INTBL);
if (!m_nCellxMax)
{
// Wasn't in table, but now is -> tblStart.
@@ -435,7 +435,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_TRRH:
case RTFKeyword::TRRH:
{
OUString hRule("auto");
if (nParam < 0)
@@ -459,7 +459,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_TRLEFT:
case RTFKeyword::TRLEFT:
{
// the value is in twips
putNestedAttribute(m_aStates.top().getTableRowSprms(), NS_ooxml::LN_CT_TblPrBase_tblInd,
@@ -478,7 +478,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_CLSHDNG:
case RTFKeyword::CLSHDNG:
{
int nValue = -1;
switch (nParam)
@@ -562,10 +562,10 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_CLPADB:
case RTF_CLPADL:
case RTF_CLPADR:
case RTF_CLPADT:
case RTFKeyword::CLPADB:
case RTFKeyword::CLPADL:
case RTFKeyword::CLPADR:
case RTFKeyword::CLPADT:
{
RTFSprms aAttributes;
aAttributes.set(NS_ooxml::LN_CT_TblWidth_type,
@@ -574,16 +574,16 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
// Top and left is swapped, that's what Word does.
switch (nKeyword)
{
case RTF_CLPADB:
case RTFKeyword::CLPADB:
nSprm = NS_ooxml::LN_CT_TcMar_bottom;
break;
case RTF_CLPADL:
case RTFKeyword::CLPADL:
nSprm = NS_ooxml::LN_CT_TcMar_top;
break;
case RTF_CLPADR:
case RTFKeyword::CLPADR:
nSprm = NS_ooxml::LN_CT_TcMar_right;
break;
case RTF_CLPADT:
case RTFKeyword::CLPADT:
nSprm = NS_ooxml::LN_CT_TcMar_left;
break;
default:
@@ -594,10 +594,10 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_TRPADDFB:
case RTF_TRPADDFL:
case RTF_TRPADDFR:
case RTF_TRPADDFT:
case RTFKeyword::TRPADDFB:
case RTFKeyword::TRPADDFL:
case RTFKeyword::TRPADDFR:
case RTFKeyword::TRPADDFT:
{
RTFSprms aAttributes;
switch (nParam)
@@ -609,16 +609,16 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
}
switch (nKeyword)
{
case RTF_TRPADDFB:
case RTFKeyword::TRPADDFB:
nSprm = NS_ooxml::LN_CT_TcMar_bottom;
break;
case RTF_TRPADDFL:
case RTFKeyword::TRPADDFL:
nSprm = NS_ooxml::LN_CT_TcMar_left;
break;
case RTF_TRPADDFR:
case RTFKeyword::TRPADDFR:
nSprm = NS_ooxml::LN_CT_TcMar_right;
break;
case RTF_TRPADDFT:
case RTFKeyword::TRPADDFT:
nSprm = NS_ooxml::LN_CT_TcMar_top;
break;
default:
@@ -636,25 +636,25 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
return true;
}
break;
case RTF_TRPADDB:
case RTF_TRPADDL:
case RTF_TRPADDR:
case RTF_TRPADDT:
case RTFKeyword::TRPADDB:
case RTFKeyword::TRPADDL:
case RTFKeyword::TRPADDR:
case RTFKeyword::TRPADDT:
{
RTFSprms aAttributes;
aAttributes.set(NS_ooxml::LN_CT_TblWidth_w, new RTFValue(nParam));
switch (nKeyword)
{
case RTF_TRPADDB:
case RTFKeyword::TRPADDB:
nSprm = NS_ooxml::LN_CT_TcMar_bottom;
break;
case RTF_TRPADDL:
case RTFKeyword::TRPADDL:
nSprm = NS_ooxml::LN_CT_TcMar_left;
break;
case RTF_TRPADDR:
case RTFKeyword::TRPADDR:
nSprm = NS_ooxml::LN_CT_TcMar_right;
break;
case RTF_TRPADDT:
case RTFKeyword::TRPADDT:
nSprm = NS_ooxml::LN_CT_TcMar_top;
break;
default:
@@ -670,7 +670,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
nSprm, new RTFValue(aAttributes));
return true;
}
case RTF_TRGAPH:
case RTFKeyword::TRGAPH:
// Half of the space between the cells of a table row: default left/right table cell margin.
if (nParam > 0)
{
@@ -687,11 +687,11 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_TblCellMar_right, new RTFValue(aAttributes));
}
return true;
case RTF_TRFTSWIDTH:
case RTFKeyword::TRFTSWIDTH:
putNestedAttribute(m_aStates.top().getTableRowSprms(), NS_ooxml::LN_CT_TblPrBase_tblW,
NS_ooxml::LN_CT_TblWidth_type, pIntValue);
return true;
case RTF_TRWWIDTH:
case RTFKeyword::TRWWIDTH:
putNestedAttribute(m_aStates.top().getTableRowSprms(), NS_ooxml::LN_CT_TblPrBase_tblW,
NS_ooxml::LN_CT_TblWidth_w, pIntValue);
return true;
@@ -705,7 +705,7 @@ bool RTFDocumentImpl::dispatchTableValue(RTFKeyword nKeyword, int nParam)
RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
{
setNeedSect(true);
checkUnicode(/*bUnicode =*/nKeyword != RTF_U, /*bHex =*/true);
checkUnicode(/*bUnicode =*/nKeyword != RTFKeyword::U, /*bHex =*/true);
RTFSkipDestination aSkip(*this);
int nSprm = 0;
tools::SvRef<RTFValue> pIntValue(new RTFValue(nParam));
@@ -754,8 +754,8 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
// Then check for the more complex ones.
switch (nKeyword)
{
case RTF_F:
case RTF_AF:
case RTFKeyword::F:
case RTFKeyword::AF:
switch (m_aStates.top().getRunType())
{
case RTFParserState::RunType::RTLCH_LTRCH_1:
@@ -797,20 +797,20 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
auto pValue = new RTFValue(getFontName(m_nCurrentFontIndex));
putNestedAttribute(m_aStates.top().getCharacterSprms(),
NS_ooxml::LN_EG_RPrBase_rFonts, nSprm, pValue);
if (nKeyword == RTF_F)
if (nKeyword == RTFKeyword::F)
m_aStates.top().setCurrentEncoding(getEncoding(m_nCurrentFontIndex));
}
break;
case RTF_RED:
case RTFKeyword::RED:
m_aStates.top().getCurrentColor().SetRed(nParam);
break;
case RTF_GREEN:
case RTFKeyword::GREEN:
m_aStates.top().getCurrentColor().SetGreen(nParam);
break;
case RTF_BLUE:
case RTFKeyword::BLUE:
m_aStates.top().getCurrentColor().SetBlue(nParam);
break;
case RTF_FCHARSET:
case RTFKeyword::FCHARSET:
{
// we always send text to the domain mapper in OUString, so no
// need to send encoding info
@@ -831,21 +831,21 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().setCurrentEncoding(m_nCurrentEncoding);
}
break;
case RTF_ANSICPG:
case RTF_CPG:
case RTFKeyword::ANSICPG:
case RTFKeyword::CPG:
{
rtl_TextEncoding nEncoding
= (nParam == 0)
? utl_getWinTextEncodingFromLangStr(utl_getLocaleForGlobalDefaultEncoding())
: rtl_getTextEncodingFromWindowsCodePage(nParam);
if (nKeyword == RTF_ANSICPG)
if (nKeyword == RTFKeyword::ANSICPG)
m_aDefaultState.setCurrentEncoding(nEncoding);
else
m_nCurrentEncoding = nEncoding;
m_aStates.top().setCurrentEncoding(nEncoding);
}
break;
case RTF_CF:
case RTFKeyword::CF:
{
RTFSprms aAttributes;
auto pValue = new RTFValue(sal_uInt32(getColorTable(nParam)));
@@ -854,7 +854,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
new RTFValue(aAttributes));
}
break;
case RTF_S:
case RTFKeyword::S:
{
m_aStates.top().setCurrentStyleIndex(nParam);
@@ -881,7 +881,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_CS:
case RTFKeyword::CS:
m_aStates.top().setCurrentCharacterStyleIndex(nParam);
if (m_aStates.top().getDestination() == Destination::STYLESHEET
|| m_aStates.top().getDestination() == Destination::STYLEENTRY)
@@ -899,7 +899,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
new RTFValue(aName));
}
break;
case RTF_DS:
case RTFKeyword::DS:
if (m_aStates.top().getDestination() == Destination::STYLESHEET
|| m_aStates.top().getDestination() == Destination::STYLEENTRY)
{
@@ -909,7 +909,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
pValue); // section style
}
break;
case RTF_TS:
case RTFKeyword::TS:
if (m_aStates.top().getDestination() == Destination::STYLESHEET
|| m_aStates.top().getDestination() == Destination::STYLEENTRY)
{
@@ -920,42 +920,42 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
pValue); // table style
}
break;
case RTF_DEFF:
case RTFKeyword::DEFF:
m_nDefaultFontIndex = nParam;
break;
case RTF_STSHFDBCH:
case RTFKeyword::STSHFDBCH:
// tdf#123703 switch off longer space sequence except in the case of the fixed compatibility setting font id 31505
if (nParam != 31505)
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_longerSpaceSequence,
new RTFValue(0));
break;
case RTF_DEFLANG:
case RTF_ADEFLANG:
case RTFKeyword::DEFLANG:
case RTFKeyword::ADEFLANG:
{
LanguageTag aTag((LanguageType(static_cast<sal_uInt16>(nParam))));
auto pValue = new RTFValue(aTag.getBcp47());
putNestedAttribute(m_aStates.top().getCharacterSprms(),
(nKeyword == RTF_DEFLANG ? NS_ooxml::LN_EG_RPrBase_lang
: NS_ooxml::LN_CT_Language_bidi),
(nKeyword == RTFKeyword::DEFLANG ? NS_ooxml::LN_EG_RPrBase_lang
: NS_ooxml::LN_CT_Language_bidi),
nSprm, pValue);
}
break;
case RTF_CHCBPAT:
case RTFKeyword::CHCBPAT:
{
auto pValue = new RTFValue(sal_uInt32(nParam ? getColorTable(nParam) : COL_AUTO));
putNestedAttribute(m_aStates.top().getCharacterSprms(), NS_ooxml::LN_EG_RPrBase_shd,
NS_ooxml::LN_CT_Shd_fill, pValue);
}
break;
case RTF_CLCBPAT:
case RTF_CLCBPATRAW:
case RTFKeyword::CLCBPAT:
case RTFKeyword::CLCBPATRAW:
{
auto pValue = new RTFValue(sal_uInt32(getColorTable(nParam)));
putNestedAttribute(m_aStates.top().getTableCellSprms(), NS_ooxml::LN_CT_TcPrBase_shd,
NS_ooxml::LN_CT_Shd_fill, pValue);
}
break;
case RTF_CBPAT:
case RTFKeyword::CBPAT:
if (nParam)
{
auto pValue = new RTFValue(sal_uInt32(getColorTable(nParam)));
@@ -963,26 +963,26 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_Shd_fill, pValue);
}
break;
case RTF_ULC:
case RTFKeyword::ULC:
{
auto pValue = new RTFValue(sal_uInt32(getColorTable(nParam)));
m_aStates.top().getCharacterSprms().set(0x6877, pValue);
}
break;
case RTF_HIGHLIGHT:
case RTFKeyword::HIGHLIGHT:
{
auto pValue = new RTFValue(sal_uInt32(nParam ? getColorTable(nParam) : COL_AUTO));
m_aStates.top().getCharacterSprms().set(NS_ooxml::LN_EG_RPrBase_highlight, pValue);
}
break;
case RTF_UP:
case RTF_DN:
case RTFKeyword::UP:
case RTFKeyword::DN:
{
auto pValue = new RTFValue(nParam * (nKeyword == RTF_UP ? 1 : -1));
auto pValue = new RTFValue(nParam * (nKeyword == RTFKeyword::UP ? 1 : -1));
m_aStates.top().getCharacterSprms().set(NS_ooxml::LN_EG_RPrBase_position, pValue);
}
break;
case RTF_HORZVERT:
case RTFKeyword::HORZVERT:
{
auto pValue = new RTFValue(int(true));
m_aStates.top().getCharacterAttributes().set(NS_ooxml::LN_CT_EastAsianLayout_vert,
@@ -993,14 +993,14 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_EastAsianLayout_vertCompress, pValue);
}
break;
case RTF_EXPND:
case RTFKeyword::EXPND:
{
// Convert quarter-points to twentieths of a point
auto pValue = new RTFValue(nParam * 5);
m_aStates.top().getCharacterSprms().set(NS_ooxml::LN_EG_RPrBase_spacing, pValue);
}
break;
case RTF_TWOINONE:
case RTFKeyword::TWOINONE:
{
auto pValue = new RTFValue(int(true));
m_aStates.top().getCharacterAttributes().set(NS_ooxml::LN_CT_EastAsianLayout_combine,
@@ -1029,9 +1029,9 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_EastAsianLayout_combineBrackets, new RTFValue(nId));
}
break;
case RTF_SL:
case RTFKeyword::SL:
{
// This is similar to RTF_ABSH, negative value means 'exact', positive means 'at least'.
// This is similar to RTFKeyword::ABSH, negative value means 'exact', positive means 'at least'.
tools::SvRef<RTFValue> pValue(
new RTFValue(NS_ooxml::LN_Value_doc_ST_LineSpacingRule_atLeast));
if (nParam < 0)
@@ -1043,7 +1043,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getParagraphAttributes().set(NS_ooxml::LN_CT_Spacing_line, pIntValue);
}
break;
case RTF_SLMULT:
case RTFKeyword::SLMULT:
if (nParam > 0)
{
auto pValue = new RTFValue(NS_ooxml::LN_Value_doc_ST_LineSpacingRule_auto);
@@ -1051,7 +1051,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
pValue);
}
break;
case RTF_BRDRW:
case RTFKeyword::BRDRW:
{
// dmapper expects it in 1/8 pt, we have it in twip - but avoid rounding 1 to 0
if (nParam > 1)
@@ -1060,20 +1060,20 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_sz, pValue);
}
break;
case RTF_BRDRCF:
case RTFKeyword::BRDRCF:
{
auto pValue = new RTFValue(sal_uInt32(getColorTable(nParam)));
putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_color, pValue);
}
break;
case RTF_BRSP:
case RTFKeyword::BRSP:
{
// dmapper expects it in points, we have it in twip
auto pValue = new RTFValue(nParam / 20);
putBorderProperty(m_aStates, NS_ooxml::LN_CT_Border_space, pValue);
}
break;
case RTF_TX:
case RTFKeyword::TX:
{
m_aStates.top().getTabAttributes().set(NS_ooxml::LN_CT_TabStop_pos, pIntValue);
auto pValue = new RTFValue(m_aStates.top().getTabAttributes());
@@ -1086,14 +1086,14 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getTabAttributes().clear();
}
break;
case RTF_ILVL:
case RTFKeyword::ILVL:
putNestedSprm(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_numPr,
NS_ooxml::LN_CT_NumPr_ilvl, pIntValue);
break;
case RTF_LISTTEMPLATEID:
case RTFKeyword::LISTTEMPLATEID:
// This one is not referenced anywhere, so it's pointless to store it at the moment.
break;
case RTF_LISTID:
case RTFKeyword::LISTID:
{
if (m_aStates.top().getDestination() == Destination::LISTENTRY)
m_aStates.top().getTableAttributes().set(NS_ooxml::LN_CT_AbstractNum_abstractNumId,
@@ -1103,7 +1103,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().setCurrentListIndex(nParam);
}
break;
case RTF_LS:
case RTFKeyword::LS:
{
if (m_aStates.top().getDestination() == Destination::LISTOVERRIDEENTRY)
{
@@ -1122,11 +1122,11 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_UC:
case RTFKeyword::UC:
if ((SAL_MIN_INT16 <= nParam) && (nParam <= SAL_MAX_INT16))
m_aStates.top().setUc(nParam);
break;
case RTF_U:
case RTFKeyword::U:
// sal_Unicode is unsigned 16-bit, RTF may represent that as a
// signed SAL_MIN_INT16..SAL_MAX_INT16 or 0..SAL_MAX_UINT16. The
// static_cast() will do the right thing.
@@ -1145,7 +1145,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getCharsToSkip() = m_aStates.top().getUc();
}
break;
case RTF_LEVELFOLLOW:
case RTFKeyword::LEVELFOLLOW:
{
OUString sValue;
switch (nParam)
@@ -1164,7 +1164,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_aStates.top().getTableSprms().set(NS_ooxml::LN_CT_Lvl_suff, new RTFValue(sValue));
}
break;
case RTF_FPRQ:
case RTFKeyword::FPRQ:
{
sal_Int32 nValue = 0;
switch (nParam)
@@ -1188,40 +1188,40 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_LISTOVERRIDECOUNT:
case RTFKeyword::LISTOVERRIDECOUNT:
// Ignore this for now, the exporter always emits it with a zero parameter.
break;
case RTF_PICSCALEX:
case RTFKeyword::PICSCALEX:
m_aStates.top().getPicture().nScaleX = nParam;
break;
case RTF_PICSCALEY:
case RTFKeyword::PICSCALEY:
m_aStates.top().getPicture().nScaleY = nParam;
break;
case RTF_PICW:
case RTFKeyword::PICW:
m_aStates.top().getPicture().nWidth = nParam;
break;
case RTF_PICH:
case RTFKeyword::PICH:
m_aStates.top().getPicture().nHeight = nParam;
break;
case RTF_PICWGOAL:
case RTFKeyword::PICWGOAL:
m_aStates.top().getPicture().nGoalWidth = convertTwipToMm100(nParam);
break;
case RTF_PICHGOAL:
case RTFKeyword::PICHGOAL:
m_aStates.top().getPicture().nGoalHeight = convertTwipToMm100(nParam);
break;
case RTF_PICCROPL:
case RTFKeyword::PICCROPL:
m_aStates.top().getPicture().nCropL = convertTwipToMm100(nParam);
break;
case RTF_PICCROPR:
case RTFKeyword::PICCROPR:
m_aStates.top().getPicture().nCropR = convertTwipToMm100(nParam);
break;
case RTF_PICCROPT:
case RTFKeyword::PICCROPT:
m_aStates.top().getPicture().nCropT = convertTwipToMm100(nParam);
break;
case RTF_PICCROPB:
case RTFKeyword::PICCROPB:
m_aStates.top().getPicture().nCropB = convertTwipToMm100(nParam);
break;
case RTF_SHPWRK:
case RTFKeyword::SHPWRK:
{
int nValue = 0;
switch (nParam)
@@ -1251,7 +1251,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
pValue);
}
break;
case RTF_SHPWR:
case RTFKeyword::SHPWR:
{
switch (nParam)
{
@@ -1277,120 +1277,120 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_COLS:
case RTFKeyword::COLS:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_cols, NS_ooxml::LN_CT_Columns_num,
pIntValue);
break;
case RTF_COLSX:
case RTFKeyword::COLSX:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_cols, NS_ooxml::LN_CT_Columns_space,
pIntValue);
break;
case RTF_COLNO:
case RTFKeyword::COLNO:
putNestedSprm(m_aStates.top().getSectionSprms(), NS_ooxml::LN_EG_SectPrContents_cols,
NS_ooxml::LN_CT_Columns_col, pIntValue);
break;
case RTF_COLW:
case RTF_COLSR:
case RTFKeyword::COLW:
case RTFKeyword::COLSR:
{
RTFSprms& rAttributes = getLastAttributes(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_cols);
rAttributes.set(
(nKeyword == RTF_COLW ? NS_ooxml::LN_CT_Column_w : NS_ooxml::LN_CT_Column_space),
pIntValue);
rAttributes.set((nKeyword == RTFKeyword::COLW ? NS_ooxml::LN_CT_Column_w
: NS_ooxml::LN_CT_Column_space),
pIntValue);
}
break;
case RTF_PAPERH:
case RTFKeyword::PAPERH:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgSz, NS_ooxml::LN_CT_PageSz_h,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_PGHSXN:
case RTFKeyword::PGHSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgSz, NS_ooxml::LN_CT_PageSz_h,
pIntValue);
break;
case RTF_PAPERW:
case RTFKeyword::PAPERW:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgSz, NS_ooxml::LN_CT_PageSz_w,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_PGWSXN:
case RTFKeyword::PGWSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgSz, NS_ooxml::LN_CT_PageSz_w,
pIntValue);
break;
case RTF_MARGL:
case RTFKeyword::MARGL:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_left,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_MARGLSXN:
case RTFKeyword::MARGLSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_left,
pIntValue);
break;
case RTF_MARGR:
case RTFKeyword::MARGR:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_right,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_MARGRSXN:
case RTFKeyword::MARGRSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_right,
pIntValue);
break;
case RTF_MARGT:
case RTFKeyword::MARGT:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_top,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_MARGTSXN:
case RTFKeyword::MARGTSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_top,
pIntValue);
break;
case RTF_MARGB:
case RTFKeyword::MARGB:
putNestedAttribute(m_aDefaultState.getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_bottom,
pIntValue);
[[fallthrough]]; // set the default + current value
case RTF_MARGBSXN:
case RTFKeyword::MARGBSXN:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_bottom,
pIntValue);
break;
case RTF_HEADERY:
case RTFKeyword::HEADERY:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_header,
pIntValue);
break;
case RTF_FOOTERY:
case RTFKeyword::FOOTERY:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_footer,
pIntValue);
break;
case RTF_GUTTER:
case RTFKeyword::GUTTER:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_pgMar, NS_ooxml::LN_CT_PageMar_gutter,
pIntValue);
break;
case RTF_DEFTAB:
case RTFKeyword::DEFTAB:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_defaultTabStop, pIntValue);
break;
case RTF_LINEMOD:
case RTFKeyword::LINEMOD:
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_lnNumType,
NS_ooxml::LN_CT_LineNumber_countBy, pIntValue);
break;
case RTF_LINEX:
case RTFKeyword::LINEX:
if (nParam)
putNestedAttribute(m_aStates.top().getSectionSprms(),
NS_ooxml::LN_EG_SectPrContents_lnNumType,
NS_ooxml::LN_CT_LineNumber_distance, pIntValue);
break;
case RTF_LINESTARTS:
case RTFKeyword::LINESTARTS:
{
// OOXML <w:lnNumType w:start="..."/> is 0-based, RTF is 1-based.
auto pStart = tools::make_ref<RTFValue>(nParam - 1);
@@ -1399,16 +1399,16 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_LineNumber_start, pStart);
}
break;
case RTF_REVAUTH:
case RTF_REVAUTHDEL:
case RTFKeyword::REVAUTH:
case RTFKeyword::REVAUTHDEL:
{
auto pValue = new RTFValue(m_aAuthors[nParam]);
putNestedAttribute(m_aStates.top().getCharacterSprms(), NS_ooxml::LN_trackchange,
NS_ooxml::LN_CT_TrackChange_author, pValue);
}
break;
case RTF_REVDTTM:
case RTF_REVDTTMDEL:
case RTFKeyword::REVDTTM:
case RTFKeyword::REVDTTMDEL:
{
OUString aStr(
OStringToOUString(DTTM22OString(nParam), m_aStates.top().getCurrentEncoding()));
@@ -1417,22 +1417,22 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_TrackChange_date, pValue);
}
break;
case RTF_SHPLEFT:
case RTFKeyword::SHPLEFT:
m_aStates.top().getShape().setLeft(convertTwipToMm100(nParam));
break;
case RTF_SHPTOP:
case RTFKeyword::SHPTOP:
m_aStates.top().getShape().setTop(convertTwipToMm100(nParam));
break;
case RTF_SHPRIGHT:
case RTFKeyword::SHPRIGHT:
m_aStates.top().getShape().setRight(convertTwipToMm100(nParam));
break;
case RTF_SHPBOTTOM:
case RTFKeyword::SHPBOTTOM:
m_aStates.top().getShape().setBottom(convertTwipToMm100(nParam));
break;
case RTF_SHPZ:
case RTFKeyword::SHPZ:
m_aStates.top().getShape().setZ(nParam);
break;
case RTF_FFTYPE:
case RTFKeyword::FFTYPE:
switch (nParam)
{
case 0:
@@ -1449,20 +1449,20 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
break;
}
break;
case RTF_FFDEFRES:
case RTFKeyword::FFDEFRES:
if (m_nFormFieldType == RTFFormFieldType::CHECKBOX)
m_aFormfieldSprms.set(NS_ooxml::LN_CT_FFCheckBox_default, pIntValue);
else if (m_nFormFieldType == RTFFormFieldType::LIST)
m_aFormfieldSprms.set(NS_ooxml::LN_CT_FFDDList_default, pIntValue);
break;
case RTF_FFRES:
case RTFKeyword::FFRES:
// 25 means undefined, see [MS-DOC] 2.9.79, FFDataBits.
if (m_nFormFieldType == RTFFormFieldType::CHECKBOX && nParam != 25)
m_aFormfieldSprms.set(NS_ooxml::LN_CT_FFCheckBox_checked, pIntValue);
else if (m_nFormFieldType == RTFFormFieldType::LIST)
m_aFormfieldSprms.set(NS_ooxml::LN_CT_FFDDList_result, pIntValue);
break;
case RTF_EDMINS:
case RTFKeyword::EDMINS:
if (m_xDocumentProperties.is())
{
// tdf#116851 some RTF may be malformed
@@ -1471,27 +1471,27 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
m_xDocumentProperties->setEditingDuration(nParam);
}
break;
case RTF_NOFPAGES:
case RTF_NOFWORDS:
case RTF_NOFCHARS:
case RTF_NOFCHARSWS:
case RTFKeyword::NOFPAGES:
case RTFKeyword::NOFWORDS:
case RTFKeyword::NOFCHARS:
case RTFKeyword::NOFCHARSWS:
if (m_xDocumentProperties.is())
{
comphelper::SequenceAsHashMap aSeq = m_xDocumentProperties->getDocumentStatistics();
OUString aName;
switch (nKeyword)
{
case RTF_NOFPAGES:
case RTFKeyword::NOFPAGES:
aName = "PageCount";
nParam = 99;
break;
case RTF_NOFWORDS:
case RTFKeyword::NOFWORDS:
aName = "WordCount";
break;
case RTF_NOFCHARS:
case RTFKeyword::NOFCHARS:
aName = "CharacterCount";
break;
case RTF_NOFCHARSWS:
case RTFKeyword::NOFCHARSWS:
aName = "NonWhitespaceCharacterCount";
break;
default:
@@ -1504,36 +1504,36 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_VERSION:
case RTFKeyword::VERSION:
if (m_xDocumentProperties.is())
m_xDocumentProperties->setEditingCycles(nParam);
break;
case RTF_VERN:
case RTFKeyword::VERN:
// Ignore this for now, later the RTF writer version could be used to add hacks for older buggy writers.
break;
case RTF_FTNSTART:
case RTFKeyword::FTNSTART:
putNestedSprm(m_aDefaultState.getParagraphSprms(),
NS_ooxml::LN_EG_SectPrContents_footnotePr,
NS_ooxml::LN_EG_FtnEdnNumProps_numStart, pIntValue);
break;
case RTF_AFTNSTART:
case RTFKeyword::AFTNSTART:
putNestedSprm(m_aDefaultState.getParagraphSprms(),
NS_ooxml::LN_EG_SectPrContents_endnotePr,
NS_ooxml::LN_EG_FtnEdnNumProps_numStart, pIntValue);
break;
case RTF_DFRMTXTX:
case RTFKeyword::DFRMTXTX:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_hSpace, nParam);
break;
case RTF_DFRMTXTY:
case RTFKeyword::DFRMTXTY:
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_vSpace, nParam);
break;
case RTF_DXFRTEXT:
case RTFKeyword::DXFRTEXT:
{
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_hSpace, nParam);
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_vSpace, nParam);
}
break;
case RTF_FLYVERT:
case RTFKeyword::FLYVERT:
{
RTFVertOrient aVertOrient(nParam);
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_yAlign,
@@ -1542,7 +1542,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
aVertOrient.GetAnchor());
}
break;
case RTF_FLYHORZ:
case RTFKeyword::FLYHORZ:
{
RTFHoriOrient aHoriOrient(nParam);
m_aStates.top().getFrame().setSprm(NS_ooxml::LN_CT_FramePr_xAlign,
@@ -1551,35 +1551,35 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
aHoriOrient.GetAnchor());
}
break;
case RTF_FLYANCHOR:
case RTFKeyword::FLYANCHOR:
break;
case RTF_WMETAFILE:
case RTFKeyword::WMETAFILE:
m_aStates.top().getPicture().eWMetafile = nParam;
break;
case RTF_SB:
case RTFKeyword::SB:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_spacing,
NS_ooxml::LN_CT_Spacing_before, pIntValue);
break;
case RTF_SA:
case RTFKeyword::SA:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_spacing,
NS_ooxml::LN_CT_Spacing_after, pIntValue);
break;
case RTF_DPX:
case RTFKeyword::DPX:
m_aStates.top().getDrawingObject().setLeft(convertTwipToMm100(nParam));
break;
case RTF_DPY:
case RTFKeyword::DPY:
m_aStates.top().getDrawingObject().setTop(convertTwipToMm100(nParam));
break;
case RTF_DPXSIZE:
case RTFKeyword::DPXSIZE:
m_aStates.top().getDrawingObject().setRight(convertTwipToMm100(nParam));
break;
case RTF_DPYSIZE:
case RTFKeyword::DPYSIZE:
m_aStates.top().getDrawingObject().setBottom(convertTwipToMm100(nParam));
break;
case RTF_PNSTART:
case RTFKeyword::PNSTART:
m_aStates.top().getTableSprms().set(NS_ooxml::LN_CT_Lvl_start, pIntValue);
break;
case RTF_PNF:
case RTFKeyword::PNF:
{
auto pValue = new RTFValue(m_aFontNames[getFontIndex(nParam)]);
RTFSprms aAttributes;
@@ -1588,59 +1588,59 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_EG_RPrBase_rFonts, new RTFValue(aAttributes));
}
break;
case RTF_VIEWSCALE:
case RTFKeyword::VIEWSCALE:
m_aSettingsTableAttributes.set(NS_ooxml::LN_CT_Zoom_percent, pIntValue);
break;
case RTF_BIN:
case RTFKeyword::BIN:
{
m_aStates.top().setInternalState(RTFInternalState::BIN);
m_aStates.top().setBinaryToRead(nParam);
}
break;
case RTF_DPLINECOR:
case RTFKeyword::DPLINECOR:
m_aStates.top().getDrawingObject().setLineColorR(nParam);
m_aStates.top().getDrawingObject().setHasLineColor(true);
break;
case RTF_DPLINECOG:
case RTFKeyword::DPLINECOG:
m_aStates.top().getDrawingObject().setLineColorG(nParam);
m_aStates.top().getDrawingObject().setHasLineColor(true);
break;
case RTF_DPLINECOB:
case RTFKeyword::DPLINECOB:
m_aStates.top().getDrawingObject().setLineColorB(nParam);
m_aStates.top().getDrawingObject().setHasLineColor(true);
break;
case RTF_DPFILLBGCR:
case RTFKeyword::DPFILLBGCR:
m_aStates.top().getDrawingObject().setFillColorR(nParam);
m_aStates.top().getDrawingObject().setHasFillColor(true);
break;
case RTF_DPFILLBGCG:
case RTFKeyword::DPFILLBGCG:
m_aStates.top().getDrawingObject().setFillColorG(nParam);
m_aStates.top().getDrawingObject().setHasFillColor(true);
break;
case RTF_DPFILLBGCB:
case RTFKeyword::DPFILLBGCB:
m_aStates.top().getDrawingObject().setFillColorB(nParam);
m_aStates.top().getDrawingObject().setHasFillColor(true);
break;
case RTF_DODHGT:
case RTFKeyword::DODHGT:
m_aStates.top().getDrawingObject().setDhgt(nParam);
break;
case RTF_DPPOLYCOUNT:
case RTFKeyword::DPPOLYCOUNT:
if (nParam >= 0)
{
m_aStates.top().getDrawingObject().setPolyLineCount(nParam);
}
break;
case RTF_DPPTX:
case RTFKeyword::DPPTX:
{
RTFDrawingObject& rDrawingObject = m_aStates.top().getDrawingObject();
if (rDrawingObject.getPolyLinePoints().empty())
dispatchValue(RTF_DPPOLYCOUNT, 2);
dispatchValue(RTFKeyword::DPPOLYCOUNT, 2);
rDrawingObject.getPolyLinePoints().emplace_back(convertTwipToMm100(nParam), 0);
}
break;
case RTF_DPPTY:
case RTFKeyword::DPPTY:
{
RTFDrawingObject& rDrawingObject = m_aStates.top().getDrawingObject();
if (!rDrawingObject.getPolyLinePoints().empty())
@@ -1657,11 +1657,11 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_SHPFBLWTXT:
case RTFKeyword::SHPFBLWTXT:
// Shape is below text -> send it to the background.
m_aStates.top().getShape().setInBackground(nParam != 0);
break;
case RTF_FI:
case RTFKeyword::FI:
{
if (m_aStates.top().getDestination() == Destination::LISTLEVEL)
{
@@ -1676,7 +1676,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
NS_ooxml::LN_CT_Ind_firstLine, pIntValue);
break;
}
case RTF_LI:
case RTFKeyword::LI:
{
if (m_aStates.top().getDestination() == Destination::LISTLEVEL)
{
@@ -1696,22 +1696,22 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
RTFOverwrite::NO_IGNORE);
}
break;
case RTF_RI:
case RTFKeyword::RI:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_ind,
NS_ooxml::LN_CT_Ind_right, pIntValue);
break;
case RTF_LIN:
case RTFKeyword::LIN:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_ind,
NS_ooxml::LN_CT_Ind_start, pIntValue);
break;
case RTF_RIN:
case RTFKeyword::RIN:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_ind,
NS_ooxml::LN_CT_Ind_end, pIntValue);
break;
case RTF_OUTLINELEVEL:
case RTFKeyword::OUTLINELEVEL:
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_outlineLvl, pIntValue);
break;
case RTF_PROPTYPE:
case RTFKeyword::PROPTYPE:
{
switch (nParam)
{
@@ -1733,13 +1733,13 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
}
}
break;
case RTF_DIBITMAP:
case RTFKeyword::DIBITMAP:
m_aStates.top().getPicture().eStyle = RTFBmpStyle::DIBITMAP;
break;
case RTF_TRWWIDTHA:
case RTFKeyword::TRWWIDTHA:
m_aStates.top().setTableRowWidthAfter(nParam);
break;
case RTF_ANIMTEXT:
case RTFKeyword::ANIMTEXT:
{
Id nId = 0;
switch (nParam)
@@ -1757,7 +1757,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
new RTFValue(nId));
break;
}
case RTF_VIEWBKSP:
case RTFKeyword::VIEWBKSP:
{
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_displayBackgroundShape, pIntValue);
// Send this token immediately, if it only appears before the first
@@ -1765,7 +1765,7 @@ RTFError RTFDocumentImpl::dispatchValue(RTFKeyword nKeyword, int nParam)
outputSettingsTable();
break;
}
case RTF_STEXTFLOW:
case RTFKeyword::STEXTFLOW:
{
Id nId = 0;
switch (nParam)
diff --git a/writerfilter/source/rtftok/rtfdocumentimpl.cxx b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
index 8745ba0..005cbde 100644
--- a/writerfilter/source/rtftok/rtfdocumentimpl.cxx
+++ b/writerfilter/source/rtftok/rtfdocumentimpl.cxx
@@ -294,7 +294,7 @@ RTFDocumentImpl::RTFDocumentImpl(uno::Reference<uno::XComponentContext> const& x
, m_bFormField(false)
, m_bMathNor(false)
, m_bIgnoreNextContSectBreak(false)
, m_nResetBreakOnSectBreak(RTF_invalid)
, m_nResetBreakOnSectBreak(RTFKeyword::invalid)
, m_bNeedSect(false) // done by checkFirstRun
, m_bWasInFrame(false)
, m_bHadPicture(false)
@@ -560,12 +560,12 @@ void RTFDocumentImpl::checkNeedPap()
&& m_aStates.top().getParagraphSprms().find(NS_ooxml::LN_CT_PPrBase_pageBreakBefore);
if (hasBreakBeforeFrame)
{
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
m_bNeedPap = false;
}
Mapper().props(pParagraphProperties);
if (hasBreakBeforeFrame)
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
if (m_aStates.top().getFrame().hasProperties())
{
@@ -653,12 +653,12 @@ void RTFDocumentImpl::sectBreak(bool bFinal)
// unless this is the end of the doc, we had nothing since the last section break and this is not a continuous one.
// Also, when pasting, it's fine to not have any paragraph inside the document at all.
if (m_bNeedPar && (!bFinal || m_bNeedSect || bContinuous) && !isSubstream() && m_bIsNewDoc)
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
// It's allowed to not have a non-table paragraph at the end of an RTF doc, add it now if required.
if (m_bNeedFinalPar && bFinal)
{
dispatchFlag(RTF_PARD);
dispatchSymbol(RTF_PAR);
dispatchFlag(RTFKeyword::PARD);
dispatchSymbol(RTFKeyword::PAR);
m_bNeedSect = bNeedSect;
}
while (!m_nHeaderFooterPositions.empty())
@@ -963,7 +963,7 @@ void RTFDocumentImpl::resolvePict(bool const bInline, uno::Reference<drawing::XS
xPropertySet->setPropertyValue("Graphic", uno::Any(xGraphic));
// check if the picture is in an OLE object and if the \objdata element is used
// (see RTF_OBJECT in RTFDocumentImpl::dispatchDestination)
// (see RTFKeyword::OBJECT in RTFDocumentImpl::dispatchDestination)
if (m_bObject)
{
// Set the object size
@@ -1249,7 +1249,7 @@ RTFError RTFDocumentImpl::resolveChars(char ch)
&& m_aStates.top().getDestination() != Destination::LEVELTEXT)
{
checkUnicode(/*bUnicode =*/false, /*bHex =*/true);
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
}
else
{
@@ -1758,49 +1758,49 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
// Underline toggles.
switch (nKeyword)
{
case RTF_UL:
case RTFKeyword::UL:
nSprm = NS_ooxml::LN_Value_ST_Underline_single;
break;
case RTF_ULDASH:
case RTFKeyword::ULDASH:
nSprm = NS_ooxml::LN_Value_ST_Underline_dash;
break;
case RTF_ULDASHD:
case RTFKeyword::ULDASHD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dotDash;
break;
case RTF_ULDASHDD:
case RTFKeyword::ULDASHDD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dotDotDash;
break;
case RTF_ULDB:
case RTFKeyword::ULDB:
nSprm = NS_ooxml::LN_Value_ST_Underline_double;
break;
case RTF_ULHWAVE:
case RTFKeyword::ULHWAVE:
nSprm = NS_ooxml::LN_Value_ST_Underline_wavyHeavy;
break;
case RTF_ULLDASH:
case RTFKeyword::ULLDASH:
nSprm = NS_ooxml::LN_Value_ST_Underline_dashLong;
break;
case RTF_ULTH:
case RTFKeyword::ULTH:
nSprm = NS_ooxml::LN_Value_ST_Underline_thick;
break;
case RTF_ULTHD:
case RTFKeyword::ULTHD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dottedHeavy;
break;
case RTF_ULTHDASH:
case RTFKeyword::ULTHDASH:
nSprm = NS_ooxml::LN_Value_ST_Underline_dashedHeavy;
break;
case RTF_ULTHDASHD:
case RTFKeyword::ULTHDASHD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dashDotHeavy;
break;
case RTF_ULTHDASHDD:
case RTFKeyword::ULTHDASHDD:
nSprm = NS_ooxml::LN_Value_ST_Underline_dashDotDotHeavy;
break;
case RTF_ULTHLDASH:
case RTFKeyword::ULTHLDASH:
nSprm = NS_ooxml::LN_Value_ST_Underline_dashLongHeavy;
break;
case RTF_ULULDBWAVE:
case RTFKeyword::ULULDBWAVE:
nSprm = NS_ooxml::LN_Value_ST_Underline_wavyDouble;
break;
case RTF_ULWAVE:
case RTFKeyword::ULWAVE:
nSprm = NS_ooxml::LN_Value_ST_Underline_wave;
break;
default:
@@ -1817,19 +1817,19 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
// Accent characters (over dot / over comma).
switch (nKeyword)
{
case RTF_ACCNONE:
case RTFKeyword::ACCNONE:
nSprm = NS_ooxml::LN_Value_ST_Em_none;
break;
case RTF_ACCDOT:
case RTFKeyword::ACCDOT:
nSprm = NS_ooxml::LN_Value_ST_Em_dot;
break;
case RTF_ACCCOMMA:
case RTFKeyword::ACCCOMMA:
nSprm = NS_ooxml::LN_Value_ST_Em_comma;
break;
case RTF_ACCCIRCLE:
case RTFKeyword::ACCCIRCLE:
nSprm = NS_ooxml::LN_Value_ST_Em_circle;
break;
case RTF_ACCUNDERDOT:
case RTFKeyword::ACCUNDERDOT:
nSprm = NS_ooxml::LN_Value_ST_Em_underDot;
break;
default:
@@ -1845,8 +1845,8 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
// Trivial character sprms.
switch (nKeyword)
{
case RTF_B:
case RTF_AB:
case RTFKeyword::B:
case RTFKeyword::AB:
switch (m_aStates.top().getRunType())
{
case RTFParserState::RunType::HICH:
@@ -1864,8 +1864,8 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
break;
}
break;
case RTF_I:
case RTF_AI:
case RTFKeyword::I:
case RTFKeyword::AI:
switch (m_aStates.top().getRunType())
{
case RTFParserState::RunType::HICH:
@@ -1883,28 +1883,28 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
break;
}
break;
case RTF_OUTL:
case RTFKeyword::OUTL:
nSprm = NS_ooxml::LN_EG_RPrBase_outline;
break;
case RTF_SHAD:
case RTFKeyword::SHAD:
nSprm = NS_ooxml::LN_EG_RPrBase_shadow;
break;
case RTF_V:
case RTFKeyword::V:
nSprm = NS_ooxml::LN_EG_RPrBase_vanish;
break;
case RTF_STRIKE:
case RTFKeyword::STRIKE:
nSprm = NS_ooxml::LN_EG_RPrBase_strike;
break;
case RTF_STRIKED:
case RTFKeyword::STRIKED:
nSprm = NS_ooxml::LN_EG_RPrBase_dstrike;
break;
case RTF_SCAPS:
case RTFKeyword::SCAPS:
nSprm = NS_ooxml::LN_EG_RPrBase_smallCaps;
break;
case RTF_IMPR:
case RTFKeyword::IMPR:
nSprm = NS_ooxml::LN_EG_RPrBase_imprint;
break;
case RTF_CAPS:
case RTFKeyword::CAPS:
nSprm = NS_ooxml::LN_EG_RPrBase_caps;
break;
default:
@@ -1918,33 +1918,34 @@ RTFError RTFDocumentImpl::dispatchToggle(RTFKeyword nKeyword, bool bParam, int n
switch (nKeyword)
{
case RTF_ASPALPHA:
case RTFKeyword::ASPALPHA:
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_autoSpaceDE,
pBoolValue);
break;
case RTF_DELETED:
case RTF_REVISED:
case RTFKeyword::DELETED:
case RTFKeyword::REVISED:
{
auto pValue = new RTFValue(nKeyword == RTF_DELETED ? oox::XML_del : oox::XML_ins);
auto pValue
= new RTFValue(nKeyword == RTFKeyword::DELETED ? oox::XML_del : oox::XML_ins);
putNestedAttribute(m_aStates.top().getCharacterSprms(), NS_ooxml::LN_trackchange,
NS_ooxml::LN_token, pValue);
}
break;
case RTF_SBAUTO:
case RTFKeyword::SBAUTO:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_spacing,
NS_ooxml::LN_CT_Spacing_beforeAutospacing, pBoolValue);
break;
case RTF_SAAUTO:
case RTFKeyword::SAAUTO:
putNestedAttribute(m_aStates.top().getParagraphSprms(), NS_ooxml::LN_CT_PPrBase_spacing,
NS_ooxml::LN_CT_Spacing_afterAutospacing, pBoolValue);
break;
case RTF_FACINGP:
case RTFKeyword::FACINGP:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_evenAndOddHeaders, pBoolValue);
break;
case RTF_HYPHAUTO:
case RTFKeyword::HYPHAUTO:
m_aSettingsTableSprms.set(NS_ooxml::LN_CT_Settings_autoHyphenation, pBoolValue);
break;
case RTF_HYPHPAR:
case RTFKeyword::HYPHPAR:
m_aStates.top().getParagraphSprms().set(NS_ooxml::LN_CT_PPrBase_suppressAutoHyphens,
new RTFValue(int(bParam && nParam == 0)));
break;
@@ -2229,9 +2230,9 @@ RTFError RTFDocumentImpl::beforePopState(RTFParserState& rState)
{
// Read the picture into m_aStates.top().aDestinationText.
pushState();
dispatchDestination(RTF_PICT);
dispatchDestination(RTFKeyword::PICT);
if (m_aPicturePath.endsWith(".png"))
dispatchFlag(RTF_PNGBLIP);
dispatchFlag(RTFKeyword::PNGBLIP);
OUString aFileURL = m_rMediaDescriptor.getUnpackedValueOrDefault(
utl::MediaDescriptor::PROP_URL(), OUString());
OUString aPictureURL;
@@ -2650,7 +2651,7 @@ RTFError RTFDocumentImpl::beforePopState(RTFParserState& rState)
{
// if the object is in a special container we will use the \result
// element instead of the \objdata
// (see RTF_OBJECT in RTFDocumentImpl::dispatchDestination)
// (see RTFKeyword::OBJECT in RTFDocumentImpl::dispatchDestination)
break;
}
@@ -3477,7 +3478,7 @@ RTFError RTFDocumentImpl::popState()
case NS_ooxml::LN_footerl:
case NS_ooxml::LN_footerr:
case NS_ooxml::LN_footerf:
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
break;
}
}
@@ -3506,7 +3507,7 @@ RTFError RTFDocumentImpl::popState()
// not in case of other substreams, like headers.
if (m_bNeedCr && m_nStreamType != NS_ooxml::LN_footnote
&& m_nStreamType != NS_ooxml::LN_endnote && m_bIsNewDoc)
dispatchSymbol(RTF_PAR);
dispatchSymbol(RTFKeyword::PAR);
if (m_bNeedSect) // may be set by dispatchSymbol above!
sectBreak(true);
}
@@ -3527,11 +3528,11 @@ RTFError RTFDocumentImpl::popState()
if (!m_aStates.empty() && m_aStates.top().getTableRowWidthAfter() > 0
&& aState.getTableRowWidthAfter() == 0)
// An RTF_ROW in the inner group already parsed nTableRowWidthAfter,
// An RTFKeyword::ROW in the inner group already parsed nTableRowWidthAfter,
// don't do it again in the outer state later.
m_aStates.top().setTableRowWidthAfter(0);
if (m_nResetBreakOnSectBreak != RTF_invalid && !m_aStates.empty())
if (m_nResetBreakOnSectBreak != RTFKeyword::invalid && !m_aStates.empty())
{
// Section break type created for \page still has an effect in the
// outer state as well.
diff --git a/writerfilter/source/rtftok/rtflookahead.cxx b/writerfilter/source/rtftok/rtflookahead.cxx
index d3a8468..033feac 100644
--- a/writerfilter/source/rtftok/rtflookahead.cxx
+++ b/writerfilter/source/rtftok/rtflookahead.cxx
@@ -40,7 +40,7 @@ RTFError RTFLookahead::dispatchDestination(RTFKeyword /*nKeyword*/) { return RTF
RTFError RTFLookahead::dispatchFlag(RTFKeyword nKeyword)
{
if (nKeyword == RTF_INTBL)
if (nKeyword == RTFKeyword::INTBL)
m_bHasTable = true;
return RTFError::OK;
}
@@ -54,7 +54,7 @@ RTFError RTFLookahead::dispatchToggle(RTFKeyword /*nKeyword*/, bool /*bParam*/,
RTFError RTFLookahead::dispatchValue(RTFKeyword nKeyword, int nParam)
{
if (nKeyword == RTF_COLS && nParam >= 2)
if (nKeyword == RTFKeyword::COLS && nParam >= 2)
m_bHasColumns = true;
return RTFError::OK;
}
diff --git a/writerfilter/source/rtftok/rtftokenizer.cxx b/writerfilter/source/rtftok/rtftokenizer.cxx
index bfd29c3..d31d145 100644
--- a/writerfilter/source/rtftok/rtftokenizer.cxx
+++ b/writerfilter/source/rtftok/rtftokenizer.cxx
@@ -281,30 +281,30 @@ RTFError RTFTokenizer::dispatchKeyword(OString const& rKeyword, bool bParam, int
RTFSymbol const& rSymbol = findIt->second;
switch (rSymbol.GetControlType())
{
case CONTROL_FLAG:
case RTFControlType::FLAG:
// flags ignore any parameter by definition
ret = m_rImport.dispatchFlag(rSymbol.GetIndex());
if (ret != RTFError::OK)
return ret;
break;
case CONTROL_DESTINATION:
case RTFControlType::DESTINATION:
// same for destinations
ret = m_rImport.dispatchDestination(rSymbol.GetIndex());
if (ret != RTFError::OK)
return ret;
break;
case CONTROL_SYMBOL:
case RTFControlType::SYMBOL:
// and symbols
ret = m_rImport.dispatchSymbol(rSymbol.GetIndex());
if (ret != RTFError::OK)
return ret;
break;
case CONTROL_TOGGLE:
case RTFControlType::TOGGLE:
ret = m_rImport.dispatchToggle(rSymbol.GetIndex(), bParam, nParam);
if (ret != RTFError::OK)
return ret;
break;
case CONTROL_VALUE:
case RTFControlType::VALUE:
if (!bParam)
nParam = rSymbol.GetDefValue();
ret = m_rImport.dispatchValue(rSymbol.GetIndex(), nParam);