⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkrtf-ctrl.c

📁 将rft格式文件转换成html格式文件
💻 C
📖 第 1 页 / 共 3 页
字号:
/* * mkrtf-ctrl.c -- generate rtf-ctrl file containing rtf control words * and their major and minor numbers. * * The rtf-ctrl file has the following uses: * - by making the table of control words external to translators, the * data segment size on Macintosh applications shrinks considerably. * This avoids problems with THINK C.  The scheme will still fail if * the table ends up with 32K of string space, because then this program * won't itself be compilable.  That's a ways off, I hope. * - program sizes become smaller. * * 08 Apr 94	Paul DuBois	dubois@primate.wisc.edu * * 08 Apr 94 * - Created. */# include	<stdio.h># define	rtfInternal# include	"rtf.h"# undef		rtfInternaltypedef struct RTFKey	RTFKey;struct RTFKey{	int	major;	/* major number */	int	minor;	/* minor number */	char	*str;	/* symbol name */	int	junk;	/* symbol name hash value */};/* * A minor number of -1 means the token has no minor number * (all valid minor numbers are >= 0). */static RTFKey	rtfKey[] ={	/*	 * Special characters	 */	rtfSpecialChar,	rtfIIntVersion,		"vern",		0,	rtfSpecialChar,	rtfIEditTime,		"edmins",	0,	rtfSpecialChar,	rtfIYear,		"yr",		0,	rtfSpecialChar,	rtfIMonth,		"mo",		0,	rtfSpecialChar,	rtfIDay,		"dy",		0,	rtfSpecialChar,	rtfIHour,		"hr",		0,	rtfSpecialChar,	rtfIMinute,		"min",		0,	rtfSpecialChar,	rtfISecond,		"sec",		0,	rtfSpecialChar,	rtfINPages,		"nofpages",	0,	rtfSpecialChar,	rtfINWords,		"nofwords",	0,	rtfSpecialChar,	rtfINChars,		"nofchars",	0,	rtfSpecialChar,	rtfIIntID,		"id",		0,	rtfSpecialChar,	rtfCurHeadDate,		"chdate",	0,	rtfSpecialChar,	rtfCurHeadDateLong,	"chdpl",	0,	rtfSpecialChar,	rtfCurHeadDateAbbrev,	"chdpa",	0,	rtfSpecialChar,	rtfCurHeadTime,		"chtime",	0,	rtfSpecialChar,	rtfCurHeadPage,		"chpgn",	0,	rtfSpecialChar,	rtfSectNum,		"sectnum",	0,	rtfSpecialChar,	rtfCurFNote,		"chftn",	0,	rtfSpecialChar,	rtfCurAnnotRef,		"chatn",	0,	rtfSpecialChar,	rtfFNoteSep,		"chftnsep",	0,	rtfSpecialChar,	rtfFNoteCont,		"chftnsepc",	0,	rtfSpecialChar,	rtfCell,		"cell",		0,	rtfSpecialChar,	rtfRow,			"row",		0,	rtfSpecialChar,	rtfPar,			"par",		0,	/* newline and carriage return are synonyms for */	/* \par when they are preceded by a \ character */	rtfSpecialChar,	rtfPar,			"\n",		0,	rtfSpecialChar,	rtfPar,			"\r",		0,	rtfSpecialChar,	rtfSect,		"sect",		0,	rtfSpecialChar,	rtfPage,		"page",		0,	rtfSpecialChar,	rtfColumn,		"column",	0,	rtfSpecialChar,	rtfLine,		"line",		0,	rtfSpecialChar,	rtfSoftPage,		"softpage",	0,	rtfSpecialChar,	rtfSoftColumn,		"softcol",	0,	rtfSpecialChar,	rtfSoftLine,		"softline",	0,	rtfSpecialChar,	rtfSoftLineHt,		"softlheight",	0,	rtfSpecialChar,	rtfTab,			"tab",		0,	rtfSpecialChar,	rtfEmDash,		"emdash",	0,	rtfSpecialChar,	rtfEnDash,		"endash",	0,	rtfSpecialChar,	rtfEmSpace,		"emspace",	0,	rtfSpecialChar,	rtfEnSpace,		"enspace",	0,	rtfSpecialChar,	rtfBullet,		"bullet",	0,	rtfSpecialChar,	rtfLQuote,		"lquote",	0,	rtfSpecialChar,	rtfRQuote,		"rquote",	0,	rtfSpecialChar,	rtfLDblQuote,		"ldblquote",	0,	rtfSpecialChar,	rtfRDblQuote,		"rdblquote",	0,	rtfSpecialChar,	rtfFormula,		"|",		0,	rtfSpecialChar,	rtfNoBrkSpace,		"~",		0,	rtfSpecialChar,	rtfNoReqHyphen,		"-",		0,	rtfSpecialChar,	rtfNoBrkHyphen,		"_",		0,	rtfSpecialChar,	rtfOptDest,		"*",		0,	rtfSpecialChar,	rtfLTRMark,		"ltrmark",	0,	rtfSpecialChar,	rtfRTLMark,		"rtlmark",	0,	rtfSpecialChar,	rtfNoWidthJoiner,	"zwj",		0,	rtfSpecialChar,	rtfNoWidthNonJoiner,	"zwnj",		0,	/* is this valid? */	rtfSpecialChar,	rtfCurHeadPict,		"chpict",	0,	rtfSpecialChar,	rtfIVersion,		"version",	0,	/*	 * Character formatting attributes	 */	rtfCharAttr,	rtfPlain,		"plain",	0,	rtfCharAttr,	rtfBold,		"b",		0,	rtfCharAttr,	rtfAllCaps,		"caps",		0,	rtfCharAttr,	rtfDeleted,		"deleted",	0,	rtfCharAttr,	rtfSubScript,		"dn",		0,	rtfCharAttr,	rtfSubScrShrink,	"sub",		0,	rtfCharAttr,	rtfNoSuperSub,		"nosupersub",	0,	rtfCharAttr,	rtfExpand,		"expnd",	0,	rtfCharAttr,	rtfExpandTwips,		"expndtw",	0,	rtfCharAttr,	rtfKerning,		"kerning",	0,	rtfCharAttr,	rtfFontNum,		"f",		0,	rtfCharAttr,	rtfFontSize,		"fs",		0,	rtfCharAttr,	rtfItalic,		"i",		0,	rtfCharAttr,	rtfOutline,		"outl",		0,	rtfCharAttr,	rtfRevised,		"revised",	0,	rtfCharAttr,	rtfRevAuthor,		"revauth",	0,	rtfCharAttr,	rtfRevDTTM,		"revdttm",	0,	rtfCharAttr,	rtfSmallCaps,		"scaps",	0,	rtfCharAttr,	rtfShadow,		"shad",		0,	rtfCharAttr,	rtfStrikeThru,		"strike",	0,	rtfCharAttr,	rtfUnderline,		"ul",		0,	rtfCharAttr,	rtfDotUnderline,	"uld",		0,	rtfCharAttr,	rtfDbUnderline,		"uldb",		0,	rtfCharAttr,	rtfNoUnderline,		"ulnone",	0,	rtfCharAttr,	rtfWordUnderline,	"ulw",		0,	rtfCharAttr,	rtfSuperScript,		"up",		0,	rtfCharAttr,	rtfSuperScrShrink,	"super",	0,	rtfCharAttr,	rtfInvisible,		"v",		0,	rtfCharAttr,	rtfForeColor,		"cf",		0,	rtfCharAttr,	rtfBackColor,		"cb",		0,	rtfCharAttr,	rtfRTLChar,		"rtlch",	0,	rtfCharAttr,	rtfLTRChar,		"ltrch",	0,	rtfCharAttr,	rtfCharStyleNum,	"cs",		0,	rtfCharAttr,	rtfCharCharSet,		"cchs",		0,	rtfCharAttr,	rtfLanguage,		"lang",		0,	/* this has disappeared from spec 1.2 */	rtfCharAttr,	rtfGray,		"gray",		0,	/*	 * Paragraph formatting attributes	 */	rtfParAttr,	rtfParDef,		"pard",		0,	rtfParAttr,	rtfStyleNum,		"s",		0,	rtfParAttr,	rtfHyphenate,		"hyphpar",	0,	rtfParAttr,	rtfInTable,		"intbl",	0,	rtfParAttr,	rtfKeep,		"keep",		0,	rtfParAttr,	rtfNoWidowControl,	"nowidctlpar",	0,	rtfParAttr,	rtfKeepNext,		"keepn",	0,	rtfParAttr,	rtfOutlineLevel,	"level",	0,	rtfParAttr,	rtfNoLineNum,		"noline",	0,	rtfParAttr,	rtfPBBefore,		"pagebb",	0,	rtfParAttr,	rtfSideBySide,		"sbys",		0,	rtfParAttr,	rtfQuadLeft,		"ql",		0,	rtfParAttr,	rtfQuadRight,		"qr",		0,	rtfParAttr,	rtfQuadJust,		"qj",		0,	rtfParAttr,	rtfQuadCenter,		"qc",		0,	rtfParAttr,	rtfFirstIndent,		"fi",		0,	rtfParAttr,	rtfLeftIndent,		"li",		0,	rtfParAttr,	rtfRightIndent,		"ri",		0,	rtfParAttr,	rtfSpaceBefore,		"sb",		0,	rtfParAttr,	rtfSpaceAfter,		"sa",		0,	rtfParAttr,	rtfSpaceBetween,	"sl",		0,	rtfParAttr,	rtfSpaceMultiply,	"slmult",	0,	rtfParAttr,	rtfSubDocument,		"subdocument",	0,	rtfParAttr,	rtfRTLPar,		"rtlpar",	0,	rtfParAttr,	rtfLTRPar,		"ltrpar",	0,	rtfParAttr,	rtfTabPos,		"tx",		0,	/*	 * FrameMaker writes \tql (to mean left-justified tab, apparently)	 * although it's not in the spec.  It's also redundant, since lj	 * tabs are the default.	 */	rtfParAttr,	rtfTabLeft,		"tql",		0,	rtfParAttr,	rtfTabRight,		"tqr",		0,	rtfParAttr,	rtfTabCenter,		"tqc",		0,	rtfParAttr,	rtfTabDecimal,		"tqdec",	0,	rtfParAttr,	rtfTabBar,		"tb",		0,	rtfParAttr,	rtfLeaderDot,		"tldot",	0,	rtfParAttr,	rtfLeaderHyphen,	"tlhyph",	0,	rtfParAttr,	rtfLeaderUnder,		"tlul",		0,	rtfParAttr,	rtfLeaderThick,		"tlth",		0,	rtfParAttr,	rtfLeaderEqual,		"tleq",		0,	rtfParAttr,	rtfParLevel,		"pnlvl",	0,	rtfParAttr,	rtfParBullet,		"pnlvlblt",	0,	rtfParAttr,	rtfParSimple,		"pnlvlbody",	0,	rtfParAttr,	rtfParNumCont,		"pnlvlcont",	0,	rtfParAttr,	rtfParNumOnce,		"pnnumonce",	0,	rtfParAttr,	rtfParNumAcross,	"pnacross",	0,	rtfParAttr,	rtfParHangIndent,	"pnhang",	0,	rtfParAttr,	rtfParNumRestart,	"pnrestart",	0,	rtfParAttr,	rtfParNumCardinal,	"pncard",	0,	rtfParAttr,	rtfParNumDecimal,	"pndec",	0,	rtfParAttr,	rtfParNumULetter,	"pnucltr",	0,	rtfParAttr,	rtfParNumURoman,	"pnucrm",	0,	rtfParAttr,	rtfParNumLLetter,	"pnlcltr",	0,	rtfParAttr,	rtfParNumLRoman,	"pnlcrm",	0,	rtfParAttr,	rtfParNumOrdinal,	"pnord",	0,	rtfParAttr,	rtfParNumOrdinalText,	"pnordt",	0,	rtfParAttr,	rtfParNumBold,		"pnb",		0,	rtfParAttr,	rtfParNumItalic,	"pni",		0,	rtfParAttr,	rtfParNumAllCaps,	"pncaps",	0,	rtfParAttr,	rtfParNumSmallCaps,	"pnscaps",	0,	rtfParAttr,	rtfParNumUnder,		"pnul",		0,	rtfParAttr,	rtfParNumDotUnder,	"pnuld",	0,	rtfParAttr,	rtfParNumDbUnder,	"pnuldb",	0,	rtfParAttr,	rtfParNumNoUnder,	"pnulnone",	0,	rtfParAttr,	rtfParNumWordUnder,	"pnulw",	0,	rtfParAttr,	rtfParNumStrikethru,	"pnstrike",	0,	rtfParAttr,	rtfParNumForeColor,	"pncf",		0,	rtfParAttr,	rtfParNumFont,		"pnf",		0,	rtfParAttr,	rtfParNumFontSize,	"pnfs",		0,	rtfParAttr,	rtfParNumIndent,	"pnindent",	0,	rtfParAttr,	rtfParNumSpacing,	"pnsp",		0,	rtfParAttr,	rtfParNumInclPrev,	"pnprev",	0,	rtfParAttr,	rtfParNumCenter,	"pnqc",		0,	rtfParAttr,	rtfParNumLeft,		"pnql",		0,	rtfParAttr,	rtfParNumRight,		"pnqr",		0,	rtfParAttr,	rtfParNumStartAt,	"pnstart",	0,	rtfParAttr,	rtfBorderTop,		"brdrt",	0,	rtfParAttr,	rtfBorderBottom,	"brdrb",	0,	rtfParAttr,	rtfBorderLeft,		"brdrl",	0,	rtfParAttr,	rtfBorderRight,		"brdrr",	0,	rtfParAttr,	rtfBorderBetween,	"brdrbtw",	0,	rtfParAttr,	rtfBorderBar,		"brdrbar",	0,	rtfParAttr,	rtfBorderBox,		"box",		0,	rtfParAttr,	rtfBorderSingle,	"brdrs",	0,	rtfParAttr,	rtfBorderThick,		"brdrth",	0,	rtfParAttr,	rtfBorderShadow,	"brdrsh",	0,	rtfParAttr,	rtfBorderDouble,	"brdrdb",	0,	rtfParAttr,	rtfBorderDot,		"brdrdot",	0,	rtfParAttr,	rtfBorderDot,		"brdrdash",	0,	rtfParAttr,	rtfBorderHair,		"brdrhair",	0,	rtfParAttr,	rtfBorderWidth,		"brdrw",	0,	rtfParAttr,	rtfBorderColor,		"brdrcf",	0,	rtfParAttr,	rtfBorderSpace,		"brsp",		0,	rtfParAttr,	rtfShading,		"shading",	0,	rtfParAttr,	rtfBgPatH,		"bghoriz",	0,	rtfParAttr,	rtfBgPatV,		"bgvert",	0,	rtfParAttr,	rtfFwdDiagBgPat,	"bgfdiag",	0,	rtfParAttr,	rtfBwdDiagBgPat,	"bgbdiag",	0,	rtfParAttr,	rtfHatchBgPat,		"bgcross",	0,	rtfParAttr,	rtfDiagHatchBgPat,	"bgdcross",	0,	rtfParAttr,	rtfDarkBgPatH,		"bgdkhoriz",	0,	rtfParAttr,	rtfDarkBgPatV,		"bgdkvert",	0,	rtfParAttr,	rtfFwdDarkBgPat,	"bgdkfdiag",	0,	rtfParAttr,	rtfBwdDarkBgPat,	"bgdkbdiag",	0,	rtfParAttr,	rtfDarkHatchBgPat,	"bgdkcross",	0,	rtfParAttr,	rtfDarkDiagHatchBgPat,	"bgdkdcross",	0,	rtfParAttr,	rtfBgPatLineColor,	"cfpat",	0,	rtfParAttr,	rtfBgPatColor,		"cbpat",	0,	/*	 * Section formatting attributes	 */	rtfSectAttr,	rtfSectDef,		"sectd",	0,	rtfSectAttr,	rtfENoteHere,		"endnhere",	0,	rtfSectAttr,	rtfPrtBinFirst,		"binfsxn",	0,	rtfSectAttr,	rtfPrtBin,		"binsxn",	0,	rtfSectAttr,	rtfSectStyleNum,	"ds",		0,	rtfSectAttr,	rtfNoBreak,		"sbknone",	0,	rtfSectAttr,	rtfColBreak,		"sbkcol",	0,	rtfSectAttr,	rtfPageBreak,		"sbkpage",	0,	rtfSectAttr,	rtfEvenBreak,		"sbkeven",	0,	rtfSectAttr,	rtfOddBreak,		"sbkodd",	0,	rtfSectAttr,	rtfColumns,		"cols",		0,	rtfSectAttr,	rtfColumnSpace,		"colsx",	0,	rtfSectAttr,	rtfColumnNumber,	"colno",	0,	rtfSectAttr,	rtfColumnSpRight,	"colsr",	0,	rtfSectAttr,	rtfColumnWidth,		"colw",		0,	rtfSectAttr,	rtfColumnLine,		"linebetcol",	0,	rtfSectAttr,	rtfLineModulus,		"linemod",	0,	rtfSectAttr,	rtfLineDist,		"linex",	0,	rtfSectAttr,	rtfLineStarts,		"linestarts",	0,	rtfSectAttr,	rtfLineRestart,		"linerestart",	0,	rtfSectAttr,	rtfLineRestartPg,	"lineppage",	0,	rtfSectAttr,	rtfLineCont,		"linecont",	0,	rtfSectAttr,	rtfSectPageWid,		"pgwsxn",	0,	rtfSectAttr,	rtfSectPageHt,		"pghsxn",	0,	rtfSectAttr,	rtfSectMarginLeft,	"marglsxn",	0,	rtfSectAttr,	rtfSectMarginRight,	"margrsxn",	0,	rtfSectAttr,	rtfSectMarginTop,	"margtsxn",	0,	rtfSectAttr,	rtfSectMarginBottom,	"margbsxn",	0,	rtfSectAttr,	rtfSectMarginGutter,	"guttersxn",	0,	rtfSectAttr,	rtfSectLandscape,	"lndscpsxn",	0,	rtfSectAttr,	rtfTitleSpecial,	"titlepg",	0,	rtfSectAttr,	rtfHeaderY,		"headery",	0,	rtfSectAttr,	rtfFooterY,		"footery",	0,	rtfSectAttr,	rtfPageStarts,		"pgnstarts",	0,	rtfSectAttr,	rtfPageCont,		"pgncont",	0,	rtfSectAttr,	rtfPageRestart,		"pgnrestart",	0,	rtfSectAttr,	rtfPageNumRight,	"pgnx",		0,	rtfSectAttr,	rtfPageNumTop,		"pgny",		0,	rtfSectAttr,	rtfPageDecimal,		"pgndec",	0,	rtfSectAttr,	rtfPageURoman,		"pgnucrm",	0,	rtfSectAttr,	rtfPageLRoman,		"pgnlcrm",	0,	rtfSectAttr,	rtfPageULetter,		"pgnucltr",	0,	rtfSectAttr,	rtfPageLLetter,		"pgnlcltr",	0,	rtfSectAttr,	rtfPageNumHyphSep,	"pgnhnsh",	0,	rtfSectAttr,	rtfPageNumSpaceSep,	"pgnhnsp",	0,	rtfSectAttr,	rtfPageNumColonSep,	"pgnhnsc",	0,	rtfSectAttr,	rtfPageNumEmdashSep,	"pgnhnsm",	0,	rtfSectAttr,	rtfPageNumEndashSep,	"pgnhnsn",	0,	rtfSectAttr,	rtfTopVAlign,		"vertalt",	0,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -