Provided by: manpages-it_3.73-2_all bug

NOME

       Unicode - insieme universale di caratteri

DESCRIZIONE

       Lo  standard  internazionale  ISO  10646 definisce l'insieme universale di caratteri (UCS:
       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.  Esso comprende non solo i caratteri latino 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 inclusi la ricerca su come codificarli al meglio è ancora in corso e
       prima o poi verranno aggiunti.   Ciò  potrebbe  includere  non  solo  geroglifici  e  vari
       linguaggi  storici  indo-europei,  ma  anche  alcuni  caratteri artistici selezionati come
       tengwar, cirth e klingon.   UCS  include  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, oltre a molti sistemi di elaborazione  testi  e  di
       editoria, e altri se ne stanno aggiungendo.

       Lo standard UCS (ISO 10646) descrive una architettura di caratteri a 31 bit consistente di
       128 gruppi a 24 bit, ciascuno diviso in 256 piani a 16 bit, composti da 256 righe 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  nell'intervallo 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 verrà 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 più elevato, e
       entusiasti.

       La  rappresentazione di ciascun carattere UCS come parola di 2 byte è chiamato forma UCS-2
       (solo per i caratteri BMP), mentre UCS-4 è la rappresentazione di ciascun carattere in una
       parola  a 4 byte.  In aggiunta esistono due forme di codifica UTF-8 per retrocompatibilità
       col software di elaborazione ASCII e UTF-16 per la gestione della  retrocompatibilità  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 più 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  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.

       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 e Hangul Jamo (una variante della  codifica  dell'alfabeto
                coreano, dove le sillabe Hangul sono codificate come tripletta 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., tailandese, laotiano, ebraico, arabo, devangari, malese).

       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 è 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 è segnalata alle applicazioni dalla libreria C di GNU
       definendo la costante __STDC_ISO_10646__ come specificato nello standard ISO C99.

       UCS/Unicode può 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
       .B 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.

   Area privata
       L'intervallo da 0xe000 a 0xf8ff  nel  Piano  multi-linguistico  di  base,  non  verrà  mai
       assegnato  dallo  standard  a  nessun  carattere  ed  è riservato per uso privato.  Per la
       comunità Linux questo intervallo è stato ulteriormente suddiviso nell'intervallo da 0xe000
       a  0xefff,  che  può 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 è al momento mantenuto da LANANA e il
       registro stesso è Documentation/unicode.txt nei sorgenti del kernel Linux.

   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 è la specifica ufficiale di UCS .  Disponibile su ⟨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.

          Un buon testo di riferimento sul linguaggio di programmazione C.   La  quarta  edizione
          comprende  l'Emendamento  1 del 1994 allo standard ISO C90, che aggiunge un buon numero
          di funzioni di libreria C per gestire codifiche di caratteri lunghi e multibyte, ma non
          comprende  ancora  la  ISO  C99,  che  ha  migliorato  ulteriormente  il supporto per i
          caratteri lunghi e multibyte.

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

       *  Markus Kuhn: UTF-8 and Unicode FAQ for UNIX/Linux.
          ⟨http://www.cl.cam.ac.uk/~mgk25/unicode.html⟩

       *  Bruno Haible: Unicode HOWTO.
          ⟨http://www.tldp.org/HOWTO/Unicode-HOWTO.html

VEDERE ANCHE

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

COLOPHON

       Questa pagina fa parte del rilascio 3.73 del progetto Linux  man-pages.   Una  descrizione
       del  progetto,  le  istruzioni  per  la  segnalazione degli errori, e l'ultima versione di
       questa pagina si trova su http://www.kernel.org/doc/man-pages/.

       La versione italiana fa parte del pacchetto man-pages-it v. 3.73, a cura di: ILDP "Italian
       Linux Documentation Project" http://www.pluto.it/ildp
       Per     la     traduzione     in     italiano     si     può     fare     riferimento    a
       http://www.pluto.it/ildp/collaborare/
       Segnalare eventuali errori di traduzione a ildp@pluto.it