Pergunta

Estou tentando entender o RTF 1.9.1 documento de especificação mas #PCDATA (texto sem palavras de controle) é algo que me confunde.Abaixo alguns exemplos de código para mostrar o que eu não entendo.Observe que o texto abaixo é formatado incorretamente.Eu formatei ele para torná-lo mais bonito.

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

A especificação diz:

Se o personagem é diferente de uma chave de abertura ({), chave de fechamento (}), barra invertida (\), ou um CRLF (retorno de carro/alimentação de linha), o leitor assume que o carácter de texto simples e escreve o caractere para o destino atual usando as propriedades de formatação.

Se eu fosse seguir a especificação acima, eu ia acabar escrevendo Times New Roman para o documento.Como é um analisador de suposto saber se ele encontrou #PCDATA ou documento de texto?

Foi útil?

Solução

A resposta está na página 9 do RTF 1.9.1 especificação.

Certas palavras de controle, referido como destinos, marca o início de uma coleção de textos que poderia aparecer em outra posição, ou de destino, dentro do documento.Destinos pode também incluir texto que é usado, mas não aparece no documento.

No exemplo que eu dei na questão, fonttbl é um destino de controle, palavra que significa que o texto não aparece no documento.Na página 11 do caderno de especificações de uma lista de exemplo de controle de palavras que mudar o destino que é dado:

Exemplos de palavras de controle que alteram o destino \footnote, \cabeçalho, odapé, \pict, \info, \fonttbl, \stylesheet, e \colortbl.

Existem muitos mais, mas esses são os principais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top