Next Previous Contents

10. Πίνακες χαρακτήρων, character sets

Ο Η/Υ για να παραστήσει τα γλωσσικά σύμβολα χρησιμοποιεί 1byte=8bit, δηλαδή έχουμε 2^8=256 διαφορετικά γράμματα. Ο κώδικας ASCII (American Standard Code for Information Interchange) ορίζει αυστηρά μόνο τα πρώτα 128 σύμβολα (7bit). Τα άλλα μισά σύμβολα χρησιμοποιούνται για απεικόνιση ειδικών συμβόλων άλλων γλωσσών αλλά και γραφικών συμβόλων. Αντίθετα, με άλλες ευρωπαϊκές γλώσσες τα ελληνικά είναι εξ' ολοκλήρου στα 8bit. Ο προφανής λόγος είναι τα πολλά διαφορετικά σύμβολα που έχει η ελληνική γλώσσα σε σχέση με τις υπόλοιπες.

Πρόσθετες πληροφορίες για τα ελληνικά στο Διαδίκτυο, μπορείτε να βρείτε στο RFC 1947, "Greek Character Encoding for Electronic Mail Messages". Δείτε σχετικά http://andrew2.andrew.cmu.edu/rfc/rfc1947.html

10.1 Τυποποιήσεις των ελληνικών

Τα ελληνικά υπάρχουν σε πολλές διαφορετικές τυποποιήσεις. Οι πιο συνηθισμένες από αυτές, είναι τα 737 και τα 928. Αμφότερα είναι για μονοτονικά ελληνικά. Τα μεν 737 χρησιμοποιούνται από το DOS, τα δε 928 από όλα τα UNIX και Windows (με μικρές παραλλαγές). Το Linux έχει σαν κύρια κωδικοσελίδα τα 928. Το ότι έχουμε για Ελληνικά δύο και πλέον πρότυπα, φυσικά, είναι μεγάλο πρόβλημα, που ξεπερνιέται με ειδικούς μετατροπείς, για αλλαγή από το ένα σετ στο άλλο.

Από την τεκμηρίωση της Oracle για το Linux και τα εγχειρίδια του server, μπορεί κανείς να βρει τα διαδεδομένα ελληνικά πρότυπα που χρησιμοποιούνται σε βάσεις δεδομένων (άρα και στα πιο σημαντικά συστήματα Η/Υ) και τους τυποποιημένους (μα πάλι;) κωδικούς τους:

Επίσης, το OS/2 χρησιμοποιεί την κωδικοσελίδα 869 και 851 για τα ελληνικά.

10.2 737

Τα 737 είναι επίσης γνωστά και ως 437G (=437Greek), γιατί προέκυψαν από τροποποίηση των αμερικάνικων 437. Τα 737 πρωτοεμφανίστηκαν στις ελληνικές EPROM των MDA και Hercules καρτών γραφικών των πρώτων PC, όπου βρίσκονταν δηλαδή στο HARDWARE. Χρησιμοποιήθηκαν κατά κόρον στο DOS, και για αυτό όλα τα αρχεία που προέρχονται από εκεί αναμένεται να είναι 737. Επειδή τα 737 θεωρούνται πλέον κατάλοιπο του DOS, είναι καλύτερα να μετατρέψετε τα αρχεία που είναι 737 σε 928, βλ. convertgreek . Στο Linux, η κωδικοσελίδα 737 υποστηρίζεται πλήρως μόνο στην κονσόλα (text-mode), αλλά υπάρχουν και μερικές γραμματοσειρές για X-Windows.

Τροποποίηση πυρήνα για υποστήριξη 737

Έχουν αναφερθεί περιπτώσεις, όπου το "δ" (ΔΕΛΤΑ μικρό) δεν πληκτρολογείται σε κάποιους πυρήνες και αυτό συμβαίνει γιατί συμπίπτει με το 128+ESC (128+27=155=asc("δ")). Πηγαίνετε στο /usr/src/linux/drivers/char/console.c, κάπου λέει:

              && (c != 127 || disp_ctrl)
              && (c != 128+27);
αλλάξτε σε 
              && (c != 127 || disp_ctrl)
              /*      && (c != 128+27)*/;
και κάνετε compile ένα νέο πυρήνα.

737 σε X-windows

Τα 737 υποστηρίζονται σε μερικές από τις fixed γραμματοσειρές που είναι στο πακέτο Γραφίς: graphis .

Names (from xlsfonts):
-misc-grfixed-medium-r-normal--0-0-75-75-c-0-grpc-737
-misc-grfixed-medium-r-normal--0-0-85-85-m-0-grpc-737
-misc-grfixed-medium-r-normal--14-110-75-75-c-75-grpc-737
-misc-grfixed-medium-r-normal--16-120-75-75-c-75-grpc-737
-misc-grfixed-medium-r-normal--23-179-85-85-m-120-grpc-737
-misc-grfixed-medium-r-semicondensed--0-0-75-75-c-0-grpc-737
-misc-grfixed-medium-r-semicondensed--10-100-75-75-c-60-grpc-737
-misc-grfixed-medium-r-semicondensed--13-120-75-75-c-60-grpc-737
-misc-grvga-medium-r-normal--0-0-75-75-c-0-grpc-737
-misc-grvga-medium-r-normal--13-120-75-75-c-60-grpc-737
  (nomizw kapoia exoyn bugs kai exw skopo na ta diorthwsw se next release).
[ah@computer.org]

10.3 928

Τα ελληνικά 928 είναι η πιο σύγχρονη και διαδεδομένη τυποποίηση και καθιερώθηκε αρχικά από τον ΕΛΟΤ. Αργότερα έγιναν αποδεκτά και από τον ISO ως ISO-Latin-8859-7, ή απλά Latin7, ακόμα και η UNICODE υποστήριξη ελληνικών βασίζεται σε αυτά. Τα 928 χρησιμοποιούνται σε όλες τις εφαρμογές των UNIX, στο Internet και αποτελούν το σημερινό πρότυπο και για το Linux. Το πρότυπο 928 υποστηρίζεται, και στην κονσόλα (text-mode), και σε γραφικό περιβάλλον (X-Windows).

Windows-1253

Η κύρια απόκλιση των Windows ελληνικών (Windows-1253) από την τυποποίηση ΕΛΟΤ 928, είναι ο χαρακτήρας "¶", (Α τονούμενο) του 928 ο οποίος στα Windows αντιστοιχεί στο Paragraph mark. Από τα Windows-1253 λείπουν επίσης η άνω τελεία, και τα ελληνικά ομοιωματικά << και >>. Επειδή μοιραία θα πρέπει να αποδεχτούμε τον περιορισμό αυτό που μας θέτουν τα MS-Windows, και επειδή αρκετοί χρήστες χρησιμοποιούν wintel πλατφόρμα εργασίας, καλό θα είναι να αποφεύγεται το < Α τονούμενο > κατά την αποστολή e-mails, postings, κλπ. Εναλλακτικά μπορείτε να χρησιμοποιείτε το 'Α ( ' = SHIFT+" ) Παρόμοια προβλήματα υπάρχουν και με τα 'Ε και 'Ο. Για ευκολία σας, αυτά είναι όλα τα τονούμενα κατά 928: ¶ΈΉΊΌΎΏ.

10.4 Unicode

Τα UNICODE (ISO 10646) είναι 16bit (δηλ. 65536 συνδιασμοί) και περιλαμβάνουν πολλές γλώσσες, μαζί με τα νέα ελληνικά, που έχουν offset #370 και τα αρχαία ελληνικά με offset #1F00. Υποστηρίζονται από τα νέα μέχρι τα αρχαία (πολυτονικά) ελληνικά και Γραμμική Β! Το Linux υποστηρίζει εσωτερικά τα UNICODE, αλλά ακόμα η χρήση τους δεν είναι διαδεδομένη, γιατί εξαρτάται και από την υιοθέτησή τους από τις εφαρμογές.

Υπάρχει μία fixed γραμματοσειρά για Xwindows, δείτε σχετικά: http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html

Υπάρχει και ένας text editor για Unicode, με το όνομα Yudit, ftp://metalab.unc.edu/pub/Linux/apps/editors/X/yudit-1.1.tar.gz

Το πρότυπο UTF-8 είναι πλέον standard στο Internet, δείτε το σχετικό RFC: http://andrew2.andrew.cmu.edu/rfc/rfc2279.html

Περισσότερα για τα νέα ελληνικά στα Unicode εδώ: http://charts.unicode.org/Unicode.charts/normal/U0370.html

10.5 Μετατροπείς ελληνικών

gr2gr

Ο ¶γγελος Χαρίτσης < ah@computer.org> έχει γράψει τον μετατροπέα αυτόν: ftp://ftp.hri.org/pub/greek/programs/gr2gr.prl Τρέχει με perl (5 ή 4). Συνεπώς δουλεύει σε όποιο λειτουργικό σύστημα έχει εγκατασταθεί perl (unix, dos, win32, os2, mac, vms ...).

Υποστηρίζει πολλά διαφορετικά ελληνικά, όπως:

grfilter

Στο Ινστιτούτο Τεχνολογίας Υπολογιστών υπάρχει το grfilter: ftp://ftp.cti.gr/pub/src/grfilter.tar

greek2lat

Στο directory ftp://corfu.forthnet.gr/pub/greek2lat υπάρχει ένας μετατροπέας από 928 σε greeklish, κατάλληλος και για WEB sites.

trans120.tar.gz

Ο Κώστας Κωστής, < kosta@kostis.net > έχει γράψει επίσης αυτόν τον μετατροπέα, που υποστηρίζει και πολλά ελληνικά, αλλά και άλλες γλώσσες: http://www.kostis.net/freeware/trans120.tar.gz

gkconv

Υπάρχει και ένα προγραμμα του Γιώργου Σπηλιώτη, μετατρέπει 437, Win95, X win. Η διεύθυνσή του αγνοείται.

recode

Αυτό είναι ένα προγραμματάκι γενικής χρήσης από το GNU project, το οποίο υποστηρίζει μετατροπείς για πολλές διαφορετικές γλώσσες (και ελληνικά). Ισως θα έπρεπε όλα τα υπόλοιπα προγράμματα κάποια στιγμή να ενσωματωθούν σε αυτό. Δείτε στην διεύθυνση http://www.delorie.com/gnu/docs/recode/recode_toc.html


Next Previous Contents