📄 rtf.h
字号:
#ifndef _RTF
#define _RTF
#include <stdarg.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "richedit.h"
/*
* rtf.h - RTF document processing stuff. Release 1.10.
*/
/*
* Twentieths of a point (twips) per inch (Many RTF measurements
* are in twips per inch (tpi) units). Assumes 72 points/inch.
*/
# define rtfTpi 1440
/*
* RTF buffer size (avoids BUFSIZ, which differs across systems)
*/
# define rtfBufSiz 1024
/*
* Tokens are associated with up to three classification numbers:
*
* Class number: Broadest (least detailed) breakdown. For programs
* that only care about gross token distinctions.
* Major/minor numbers: Within their class, tokens have a major
* number, and may also have a minor number to further
* distinquish tokens with the same major number.
*
* *** Class, major and minor token numbers are all >= 0 ***
*
* Tokens that can't be classified are put in the "unknown" class.
* For such, the major and minor numbers are meaningless, although
* rtfTextBuf may be of interest then.
*
* Text tokens are a single character, and the major number indicates
* the character value (note: can be non-ascii, i.e., greater than 127).
* There is no minor number.
*
* Control symbols may have a parameter value, which will be found in
* rtfParam. If no parameter was given, rtfParam = rtfNoParam.
*
* RTFGetToken() return value is the class number, but it sets all the
* global token vars.
*
* rtfEOF is a fake token used by the reader; the writer never sees
* it (except in the token reader hook, if it installs one).
*/
# define rtfNoParam (-1000000)
/*
* For some reason, the no-style number is 222
*/
# define rtfNoStyleNum 222
# define rtfNormalStyleNum 0
/*
* Token classes (must be zero-based and sequential)
*/
# define rtfUnknown 0
# define rtfGroup 1
# define rtfText 2
# define rtfControl 3
# define rtfEOF 4
# define rtfMaxClass 5 /* highest class + 1 */
/*
* Group class major numbers
*/
# define rtfBeginGroup 0
# define rtfEndGroup 1
/*
* Control class major and minor numbers.
*/
# define rtfVersion 0
# define rtfDefFont 1
# define rtfCharSet 2
# define rtfAnsiCharSet 0
# define rtfMacCharSet 1
# define rtfPcCharSet 2
# define rtfPcaCharSet 3
/* destination minor numbers should be zero-based and sequential */
# define rtfDestination 3
# define rtfFontTbl 0
# define rtfFontAltName 1 /* new in 1.10 */
# define rtfEmbeddedFont 2 /* new in 1.10 */
# define rtfFontFile 3 /* new in 1.10 */
# define rtfFileTbl 4 /* new in 1.10 */
# define rtfFileInfo 5 /* new in 1.10 */
# define rtfColorTbl 6
# define rtfStyleSheet 7
# define rtfKeyCode 8
# define rtfRevisionTbl 9 /* new in 1.10 */
# define rtfInfo 10
# define rtfITitle 11
# define rtfISubject 12
# define rtfIAuthor 13
# define rtfIOperator 14
# define rtfIKeywords 15
# define rtfIComment 16
# define rtfIVersion 17
# define rtfIDoccomm 18
# define rtfIVerscomm 19
# define rtfNextFile 20 /* reclassified in 1.10 */
# define rtfTemplate 21 /* reclassified in 1.10 */
# define rtfFNSep 22
# define rtfFNContSep 23
# define rtfFNContNotice 24
# define rtfENSep 25 /* new in 1.10 */
# define rtfENContSep 26 /* new in 1.10 */
# define rtfENContNotice 27 /* new in 1.10 */
# define rtfPageNumLevel 28 /* new in 1.10 */
# define rtfParNumLevelStyle 29 /* new in 1.10 */
# define rtfHeader 30
# define rtfFooter 31
# define rtfHeaderLeft 32
# define rtfHeaderRight 33
# define rtfHeaderFirst 34
# define rtfFooterLeft 35
# define rtfFooterRight 36
# define rtfFooterFirst 37
# define rtfParNumText 38 /* new in 1.10 */
# define rtfParNumbering 39 /* new in 1.10 */
# define rtfParNumTextAfter 40 /* new in 1.10 */
# define rtfParNumTextBefore 41 /* new in 1.10 */
# define rtfBookmarkStart 42
# define rtfBookmarkEnd 43
# define rtfPict 44
# define rtfObject 45
# define rtfObjClass 46
# define rtfObjName 47
# define rtfObjTime 48 /* new in 1.10 */
# define rtfObjData 49
# define rtfObjAlias 50
# define rtfObjSection 51
# define rtfObjResult 52
# define rtfObjItem 53 /* new in 1.10 */
# define rtfObjTopic 54 /* new in 1.10 */
# define rtfDrawObject 55 /* new in 1.10 */
# define rtfFootnote 56
# define rtfAnnotRefStart 57 /* new in 1.10 */
# define rtfAnnotRefEnd 58 /* new in 1.10 */
# define rtfAnnotID 59 /* reclassified in 1.10 */
# define rtfAnnotAuthor 60 /* new in 1.10 */
# define rtfAnnotation 61 /* reclassified in 1.10 */
# define rtfAnnotRef 62 /* new in 1.10 */
# define rtfAnnotTime 63 /* new in 1.10 */
# define rtfAnnotIcon 64 /* new in 1.10 */
# define rtfField 65
# define rtfFieldInst 66
# define rtfFieldResult 67
# define rtfDataField 68 /* new in 1.10 */
# define rtfIndex 69
# define rtfIndexText 70
# define rtfIndexRange 71
# define rtfTOC 72
# define rtfNeXTGraphic 73
# define rtfGenerator 74
# define rtfMaxDestination 75 /* highest dest + 1 */
# define rtfFontFamily 4
# define rtfFFNil 0
# define rtfFFRoman 1
# define rtfFFSwiss 2
# define rtfFFModern 3
# define rtfFFScript 4
# define rtfFFDecor 5
# define rtfFFTech 6
# define rtfFFBidirectional 7 /* new in 1.10 */
# define rtfColorName 5
# define rtfRed 0
# define rtfGreen 1
# define rtfBlue 2
# define rtfSpecialChar 6
/* special chars seen in \info destination */
# define rtfIIntVersion 0
# define rtfICreateTime 1
# define rtfIRevisionTime 2
# define rtfIPrintTime 3
# define rtfIBackupTime 4
# define rtfIEditTime 5
# define rtfIYear 6
# define rtfIMonth 7
# define rtfIDay 8
# define rtfIHour 9
# define rtfIMinute 10
# define rtfISecond 11 /* new in 1.10 */
# define rtfINPages 12
# define rtfINWords 13
# define rtfINChars 14
# define rtfIIntID 15
/* other special chars */
# define rtfCurHeadDate 16
# define rtfCurHeadDateLong 17
# define rtfCurHeadDateAbbrev 18
# define rtfCurHeadTime 19
# define rtfCurHeadPage 20
# define rtfSectNum 21 /* new in 1.10 */
# define rtfCurFNote 22
# define rtfCurAnnotRef 23
# define rtfFNoteSep 24
# define rtfFNoteCont 25
# define rtfCell 26
# define rtfRow 27
# define rtfPar 28
# define rtfSect 29
# define rtfPage 30
# define rtfColumn 31
# define rtfLine 32
# define rtfSoftPage 33 /* new in 1.10 */
# define rtfSoftColumn 34 /* new in 1.10 */
# define rtfSoftLine 35 /* new in 1.10 */
# define rtfSoftLineHt 36 /* new in 1.10 */
# define rtfTab 37
# define rtfEmDash 38
# define rtfEnDash 39
# define rtfEmSpace 40 /* new in 1.10 */
# define rtfEnSpace 41 /* new in 1.10 */
# define rtfBullet 42
# define rtfLQuote 43
# define rtfRQuote 44
# define rtfLDblQuote 45
# define rtfRDblQuote 46
# define rtfFormula 47
# define rtfNoBrkSpace 49
# define rtfNoReqHyphen 50
# define rtfNoBrkHyphen 51
# define rtfOptDest 52
# define rtfLTRMark 53 /* new in 1.10 */
# define rtfRTLMark 54 /* new in 1.10 */
# define rtfNoWidthJoiner 55 /* new in 1.10 */
# define rtfNoWidthNonJoiner 56 /* new in 1.10 */
# define rtfCurHeadPict 57 /* valid? */
/*# define rtfCurAnnot 58*/ /* apparently not used */
# define rtfUnicode 58 /* no better category*/
# define rtfStyleAttr 7
# define rtfAdditive 0 /* new in 1.10 */
# define rtfBasedOn 1
# define rtfNext 2
# define rtfDocAttr 8
# define rtfDefTab 0
# define rtfHyphHotZone 1
# define rtfHyphConsecLines 2 /* new in 1.10 */
# define rtfHyphCaps 3 /* new in 1.10 */
# define rtfHyphAuto 4 /* new in 1.10 */
# define rtfLineStart 5
# define rtfFracWidth 6
# define rtfMakeBackup 7
# define rtfRTFDefault 8
# define rtfPSOverlay 9
# define rtfDocTemplate 10 /* new in 1.10 */
# define rtfDefLanguage 11
# define rtfFENoteType 12 /* new in 1.10 */
# define rtfFNoteEndSect 13
# define rtfFNoteEndDoc 14
# define rtfFNoteText 15
# define rtfFNoteBottom 16
# define rtfENoteEndSect 17 /* new in 1.10 */
# define rtfENoteEndDoc 18 /* new in 1.10 */
# define rtfENoteText 19 /* new in 1.10 */
# define rtfENoteBottom 20 /* new in 1.10 */
# define rtfFNoteStart 21
# define rtfENoteStart 22 /* new in 1.10 */
# define rtfFNoteRestartPage 23 /* new in 1.10 */
# define rtfFNoteRestart 24
# define rtfFNoteRestartCont 25 /* new in 1.10 */
# define rtfENoteRestart 26 /* new in 1.10 */
# define rtfENoteRestartCont 27 /* new in 1.10 */
# define rtfFNoteNumArabic 28 /* new in 1.10 */
# define rtfFNoteNumLLetter 29 /* new in 1.10 */
# define rtfFNoteNumULetter 30 /* new in 1.10 */
# define rtfFNoteNumLRoman 31 /* new in 1.10 */
# define rtfFNoteNumURoman 32 /* new in 1.10 */
# define rtfFNoteNumChicago 33 /* new in 1.10 */
# define rtfENoteNumArabic 34 /* new in 1.10 */
# define rtfENoteNumLLetter 35 /* new in 1.10 */
# define rtfENoteNumULetter 36 /* new in 1.10 */
# define rtfENoteNumLRoman 37 /* new in 1.10 */
# define rtfENoteNumURoman 38 /* new in 1.10 */
# define rtfENoteNumChicago 39 /* new in 1.10 */
# define rtfPaperWidth 40
# define rtfPaperHeight 41
# define rtfPaperSize 42 /* new in 1.10 */
# define rtfLeftMargin 43
# define rtfRightMargin 44
# define rtfTopMargin 45
# define rtfBottomMargin 46
# define rtfFacingPage 47
# define rtfGutterWid 48
# define rtfMirrorMargin 49
# define rtfLandscape 50
# define rtfPageStart 51
# define rtfWidowCtrl 52
# define rtfLinkStyles 53 /* new in 1.10 */
# define rtfNoAutoTabIndent 54 /* new in 1.10 */
# define rtfWrapSpaces 55 /* new in 1.10 */
# define rtfPrintColorsBlack 56 /* new in 1.10 */
# define rtfNoExtraSpaceRL 57 /* new in 1.10 */
# define rtfNoColumnBalance 58 /* new in 1.10 */
# define rtfCvtMailMergeQuote 59 /* new in 1.10 */
# define rtfSuppressTopSpace 60 /* new in 1.10 */
# define rtfSuppressPreParSpace 61 /* new in 1.10 */
# define rtfCombineTblBorders 62 /* new in 1.10 */
# define rtfTranspMetafiles 63 /* new in 1.10 */
# define rtfSwapBorders 64 /* new in 1.10 */
# define rtfShowHardBreaks 65 /* new in 1.10 */
# define rtfFormProtected 66 /* new in 1.10 */
# define rtfAllProtected 67 /* new in 1.10 */
# define rtfFormShading 68 /* new in 1.10 */
# define rtfFormDisplay 69 /* new in 1.10 */
# define rtfPrintData 70 /* new in 1.10 */
# define rtfRevProtected 71 /* new in 1.10 */
# define rtfRevisions 72
# define rtfRevDisplay 73
# define rtfRevBar 74
# define rtfAnnotProtected 75 /* new in 1.10 */
# define rtfRTLDoc 76 /* new in 1.10 */
# define rtfLTRDoc 77 /* new in 1.10 */
# define rtfAnsiCodePage 78
# define rtfUTF8RTF 79
# define rtfSectAttr 9
# define rtfSectDef 0
# define rtfENoteHere 1
# define rtfPrtBinFirst 2
# define rtfPrtBin 3
# define rtfSectStyleNum 4 /* new in 1.10 */
# define rtfNoBreak 5
# define rtfColBreak 6
# define rtfPageBreak 7
# define rtfEvenBreak 8
# define rtfOddBreak 9
# define rtfColumns 10
# define rtfColumnSpace 11
# define rtfColumnNumber 12 /* new in 1.10 */
# define rtfColumnSpRight 13 /* new in 1.10 */
# define rtfColumnWidth 14 /* new in 1.10 */
# define rtfColumnLine 15
# define rtfLineModulus 16
# define rtfLineDist 17
# define rtfLineStarts 18
# define rtfLineRestart 19
# define rtfLineRestartPg 20
# define rtfLineCont 21
# define rtfSectPageWid 22
# define rtfSectPageHt 23
# define rtfSectMarginLeft 24
# define rtfSectMarginRight 25
# define rtfSectMarginTop 26
# define rtfSectMarginBottom 27
# define rtfSectMarginGutter 28
# define rtfSectLandscape 29
# define rtfTitleSpecial 30
# define rtfHeaderY 31
# define rtfFooterY 32
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -