Απλοί και Σύνθετοι χαρακτήρες
Οι σύγχρονοι υπολογιστές χρησιμοποιούν την κωδικοποίηση Unicode για την αναπαράσταση των γραμμάτων (και των σημείων στίξης) ενός αλφαβήτου. Συγκεκριμένα, στα αρχαία ελληνικά, κάθε γράμμα και οι συνδυασμοί του (πνεύματα, τονισμός, κλπ.) αναπαρίσταται από έναν μοναδικό "χαρακτήρα" (επίσης γνωστό και ως code point).
Αυτοί οι "χαρακτήρες" ονομάζονται "απλοί" ("precomposed"), από την άποψη ότι ο κάθε συνδυασμός των γραμμάτων (ουσιαστικά των φωνηέντων) αναπαρίσταται από έναν μοναδικό κωδικό. Για παράδειγμα, το πεζό άλφα (α) αντιστοιχεί στον κωδικό U+03B1, ενώ το πεζό άλφα με οξεία (ά), στον κωδικό U+03AC.
Το Uniocde Standard επιτρέπει την αποσύνθεση αυτών των χαρακτήρων, και την εισαγωγή τους με την χρήση των διακριτών "κομματιών" τους. Αυτοί οι χαρακτήρες ονομάζονται "σύνθετοι" ("composite"), γιατί ένας χαρακτήρας μπορεί να αναπαρασταθεί από μια σειρά διαφορετικών χαρακτήρων.
Η ακόλουθη εικόνα παρέχει ένα παράδειγμα:
Όπως βλέπετε, το γράμμα άλφα με τόνο (ή με οξεία) μπορεί να εισαχθεί είτε σαν ένας percomposed" χαρακτήρας (U+03AC) είτε σαν δύο συνεχόμενοι χαρακτήρες, από το άλφα (U+03B1) ακολουθούμενο από την σύνθετη οξεία (U+0301). Αυτό είναι το "σύνθετο" ισοδύναμο του γράμματος.
Ως αποτέλεσμα, η δοτική ενικού του θηλυκού άρθρου, μπορεί να εισαχθεί με τέσσερις διαφορετικούς τρόπους:
Γράμματα | Κωδικός Unicode | Τύπος |
---|---|---|
τη ͂ ͅ | U+03C4 U+03B7 U+0342 U+0345 | Σύνθετος (Τυπικός) |
τῆ ͅ | U+03C4 U+1FC6 U+0345 | Μερικώς απλοποιημένοι |
τῃ ͂ | U+03C4 U+1FC3 U+0342 | Μερικώς απλοποιημένοι |
τῇ | U+03C4 U+1FC7 | Πλήρως απλοποιημένοι |
Σε κάθε περίπτωση, η εμφάνιση της λέξης θα είναι η ίδια, αλλά τα υπάρχοντα προγράμματα (συμπεριλαμβανομένων των LibreOffice και OpenOffice) έχουν την δυνατότητα επεξεργασίας μόνο της τελευταίας μορφής, λόγω μιας σειράς προβλημάτων που υφίστανται:
- Εφόσον όλες οι υπάρχουσες μέθοδοι εισαγωγής (διατάξεις πληκτρολογίου) παράγουν "απλούς" χαρακτήρες, τόσο η εισαγωγή όσο και η αναζήτηση "σύνθετων" χαρακτήρων είναι πολύ δύσκολη. Για την σωστή επεξεργασία των "σύνθετων" χαρακτήρων, θα πρέπει να δημιουργηθούν καινούργιες διατάξεις πληκτρολογίου και αλγόριθμοι αναζήτησης.
- Όλα τα υπάρχοντα λεξικά χρησιμοποιούν "απλούς" χαρακτήρες. Αυτό σημαίνει ότι ένα κείμενο που είναι γραμμένο με "σύνθετους" χαρακτήρες θα έδινε πολλές εσφαλμένες προειδοποιήσεις κατά τον ορθογραφικό έλεγχο, κάνοντάς τον ουσιαστικά αδύνατο. Για να είναι δυνατή η σωστή διαχείριση των "σύνθετων" χαρακτήρων, θα πρέπει να δημιουργηθούν καινούργια λεξικά.
- Όλα τα υπάρχοντα μοτίβα συλλαβισμού βασίζονται και αυτά στη χρήση "απλών" χαρακτήρων. Αυτό σημαίνει ότι ένα κείμενο που είναι γραμμένο με "σύνθετους" χαρακτήρες θα συλλαβίζοντας εσφαλμένα, πράγμα απαράδεκτο. Για να είναι δυνατός ο σωστός συλλαβισμός των "σύνθετων" χαρακτήρων, θα πρέπει να γραφτούν καινούργια μοτίβα συλλαβισμού.
Δεδομένης της ύπαρξης αυτών των προβλημάτων, η χρήση "σύνθετων" χαρακτήρων δεν συνίσταται (αλλά και δεν απαγορεύεται).
Υποστήριξη Σύνθετων χαρακτήρων στο AncientGreek ^
Το AncientGreek παρέχει τρεις μακροεντολές για την μετατροπή "απλών" σε "σύνθετους" χαρακτήρες (και αντίστροφα). Αυτές οι μακροεντολές (που περιέχονται στο άρθρωμα "Composite") είναι:
• Μακροεντολή ConvertFromComposite
Αυτή η μακροεντολή μετατρέπει όλους τους "σύνθετους" χαρακτήρες σε "απλούς". Η εκτέλεσή της σε ένα κανονικό έγγραφο (που χρησιμοποιεί "απλούς" χαρακτήρες) δεν θα επιφέρει καμία αλλαγή.
• Μακροεντολή ConvertToComposite
Αυτή η μακροεντολή μετατρέπει όλους τους "απλούς" χαρακτήρες σε "σύνθετους". Η εκτέλεσή της σε ένα "σύνθετο" έγγραφο (που χρησιμοποιεί "σύνθετους" χαρακτήρες) δεν θα επιφέρει καμία αλλαγή.
• Μακροεντολή RunFixComposite
Η μακροεντολή αυτή θα διορθώσει όποιους "σύνθετους" χαρακτήρες έχουν εισαχθεί εσφαλμένα σε ένα έγγραφο.
Όταν εισάγεται ένας "σύνθετος" χαρακτήρας, η σειρά πληκτρολόγησης είναι σημαντική. Κανονικά, κανείς θα πληκτρολογούσε πρώτα το φωνήεν, ακολουθούμενο από το πνεύμα και τελικά από τον τόνο. Αλλά αυτό δεν γίνεται πάντα έτσι. Για παράδειγμα, το γιώτα με ψιλή και οξεία μπορεί να εισαχθεί όπως φαίνεται στην παρακάτω εικόνα.
Ο σωστός τρόπος εισαγωγής του γράμματος παρουσιάζεται στην πρώτη γραμμή της εικόνας, ενώ στην δεύτερη βλέπουμε τον εσφαλμένο. Παρότι οπτικά το αποτέλεσμα είναι σχεδόν το ίδιο, το σφάλμα υπάρχει.
Η μακροεντολή αυτή θα μετατρέψει το αποτέλεσμα της δεύτερης γραμμής σε αυτό της πρώτης.
Πρέπει να σημειωθεί ότι αυτή η μακροεντολή χρησιμοποιείται από την ConvertFromComposite, ακριβώς πριν την εκτέλεση της μετατροπής.