RTF – Das universelle Dokumentformat

| TechStuff |

RTF ist ein Dateiformat für Textdokumente, dass Plattform unabhängig ist. Das bedeutet, durch dieses Format besteht die Möglichkeit, auf Windows-, Linux-, Apple- und auch auf Android-Betriebssysteme, einheitlich formatierte Dokumente zu erstellen, auf unterschiedlichen Plattformen zu teilen und dabei nicht die mühsam erarbeitete Formatierung zu verlieren. Für das Projekt in meiner derzeitigen Firma, war es nun notwendig einen Editor zu erstellen, der HTML in RTF umwandeln kann(Link zum GitHub-Fork), dadurch habe ich nun einiges über dieses Format in Erfahrung gebracht und berichte nun darüber.

Einleitend beginnt jedes RTF-Dokument mit:

 

{\rtf1 

 

Dadurch wird dem Editor klar, dass es sich um ein RTF-Version 1.* Dokument handelt. Danach wird der Zeichensatz angegeben, um bekannt zugeben welche Kodierung verwendet wurde:

 

 \ansi

 

Anschließend werden die default Formatierungen angegeben:

 

\deffN{}
\deff0{}

 

Da alle Stylings im vorhinein schon definiert werden, steht N hier für eine fortlaufende Zahl. Dadurch kann der Header des RTF-Dokuments schon mal ziemlich lang sein, allein wegen der Formatierung. Im Text muss nur noch definiert werden, welches Formatierung angewendet werden soll.

Als nächstes sieht RTF es vor, alle verwendeten Schriftarten im Header zu definieren und das in einer eigenen „Tabelle“..:

 

{ \fonttbl { \f0 Arial; } { \f1 Times New Roman; } } 

 

Das selbe gilt dann auch für die Schriftfarbe:

 

{ \colortable; \red[0-255] \green[0-255] \blue[0-255]; \red[0-255] \green[0-255] \blue[0-255]; }

 

Zum Schluss werden nur noch die Informationen zum Dokument angegeben. Sollten diese leer bleiben, werden sie vom Editor automatisch befüllt, dabei kann es jedoch vorkommen, dass diese Felder falsch befüllt werden, deshalb sollten diese Informationen immer befüllt werden:

 

{ \info { \author Maxl } { \title RTF Dokumente }{ \company Maxl GmbH } { \creatim \yr2018 \mo3 \dy7 \hr9 \min0 }{ \doccom Hier stehen Kommentare } } 

 

Da der Header nun endlich fertig ist, kann der Content des RTF-Dokuments befüllt werden. Ohne Formatierung kann einfach Klartext geschrieben werden und der Editor nimmt automatisch die erste Defaultformatierung die im Header gesetzt wurde. Wenn aber eine andere Formatierungen gewünscht wird für einen gewissen Bereich, dann gibt es 2 Arten, wie diese Angewandt wird:
1. Als Gruppe

 

\b\f1{Das ist ein fetter Text mit der zweiten Schriftart}

 

Gruppen beginnen mit { und enden mit }. Befehle werden vorangestellt und gelten nur für diese Gruppe. Alle Befehle die für die Gruppe definiert wurden werden nach dem } aufgehoben.
2. Inline

 

\b Ich bin Fett \b0 ich bin nicht fett

 

Inline Formatierung gilt solange bis sie wieder aufgehoben wird. Befehle werden generell als beendet markiert mit der endenden 0.

Wenn nun das Dokument fertig ist, wird es mit } geschlossen. Dadurch wird das erste { geschlossen und dem Editor bekannt gemacht, dass hier das Ende ist. Jeglicher Inhalt der danach eingefügt wird, ist abgeschnitten und nicht sichtbar für den Anwender.

Da es nun noch so vieles über RTF zu erzählen gibt und es meinen Eintrag sprengt, beende ich nun diesen Artikel und werde gegeben falls einen weiteren Artikel darüber schreiben.

Gib mir Feedback!

Hab ich Blödsinn geschrieben oder etwas vergessen? Dann zögere nicht weiter und lass es mich sofort wissen indem du hier einen Kommentar hinterlässt!

×
Captcha Code

Kann das Bild nicht gelesen werden? Klicken Sie hier, um zu aktualisieren