[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico] [volume] [parte]


Capitolo 221.   X: metodi di inserimento intelligente con SCIM

La tastiera per elaboratore nasce come evoluzione di quella della macchina da scrivere, secondo una logica «occidentale», dove i caratteri tipografici sono in un numero molto limitato. Per scrivere i caratteri di lingue che ne annoverano una quantità maggiore, occorre un sistema alternativo di inserimento, che di solito si basa su una forma di traslitterazione a partire dall'alfabeto latino; per esempio, nel caso della lingua cinese, di solito si attribuiscono dei nomi ai caratteri.

Con X, per realizzare l'obiettivo della scrittura con caratteri di lingue orientali che utilizzano molti simboli, si usa normalmente un programma che viene attivato dalle applicazioni che richiedono l'inserimento, attraverso una combinazione di tasti che viene interpretata dalle applicazioni stesse. In pratica, se la configurazione locale è attinente, le applicazioni tendono a dare un significato particolare a certe combinazioni di tasti, con le quali attivano o disattivano il programma di inserimento guidato dei caratteri di una certa lingua.

221.1   SCIM

SCIM,(1) ovvero Smart common input method, viene definita una «piattaforma» per diversi metodi di inserimento intelligente. SCIM è principalmente un servente che viene interpellato dai programmi grafici quando richiesto attraverso la combinazione di tasti [Ctrl Spazio]. Questo servente, che costituisce la piattaforma SCIM, si avvale di moduli specifici per ogni metodo di inserimento. Questi moduli si chiamano genericamente IMEngine (Input method engine) e a seconda della presenza di questo o di quel modulo, SCIM è in grado di offrire il metodo di inserimento intelligente relativo.

Di solito, la piattaforma SCIM viene avviata come demone a uso di un utente singolo (se più utenti accedono allo stesso elaboratore, ognuno avvia la sua copia del demone):

scim [opzioni]

In condizioni normali, si usa solo l'opzione -d, con la quale si ottiene proprio il funzionamento del programma scim in qualità di demone, sullo sfondo:

scim -d[Invio]

Launching a SCIM daemon with Socket FrontEnd...
Loading simple Config module ...
Creating backend ...
Loading socket FrontEnd module ...
Starting SCIM as daemon ...
Launching a SCIM process with x11...
Loading socket Config module ...
Creating backend ...
Loading x11 FrontEnd module ...
GTK Panel of SCIM 1.4.4
SCIM has been successfully launched.
Smart Common Input Method 1.4.4

Come si può intuire dall'esempio, il demone scim va avviato nell'ambito del sistema grafico X, eventualmente da una finestra di terminale, se non è possibile fare di meglio. Tuttavia, occorre predisporre prima delle variabili di ambiente:

XMODIFIERS='@im=SCIM'
GTK_IM_MODULE="scim"
QT_IM_MODULE="scim"
export XMODIFIERS
export GTK_IM_MODULE
export QT_IM_MODULE
#
scim -d

221.2   Attivazione del metodo di inserimento intelligente

Una volta definite le variabili di ambiente e il demone scim come descritto nella sezione precedente, alcuni programmi associano senza altre preoccupazioni la combinazione di tasti [Ctrl Spazio] all'emersione di un programma frontale con il quale si può dichiarare il tipo di metodo di inserimento preferito (in base ai moduli disponibili).

Figura 221.3. Il pannellino di selezione per il metodo di inserimento intelligente.

scim panel gtk

Figura 221.4. Il menù di selezione del metodo di inserimento intelligente.

scim panel gtk menu

221.3   La configurazione locale

Alcuni programmi, alla pressione della combinazione [Ctrl Spazio] attivano sempre il pannellino di controllo di SCIM, ammesso che il demone scim sia disponibile; altri programmi lo fanno solo se la configurazione locale è appropriata, secondo il loro punto di vista.

Per esempio, OpenOffice è uno di quei programmi che necessitano di una configurazione locale «orientale». Esempi di tali configurazioni sono zh_CN.UTF-8 e ja_JP.UTF-8; naturalmente si richiede l'uso dell'insieme di caratteri universale, attraverso la codifica UTF-8.

Come è noto, per impostare il linguaggio è sufficiente assegnare un valore alla variabile di ambiente LANG, per farlo ereditare in modo predefinito a tutte le altre variabili LC_*. Tuttavia, se lo si preferisce, al fine di attivare le funzioni di SCIM, è sufficiente che la variabile di ambiente LC_CTYPE sia impostata in questo modo. Si vede l'esempio della configurazione cinese comune, in entrambi i casi (nel secondo caso la configurazione locale predefinita è quella della lingua italiana, con l'eccezione della variabile LC_CTYPE):

LANG=zh_CN.UTF-8
LANG=it_IT.UTF-8
LC_CTYPE=zh_CN.UTF-8

L'utilizzo della variabile di ambiente LC_CTYPE, con una configurazione locale differente da quella complessiva, ha però degli effetti collaterali. In particolare, supponendo di utilizzare proprio la configurazione dell'ultimo esempio mostrato (in generale lingua italiana, mentre LC_CTYPE è impostata per il cinese), si ottiene sì un ambiente che comunica in italiano, consentendo l'uso di una modalità di inserimento cinese (e probabilmente anche di altre lingue), ma l'inserimento di valori numerici potrebbe richiedere l'uso del punto per separare la parte intera da quella decimale (mentre in italiano si richiede l'uso della virgola).

221.4   Utilizzo

Per inserire effettivamente i caratteri desiderati, dopo avere selezionato il metodo di inserimento, occorre passare all'applicazione nella quale va inserito il testo e si procede digitando la traslitterazione dei caratteri voluti. A seconda del metodo di inserimento, si ottiene un meccanismo di completamento, eventualmente con la proposta di un certo numero di caratteri alternativi da scegliere, come si vede nella figura successiva. Per selezionare un carattere in questo modo, è sufficiente premere il numero corrispondente, oppure si può agire con il mouse, in modo abbastanza intuitivo.

Figura 221.7. Esempio di inserimento di un testo in cinese: inserendo la sequenza «mu», si ottiene un elenco di caratteri alternativi che possono corrispondere.

esempio di utilizzo

Si osservi che, quando si usa un programma di scrittura, è necessario che il tipo di carattere scelto contenga i simboli che si vogliono inserire. Solo i programmi più evoluti provvedono da soli a cambiare il tipo di carattere quando quello originario non li contiene.

Figura 221.8. Esempio di inserimento di un testo in cinese con una finestra di terminale.

esempio di utilizzo

Appunti di informatica libera 2007.02 --- Copyright © 2000-2007 Daniele Giacomini -- <daniele (ad) swlibero·org>


1) SCIM   GNU GPL


Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome x_metodi_di_inserimento_intelligente_con_scim.htm

[successivo] [precedente] [inizio] [fine] [indice generale] [indice ridotto] [indice analitico]

Valid ISO-HTML!

CSS validator!