Newsgroup: it.comp.software.tex
Titolo: Input Encoding

Ciao,
        ho una domanda: cos'è -a rigore- l'input encoding?
So che è la codifica dei caratteri, ma a che cosa
si riferisce (alla tastiera, al SO, ...)?
Grazie mille.
Saluti.
-- 
*Emanuele*

 si riferisce (alla tastiera, al SO, ...)?
Un file di testo è, in realtà, solo una sequenza di byte.
Il sistema operativo (o meglio, il programma che legge il
documento) si occupa di tradurre i byte in caratteri da
mettere sullo schermo.
In passato ogni sistema operativo decideva autonomamente
come riempire la tabella dei caratteri, anche se quasi tutti
rispettavano la parte da 0x00 a 0x7F (cioè da 0 a 127) come
stabilito dal codice ASCII (non tutti, alcuni per esempio
usavano il famosissimo ebcdic).
Le esigenze di comunicazione fra computer con sistemi
operativi diversi ha reso necessario elaborare codifiche
standard di tutta la tabella (da 0x00 a 0xFF, cioè 0-255),
anche per facilitare l'uso dei calcolatori da parte di
gente che scrive con caratteri non latini.
Il programma di elaborazione del documento può capire
secondo quale codifica quel documento è scritto (da commenti
nel documento, da opzioni sulla riga di comando, 
da meta-informazioni, i metodi sono tanti).
TeX invece legge l'input come sequenza di byte e quindi
è necessario insegnargli come interpretare i caratteri da
128 a 255. Per questo gli dici come farlo.
Esisterebbe in realtà un altro metodo, perché TeX legge
e interpreta i byte secondo una sua tabella interna; quindi
si può modificare questa tabella e certe implementazioni
permettono di farlo runtime. Tuttavia il metodo con il
pacchetto 'inputenc' è più facile da usare.
Per esempio, se io ricevo un documento da un utente che
usa 'latin1' e lo apro con un editor che non riesce a 
interpretarlo come 'latin1', probabilmente leggo in modo
scorretto certi caratteri. Ma se lo faccio compilare da TeX
il risultato è corretto, se è presente la riga
\usepackage[latin1]{inputenc}
Un discorso a parte è Unicode, detto anche UTF-8, nel quale
un carattere corrisponde a *due* byte. Esiste un supporto
anche di questa codifica da parte di TeX, ma non ancora del
tutto perfezionato.
Ciao
Enrico

 si riferisce (alla tastiera, al SO, ...)?
Alla codifica dei caratteri che compongono il testo.  Ad esempio, se
il tuo buffer contiene lettere accentate, puoi usare uno statement
\usepackage[latin1]{inputenc} .
Se hai una tastiera italiana, puoi scrivere direttamente le lettere
accentate; altrimenti, usando 
p.es
. emacs, e' possibile convertire
direttamente una sequenza `e (oppure e` oppure \`e a seconda
dell'input method) in è anche da una tastiera americana.
-- 
Maurizio Loreti                         
http://www.pd.infn.it/~loreti/mlo.html
Dept. of Physics, Univ. of Padova, Italy              ROT13: 
ybe...@cq.vasa.vg

Era una giornata di sole, e volgendosi verso il cielo azzurro *Enrico
Gregorio* disse:
:: Un file di testo è, in realtà, solo una sequenza di byte.
:: Il sistema operativo (o meglio, il programma che legge il
:: documento) si occupa di tradurre i byte in caratteri da
:: mettere sullo schermo.
Grazie mille ;)
Ciao.
-- 
*Emanuele*

Era una giornata di sole, e volgendosi verso il cielo azzurro *Maurizio
Loreti* disse:
::: Ciao,
:::         ho una domanda: cos'è -a rigore- l'input encoding?
:::
::: So che è la codifica dei caratteri, ma a che cosa
::: si riferisce (alla tastiera, al SO, ...)?
::
:: Alla codifica dei caratteri che compongono il testo.  Ad esempio, se
:: il tuo buffer contiene lettere accentate, puoi usare uno statement
:: \usepackage[latin1]{inputenc} .
Grazie!! :)
Ciao ciao.
-- 
*Emanuele*