[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico] [volume] [parte]


Capitolo 256.   Applicativi utili durante la fase di transizione alla codifica universale

Durante la fase di transizione alla codifica universale è importante la possibilità di convertire file di testo con codifiche differenti; inoltre è importante poter utilizzare programmi di creazione e modifica di questi file, potendo leggere e salvare con codifiche alternative.

256.1   Recode

Recode (1) è un programma per la conversione di file da un insieme di caratteri a un altro. Recode non si limita semplicemente a questo; spesso è in grado di intervenire su codifiche composte da sequenze di caratteri, anche se in queste situazioni il suo utilizzo si complica e i risultati non sono sempre garantiti.

recode [opzioni] codifica_prima..codifica_dopo [file...]

Osservando lo schema sintattico mostrato, si può vedere che è necessario indicare il tipo di conversione attraverso due parole chiave: la prima serve a stabilire il modo in cui sono codificati i dati in ingresso, la seconda stabilisce in che modo li si vuole trasformare in uscita.

Uno o più file in ingresso possono essere indicati alla fine della riga di comando, facendo sì che Recode tenti di sovrascriverli; in alternativa, un file in ingresso può essere fornito attraverso lo standard input, ottenendo come il risultato della conversione dallo standard output.

Bisogna essere prudenti con Recode quando si indicano i file nella riga di comando, perché la conversione potrebbe essere irreversibile.

Nel suo piccolo, Recode è un programma complesso. Questa sezione mostra solo alcuni aspetti banali, mentre per sfruttare bene tutte le sue potenzialità è necessario leggere la documentazione originale: info recode.

Tabella 256.1. Alcune opzioni.

Opzione Descrizione

-a [codifica]

--auto-check [codifica]

Questa opzione è speciale e di solito viene usata da sola, senza indicare altri argomenti nella riga di comando di recode. Serve per ottenere da recode un riassunto sulle possibilità di conversione da o verso la codifica indicata.

-g

--graphics

Questa opzione riguarda la conversione dall'insieme di caratteri IBM-PC, a un altro tipo, dove si vuole tentare di trasformare in qualche modo i simboli grafici tipici di quella codifica. È evidente che questa conversione è irreversibile.

Le codifiche da utilizzare nelle conversioni sono indicate attraverso la notazione codifica_prima..codifica_dopo, come si vede nello schema sintattico introduttivo. Le parole chiave utilizzate per questo possono essere indicate indifferentemente utilizzando le lettere minuscole o maiuscole. L'elenco delle codifiche (e quindi delle trasformazioni possibili) è molto lungo e potrebbe essere ottenuto un riepilogo attraverso l'opzione -a. Tuttavia, sarebbe meglio leggere prima ciò che è stato annotato nel documento info recode al riguardo, per non rischiare di trovarsi poi nei pasticci.

Tabella 256.2. Alcune parole chiave che si possono usare per individuare le codifiche.

Codifica Descrizione

IBM437

437

cp437

Rappresenta la codifica IBM usata normalmente nel Dos. Quando si converte da questa codifica a un'altra, i codici di interruzione di riga vengono lasciati inalterati.

IBM-PC

ibmpc

È praticamente la stessa codifica IBM437, con la differenza che quando si converte da questa codifica a un'altra, i codici di interruzione di riga vengono trasformati.

IBM850

850

cp850

Rappresenta la codifica IBM usata normalmente nel Dos per la localizzazione europea.

ISO_8859-1:1987

ISO_8859-1

ISO-8859-1

CP819

IBM819

iso-ir-100

l1

latin1

Si riferisce alla codifica ISO 8859-1.

UTF-8

UTF8

Si riferisce alla codifica UTF-8.

Segue la descrizione di alcuni esempi.

256.2   Iconv

Iconv (2) è un programma che fa parte del pacchetto delle librerie GNU C e serve a convertire un file da un insieme di caratteri a un altro. Lo schema sintattico seguente mostra l'utilizzo normale del programma:

iconv -f da_codifica -t a_codifica [altre_opzioni] [file...]

La codifica viene indicata attraverso una parola chiave e l'elenco completo degli insiemi di caratteri conosciuti si ottiene con l'opzione ---list, usata da sola:

iconv --list

Il file da convertire viene indicato normalmente alla fine della riga di comando, ma in sua mancanza viene usato lo standard input; generalmente il risultato della conversione viene emesso attraverso lo standard output, a meno che sia usata espressamente l'opzione -o, con la quale si indica il nome di un file da creare per questo scopo.

Tabella 256.3. Alcune opzioni.

Opzione Descrizione

-f codifica_di_partenza

--from-code codifica_di_partenza

Specifica la codifica di origine.

-t codifica_di_destinazione

--to-code codifica_di_destinazione

Specifica la codifica del file da generare.

--list

Elenca le parole chiave riconosciute che individuano le varie codifiche gestibili dal programma. Si usa questa opzione da sola.

-o file_da_generare

--output file_da_generare

Richiede di fornire il risultato nel file specificato, senza usare per questo lo standard output.

Le parole chiave utilizzate per individuare la codifica possono essere indicate indifferentemente utilizzando le lettere minuscole o maiuscole. Si deve osservare che non tutte le trasformazioni sono possibili; pertanto, di fronte a richieste impossibili, il programma si rifiuta di procedere, così come si rifiuta di farlo se il file in ingresso non è conforme alla codifica dichiarata per questo.

Tabella 256.4. Alcune parole chiave che si possono usare per individuare le codifiche.

Codifica Descrizione

IBM437

437

CP437

Rappresenta la codifica IBM usata normalmente nel Dos.

IBM850

850

CP850

Rappresenta la codifica IBM usata normalmente nel Dos per la localizzazione europea.

LATIN1

8859_1

ISO-8859-1

ISO_8859-1

ISO_8859-1:1987

ISO8859-1

ISO88591

Si riferisce alla codifica ISO 8859-1.

UTF-8

UTF8

Si riferisce alla codifica UTF-8.

Segue la descrizione di alcuni esempi.

256.3   Gedit

Gedit (3) è un programma per la creazione e la modifica di file di testo, associato allo sviluppo di Gnome; il suo eseguibile è gedit, che in generale non richiede l'uso di opzioni o argomenti particolari. Il vantaggio di usare Gedit rispetto ad altri programmi analoghi sta nella facilità con cui è possibile gestire file che utilizzano la codifica UTF-8, anche se la configurazione locale non è ancora predisposta per questo.

Figura 256.1. L'aspetto generale di Gedit durante il funzionamento, secondo la localizzazione inglese.

gedit

La configurazione predefinita di Gedit prevede di salvare utilizzando la codifica UTF-8; tuttavia, quando si salva attribuendo un nome, è possibile specificare il formato; oppure, se la versione di Gedit lo prevede, è possibile modificare questo comportamento tra le preferenze, come si vede nella figura 256.3.

Figura 256.2. Configurazione delle preferenze sul formato da usare quando si salva un file con Gedit.

gedit-preferenze-save

256.4   Yudit

Yudit (4) è un programma per la creazione e la modifica di file di testo secondo varie codifiche Unicode o ISO 10646. Yudit è comunque un programma più complesso di quello che si può pensare a prima vista, che si avvale di diverse componenti, di cui yudit è comunque l'eseguibile principale.

yudit [-e codifica] [file]...

Come si vede dal modello sintattico che riguarda l'uso dell'eseguibile yudit, oltre che indicare i nomi dei file che si vogliono aprire per la modifica, è possibile specificare la codifica di questi. Successivamente, durante il funzionamento, è poi possibile salvare secondo una codifica differente, oppure rimanere su quella iniziale; inoltre è possibile cambiare il tipo di codice di interruzione di riga. La sigla da usare per identificare la codifica dipende dal programma uniconv, che fa sempre parte di Yudit; tuttavia, per sapere esattamente quali sono i nomi validi, è necessario avviare proprio uniconv con un'opzione qualunque, purché non valida, perché la documentazione delle pagine di manuale potrebbe essere errata:

uniconv -h[Invio]

uniconv version 2.6 GNU(c) Gaspar Sinai
USAGE: uniconv [-out file] [-in file] [-decode name] [-encode name] \
  \[-fromdos] [-todos] [-frommac] [-tomac] Currently known built-in encodings: utf-8, utf-8-s, utf-7, java, java-s, ncr, ucs-2, ucs-2-le, ucs-2-be, \
  \utf-16, utf-16-le, utf-16-be, euc-jp, euc-jp-3, euc-kr, big-5, hz, \
  \iso-2022-x11, ksc-5601-x11, gb-18030, gb-2312-x11, gb-2312, iso-2022-jp, \
  \iso-2022-jp-3, shift-jis, shift-jis-3, uhc, johab, unicode, shape, \
  \deshape, bidi Currently known external encodings: ArabicTranslit, TCVNcombine, Devanagari, OldItalic, GrandLatin, tscii, \
  \Gurmukhi, mik, Russian-ISO-Translit, Ori-Inscript, CS-dead, \
  \Croatian, iso-8859-7, Hangul, koi8-r, GreekBible, iso-8859-5, \
  \ksc-5601-l, Danish, Tel-Inscript, windows-1255, Mnemonic, Kanji, \
  \VNtelex, Dev-Inscript, Yiddish, Welsh, iso-8859-4, Polish, ksc-5601-r, \
  \Arabic, example, GreekMonotonic, SR-Cyrillic, Bulgarian, \
  \ASCII-IPA, Belarusian, gb-2312-l, category, Esperanto, Dutch, \
  \iso-646, Spanish, TeX, KOI8_R_KEY, SGML, GreekPolytonic, \
  \iso-8859e, Unicode, Lithuanian, ArmenianWest, Kan-Inscript, \
  \iso-8859-8, RU-translit, Hungarian-prefix, ArmenianEast, precompose, \
  \German, Thai, iso-8859-1, Mal-Inscript, smeTeX, iso-8859-9, \
  \Azeri, Hangul2, Russian, cp-1251, iso-8859-3, iso-8859-6, \
  \Hebrew, iso-8859-2, Georgian, viscii, SK, Cyrillic, Guarani, \
  \HebrewIsraeli, DE-RU, VietnameseTelex, Ben-Inscript, jis-0212, \
  \Guj-Inscript, jis-0201, French, RU-javerty, gb-2312-r, \
  \Hungarian, jis-0208, Chinese-CJ, Vietnamese, Czech, tcvn, \
  \Dev-Phonetic, Tam-Inscript, Troff, Hangul3, TIS_620, Ethiopic, \
  \wingreek, Kana, Malayalam, indic, Tamil, Cherokee, cluster, \
  \ksx-1001, koi8-c, rovas, Oriya, ArabicKeyboard, Slovenian, \
  \Bengali, iso-8859-16, Ukr_Extended, Klingon, jis-0213-2, \
  \OldHungarian, Gujarati, TCVNkey, Israeli, cp-1250, Kannada, \
  \Gur-Inscript, iso-8859-15, jis-0213-1, Ukrainian, koi8-u, mirroring, Telugu datapath settings: /usr/share/yudit/data:/usr/share/yudit/data:/home/tizio/.yudit/data:\
  \/usr/share/yudit/data. example: /uniconv -decode Hungarian -encode iso-8859-2 example: Sinai Ga'spa'r <eof>

Dagli esempi visti, volendo aprire il file prova.txt che inizialmente risulta scritto secondo la codifica ISO 8859-1, si potrebbe usare il comando seguente:

yudit -e iso-8859-1 prova.txt[Invio]

Figura 256.3. Yudit avviato per modificare un file secondo la codifica ISO 8859-1.

yudit-iso-8859-1

Durante il funzionamento dell'eseguibile yudit è possibile controllare l'inserimento dei caratteri da tastiera attraverso la selezione del pulsante <Input>, dal menù di bottoni che appare sulla parte superiore del riquadro, che però non si mostra con il suo nome:

yudit-menu-input

Selezionando il pulsante grafico che si vede evidenziato nella figura, si ottiene una finestra, come nella figura 256.5.

Figura 256.5. La finestra che si ottiene selezionando il pulsante <Input> dal menù.

yudit-menu-input-aperto

Il significato di questo riquadro può risultare oscuro al primo momento; in particolare, nella colonna centrale appare un elenco di nomi, che rappresentano un modo di inserire codici da tastiera, associati ai tasti funzionali, da [F1] a [F12]. Cambiando la modalità di inserimento, cambia il modo in cui si può usare la tastiera: nella colonna di destra si vede in che modo si possono indicare i caratteri più comuni. Per esempio, se si seleziona l'inserimento unicode, per scrivere la lettera «È», si può scrivere u00C8 (si noti che però quanto suggerito sulla colonna di destra potrebbe anche essere errato, ma basta fare qualche tentativo per capire cosa serve veramente).

La colonna a sinistra del riquadro che consente di intervenire nella modalità di inserimento dei caratteri contiene un elenco numeroso di possibilità, che però vanno associate a uno dei 12 tasti, da [F1] a [F12], della colonna centrale. Per esempio, volendo utilizzare la modalità di inserimento denominata SGML, associandola al tasto [F12], si seleziona il nome SGML nella colonna sinistra; si seleziona la voce utilizzata attualmente per il tasto [F12], quindi si seleziona il pulsante grafico che si trova tra la prima e la seconda colonna, in modo da rimpiazzare il nome SGML in quella voce del tasto [F12].

Yudit è un programma molto buono, ma non necessariamente perfetto; pertanto, è probabile che ogni modalità di inserimento abbia i propri difetti. Si tratta di conoscere delle alternative, in modo da poter scegliere cosa funziona meglio per i propri scopi.

L'ultimo pulsante grafico del menù di Yudit serve a modificare il tipo di codice di interruzione di riga. In generale è possibile scegliere tra:

Nome Corrispondenza Utilizzo
Unix <LF> Usato nella maggior parte dei sistemi Unix, compresi i sistemi GNU.
DOS <CR><LF> Usato nei sistemi Dos e MS-Windows.
MAC <CR>

Il secondo pulsante grafico, a partire da sinistra, che appare sulla riga del menù serve a salvare il file:

yudit-menu-save

Usando Yudit si può osservare che il colore del pulsante cambia quando si modifica il file ed è così richiesto di salvare. Selezionando questo pulsante si ottiene un riquadro, con il quale è possibile cambiare il tipo di codifica; lo si vede nella figura 256.7.

Figura 256.7. La finestra che si ottiene selezionando il pulsante <Save>.

yudit-save

Eventualmente, Yudit consente di impartire dei comandi verbali, agendo nel riquadro inferiore. Per esempio, si può usare il comando help per caricare un file contenente le istruzioni generali sul suo funzionamento.

Dei programmi che compongono Yudit è interessante uniprint, che consente di generare un file PostScript da un file di testo, se però sono disponibili i caratteri necessari.

uniprint [-out file_ps] [-in file_txt] [-decode codifica] \
  \[-font file_ttf] [-size dimensione_carattere]

Quello che si vede è una riduzione del modello sintattico complessivo, che prevede anche altre opzioni; in particolare, si può osservare il fatto che la conversione in PostScript richiede l'utilizzo di caratteri TrueType. Per questa ragione, è possibile specificare il file contenente le informazioni sul carattere da usare per la conversione, assieme alla dimensione preferita. L'esempio seguente serve a convertire il file prova.txt nel file prova.ps:

uniprint -out prova.ps -in prova.txt[Invio]

In questo caso, non avendo specificato l'opzione -decode, si intende che il file prova.txt utilizzi la codifica UTF-8; diversamente, si possono utilizzare le codifiche riconosciute da uniconv, come già descritto in precedenza.

Appunti di informatica libera 2004.10.10 --- Copyright © 2000-2004 Daniele Giacomini -- <daniele (ad) swlibero·org>, <daniele·giacomini (ad) poste·it>


1) Recode   GNU GPL

2) Iconv   GNU GPL

3) Gedit   GNU GPL

4) Yudit   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome applicativi_utili_durante_la_fase_di_transizione_alla_codifi.html

[successivo] [precedente] [inizio] [fine] [indice generale] [violazione licenza] [translators] [docinfo] [indice analitico]

Valid ISO-HTML!