Τι είναι ένα αρχείο RTF;
Το Rich Text Format (RTF) που εισήχθη και τεκμηριώθηκε από τη Microsoft, αντιπροσωπεύει μια μέθοδο κωδικοποίησης μορφοποιημένου κειμένου και γραφικών για χρήση σε εφαρμογές. Η μορφή διευκολύνει την ανταλλαγή εγγράφων μεταξύ πλατφορμών με άλλα Προϊόντα της Microsoft, εξυπηρετώντας έτσι το σκοπό της διαλειτουργικότητας. Αυτή η δυνατότητα το καθιστά πρότυπο μεταφοράς δεδομένων μεταξύ λογισμικού επεξεργασίας κειμένου και, ως εκ τούτου, τα περιεχόμενα μπορούν να μεταφερθούν από το ένα λειτουργικό σύστημα στο άλλο χωρίς να χάνεται η μορφοποίηση του εγγράφου. Οι προδιαγραφές μορφής αρχείου είναι διαθέσιμες από τη Microsoft για δημόσια λήψη και μπορούν να αναφέρονται από την πλευρά του προγραμματιστή.
Σύντομο ιστορικό της μορφής αρχείου RTF
Η μορφή αρχείου RTF έχει υποστεί αρκετές αναθεωρήσεις από τη δημοσίευσή της. Η επίσημη έκδοσή του για ανάγνωση/εγγραφή δημοσιεύτηκε ως μέρος του Microsoft Word 3.0 για Macintosh με προδιαγραφές έκδοσης 1.0. Η τελική έκδοση των προδιαγραφών, 1.9.1 δημοσιεύτηκε από τη Microsoft τον Μάρτιο του 2008. Μετά από αυτό, δεν γίνονται άλλες βελτιώσεις στις προδιαγραφές. Προς το παρόν, σχεδόν όλα τα λειτουργικά συστήματα έχουν περισσότερες εφαρμογές πλούσιες σε χαρακτηριστικά που έχουν ελαχιστοποιήσει/εξαλείψει τη χρήση της μορφής αρχείου RTF.
Προδιαγραφές μορφής αρχείου RTF
Το RTF χρησιμεύει ως πρότυπο μεταφοράς δεδομένων μεταξύ λογισμικού επεξεργασίας κειμένου και μεταφοράς περιεχομένου από το ένα λειτουργικό σύστημα στο άλλο. Αυτό επιτυγχάνεται με τη χρήση λέξεων ελέγχου που εισήχθησαν από το Microsoft Office Word μέχρι το 2007. Ένα τυπικό αρχείο RTF αποτελείται από ASCII για να αντιπροσωπεύει εμπλουτισμένο κείμενο και με χαρακτήρες που δεν είναι ASCII που μετατρέπονται σε κατάλληλες τιμές κώδικα. Οι νεότερες εκδόσεις του Word μπορούν να διαβάζουν αρχεία RTF που έχουν δημιουργηθεί με προηγούμενες εκδόσεις, ενώ οι παλαιότερες εκδόσεις αγνοούν λέξεις ελέγχου και ομάδες που δεν καταλαβαίνουν.
Κατανόηση των θεμελίων του RTF
Τα αρχεία RTF χρησιμοποιούν απλό κείμενο ASCII 7-bit, που αποτελείται από:
- λέξεις ελέγχου
- σύμβολα ελέγχου και
- ομάδες.
Αυτά λειτουργούν ως δομικά στοιχεία για την αναπαράσταση δεδομένων RTF ως κατανοητή κωδικοποίηση κειμένου και χαρακτήρων.
Έλεγχος λέξης
Αυτά αντιπροσωπεύουν ειδικά διαμορφωμένη εντολή που χρησιμοποιείται για τη σήμανση χαρακτήρων για εμφάνιση και δεν μπορεί να είναι μεγαλύτερη από 32 γράμματα. Μια λέξη ελέγχου ορίζεται από:
<ASCII Letter Sequence> //<//Delimiter//> //
Κάθε λέξη ελέγχου έχει διάκριση πεζών-κεφαλαίων και ξεκινά με ανάστροφη κάθετο. Η ακολουθία γραμμάτων ASCII μπορεί να περιέχει αλφάβητα ASCII (a έως z και A έως Z). ο σηματοδοτεί το τέλος του ονόματος της λέξης ελέγχου και μπορεί να είναι ένα από τα ακόλουθα:
- Ενας χώρος. Αυτό χρησιμεύει μόνο για την οριοθέτηση μιας λέξης ελέγχου και αγνοείται στην επακόλουθη επεξεργασία.
- Ένα αριθμητικό ψηφίο ή ένα σύμβολο μείον ASCII, το οποίο υποδεικνύει ότι μια αριθμητική παράμετρος σχετίζεται με τη λέξη ελέγχου. Στη συνέχεια, η επόμενη ψηφιακή ακολουθία οριοθετείται από οποιονδήποτε χαρακτήρα εκτός από ένα ψηφίο ASCII (συνήθως μια άλλη λέξη ελέγχου που αρχίζει με ανάστροφη κάθετο). Η παράμετρος μπορεί να είναι θετικός ή αρνητικός δεκαδικός αριθμός. Το εύρος των τιμών για τον αριθμό είναι ονομαστικά –32768 έως 32767, δηλαδή, ένας υπογεγραμμένος ακέραιος αριθμός 16 bit. Ένας μικρός αριθμός λέξεων ελέγχου λαμβάνουν τιμές στην περιοχή −2,147,483,648 έως 2,147,483,647 (ακέραιος με 32 bit). Αυτές οι λέξεις ελέγχου περιλαμβάνουν \binN, \revdttmN//, \rsidN σχετικές λέξεις ελέγχου και ορισμένες ιδιότητες εικόνας όπως \bliptagN. Εδώ το N σημαίνει την αριθμητική παράμετρο. Ένας αναλυτής RTF πρέπει να επιτρέπει έως και 10 ψηφία, προαιρετικά, πριν από το σύμβολο μείον. Εάν ο οριοθέτης είναι κενό, απορρίπτεται, δηλαδή δεν περιλαμβάνεται σε επακόλουθη επεξεργασία.
- Οποιοσδήποτε χαρακτήρας εκτός από ένα γράμμα ή ένα ψηφίο. Σε αυτήν την περίπτωση, ο χαρακτήρας οριοθέτησης τερματίζει τη λέξη ελέγχου και δεν αποτελεί μέρος της λέξης ελέγχου. Όπως μια ανάστροφη κάθετο “", που σημαίνει ότι ακολουθεί μια νέα λέξη ελέγχου ή ένα σύμβολο ελέγχου.
Σύμβολο ελέγχου
Ένα σύμβολο ελέγχου αντιπροσωπεύει ένα ειδικό περιστατικό που έχει συγκεκριμένο νόημα ανάλογα με το περιεχόμενό του. Αποτελείται από μια ανάστροφη κάθετο ακολουθούμενη από έναν ειδικό χαρακτήρα (μη αλφαβητικό χαρακτήρα) και δεν έχει κανέναν οριοθέτη.
Ομάδα
Μια ομάδα μπορεί να αποτελείται από κείμενο, λέξεις ελέγχου ή σύμβολα ελέγχου που περικλείονται σε αγκύλες ({ }). Ο ανοιγόμενος βραχίονας ({ ) υποδηλώνει την έναρξη της ομάδας και ο βραχίονας κλεισίματος ( }) δείχνει το τέλος της ομάδας. Κάθε ομάδα καθορίζει το κείμενο που επηρεάζεται από την ομάδα και τα διαφορετικά χαρακτηριστικά αυτού του κειμένου.
Δομή αρχείου RTF
Ένα αρχείο RTF έχει την ακόλουθη τυπική σύνταξη:
Το Rich Text Format (RTF) που εισήχθη και τεκμηριώθηκε από τη Microsoft, αντιπροσωπεύει μια μέθοδο κωδικοποίησης μορφοποιημένου κειμένου και γραφικών για χρήση σε εφαρμογές. Η μορφή διευκολύνει την ανταλλαγή εγγράφων μεταξύ πλατφορμών με άλλα Προϊόντα της Microsoft, εξυπηρετώντας έτσι το σκοπό της διαλειτουργικότητας. Αυτή η δυνατότητα το καθιστά πρότυπο μεταφοράς δεδομένων μεταξύ λογισμικού επεξεργασίας κειμένου και, ως εκ τούτου, τα περιεχόμενα μπορούν να μεταφερθούν από το ένα λειτουργικό σύστημα στο άλλο χωρίς να χάνεται η μορφοποίηση του εγγράφου. Οι προδιαγραφές μορφής αρχείου είναι διαθέσιμες από τη Microsoft για δημόσια λήψη και μπορούν να αναφέρονται από την πλευρά του προγραμματιστή.
Κεφαλίδα RTF
Μια κεφαλίδα RTF έχει την ακόλουθη αναπαράσταση.
Πεδίο | Περιγραφή |
---|---|
<header> | \rtf1\fbidis? <character set> <from> ? <deffont> <deflang> <fonttbl> ? <filetbl> ? <colortbl> ? <stylesheet> ? <stylerestrictions> ? <listtables> ? <revtbl> ? <rsidtable> ? <mathprops> ? <generator> ? |
Οι πίνακες κεφαλίδων πρέπει να εμφανίζονται με αυτήν τη σειρά εάν υπάρχουν. Το αρχείο RTF μπορεί να περιλαμβάνει ομάδες για γραμματοσειρές, στυλ, χρώμα οθόνης, εικόνες, υποσημειώσεις, σχόλια (σχολιασμούς), κεφαλίδες και υποσέλιδα, συνοπτικές πληροφορίες, πεδία, σελιδοδείκτες, ιδιότητες μορφοποίησης εγγράφων, ενότητας, παραγράφων και χαρακτήρων, μαθηματικά, εικόνες και αντικείμενα. Εάν η γραμματοσειρά, το αρχείο, το στυλ, το χρώμα, το σήμα αναθεώρησης και οι ομάδες πληροφοριών περίληψης και οι ιδιότητες μορφοποίησης εγγράφου περιλαμβάνονται στο αρχείο, πρέπει να εμφανίζονται στην κεφαλίδα RTF, η οποία προηγείται του σώματος RTF. Εάν το περιεχόμενο οποιασδήποτε ομάδας δεν χρησιμοποιείται, η ομάδα μπορεί να παραλειφθεί. Οποιαδήποτε ομάδα χρησιμοποιεί τις ιδιότητες που ορίζονται σε άλλη ομάδα πρέπει να εμφανίζεται μετά την ομάδα που ορίζει αυτές τις ιδιότητες. Για παράδειγμα, οι ιδιότητες χρώματος και γραμματοσειράς πρέπει να προηγούνται της ομάδας στυλ.
Έκδοση RTF
Ένα έγγραφο RTF πρέπει να ξεκινά με αυτούς τους έξι χαρακτήρες:
{\rtf1
όπου το 1 δείχνει τον αριθμό έκδοσης RTF.
Σετ χαρακτήρα
Μετά το {\rtf1, το έγγραφο θα πρέπει να δηλώσει το σύνολο χαρακτήρων που χρησιμοποιεί. Ο τρόπος για να δηλώσετε ένα σύνολο χαρακτήρων είναι με μία από αυτές τις εντολές:
\ansi
- Το έγγραφο βρίσκεται στο σύνολο χαρακτήρων ANSI, γνωστό και ως Code Page 1252, το συνηθισμένο σύνολο χαρακτήρων MSWindows.
\mac
- Το έγγραφο βρίσκεται στο σύνολο χαρακτήρων MacAscii, το συνηθισμένο σύνολο χαρακτήρων στις παλιές (προ 10) εκδόσεις του Mac OS.
\pc
- Το έγγραφο βρίσκεται στον Κωδικό DOS Σελίδα 437, το προεπιλεγμένο σύνολο χαρακτήρων για το MS-DOS. Οι δακτυλογράφοι με καλή μυϊκή μνήμη θα σημειώσουν ότι αυτό είναι το σύνολο χαρακτήρων που εξακολουθεί να χρησιμοποιείται για την ερμηνεία κωδικών “Alt numeric”—δηλαδή, όταν κρατάτε πατημένο το Alt και πληκτρολογείτε “130” στο αριθμητικό πληκτρολόγιο, δημιουργείται ένα é, επειδή ο χαρακτήρας 130 στο CP437 είναι ένα é. Αυτή είναι περίπου η μόνη χρήση που βλέπει το CP437 αυτές τις μέρες.
\pca
- Το έγγραφο βρίσκεται στον Κωδικό DOS Σελίδα 850, γνωστό και ως Πολύγλωσση Κωδική Σελίδα MS-DOS.
Εντολή γραμματοσειράς
Ο ορισμός του συνόλου χαρακτήρων ακολουθείται από την εντολή \deffN
. Αυτό ορίζει ότι ο αριθμός γραμματοσειράς N είναι η προεπιλεγμένη γραμματοσειρά για αυτό το έγγραφο. Ο αριθμός γραμματοσειράς N αναφέρεται από τον πίνακα γραμματοσειρών. Η εντολή «\deffN» είναι τεχνικά προαιρετική, αλλά θα πρέπει να υπάρχει για να είναι στην ασφαλή πλευρά ως κοινό πρόλογο, όπως η παρακάτω επιλογή γραμματοσειράς 0 ως προεπιλεγμένη γραμματοσειρά.
{\rtf1\ansi\deff0
Πίνακας γραμματοσειρών
Όλες οι γραμματοσειρές που μπορούν να χρησιμοποιηθούν σε ένα έγγραφο παρατίθενται σε έναν πίνακα γραμματοσειρών όπου κάθε γραμματοσειρά αντιπροσωπεύεται από έναν αριθμό γραμματοσειράς. Το έγγραφο πρέπει να έχει πίνακα γραμματοσειρών, αν και ορισμένα προγράμματα λειτουργούν και χωρίς αυτόν.
Η σύνταξη για έναν πίνακα γραμματοσειρών είναι {\fonttbl //…declarations//…}, στην οποία κάθε δήλωση έχει αυτή τη βασική σύνταξη:
{\fnumber\familycommand Όνομα γραμματοσειράς;}
Ένας πίνακας γραμματοσειρών με τέσσερις δηλώσεις έχει ως εξής:
{\fonttbl
{\f0\froman Times;}
{\f1\fswiss Arial;}
{\f2\fmodern Courier New;}
}
Σε ένα έγγραφο με αυτόν τον πίνακα γραμματοσειρών, το {\f2 stuff}
θα τύπωνε “πράγματα” στο Courier New. Μια γραμματοσειρά δεν μπορεί να χρησιμοποιηθεί σε ένα έγγραφο μέχρι να εμφανιστεί στον πίνακα γραμματοσειρών.
Τέλος εγγράφου
Κάθε έγγραφο RTF πρέπει να τελειώνει με ένα }, για να κλείσει η ομάδα που ανοίγει από το { που είναι ο πρώτος χαρακτήρας του εγγράφου. Τίποτα δεν μπορεί να ακολουθήσει το τελικό }, εκτός από πιθανώς μια νέα γραμμή.