Provided by: manpages-it_2.80-3_all bug

NOME

       Unicode - l'insieme universale di caratteri

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`a ad andata e ritorno, cioe e 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.  Esso comprende non solo i
       caratteri romano, greco, cirillico, ebreo, arabo, armeno  e  georgiano,
       ma  anche  alfabeti  ideografici  cinese, giapponese e coreano han, e i
       caratteri hiragana, katakana, hangul,  devanagari,  bengali,  gurmukhi,
       gujarati,  oriya,  tamil, telugu, kannada, malayalam, thai, lao, khmer,
       bopomofo, tibetano, runico,  etiopico,  canadese  sillabico,  cherokee,
       mongolo, ogham, myanmar, sinhala, thaana, yi e altri. Per caratteri non
       ancora coperti la ricerca su come codificarli al  meglio  e  ancora  in
       corso  e prima o poi verranno aggiunti. Cio potrebbe includere non solo
       geroglifici e vari linguaggi  storici  indo-europei,  ma  anche  alcuni
       caratteri  artistici  selezionati  come  tengwar,  cirth e klingon. UCS
       copre  anche  un  grande  numero  di  simboli   grafici,   tipografici,
       matematici  e  scientifici,  inclusi quelli forniti da TeX, Postscript,
       APL, MS-DOS, MS-Windows, Macintosh e font OCR, oltra a molti sistemi di
       elaborazione testi e di pubblicazione, e altri ne sono stati aggiunti.

       Lo standard UCS (ISO 10646) descrive una architettura di caratteri a 31
       bit consistente di 128 grupi a 24 bit, ciascuno diviso in 256  piani  a
       16  bit,  composti  da  256  linee  a  8 bit, con 256 colonne , una per
       ciascun carattere. La parte 1 dello standard (ISO 10646-1) definisce le
       prime 65534 posizioni (da 0x0000 a 0xfffd), che formano il Piano Multi-
       linguistico di Base (BMP), ovvero il piano 0 del gruppo 0. La parte due
       dello standard (ISO 10646-2) aggiunge caratteri al gruppo 0 al di fuori
       del BMP  in  numerosi  piani  supplementari  nel  range  da  0x10000  a
       0x10ffff.  Non  ci sono piani per l'aggiunta di caratteri allo standard
       oltre 0x10ffff, quindi, dell'intero spazio  codice,  solo  una  piccola
       frazione del gruppo 0 verra usata nel prossimo futuro.  Il BMP contiene
       tutti i caratteri che si  trovano  negli  altri  insiemi  di  caratteri
       comunemente  usati.  I  piani  supplementari  aggiunti  da  ISO 10646-2
       coprono solo caratteri esotici per speciali bisogni scientifici, stampa
       dizionario,  industria editoriale, protocolli di livello piu elevato, e
       entusiasti.

       La rappresentazione di ciascun carattere UCS come parola di  2  byte  e
       chiamato  forma  UCS-2  (solo  per  i caratteri BMP), mentre UCS-4 e la
       rappresentazione di ciascun carattere in  una  parola  a  4  byte.   In
       aggiunta  esistono  due  forme di codifica UTF-8 per retrocompatibilita
       con software di processamento ASCII e  UTF-16  per  la  gestione  della
       retrocompatibilita  dei  caratteri non BMP fino a 0x10ffff del software
       UCS-2.

       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 piu importanti hanno un loro codice
       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
       (<<A  maiuscola  romana con dieresi>>) puo essere rappresentato sia col
       codice UCS precomposto 0x00c4, oppure come combinazione di una  normale
       <<A  maiuscola  romana>>  seguita da una <<dieresi combinante>>: 0x0041
       0x0308.

       I caratteri combinanti sono essenziali per esempio nella  codifica  dei
       caratteri  Thai  o  per  la  composizione  matematica  e per gli utenti
       dell'alfabeto internazionale fonetico.

   Livelli di implementazione
       Siccome non ci si  aspetta  che  tutti  i  sistemi  possano  supportare
       meccanismi  avanzati come i caratteri combinanti, ISO 10646-1 specifica
       tre livelli d'implementazione per UCS:

       Livello 1
                I caratteri combinanti  Hangul  Jamo  (una  codifica  variante
                dell'alfabeto  coreano, dove le sillabe Hangul sono codificate
                come trio o  coppia  di  codici  vocale/consonante)  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 3.0 pubblicato dall'  Unicode  Consortium  contiene
       esattamente  il  piano  multi-linguistico  di  base  UCS  al  livello 3
       d'implementazione, come descritto in ISO 10646-1:2000.  Unicode 3.1  ha
       aggiunto  i piani supplementari dell'ISO 10646-2. Lo standard Unicode e
       i raporti tecnici pubblicati dall'Unicode Consortium  forniscono  molte
       informazioni  aggiuntive  sulla  semantica e sugli usi raccomandati dei
       vari caratteri. Essi forniscono linee guida e  algoritmi  per  editing,
       ordinamento,     comparazione,     normalizzazione,    conversione    e
       visualizzazione delle stringhe Unicode.

   Unicode sotto Linux
       Sotto GNU/Linux, il tipo C wchar_t e un tipo intero 32-bit con segno. I
       suoi  valori  sono sempre interpretati dalla libreria C come valori del
       codice  UCS  (in  tutte  le  localizzazioni),  una  convenzione  che  e
       segnalata  alle  applicazioni  dalla  libreria  C  di  GNU definendo la
       costante __STDC_ISO_10646__ come specificato nello standard ISO C 99.

       UCS/Unicode  puo  essere  usato  come   semplice   ASCII   nei   flussi
       input/output,  comunicazioni  tra terminali, file di testo, nomi file e
       variabili d'  ambiente  nella  codifica  multi-byte  UTF-8  compatibile
       ASCII.  Per segnalare l'uso di UTF-8 come codifica carattere a tutte le
       applicazioni deve venire  selezionata  una  localizzazione  appropriata
       attraverso variabili d'ambiente (es., "LANG=en_GB.UTF-8").

       La  funzione  nl_langinfo(CODESET)  restituisce  il nome della codifica
       selezionata. Le funzioni di  libreria  come  wctomb(3)  e  mbsrtowcs(3)
       possono  essere usate per trasformare i caratteri interni e le stringhe
       wchar_t  nella  codifica  dei  caratteri  di  sistema  e  viceversa   e
       wcwidth(3)  dice  di  quante  posizioni (0-2) il cursore viene avanzato
       dall'output di un carattere.

       In Linux in generale al momento  bisognerebbe  usare  il  BMP  solo  al
       livello  1  di  implementazione.  Alcuni emulatori di terminale UTF-8 e
       font ISO 10646 (livello  2)  supportano  anche  fino  a  due  caratteri
       combinanti per base caratteri per certi alfabeti (in particolare thai),
       ma, in generale, i caratteri precomposti devono  essere  preferiti  ove
       disponibili (Unicode la chiama Normalization Form C).

   Area privata
       L'intervallo  da 0xe000 a 0xf8ff nel BMP, non verra mai assegnato dallo
       standard a nessun carattere ed e riservato  per  uso  privato.  Per  la
       comunita  Linux  questo  intervallo  e  stato  ulteriormente  suddiviso
       nell'intervallo da 0xe000 a 0xefff, che puo  essere  usato  dall'utente
       finale,  e   nell'area Linux nell'intervallo da 0xf000 a 0xf8ff, le cui
       estensioni sono coordinate fra tutti gli utenti di Linux.  Il  registro
       dei  caratteri  assegnati  all'area  Linux e al momento mantenuto da H.
       Peter Anvin <Peter.Anvin@linux.org>.

   Bibliografia
       * Information technology -- Universal  Multiple-Octet  Coded  Character
         Set  (UCS)  --  Part  1:  Architecture  and Basic Multilingual Plane.
         International Standard ISO/IEC  10646-1,  International  Organization
         for Standardization, Geneva, 2000.

         Questa e la specifica ufficiale di UCS.  Disponibile come file PDF su
         CD-ROM da http://www.iso.ch/.

       * The Unicode Standard, Version 3.0.  The Unicode Consortium,  Addison-
         Wesley, Reading, MA, 2000, ISBN 0-201-61633-5.

       * S.  Harbison,  G.  Steele.  C:  A  Reference  Manual. Fourth edition,
         Prentice Hall, Englewood Cliffs, 1995, ISBN 0-13-326224-3.

         A good reference book about the C programming  language.  The  fourth
         edition  covers  the 1994 Amendment 1 to the ISO C 90 standard, which
         adds a large number of new C library functions for handling wide  and
         multi-byte  character  encodings, but it does not yet cover ISO C 99,
         which improved wide and multi-byte character support even further.

       * Unicode Technical Reports.
         http://www.unicode.org/unicode/reports/

       * Markus Kuhn: UTF-8 e Unicode FAQ per Unix/Linux.
         http://www.cl.cam.ac.uk/~mgk25/unicode.html

         Fornisce informazioni sulla sottoscrizione alla mailing  list  linux-
         utf8  che e il miglior posto in cui guardare per consigli sull'uso di
         Unicode sotto Linux.

       * Bruno Haible: Unicode HOWTO.
         ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html

BACHI

       _Al momento dell'ultima revisione di questa man page, la libreric GNU C
       di  supporto  per  le  localizzazioni  UTF-8  era  matura e il supporto
       XFree86 era ad uno  stadio  avanzato,  ma  il  lavoro  per  rendere  le
       applicazioni   (specialmente   gli   editor)   adatte  all'uso  con  le
       localizzazioni UTF-8 era ancora in corso. Il supporto generale corrente
       a  UCS  sotto  Linux  di  solito  fornisce  caratteri  per CJK a doppia
       ampiezza,  e  talvolta  anche   semplici   caratteri   combinanti,   ma
       solitamente  non  include  il  supporto  per  alfabeti con direzione da
       destra a sinistra o requisiti per la sostituzione della  legatura  come
       negli  alfabeti  ebraico,  arabo,  o Indic. Questi alfabeti attualmente
       sono supportati solo in certe  aplicazioni  GUI  (visualizzatori  HTML,
       word processor) con motori sofisticati di disegno del testo.

AUTORE

       Markus Kuhn <mgk25@cl.cam.ac.uk>

VEDERE ANCHE

       setlocale(3), charsets(7), utf-8(7)