Pregunta

Estoy tratando de entender el RTF 1.9.1 EspecificaciónEl documento pero #pcdata (texto sin palabras de control) me confunde.A continuación se muestra algún código de muestra para mostrar lo que no entiendo.Tenga en cuenta que el texto a continuación está formateado incorrectamente.Lo formé para que se vea mejor.

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

La especificación dice:

Si el personaje es otra cosa que no sea una abertura ({), cierre PRACE (}), Backslash (\), o un CRLF (alimento de retorno / línea de carro), el lector asume que el personaje es un texto simple y escribeEl carácter al destino actual utilizando las propiedades de formato actuales.

Si tuviera que seguir la especificación anterior, terminaría escribiendo Times New Roman en el documento.¿Cómo se supone que un analizador debe saber si ha encontrado #pcdata o texto de documento?

¿Fue útil?

Solución

La respuesta está en la página 9 de la especificación RTF 1.9.1.

Ciertas palabras de control, denominadas destinos, marque el comienzo de una colección de texto relacionado que podría aparecer en otra posición, o destino, dentro del documento.Los destinos también pueden incluir texto que se usa, pero no aparece dentro del documento en absoluto.

En el ejemplo que dije en la pregunta, Fonttbl es una palabra de control de destino que significa que el texto no aparece en el documento.En la página 11 de la especificación Una lista de las palabras de control de ejemplo que cambian el destino se da:

Ejemplos de palabras de control que cambian de destino son \ pie de página , \ encabezado , \ footer , \ pict , \ info , \ fonttbl , \ stylesheet , y \ colortbl .

Hay muchos más, pero esos son los principales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top