Provided by:
manpages-it_0.3.4-5_all 
NOME
Unicode - il super insieme di caratteri unificato a 16 bit
DESCRIZIONE
Lo standard internazionale ISO 10646 definisce l’ Insieme universale di
caratteri (Universal Character Set). UCS contiene tutti i caratteri di
tutti gli altri standard per insiemi di caratteri. Garantisce anche
compatibilità ad andata e ritorno, cioè è possibile costruire tavole di
conversione in modo tale da non perdere nessuna informazione passando
da una qualsiasi altra codifica a UCS e viceversa.
UCS contiene i caratteri necessari alla rappresentazione di
praticamente tutte le lingue conosciute. A parte le numerose lingue che
fanno uso di estensioni dell’alfabeto romano, è possibile rappresentare
anche i seguenti alfabeti e lingue: greco, cirillico, ebraico, arabo,
armeno, gregoriano, giapponese, cinese, hiragana, katakana, coreano,
hangul, devangari, bengalese, gurmuco, gugiarato, oriya, tamil, telugu,
kannada, malese, tailandese, laotiano, bopomofo e numerosi altri. Si
sta lavorando per aggiungere alfabeti come tibetano, khmer, runico,
etiope, geroglifici, varie lingue indo-europee ed altri. Non era ben
chiaro come codificare molti di questi ultimi alfabeti, quando lo
standard è stato pubblicato nel 1993. In aggiunta ai caratteri
richiesti da questi alfabeti, sono stati inclusi anche un gran numero
di simboli grafici, tipografici, matematici e scientifici come quelli
di TeX, PostScript, MS-DOS, Macintosh, Televideo, OCR (riconoscimento
ottico dei caratteri) e di altri sistemi di elaborazione testi; e
infine tutti quei codici speciali necessari a garantire una
compatibilità ad andata e ritorno per tutti gli standard esistenti per
insiemi di caratteri.
Lo standard UCS (ISO 10646) descrive un’architettura di caratteri a 31
bit; però, a tutt’oggi, solo le prime 65534 posizioni (da 0x0000 a
0xfffd), chiamate Piano Multi-linguistico di Base (Basic Multilingual
Plane), sono state assegnate a caratteri, e ci si aspetta che solo
caratteri particolarmente esotici destinati a scopi scientifici
particolari (geroglifici, per esempio) vengano in futuro sistemate al
di fuori di questo BMP a 16 bit.
I caratteri UCS nelle posizioni da 0x0000 a 0x007f coincidono con
quelli classici di US-ASCII e i caratteri da 0x0000 a 0x00ff coincidono
con quelli dell’insieme ISO 8859-1 Latin-1.
CARATTERI COMBINANTI
Alcuni codici di UCS sono stati assegnati a caratteri combinanti.
Simile ad un tasto accentato che non avanza in una macchina da
scrivere, un carattere combinante aggiunge un accento al carattere
precedente. I caratteri accentati più importanti hanno un loro posto in
UCS, ma questo meccanismo permette di aggiungere accenti a altri segni
diacritici a qualsiasi carattere. I caratteri combinanti seguono sempre
il carattere che modificano. Ad esempio, il carattere tedesco Ä («A
maiuscola romana con dieresi») può essere rappresentato sia col codice
UCS precomposto 0x00c4, oppure come combinazione di una normale «A
maiuscola romana» seguita da una «dieresi combinante»: 0x0041 0x0308.
LIVELLI DI IMPLEMENTAZIONE
Siccome non ci si aspetta che tutti i sistemi possano supportare
meccanismi avanzati come i caratteri combinanti, ISO 10646 specifica
tre livelli d’implementazione per UCS:
Livello 1
I caratteri combinanti e Jamo Hangul (una codifica speciale e
più complicata dell’alfabeto coreano, dove le sillabe Hangul
sono rappresentate con due o tre sotto-caratteri) non sono
supportati.
Livello 2
Come il livello 1, ma alcuni caratteri combinanti sono
permessi in alcuni alfabeti (per es., ebraico, arabo,
devangari, bengalese, gurmuco, gugiarato, oriya, tamil,
telugo, kannada, malese, tailandese e laotiano).
Livello 3
Tutti i caratteri UCS sono supportati.
Lo standard Unicode 1.1 pubblicato dal Consorzio Unicode contiene
esattamente il piano multi-linguistico di base ICS al livello 3
d’implementazione, come descritto in ISO 10646. Unicode 1.1 aggiunge
pure alcune definizioni semantiche alle definizioni ISO 10646 di certi
caratteri.
UNICODE SOTTO LINUX
Al momento, in Linux bisognerebbe usare l’ BMP solo al livello 1
d’implementazione, al fine di mantenere la complessità
d’implementazione dei caratteri combinanti al minimo. I livelli
superiori d’implementazione sono adatti a formati speciali di
elaborazione testi, ma non come insieme generico di caratteri di
sistema. Il tipo di C wchar_t è in Linux di tipo unsigned integer a 16
bit e i suoi valori vengono interpretati come codici BMP di livello 1
UCS.
L’impostazione della localizzazione specifica se la codifica di
carattere del sistema è ad esempio UTF-8 o ISO 8859-1. Funzioni di
libreria come wctomb, mbtowc, o wprintf possono essere usate per
trasformare i caratteri interni wchar_t e le stringhe nella di
carattere del sistema e viceversa.
AREA PRIVATA
L’intervallo da 0xe000 a 0xf8ff nel BMP, non verrà mai assegnato dallo
standard a nessun carattere ed è riservato per uso privato. Nella
comunità Linux, questo intervallo è stato a suo volta suddiviso tra
l’intervallo da 0xe000 a 0xefff, che può essere usato dall’utente
finale, e l’intervallo da 0xf000 a 0xf8ff, le cui estensioni sono
coordinate fra tutti gli utenti di Linux. Il registro dei caratteri
assegnati all’area Linux è al momento mantenuto da H. Peter Anvin
<Peter.Anvin@linux.org>, Yggdrasil Computing, Inc. Contiene alcuni
caratteri grafici DEC VT100 che mancano in Unicode, dà accesso diretto
al buffer di caratteri della console e contiene i caratteri usati da
alcuni alfabeti come quello Klingon.
BIBLIOGRAFIA
* Information technology - Universal Multiple-Octet Coded Character Set
(UCS) - Part 1: Architecture and Basic Multilingual Plane.
International Standard ISO 10646-1, International Organization for
Standardization, Geneva, 1993.
Questa è la definizione ufficiale di UCS. Piuttosto ufficiale,
piuttosto voluminosa, piuttosto cara. Per informazioni su come
ordinare, contattare www.iso.ch
* The Unicode Standard - Worldwide Character Encoding Version 1.0.
The Unicode Consortium, Addison-Wesley, Reading, MA, 1991.
È già disponibile Unicode 1.1.4. Le modifiche al libro sulla
versione 1.0 sono disponibili da ftp.unicode.org Unicode 2.0
sarà nuovamente pubblicato come libro nel 1996.
* S. Harbison, G. Steele. C - A Reference Manual. Fourth edition,
Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.
Un ottimo libro di referenza sul linguaggio C. La quarta
edizione copre il primo emendamento del 1994 allo standard ISO C
(ISO/IEC 9899:1990) che aggiunge un gran numero di nuove
funzioni di libreria C per maneggiare caratteri multi-byte.
BACHI
Al momento in cui questa pagina di manuale è stata scritta, il supporto
della libc di Linux per era ben lungi dall’essere completo.
AUTORE
Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
VEDERE ANCHE
utf-8(7)