📄 tokens.h
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft shared
// source or premium shared source license agreement under which you licensed
// this source code. If you did not accept the terms of the license agreement,
// you are not authorized to use this source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the SOURCE.RTF on your install media or the root of your tools installation.
// THE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES.
//
/*
* @doc INTERNAL
*
* @module _TOKENS.H -- All the tokens and then some |
*
* Authors: <nl>
* Original RichEdit 1.0 RTF converter: Anthony Francisco <nl>
* Conversion to C++ and RichEdit 2.0: Murray Sargent
*
* @devnote
* The Text Object Model (TOM) keywords come first followed by picture
* and object keywords. The order within a group can matter, since it
* may be used to simplify the input process. Token values <lt> 256
* (tokenMin) are used for target character Unicodes as are token values
* greater than tokenMax.
*/
#ifndef _TOKEN_H
#define _TOKEN_H
typedef WORD TOKEN;
/*
* Keyword --> Token table
*/
typedef struct _keyword
{
CHAR * szKeyword; // The RTF keyword sans '\\'
TOKEN token;
} KEYWORD;
// @enum TOKENS | RichEdit RTF Control Word Tokens
enum TOKENS // Keyword tokens
{
// Tokens for internal use
tokenMin = 256, // Lower tokens treated as Unicode chars
tokenText = tokenMin, // A string of characters
tokenASCIIText, // A string of characters with values <= 0x7F
tokenUnknownKeyword, // A keyword we don't recognize
tokenError, // Error condition token
#ifdef UNUSED_TOKENS
tokenUnknown, // Unknown token
#endif
tokenEOF, // End-of-file token
tokenStartGroup, // Start group token
tokenEndGroup, // End group token
tokenObjectDataValue, // Data for object
tokenPictureDataValue, // Data for picture
// RTF control word tokens from here to end of enumeration
tokenPocketWord, // @emem pwd
tokenRtf, // @emem rtf
tokenCharSetAnsi, // @emem ansi
tokenUTF, // @emem utf
tokenAnsiCodePage, // @emem ansicpg
tokenViewKind, // @emem viewkind
tokenViewScale, // @emem viewscale
tokenDefaultFont, // @emem deff
tokenDefaultLanguage, // @emem deflang
tokenDefaultLanguageFE, // @emem deflangfe
tokenDefaultTabWidth, // @emem deftab
tokenParagraphDefault, // @emem pard
tokenCharacterDefault, // @emem plain
// Fonts
tokenFontTable, // @emem fonttbl
tokenFontSelect, // @emem f
// Keep next 8 in order
tokenFontFamilyDefault, // @emem fnil
tokenFontFamilyRoman, // @emem froman
tokenFontFamilySwiss, // @emem fswiss
tokenFontFamilyModern, // @emem fmodern
tokenFontFamilyScript, // @emem fscript
tokenFontFamilyDecorative, // @emem fdecor
tokenFontFamilyTechnical, // @emem ftech
tokenFontFamilyBidi, // @emem fbidi
tokenCharSet, // @emem fcharset
tokenPitch, // @emem fprq
tokenRealFontName, // @emem fname
tokenCodePage, // @emem cpg
tokenFontSize, // @emem fs
// Colors
tokenColorTable, // @emem colortbl
tokenColorBackground, // @emem highlight (used to be cb)
tokenColorForeground, // @emem cf
// Keep next 3 in order
tokenColorRed, // @emem red
tokenColorGreen, // @emem green
tokenColorBlue, // @emem blue
// Character formatting Keep next 15 effects in order
tokenBold, // @emem b
tokenItalic, // @emem i
tokenUnderline, // @emem ul
tokenStrikeOut, // @emem strike
tokenProtect, // @emem protect
tokenLink, // @emem link (check this...)
tokenSmallCaps, // @emem scaps
tokenCaps, // @emem caps
tokenHiddenText, // @emem v
tokenOutline, // @emem outl
tokenShadow, // @emem shad
tokenEmboss, // @emem embo
tokenImprint, // @emem impr
tokenDisabled, // @emem disabled
tokenRevised, // @emem revised
tokenDeleted, // @emem deleted
tokenStopUnderline, // @emem ulnone Keep next 10 in order
tokenUnderlineWord, // @emem ulw This thru uld are standard
tokenUnderlineDouble, // @emem uldb Word underlines
tokenUnderlineDotted, // @emem uld
tokenUnderlineDash, // @emem uldash
tokenUnderlineDashDotted, // @emem uldashd
tokenUnderlineDashDotDotted, // @emem uldashdd
tokenUnderlineWave, // @emem ulwave This down thru uldash are
tokenUnderlineThick, // @emem ulth for FE
tokenUnderlineHairline, // @emem ulhair
tokenDown, // @emem dn
tokenUp, // @emem up
// Keep next 3 in order
tokenSubscript, // @emem sub
tokenNoSuperSub, // @emem nosupersub
tokenSuperscript, // @emem super
tokenAnimText, // @emem animtext
tokenExpand, // @emem expndtw
tokenKerning, // @emem kerning
tokenLanguage, // @emem lang
tokenCharStyle, // @emem cs
// Paragraph Formatting
tokenEndParagraph, // @emem par
tokenLineBreak, // @emem line
tokenIndentFirst, // @emem fi
tokenIndentLeft, // @emem li
tokenIndentRight, // @emem ri
// Keep next 4 in order
tokenAlignLeft, // @emem ql PFA_LEFT
tokenAlignRight, // @emem qr PFA_RIGHT
tokenAlignCenter, // @emem qc PFA_CENTER
tokenAlignJustify, // @emem qj PFA_JUSTIFY
tokenSpaceBefore, // @emem sb
tokenSpaceAfter, // @emem sa
tokenLineSpacing, // @emem sl
tokenLineSpacingRule, // @emem slmult
tokenStyle, // @emem s
tokenLToRPara, // @emem ltrpar
tokenBox,
// keep next 8 in order
tokenRToLPara, // @emem rtlpar
tokenKeep, // @emem keep
tokenKeepNext, // @emem keepn
tokenPageBreakBefore, // @emem pagebb
tokenNoLineNumber, // @emem noline
tokenNoWidCtlPar, // @emem nowidctlpar
tokenHyphPar, // @emem hyphpar
tokenSideBySide, // @emem sbys
tokenCollapsed, // @emem collapsed
// Keep following 8 together
tokenBorderTop, // @emem brdrt
tokenBorderLeft, // @emem brdrl
tokenBorderBottom, // @emem brdrb
tokenBorderRight, // @emem brdrr
tokenCellBorderTop, // @emem clbrdrt
tokenCellBorderLeft, // @emem clbrdrl
tokenCellBorderBottom, // @emem clbrdrb
tokenCellBorderRight, // @emem clbrdrr
// Keep following 3 together
tokenBorderShadow, // @emem brdrsh
tokenBorderBetween, // @emem brdrbtw
tokenBorderOutside, // @emem brdrbar
// Keep following 8 together
tokenBorderDash, // @emem brdrdash
tokenBorderDashSmall, // @emem brdrdashsm
tokenBorderDouble, // @emem brdrdb
tokenBorderDot, // @emem brdrdot
tokenBorderHairline, // @emem brdrhair
tokenBorderSingleThick, // @emem brdrs
tokenBorderDoubleThick, // @emem brdrth
tokenBorderTriple, // @emem brdrtriple
tokenBorderColor, // @emem brdrcf
tokenBorderWidth, // @emem brdrw
tokenBorderSpace, // @emem brsp
tokenColorBckgrndPat, // @emem cbpat
tokenColorForgrndPat, // @emem cfpat
tokenShading, // @emem shading
// keep next 12 in order
tokenBckgrndBckDiag, // @emem bgbdiag
tokenBckgrndCross, // @emem bgcross
tokenBckgrndDiagCross, // @emem bgdcross
tokenBckgrndDrkBckDiag, // @emem bgdkbdiag
tokenBckgrndDrkCross, // @emem bgdkcross
tokenBckgrndDrkDiagCross, // @emem bgdkdcross
tokenBckgrndDrkFwdDiag, // @emem bgdkfdiag
tokenBckgrndDrkHoriz, // @emem bgdkhoriz
tokenBckgrndDrkVert, // @emem bgdkvert
tokenBckgrndFwdDiag, // @emem bgfdiag
tokenBckgrndHoriz, // @emem bghoriz
tokenBckgrndVert, // @emem bgvert
tokenTabPosition, // @emem tx
tokenTabBar, // @emem tb
// keep next 5 in order
tokenTabLeaderDots, // @emem tldot
tokenTabLeaderHyphen, // @emem tlhyph
tokenTabLeaderUnderline, // @emem tlul
tokenTabLeaderThick, // @emem tlth
tokenTabLeaderEqual, // @emem tleq
// keep next 4 in order
tokenCenterTab, // @emem tqc
tokenFlushRightTab, // @emem tqr
tokenDecimalTab, // @emem tqdec
tokenParaNum, // @emem pn
tokenParaNumIndent, // @emem pnindent
tokenParaNumBody, // @emem pnlvlbody
tokenParaNumCont, // @emem pnlvlcont
// keep next 6 in order
tokenParaNumBullet, // @emem pnlvlblt
tokenParaNumDecimal, // @emem pndec
tokenParaNumLCLetter, // @emem pnlcltr
tokenParaNumUCLetter, // @emem pnucltr
tokenParaNumLCRoman, // @emem pnlcrm
tokenParaNumUCRoman, // @emem pnucrm
tokenParaNumKatakanaAIUEOdbl, // @emem pnaiueod // GuyBark JupiterJ: added this
tokenParaNumKatakanaIROHAdbl, // @emem pnirohad // GuyBark JupiterJ: added this
tokenParaNumText, // @emem pntext
tokenParaNumStart, // @emem pnstart
tokenParaNumAfter, // @emem pntxta
tokenParaNumBefore, // @emem pntxtb
tokenOptionalDestination, // @emem *
tokenField, // @emem field
tokenFieldResult, // @emem fldrslt
tokenFieldInstruction, // @emem fldinst
tokenStyleSheet, // @emem stylesheet
tokenEndSection, // @emem sect
tokenSectionDefault, // @emem sectd
tokenDocumentArea, // @emem info
// Tables
tokenInTable, // @emem intbl
tokenCell, // @emem cell
tokenCellHalfGap, // @emem trgaph
tokenCellX, // @emem cellx
tokenRow, // @emem row
tokenRowDefault, // @emem trowd
tokenRowLeft, // @emem trleft
tokenRowAlignRight, // @emem trqr (trqc must follow trqr)
tokenRowAlignCenter, // @emem trqc
tokenUnicode, // @emem u
tokenUnicodeCharByteCount, // @emem uc
// Special characters
tokenFormulaCharacter, // |
tokenIndexSubentry, // :
tokenLToRChars, // @emem ltrch
tokenLToRDocument, // @emem ltrdoc
tokenDisplayLToR, // @emem ltrmark See also ltrpar
tokenRToLChars, // @emem rtlch
tokenRToLDocument, // @emem rtldoc
tokenDisplayRToL, // @emem rtlmark
tokenZeroWidthJoiner, // @emem zwj
tokenZeroWidthNonJoiner, // @emem zwnj
// T3J keywords
tokenFollowingPunct, // @emem fchars
tokenLeadingPunct, // @emem lchars
#ifdef FE
tokenHorizontalRender, // @emem horzdoc
tokenVerticalRender, // @emem vertdoc
tokenNoOverflow, // @emem nooverflow
tokenNoWordBreak, // @emem nocwrap
tokenNoWordWrap, // @emem nowwrap
#endif
// Pictures Keep next 4 in RECT order
tokenCropLeft, // @emem piccropl
tokenCropTop, // @emem piccropt
tokenCropBottom, // @emem piccropb
tokenCropRight, // @emem piccropr
tokenHeight, // @emem pich
tokenWidth, // @emem picw
tokenScaleX, // @emem picscalex
tokenScaleY, // @emem picscaley
tokenPicture, // @emem pict
tokenDesiredHeight, // @emem pichgoal
tokenDesiredWidth, // @emem picwgoal
// Keep next 3 in order
tokenPictureWindowsBitmap, // @emem wbitmap
tokenPictureWindowsMetafile, // @emem wmetafile
tokenPictureWindowsDIB, // @emem dibitmap
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -