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);