2

RTF 1.9.1 仕様ドキュメントを理解しようとしていますが、#PCDATA (制御語のないテキスト) が混乱しています。以下は、私が理解していないことを示すサンプルコードです。以下のテキストの形式が正しくないことに注意してください。見栄えが良くなるように整形しました。

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

仕様には次のように書かれています。

文字が左中括弧 ({)、右中括弧 (})、バックスラッシュ (\)、または CRLF (キャリッジ リターン/ライン フィード) 以外の場合、リーダーはその文字がプレーン テキストであると想定し、その文字を現在のフォーマット プロパティを使用した現在の宛先。

上記の仕様に従えばTimes New Roman、ドキュメントに書き込むことになります。パーサーは、#PCDATA またはドキュメント テキストに遭遇したかどうかをどのように知ることになっていますか?

4

1 に答える 1

2

答えは、RTF 1.9.1 仕様の 9 ページにあります。

宛先と呼ばれる特定の制御語は、ドキュメント内の別の位置または宛先に表示される関連テキストのコレクションの開始を示します。送信先には、使用されているがドキュメント内にはまったく表示されないテキストが含まれる場合もあります。

質問で示した例では、 fonttbl は、テキストがドキュメントに表示されないことを意味する宛先制御語です。仕様の 11 ページに、宛先を変更する制御語の例のリストが示されています。

宛先を変更する制御語の例は、 \footnote\header\footer\pict\info\fonttbl\stylesheet、および\colortblです。

他にもたくさんありますが、これらが主なものです。

于 2014-10-02T03:56:39.290 に答える