设置 RTF 文档的字体样式

4

我在为这个文档设置字体样式时遇到了困难,希望将所有文本设置为Times New Roman字体,大小为10。我生成了一个字体表,其中保存了类型,也是我的文档唯一的类型。我希望所有文本都是Times New Roman字体,但是每当文档生成时,出于某种原因它会显示为已损坏,但如果我不设置字体样式,则文档会默认使用Courier字体,并且不会损坏。

{\fonttbl{\f1\froman\fprq0\fcharset0 Times New Roman;}
\par
Hi <#name#>
\par\par

Welcome to New York \par\par

\b New iPad\'ae App Is Available \b0 \par 
These are all the exciting things you cna do during your stay. \par \par
}
1个回答

3
你的示例中缺少很多格式。例如,从Wordpad或其他应用程序保存一个非常简单的RTF文件(Word会放入太多元数据),并查看您所缺少的所有内容。
首先,这是最新的RTF规范,1.9.1。这将帮助您处理与RTF相关的任何问题。
第二,任何RTF文档必须\rtf*N*开头,其中N是RTF版本(当前为1)。在您的示例中缺少此项。这是导致文件损坏的许多原因之一。
第三,您在字体表中定义了某些内容,然后没有使用定义的内容,f1这是RTF的旧规范,1.6,但请查看字体表的定义方式。

还有许多其他的事情,但我认为你正在使用RTF就像你使用HTML或带有标签的东西一样。我建议你阅读规范,了解RTF的工作原理。这是一个非常小的RTF文档:

    {\rtf1\ansi\ansicpg1252\uc1\htmautsp\deff2
{\fonttbl{\f0\fcharset0 Times New Roman;}{\f2\fcharset0 Tahoma;}}
{\colortbl\red0\green0\blue0;\red255\green255\blue255;}
\loch\hich\dbch\pard\plain\ltrpar\itap0{\lang1033\fs16\f2\cf0 \cf0\ql
{\f2 {\ltrch This is a test of RTF.}\li0\ri0\sa0\sb0\fi0\ql\par}}}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接