[I18NGR] Προβλήματα με εμφάνιση ψιλής και δασείας
Simos Xenitellis
simos.lists at googlemail.com
Thu Oct 12 08:16:59 EEST 2006
On Wed, 2006-10-11 at 17:03 +0300, Αλέξανδρος Διαμαντίδης wrote:
> * Christopher Tripoulas [2006-10-08 00:29]:
> > Επειδή διάβασε ότι ίσως πρέπει να γίνει αλλαγή της βασικής γλώσσας στα
> > Ελληνικά (πράγμα που δεν θα ήθελα ακόμα, καθώς δεν καταλαβαίνω τους
> > όρους καλά καλά στα αγγλικά), δοκίμασα, αλλά όποτε κάνω την μετατροπή
> > της γλώσσας, εξαφανίζεται το τόξου του ποντικιού από την οθόνη,
> > καθιστώντας την εργασία δύσκολη έως και αδύνατη.
>
> Καλησπέρα,
>
> Το πρόβλημα δεν πρέπει να είναι στην εμφάνιση των χαρακτήρων αυτών, αλλά
> μάλλον στην εισαγωγή τους. Είναι κάτι που το είχαμε ξανασυζητήσει εδώ
> μια-δυο φορές τα τελευταία χρόνια (και φταίω κι εγώ εν μέρει για το
> πρόβλημα). Μια σχετικά εύκολη λύση που πολύ πιθανόν να δουλέψει, είναι
> να βάλεις στο home directory σου ένα αρχείο με όνομα .XCompose, το οποίο
> επισυνάπτω στο μήνυμα αυτό. Ακολουθεί μια σχετικά τεχνική περιγραφή του
> τι γίνεται, που αν δε σε ενδιαφέρει δεν είναι απαραίτητο να διαβάσεις.
>
> Το πρόβλημα (μάλλον) είναι το εξής: Όταν γράφει κανείς πολυτονικούς
> χαρακτήρες, τα πλήκτρα με τα διακριτικά σημεία (τόνους, πνεύματα,
> υπογεγραμμένη) λειτουργούν ως νεκρά πλήκτρα: όταν τα πατάς, δεν
> εμφανίζουν κάτι στην οθόνη. Όμως, αν και δεν εμφανίζεται τίποτα,
> στην εφαρμογή στέλνεται ένας κωδικό για το σύμβολο που αντιστοιχεί στο
> πλήκτρο που πατήθηκε, το λεγόμενο keysym.
>
> Τώρα, στο X11 υπήρχαν από παλιά keysym για οξεία, βαρεία, περισπωμένη
> και υπογεγραμμένη (dead_acute, dead_grave, dead_tilde, dead_iota
> αντίστοιχα), δεν υπήρχαν όμως για ψιλή και δασεία. Όταν λοιπόν πριν από
> μερικά χρόνια σκέφτηκα να φτιάξω ένα πρόχειρο πολυτονικό πληκτρολόγιο,
> «δανείστηκα» για την ψιλή και τη δασεία τα σύμβολα dead_horn και
> dead_ogonek αντίστοιχα, τα οποία τα πήρα αυθαίρετα, με μόνη σκέψη ότι
> αντιστοιχουν σε νεκρά πλήκτρα, και δε χρησιμοποιούνται κατά τα άλλα
> στη γραφή Ελληνικών (το πρώτο χρησιμοποιείται στη Βιετναμέζικη και το
> δεύτερο στην Πολωνική γραφή). Στη συνέχεια, στο αρχείο Compose που
> βρίσκονται οι κανόνες που συνθέτουν τον τελικό χαρακτήρα από τις
> ακολουθίες πλήκτρων που πατήθηκαν, έβαλα και διάφορες ακολουθίες που
> χρησιμοποιούν τα dead_horn και dead_ogonek - για παράδειγμα...
> (από το αρχείο /usr/share/X11/locale/el_GR.UTF-8/Compose)
>
> <dead_horn> <Greek_alpha> : "ἀ" U1f00
> <dead_ogonek> <Greek_alpha> : "ἁ" U1f01
> <dead_horn> <dead_grave> <Greek_alpha> : "ἂ" U1f02
> <dead_grave> <dead_horn> <Greek_alpha> : "ἂ" U1f02
> [κοκ. ...]
>
> Που είναι τώρα το πρόβλημα: Το X11 επιλέγει ποιο αρχείο Compose θα
> χρησιμοποιήσει βάσει του locale, και συγκεκριμένα βάσει της τιμής της
> μεταβλητής περιβάλλοντος LC_CTYPE. Εν συντομία, το locale στο Linux
> είναι το σύνολο των τοπικών ρυθμίσεων (γλώσσα, κωδικοποίηση χαρακτήρων,
> μηνύματα, μέγεθος χαρτιού, κλπ.). Το Ελληνικό locale είναι συνήθως
> el_GR.ISO-8859-7 ή el_GR.UTF-8. Μπορείς να ρυθμίσεις όλες τις κατηγορίες
> του locale μαζί, δίνοντας τιμή στη μεταβλητή LANG, ή να ρυθμίσεις
> επιμέρους κατηγορίες με διάφορες άλλες μεταβλητές (LC_MESSAGES, LC_TIME,
> LC_NUMBER, κλπ.). Η μεταβλητή LC_CTYPE καθορίζει την κωδικοποίηση των
> χαρακτήρων. Αν φροντίσεις λοιπόν τα προγράμματα να τρέχουν με
> LC_CTYPE=el_GR.UTF-8, το X11 θα επιλέξει το κατάλληλο αρχείο Compose
> (με την προϋπόθεση να υπάρχει δηλωμένο στο κατάλληλο σημείο), και τα
> πνεύματα θα δουλεύουν.
>
> Αν κάποιος χρήστης επιθυμεί να έχει και προσωπικές ρυθμίσεις στο θέμα
> του Compose, μπορεί να φτιάξει ένα αρχείο .XCompose στο home του, και να
> βάλει εκεί τις ακολουθίες που επιθυμεί, οι οποίες είναι ανεξάρτητες από
> το locale.
>
> Αυτά προς το παρόν - ελπίζω να βοήθησα λίγο.
>
> Σχετικά με το βελάκι του ποντικιού που εξαφανίζεται, δεν μπορώ να σκεφτώ
> τι μπορεί να φταίει - δεν το έχω ξανακούσει. Ίσως είναι κάποιο bug στην
> έκδοση κάποιου προγράμματος που περιέχεται στη συγκεκριμένη έκδοση του
> SuSE.
Ευχαριστώ για την ανάλυση και την επισήμανση ότι το πρόβλημα είναι στην
εισαγωγή και όχι στην εμφάνιση.
Σχετική αναφορά σφάλματος για το Ubuntu είναι στο
https://launchpad.net/distros/ubuntu/+source/gtk+2.0/+bug/21637
Η Annette περιγράφει μια απλή λύση (για τώρα) και το ίδιο μπορούμε να
βάλουμε και στο γνήσιο αρχείο gr.
Συγκεκριμένα αναφέρει
I changed the lines [in /etc/X11/xkb/symbols/gr] from
key <AC10> { [ dead_acute, dead_horn ] };
key <AC11> { [ dead_grave, dead_ogonek ] };
to
key <AC10> { [ dead_acute, U0313 ] };
key <AC11> { [ dead_grave, U0314 ] };
Αν κάποιος μπορεί να φτιάξει ένα απλό "patch" βάσει του αρχείου
upstream, μπορούμε πολύ εύκολα να το περάσουμε στο Xorg.
Σίμος
More information about the I18ngr
mailing list