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 .

[ah@computer.org]'s report for 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).

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, αλλά ακόμα η χρήση τους δεν είναι διαδεδομένη, γιατί εξαρτάται και από την υιοθέτησή τους από τις εφαρμογές. Για περισσότερα δείτε: http://linuxdoc.org/HOWTO/Unicode-HOWTO.html

====================================================================
Vasilis Vasaitis <vas@hal.csd.auth.gr>:
 Αν και δεν έχω ασχοληθεί εκτενώς με το αντικείμενο, μπορώ να συνεισφέρω
κάποια γνώση που έχω επί του θέματος. Λοιπόν, έχουμε και λέμε:

  Κάποια στιγμή, σε ανύποπτο χρόνο, είχα κατεβάσει ένα Unicode fixed font
για τα X windows. Επειδή δύσκολα σβήνω αυτά που κατεβάζω, το βρήκα να
κάθεται ακόμα στο δίσκο μου. Η γραμματοσειρά αυτή δεν περιέχει το πλήρες
Unicode, αφού αυτό αποτελείται από περισσότερους από 38000 χαρακτήρες, από
τους οποίους οι περισσότεροι είναι Κινέζικα/Ιαπωνικά/Κορεάτικα, που έτσι κι
αλλιώς στο 6x13 του fixed δεν μπαίνουν. Όμως με περίπου 2800 χαρακτήρες (η
έκδοση που έχω εγώ τουλάχιστον) καλύπτει πλήρως την λατινική, ελληνική,
κυριλλική, αρμένικη, γεωργιανή και εβραϊκή γραφή, συν κάποια τεχνικά και
μαθηματικά σύμβολα. Η γραμματοσειρά αυτή μπορεί να χρησιμοποιηθεί ως πρότυπο
από οποιονδήποτε ενδιαφέρεται να σχεδιάσει γραμματοσειρές με πολλούς
χαρακτήρες· σχετικά με πιο πρακτικές εφαρμογές, δείτε παρακάτω. Η σελίδα του
τύπου που την έφτιαξε, αν είναι ακόμα η ίδια, είναι:

  http://www.cl.cam.ac.uk/~mgk25/

        Υποστήριξη στην κονσόλα:

  Η κονσόλα υποστηρίζει Unicode εδώ και κάτι αιώνες, μέσω βέβαια του UTF8
(για όσους δεν ξέρουν, το UTF8 είναι μια αναπαράσταση του UniCode με
μεταβλητό μέγεθος, το οποίο για για τους 128 πρώτους χαρακτήρες έχει την
ίδια μορφή με το ASCII). Το θέμα είναι ότι έτσι κι αλλιώς η υποστήριξη της
VGA για χαρακτήρες που εμφανίζονται συγχρόνως είναι πολύ περιορισμένη (256,
512 χωρίς το αναβόσβημα).

        Υποστήριξη στα X:

  Η γραμματοσειρά που αναφέρω παραπάνω δουλεύει μια χαρά, και η τελευταία
φορά που τη δοκίμασα ήταν πριν πολύ καιρό. Επίσης, τυχαίνει να έχω έναν X
server με ενσωματωμένη υποστήριξη TrueType fonts (δεν φορτώνω font server),
και βλέπω ότι και τα TrueType δουλεύουν μια χαρά. Για όσους δεν ξέρουν, τα
XFree86 4.0 θα έρχονται με ενσωματωμένη υποστήριξη TrueType. Η Microsoft
(δεν έχω από άλλη εταιρεία) χρησιμοποιεί στις γραμματοσειρές της το Windows
Glyph List 4 (WGL4), το οποίο είναι υποσύνολο του ISO 10646-1 (λίγο πολύ
αυτό που έχει η γραμματοσειρά που περιέγραψα αρχικά).

        Εφαρμογές:

  Εδώ καταρρέουν όλα. Αυτή τη στιγμή υπάρχουν κανα δυο προγράμματα που
κάνουν μετατροπή από/προς UTF8, το yudit και το Netscape που μαζεύουν από
εδώ κι από εκεί για να βρουν αρκετά σύμβολα του Unicode, και από εκεί και
πέρα το χάος. Πάντως καλόν θα είναι να αρχίσει προσπάθεια για τα fonts, και
φαντάζομαι ότι οι εφαρμογές θα κοιτάξουν να ακολουθήσουν.

---------------

Report apo Panagioti Vrioni:

Gnwrizw oti o Giannis Gyftomitros <yang@hellug.gr> exei hdh arxisei
na asxoleitai me thn dunatothta dhmiourgias Unicode grammatoseirwn
pou na periexoun kai ta ellhhnika (Project Grafis, bl. GRArial k.l.),
isws na exei proxwrhsei kai parapera...

Apo thn ekdosh 6.0, o XFS pou periexetai sto Red Hat exei patch wste
na mporei na emfanisei Trye Type Fonts. Bl. sxetiko "White Paper" stho
"support" ths http://www.redhat.com/ . An balete Unicode TTFonts
(px. ths M$) auta paizoun, me thn ennoia oti fainontai dia8esima
ta fonts me xilia-duo diaforetika encodings. Den kserw omws an paizoun
kai san unicode grammatoseira, px. gia na dei kapoios ena keimeno
me ellhnika, agglika kai kinezika tautoxrona sto Netscape.

=====================================================================

Unicode Links

Υπάρχει μία 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

10.6 Τύποι αρχείων και μετατροπή τους

.txt, .doc

Ανάλογα με την περίπτωση, βλέπε convertgreek

.dbf

Συνήθως είναι 737, θέλουν προσοχή στην μετατροπή, αφήστε το για κάνα guru.

.diz,

Συνήθως είναι 737, βλέπε convertgreek

.html,

Πρέπει να είναι 928, και φαίνονται κανονικά.

.mov, .avi

Αν έχει υπότιτλους στα ελληνικά, θα είναι ΟΚ :-)

.exe, .com

πετάξτε τα

10.7 Τι υπάρχει ακόμα στο Internet σχετικά με ελληνικά;

Χρήσιμοι σύνδεσμοι:

Ψάχτε να βρείτε ότι χρειάζεστε με αυτό το search engine: http://www.google.org


Next Previous Contents