解释RTF问题

时间:2014-12-09 13:55:43

标签: rtf

我最近的任务是构建自己的RTF到HTML转换器。有了它,RTF解释器片。

我使用的是1.6规格:
http://latex2rtf.sourceforge.net/rtfspec_7.html

我有一个针对RTF专家的问题:
是"段落属性继承"被认为是'#stack; able"或者它更像是先入先出?

我的问题基本上源于RTF规范规则,其中规定:

"If the \pard control word is not present, the current paragraph inherits 
all paragraph properties defined in the previous paragraph."

实施例:

\pard\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\par
\li720\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20 This is indented.\par
\li0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20This is left justified not indented.\par

是否应该像这样(堆叠)解释?

  • 第1行样式+第1行文字
  • 第1行样式+第2行样式+第2行文本
  • 第1行样式+第2行样式+第3行样式+第3行文本
\pard\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\par
\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\li720\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20 This is indented.\par
\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\li720\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\li0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20This is left justified not indented.\par

或者更喜欢这样(先入先出)?

  • 第1行样式+第1行文字
  • 第1行样式+第2行样式+第2行文本
  • 第2行样式+第3行样式+第3行文本
\pard\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\par
\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\li720\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20 This is indented.\par
\ssparaaux0\s0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20\li0\ql\plain\f0\fs24\lang4105\hich\f6\dbch\f6\loch\f6\cf2\fs20This is left justified not indented.\par

奇怪的是,根据我使用的是哪个文字处理器,这3行的解释会有很大不同。那么这里要做的官方事情是什么?

1 个答案:

答案 0 :(得分:0)

从上一个\ pard标记开始,所有段落标记都是累积的。因此,如果当前段落没有使用\ pard,那么它将继承在最后一段之前找到的所有段落标记,再添加它自己,等等。