2013-01-18 287 views
4

在为此文档设置文本字体样式为Times New Roman时出现问题。我希望所有的测试都是新的罗马字体大小10.我生成了一个字体表,它保存了我的文档的类型和唯一类型。我希望所有的文本都是新的罗马文字,但是每当文档生成时它说它由于某种原因被损坏,但是如果我没有设置字体样式,则文档作为默认文档出现在快递文本中,并且不会损坏。为RTF文档设置字体样式

{\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 
} 

回答

2

您在上面的示例中缺少很多格式。例如,从写字板或其他应用程序(Word放入太多的元数据)保存一个非常简单的RTF文件,并查看缺少的所有内容。

首先,Here is the most recent RTF Spec, 1.9.1。这将帮助你完成任何与RTF相关的工作。

其次,任何RTF文档必须\rtf*N*其中Ñ开始是RTF版(目前1)。在你的例子中你错过了这个。这是为什么它说文件已损坏的众多原因之一。

第三,你在字体表中定义了一些东西,然后不使用定义f1This is an old spec for RTF, 1.6, but look at how the font table is defined.

还有很多其他的事情,但我认为你使用的是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}}}