Breve introduzione al formato RTF |
A cura di Davide Bianchi |
Ideato dalla Microsoft è un formato "portabile" per la
definizione di documenti comprendenti formattazione di paragrafo, di
carattere e di pagina.
|
Cosè l'RTF |
L'RTF (Rich Text Format) è una metodo per codificare testo
e grafica studiato per semplificare il trasferimento di informazioni tra
le applicazioni. In sostanza si tratta di una specifica ideata dalla
Microsoft molto simile come contenuti alla specifica PostScript per la
definizione della pagina. L'RTF è un tipo di codifica del testo "tagged", cioè il documento viene codificato come del testo "semplice" e dei "marcatori" o "identificatori" (tag) che indicano quale/i tipo/tipi di "abbellimento" (grassetto, corsivo, tipo di carattere) applicare al "testo semplice". Come concetto è praticamente lo stesso dell'HTML, solo che l'RTF consente di specificare anche delle informazioni di impaginazione molto precise (la dimensione e l'orientamento del foglio per esempio) che in HTML mancano completamente, e di aggiungere all'interno del documento stesso il codice necessario alla tracciatura di grafici e disegni. Il documento RTF può contenere moltissimi "tag", non è detto che tutti i programmi che leggono il documento siano in grado di interpretare correttamente tutti i tag (l'RTF è una specifica tutt'ora in lavorazione, ed è cambiato molto dal 92 ad oggi), in generale un programma interpreta solo i tag che è in grado di riconosciere, se non è in grado di identificare un tag, lo ignora.
|
|||||||||||||||||||||||||||||||
Come si presenta l'RTF
|
I tag RTF consentono di specificare le caratteristiche di
una o più lettere (o parole), come nell'HTML. I tag RTF in genere sono
composti dal carattere \ seguito da una o più lettere che
identificano il tag e da uno o più numeri nel caso il tag richieda un
parametro numerico (ad esempio i tag che specificano la dimensione del
carattere richiedono che la dimensione sia indicata in numeri), il tag
deve essere separato dal testo a cui si applica da uno spazio, questo
spazio però non apparirà nel testo stampato, il tag ed il testo a cui
questo deve essere applicato sono rachiusi tra parentesi graffe { }.
Un tag tipico è: {\b Questo testo è in grasseto.}I tag possono anche essere "nidificati", ovvero un tag può essere specificat nel corpo di un altro tag: {\b Questo testo è in grassetto, {\i e questo è anche in corsivo.}} | |||||||||||||||||||||||||||||||
Un documento RTF | Un file RTF deve essere identificato in modo certo, il file
deve iniziare con il tag \rtf, seguito dal numero di versione RTF (di solito
1) e dal set dei caratteri usato (di solito \ansi)
Esempio: {\rtf1\ansi Questo è del testo }Ok, questo è solamente un esempio, però è valido per capire il formato. | |||||||||||||||||||||||||||||||
Specificare i font da usare | I font (tipi di carattere) che vengono usati nel documento
devono essere specificati all'inizio, questo si fa definendo una
Tabella dei Font definita come segue:
{\fonttable {\fN \famiglia \fcharsetN \fprqN NomeFont; } ...altre definizioni }dove:
esempio: {\fonttbl {\f0 \froman \fcharset0 \fprq2 Times New Roman;} {\f1 \fswiss \fcharset0 \fprq2 Arial;} {\f2 \fmodern \fcharset0 \fprq2 Courier New;} }notare il punto e virgola in fondo ad ogni linea. Per utilizzare uno dei font definiti in questo modo occorre usare il
tag \fn prima del testo
che si vuole mettere con quel font. {\f1 Testo in Arial} {\f0 testo in Times} | |||||||||||||||||||||||||||||||
Definire la dimensione del font | La dimensione del font si specifica con il tag \fsn, dove 'n' è specificato in 0.5 di punto, cioè \fs24 indica un font di 12 punti tipografici. | |||||||||||||||||||||||||||||||
Tag di controllo del testo | I tag di controllo del testo sono utilizzati per impostare
le caratteristiche del paragrafo o per specificare l'aspetto che tale
paragrafo deve avere (giustificazione, spazi...)
| |||||||||||||||||||||||||||||||
Formattazione del testo | In alcuni di questi tag occorre specificare una dimensione
(distanza), tale dimensione deve essere indicata in twips cioè 1/20
di pollice=1.125 millimetri
| |||||||||||||||||||||||||||||||
Definizione della pagina | In alcuni di questi tag occorre specificare una dimensione
(distanza), tale dimensione deve essere indicata in twips cioè 1/20
di pollice=1.125 millimetri
| |||||||||||||||||||||||||||||||
Tag speciali |
| |||||||||||||||||||||||||||||||
Testatine e piedini | In RTF possono essere specifciati testatine e piedini per
tutte le pagine, diversi per le pagine pari e dispari e così via. Ogni
sezione di documento può avere le sue testate e piedini, se per una
sezione non sono specificati, verranno usati quelli della sezione
precedente (se ci sono).
| |||||||||||||||||||||||||||||||
Tabulatori | Ogni paragrafo può avere il suo set di tabulatori diverso.
I tabulatori si definiscono mediante una serie di tag
Per specificare le tabulazioni si mettono 'n' \tx in fila: \tx100 \tx140 \tx270 \tx300 \tx315...Per utilizzare i tabulatori basta mettere \tab tra un valore e l'altro per eseguire la tabulazione: \tab Primo valore \tab Secondo valore \tab Terzo valore ...Il primo \tab serve a spostare il testo in corrispondenza del primo tabulatore. | |||||||||||||||||||||||||||||||
Tabelle | Le tabelle in RTF sono particolarmente rognose, per
definire una tabella si utilizzano un sacco di tag specifici. Consideriamo
poi che una tabella in RTF viene definita come 'attributi di paragrafò,
quindi non rappresenta un'entità a sè stante ma è un paragrafo.
Occorre anche notare che certi programmi che sono in grado di leggere l'RTF (Word per esempio), se incontrano una tabella definita in modo erroneo si bloccano segnalando errori nel programma, questo è probabilmente dovuto al modo di gestione interna delle tabelle del programma, quindi fare molta attenzione con la definizione delle tabelle. La tabella deve essere definita utilizzando i tag di definizione della tabella. Una riga di tabella è una sequenza di paragrafi, suddivisi in celle, la riga inizia con \trowd e termina con \row. Ogni paragrafo che è inserito in una riga di tabella deve contenere il tag \intbl la singola cella è terminata dal tag \cell, Tag di definizione della tabella:
Questo è un esempio di tabella scritta in RTF \trowd \trgaph70\trleft-70\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb\brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr \brdrs\brdrw10 \cltxlrtb \cellx3300\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx6670\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr \brdrs\brdrw10 \cltxlrtb \cellx10040\pard \qj\ri500\nowidctlpar\intbl\adjustright {\fs24\cgrid0 \cell \cell \cell }\pard \widctlpar\intbl\adjustright {\fs24\cgrid0 \row }\trowd \trgaph70\trleft-70\trbrdrt\brdrs\brdrw10 \trbrdrl\brdrs\brdrw10 \trbrdrb \brdrs\brdrw10 \trbrdrr\brdrs\brdrw10 \trbrdrh\brdrs\brdrw10 \trbrdrv\brdrs\brdrw10 \clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx3300\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl \brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx6670\clvertalt\clbrdrt\brdrs\brdrw10 \clbrdrl\brdrs\brdrw10 \clbrdrb\brdrs\brdrw10 \clbrdrr\brdrs\brdrw10 \cltxlrtb \cellx10040\pard | |||||||||||||||||||||||||||||||
Ulteriori informazioni e riferimenti | I tag non sono tutti quì ovviamente, ce ne sono molti di più, solo che non ho sufficiente spazio per riportarli tutti. Il modo migliore per scoprire un tag rtf è quello di leggere la documentazione che è reperibile sul sito della Microsoft, oppure di scrivere un documento che abbia le caratteristiche che stiamo cercando in Word, salvarlo come RTF e poi andare a 'spulciarè il documento generato in cerca del tag. Il problema è che Word genera dell'RTF che non è per niente leggibile. | |||||||||||||||||||||||||||||||
Esempio di documento RTF | Fare click qui per vedere un esempio di documento RTF. Fare click qui per vedere lo stesso documento nel vostro viewer predefinito. | |||||||||||||||||||||||||||||||
Problemi ricorrenti | Vorrei fare questo e quello in RTF ma non trovo i
TAG Il sistema più semplice per risolvere il problema è: usare Word per generare l'RTF contenente il testo con le caratteristiche che si vogliono, poi aprire il file con un editor ASCII ed andare "a caccia" del TAG da utilizzare. Ho fatto l'RTF ma con Word mi appare in un modo mentre con WordPad
in un altro Ho fatto l'RTF, cerco di aprirlo con Word e si inchioda
tutto! |
L'Autore | Davide Bianchi, lavora come Lead Programmer/System Administrator per una nota organizzazione internazionale con sede principale ad Amsterdam. |
Commenti | Come avete trovato questo documento? Utile? Noioso? Interessante? Difficile? Mandatemi un commento. |
Contribuire | Volete contribuire? Leggete come! |
Copyright | Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione, cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato. |
Questo sito non e' ottimizzato per la visione con nessun browser
particolare, ne' per nessuna risoluzione particolare ne' impone l'uso di
font particolari.
Siate liberi di vederlo come vi pare e piace.
Ultimo aggiornamento: 21 Dicembre 2000