xterm, LC_CTYPE, ellhnika, kai gallika

Αλέξανδρος Διαμαντίδης adia at hellug.gr
Wed Jan 12 00:51:06 EET 2005


* Antonios Christofides [2005-01-09 16:07]:
> Τι σημαίνει το el_GR ή fr_CA ή ό,τι έχει το LC_CTYPE πριν την τελεία,
> και γιατί θα έπρεπε να επηρεάζει τη συμπεριφορά του xterm; Πώς μπορώ
> να εξηγήσω στο xterm ότι έχω UTF-8, πάει και τέλειωσε, και να μην
> ασχολείται με τίποτε άλλο;

Λοιπόν, αυτό που αλλάζει ανάλογα με το locale, εκτός των άλλων, είναι ο
πίνακας με τα compose sequences που χρησιμοποιεί το X: ρίξε μια ματιά
στο αρχείο /usr/X11R6/lib/X11/locale/compose.dir, που λέει ποιο αρχείο
Compose επιλέγει ανάλογα με το LC_CTYPE που έχεις, καθώς και στο
αντίστοιχο /usr/X11R6/lib/X11/locale/*/Compose. Οι ακολουθίες αυτές
είναι αυτές που λένε στην Xlib ότι όταν πατήσεις, π.χ., «τόνος» (νεκρό
πλήκτρο) και «άλφα» παίρνεις «άλφα με τόνο».

Τώρα, το καλό είναι ότι μπορείς να φτιάξεις ένα προσωπικό αρχείο Compose
και να βάλεις ό,τι ακολουθίες εξυπηρετούν - αν έχεις ένα αρχείο
~/.XCompose, δουλεύει αυτό αντί για εκείνο που λέει στο compose.dir.

Στο τέλος του μηνύματος δες για παράδειγμα αυτό που έχω εγώ. Η πρώτη
γραμμή του λέει να κάνει include το αρχείο που θα χρησιμοποιούσε αν δεν
υπήρχε το .XCompose, και στη συνέχεια έχει τις αλλαγές που θέλω.

Τα ονόματα που μπαίνουν μέσα στα <> είναι XKeySyms (symbols). Με το xev
μπορείς να δεις τι σύμβολο στέλνει το κάθε πλήκτρο.

Το πρόβλημα που αντιμετωπίζεις μάλλον οφείλεται στο ότι το γαλλικό
πληκτρολόγιο βάζει στο "[" το dead_circumflex, ενώ στο
/usr/X11R6/lib/X11/locale/el_GR.UTF-8/Compose δεν υπάρχουν ακολουθίες
που να το χρησιμοποιούν.

Δυστυχώς δεν έχω κάποια καλή λύση για το πρόβλημα, αν δεν έχεις όρεξη να
πειράζεις το Compose. Αν έχεις όρεξη, το πιο εύκολο είναι να πάρεις το
/usr/X11R6/lib/X11/locale/iso8859-15/Compose, να κρατήσεις από εκεί ό,τι
χρειάζεσαι, και να το βάλεις στο ~/.XCompose με τις κατάλληλες αλλαγές
(πρέπει να σβήσεις το προτελευταίο πεδίο που είναι σε εισαγωγικά μετά το
«:»).

Ναι, στα Windows τα θέματα αυτά είναι πιο εύκολα.

-------------------------------------------------------------
include "%L"

<dead_grave> <dead_grave> : apostrophe
<dead_ogonek> <dead_ogonek> : quotedbl
<dead_grave> <BackSpace> : U0300
<dead_acute> <BackSpace> : U0301
<Multi_key> <apostrophe> <BackSpace> : U0300
<Multi_key> <grave> <BackSpace> : U0301
<Multi_key> <asciicircum> <BackSpace> : U0302
<Multi_key> <asciitilde> <BackSpace> : U0303
<Multi_key> <quotedbl> <BackSpace> : U0308
<Multi_key> <o> <BackSpace> : U030A
<Multi_key> <Greek_sigma> <Greek_tau> : U03DB
<Multi_key> <Greek_SIGMA> <Greek_TAU> : U03DA
<Multi_key> <o> <o> : degree
<Multi_key> <Greek_omicron> <Greek_omicron> : degree
<Multi_key> <equal> <slash> : notequal
<Multi_key> <slash> <equal> : notequal
-------------------------------------------------------------


-- 
Αλέξανδρος Διαμαντίδης * adia at hellug.gr




More information about the Linux-greek-users mailing list