Unicode: Διαφορά μεταξύ των αναθεωρήσεων

Περιεχόμενο που διαγράφηκε Περιεχόμενο που προστέθηκε
RedBot (συζήτηση | συνεισφορές)
μ r2.5.2) (Ρομπότ: Τροποποίηση: fa:یونی‌کد
μ Επιμέλεια
Γραμμή 1:
Στους υπολογιστές, το διεθνές πρότυπο '''Unicode''' στοχεύει στην κωδικοποίηση όλων των συστημάτων γραφηςγραφής που χρησιμοποιούνται στον πλανήτη ώστε να γίνει δυνατή η αποθήκευση στη μνήμη ενός υπολογιστή το κείμενο μιας οποιασδήποτε γλώσσας συμπεριλαμβανομένων και συμβόλων επιστημών, όπως μαθηματικά, φυσική κτλ.
 
Η καθιέρωση του Unicode είναι ένα φιλόδοξο σχέδιο αφού σκοπεύει να αντικαταστήσει όλες τις υπάρχουσες κωδικοποιήσεις συνόλων χαρακτήρων, οι οποίες έχουν
περιορισμούς που τις καθιστούν προβληματικές για χρήση σε πολυγλωσσικά υπολογιστικά συστήματα.
 
Παρά τα τεχνικά προβλήματα που έχουν παρουσιαστεί το Unicode έχει καθιερωθεί σανως το πιο πλήρες σύνολο χαρακτήρων και σανως η προτιμότερη κωδικοποίηση σε πολυγλωσσικό λογισμικό. Πολλά πρόσφατα πρότυπα όπως το [[XML]], καθώς και [[λογισμικό συστήματος]] όπως [[λειτουργικό σύστημα|λειτουργικά συστήματα]], έχουν υιοθετήσει το Unicode για να αναπαριστούν εσωτερικά κείμενο.
 
== Γέννηση και ανάπτυξη του προτύπου ==
Γραμμή 106:
αναπτύσσει το πρότυπο Unicode. Οποιαδήποτε οργάνωση
ή ιδιώτης μπορεί να γίνει μέλος της εφόσον πληρώσει συνδρομή.
Στα μέλη συμπεριλαμβάνονται σχεδόν όλες τις μεγάλες εταιρίεςεταιρείες
λογισμικού και υλικού που ενδιαφέρονται σχετικά όπως οι [[Apple]], [[Microsoft]], [[International Business Machines|IBM]], [[Xerox]], [[Hewlett-Packard|HP]], [[Adobe Systems]] και πολλές άλλες.
 
Η κοινοπραξία δημοσίευσε πρώτη φορά ''Το πρότυπο Unicode''(ISBN 0-321-18578-1) το [[1991]],και συνεχίζει να αναπτύσσει πρότυπα
βασισμένα στην αρχική αυτή εργασία. Η κοινοπραξία Unicode αναπτύχθηκε
σε συνδυασμό με τον [[ISO|Διεθνή Οργανισμό Τυποποίησης ISO]],και
το πρότυπό της μοιράζεται το σύνολο χαρακτήρων της με το πρότυπο[[ISO/IEC 10646]].
Το Unicode και το ISO/IEC 10646 είναι ισοδύναμα σανως κωδικοποιήσεις
χαρακτήρων αλλά το Unicode περιέχει πολύ περισσότερες πληροφορίες
για προγραμματιστές που το υλοποιούν , καλύπτοντας σε βάθος
θέματα όπως κωδικοποίηση βασισμένη σε μπιτ, [[Unicode collation αλγόριθμοι]], και γραφική απόδοση. Το Unicode απαριθμεί
αρκετές ιδιότητες χαρακτήρων, περιλαμβάνοντας και αυτές που χρειάζονται για [[BiDi]] υποστήριξη. Τα δυο πρότυπα χρησιμοποιούν
μερικώς διαφορετική ορολογία.
 
Γραμμή 123:
<div id="Upluslink">
Όταν γράφουμε για κωδικά σημεία του Unicode είναι σύνηθες να
χρησιμοποιούμε τηντη μορφή U+xxxx or U+xxxxxx όπου xxxx ή xxxxxx
είναι το κωδικό σημείο στο [[δεκαεξαδικό σύστημα]]
</div>
Γραμμή 141:
=== Αποθήκευση μεταφορά και επεξεργασία ===
 
Μέχρι τώρα το Unicode παρουσιάστηκε απλά σανως μια απεικόνιση κάθε
χαρακτήρα που χρησιμοποιείται σε κάποιο αλφάβητο στη Γη σε έναν
μοναδικό αριθμό, το κωδικό σημείο. Όμως η αποθήκευση αυτών των
αριθμών κατά την επεξεργασία κειμένου είναι ένα εντελώς διαφορετικό θέμα.
Προβλήματα ανακύπτουν από το γεγονός ότι το [[λογισμικό]] που
Γραμμή 150:
 
Η εσωτερική λογική παραδοσιακών 8-μπιτ εφαρμογών επιτρέπει μόνο 8 μπιτς
για κάθε χαρακτήρα κάνοντας αδύνατη τηντη χρησιμοποίηση περισσότερων
των 256 κωδικών σημείων χωρίς ειδική επεξεργασία.
Έτσι οι [[προγραμματιστής|μηχανικοί λογισμικού]] έχουν προτείνει
διάφορους μηχανισμούς για την υλοποίηση του Unicode.Ποιά Ποια υλοποίηση
χρησιμοποιεί ο κάθε προγραμματιστής από θέματα χωρητικότητας, συμβατότητας
[[πηγαίος κώδικας|πηγαίου κώδικα]] και διαλειτουργικότητας
με άλλα συστήματα.
 
 
Το Unicode ορίζει δυοδύο τρόπους απεικόνισης:
* Τις '''UTF''' ('''Unicode Transformation Format''') κωδικοποιήσεις
* Και τις '''UCS''' ('''Universal Character Set''') κωδικοποιήσεις
Γραμμή 179:
 
=== Έτοιμοι και σύνθετοι χαρακτήρες ===
Το Unicode περιλαμβάνει ένα μηχανισμό τροποποίησης του σχήματος των χαρακτήρων κι έτσι επεκτείνει το ρεπερτόριο των υποστηριζόμενων γλυφών. Αυτό καλύπτει τηντη χρήση συνδυαζόμενων διακριτικών χαρακτήρων. Αυτοί εισάγονται μετά τον κύριο χαρακτήρα (μπορεί κανείς να σωρρεύσει περισσότερους συνδυαζόμενους διακριτικούς χαρακτήρες στον ίδιο χαρακτήρα). Ωστόσο, για λόγους συμβατότητας, το Unicode περιλαμβάνει επίσης μια μεγάλη ποσότητα από προσυντεθιμένους χαρακτήρες. Έτσι, σε πολλές περιπτώσεις, οι χρήστες έχουν στη διάθεσή τους πολλούς τρόπους κωδικοποίησης του ίδιου χαρακτήρα Για να το αντιμετωπίσει αυτό, το Unicode παρέχει τον μηχανισμό των μετασχηματισμών κανονικής ισοδυναμίας.
Παρόμοια κατάσταση ισχύει και με το Hangul. Το Unicode παρέχει τον μηχανισμό σύνθεσης συλλαβών Hangul με το Hangul Jamo. Ωστόσο, παρέχει επίσης προσυντεθιμένες συλλαβές Hangul (11,171 συλλαβές)
Τα ιδεογράμματα CJK (Κίνα, Ιαπωνία, Κορέα) έχουν επί του παρόντος κώδικες μόνο για την προσυντεθιμένη μορφή τους. Ακόμα όμως, τα περισσότερα από αυτά τα ιδεογραφήματα τελικώς αποτελούνται από απλούστερα στοιχεία, έτσι, κατ' αρχήν το Unicode μπορεί να τα αποσυνθέσει όπως συμβαίνει με τα Hangul. Αυτό θα μείωνε σε μεγάλο βαθμό τον αριθμό των απαιτούμενων κωδικών σημείων, ενώ ταυτόχρονα επιτρέπει την εμφάνιση στην πραγματικότητα κάθε νοητού ιδεογραφήματος (καταργώντας έτσι τα προβλήματα της Han unification) Μια παρόμοια ιδέα καλύπτει ορισμένες μεθόδους εισαγωγής όπως η μέθοδος Cangjie και Wubi. Ωστόσο, οι προσπάθειες να γίνει αυτό για κωδικοποίηση χαρακτήρων σκόνταψαν πάνω στο γεγονός ότι τα ιδεογραφήματα δεν αποσυντίθενται τόσο απλά ή τόσο κανονικά όσο δείχνουν.
Γραμμή 185:
Οι συνδυαζόμενοι χαρακτήρες, όπως η περίπλοκη μορφοποίηση του script που απαιτείται για να αποδώσει κανείς σωστά ένα Αραβικό κείμενο και πολλά άλλα scripts, συχνά εξαρτώνται από περίπλοκες τεχνολογίες γραμματοσειρών, όπως η Open Type (από την Adobe και τη Microsoft), την Graphite (από την SIL International) και την Apple Advanced Typography AAT (από την Apple Computer), μέσω της οποίας ο σχεδιαστής γραμματοσειράς περιλαμβάνει οδηγίες σε ένα λογισμικό δημιουργίας γραμματοσειρών για το πως θα παράγει διαφορετικές σειρές χαρακτήρων. Μια άλλη μέθοδος που χρησιμοποιείται σε γραμματοσειρές με σταθερό πλάτος είναι να τοποθετείται το σύμβολο του συνδυαζόμενου χαρακτήρα πριν τα δεξιά του (sidebearing). Αυτή η μέθοδος, ωστόσο, λειτουργεί μόνο για ορισμένα διακριτικά και η σώρρευση δεν θα γίνει σωστά.
 
Μέχρι και το 2004, τα περισότερα λογισμικά ακόμα δεν μπορούσαν να χειριστούν αξιόπιστα πολλά χαρακτηριστικά που δεν υποστηρίζονταν από παλαιότερες τυποποιήσεις γραμματοσειρών, έτσι το να συνδυαζεί κανειςκανείς χαρακτήρες, γενικώς δεν λειτουργούσε σωστά. Υποθετικά, το {{unicode|ḗ}} (προσυντεθιμένο e με περισπωμένη και οξεία) και το {{unicode|ḗ}} (e που ακολουθείται από συνδυαζόμενη περισπωμένη επάνω και συνδυαζόμενη οξεία επάνω) είναι πανομοιότυπα στην εμφάνιση, δίνοντας και τα δύο ένα e με περισπωμένη και οξεία, αλλά η εμφάνιση μπορεί να διαφοροποιείται σε μεγάλο βαθμό κατά την εφαρμογή εφαρμογών λογισμικού.
 
Επίσης, οι κάτω τελείες, οι οποίες χρειάζονται στα Ινδικά [[Romanization]], συχνά θα τοποθετούνται λανθασμένα ή ακόμα χειρότερα.
Γραμμή 198:
 
Παρά τα τεχνικά προβλήματα τους περιορισμούς και την
κριτική στη πορεία , το Unicode έχει επικρατήσει σανως
το κυρίαρχο σχήμα κωδικοποίησης χαρακτήρων.
Τα [[Windows NT]] και οι απόγονοί του [[Windows 2000]] και [[Windows XP]] κάνουν εκτεταμένη χρήση του σχήματος
κωδικοποίησης [[UTF-16]] για εσωτερική αναπαράσταση κειμένου. UNIX λειτουργικά συστήματα όπως [[Linux|GNU/Linux]], [[Plan 9|Plan 9 από Bell Labs]], [[Berkeley Software Distribution|BSD]] και [[Mac OS X]] έχουν υιοθετήσει το σχήμα [[UTF-8]], σανως τη βάση για την αναπαράσταση [[πολυγλωσσικό κείμενο]].
 
=== Ηλεκτρονική αλληλογραφία ===
 
Το πρότυπο [[MIME]] ορίζει δυοδύο διαφορετικούς μηχανισμούς
για κωδικοποίηση όχι-ASCII χαρακτήρων στα [[Ηλεκτρονική αλληλογραφία|μηνύματα ηλεκτρονικής αλληλογραφίας,e-mails]],
ανάλογα με το αν οι χαρακτήρες είναι στις επικεφαλίδες του
Γραμμή 211:
"Θέμα:" ή βρίσκονται στο κυρίος κείμενο του ηλεκτρονικού μηνύματος.
Και στις δυο περιπτώσεις, προσδιορίζεται το αρχικό σύνολο χαρακτήρων
καθώς και η κωδικοποίηση μεταφοράς. Για ηλεκτρονική αλληλογραφία
με Unicode χαρακτήρες προτείνονται το σχήμα κωδικοποίησης UTF-8
και η κωδικοποίηση μεταφοράς [[Base64]] .
Οι λεπτομέρειες των δύο μηχανισμών καθορίζονται στο πρότυπο MIME
και γενικά είναι κρυμμένοι από τον απλό χρήστη λογισμικού
ηλ. αλληλογραφίας.
 
Η υιοθέτηση του Unicode στην [[Ηλεκτρονική αλληλογραφία]]
είναι πολύ αργή. Τα περισσότερα κείμενα στην ανατολική Ασία
κωδικοποιούνται άκομα σε τοπικές κωδικοποιήσεις όπως η
[[Shift-JIS]], και πολλά δημοφιλή προγράμματα ηλ.αλληλογραφίας
ακόμα και αν έχουν κάποια unicode υποστήριξη εντούτοις
δεν μπορούν να χειριστούν Unicode δεδομένα σωστά. Η κατάσταση
Γραμμή 232:
η ανάλογη [[γραμματοσειρά]].
 
Παρόλο που συντακτικοί κανόνες μπορεί να επηρεάζουν τηντη
σειρά με την οποία οι χαρακτήρες επιτρέπεται να εμφανίζονται
και η γλώσσα HTML 4.0 αλλά και η XML 1.0 εξ'ορισμού υποστηρίζουν
Γραμμή 240:
οποιοδήποτε κωδικό σημείο που τελειώνει σε FFFE or FFFF
και οποιοδήποτε κωδικό σημείο πάνω από 10FFFF.
Αυτοί οι χαρακτήρες παρουσιάζονται είτε απευθείας σανως μπάιτς
σύμφωνα με την κωδικοποίηση του εγγράφου,εφόσον υποστηρίζονται
από την κωδικοποίηση,ή μπορούν να γραφτούν σανως αριθμητικές
αναφορές χαρακτήρων βασισμένες στο κωδικό σημείο του Unicode
χαρακτήρα,εφόσον η κωδικοποίηση που χρησιμοποιεί το έγγραφο
Γραμμή 250:
Για παράδειγμα οι αναφορές :
<code>Δ</code> <code>Й</code> <code>ק</code> <code>م</code> <code>๗</code> <code>あ</code> <code>叶</code> <code>葉</code> <code>냻</code> (ή η ίδια τιμή στο δεκαεξαδικό με πρόθεμα
<code>&amp;#x</code> ) εμφανίζεται στον πλοηγό σου σανως Δ, Й, ק, م, ๗, あ, 叶, 葉 και 냻—εφόσον έχεις την κατάλληλη γραμματοσειρά, αυτά τα σύμβολα φαίνονται σαν [[Greek alphabet|Greek]] capital letter "Delta", [[Cyrillic alphabet|Cyrillic]] capital letter "Short I", [[Arabic alphabet|Arabic]] letter "Meem", [[Hebrew alphabet|Hebrew]] letter "Qof", [[Thai language|Thai]] [[numeral]] [[7]], [[Japanese language|Japanese]] [[Hiragana]] "A", [[simplified Chinese]] "[[Leaf]]", [[traditional Chinese]] "Leaf", and [[Korean language|Korean]] [[Hangul]] syllable "Nyaelh", αντίστοιχα.
 
=== Γραμματοσειρές ===
Ανακτήθηκε από "https://el.wikipedia.org/wiki/Unicode"