【问题标题】:RTF #PCDATA vs Document TextRTF #PCDATA 与文档文本
【发布时间】:2014-09-25 02:09:34
【问题描述】:

我试图理解RTF 1.9.1 specification document,但#PCDATA(没有控制字的文本)让我感到困惑。下面是一些示例代码,以显示我不明白的内容。请注意,下面的文本格式不正确。我对其进行了格式化以使其看起来更好。

{
    \fonttbl
    {
        \f0
        \fbidi 
        \froman
        \fcharset0
        \fprq2
        {
            \*
            \panose 
            02020603050405020304
        }
        Times New Roman;
    }
}

规范说:

如果字符不是左大括号 ({)、右大括号 (})、反斜杠 (\) 或 CRLF(回车/换行),则阅读器假定该字符是纯文本并写入使用当前格式属性将字符指向当前目标。

如果我遵循上面的规范,我最终会在文档中写入Times New Roman。解析器应该如何知道它是否遇到了#PCDATA 或文档文本?

【问题讨论】:

    标签: parsing text rtf pcdata


    【解决方案1】:

    答案在 RTF 1.9.1 规范的第 9 页。

    某些控制字(称为目的地)标记可能出现在文档中另一个位置或目的地的相关文本集合的开始。目的地还可能包含已使用但根本未出现在文档中的文本。

    在我在问题中给出的示例中,fonttbl 是目标控制词,表示文本不会出现在文档中。在规范的第 11 页上,给出了更改目标的示例控制字列表:

    改变目的地的控制词的例子是\footnote\header\footer\pict\info\fonttbl\stylesheet\colortbl

    还有很多,但这些是主要的。

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多