sw

Una breve carrellata sui software più diffusi per il trattamento dei testi e lo studio del cinese.

  • NJStar: prodotto dalla “NJStar Software”, una ditta australiana. Tra i prodotti c’è NJWIN, un visualizzatore che permette agli altri programmi di mostrare i caratteri cinesi, giapponesi e coreani senza bisogno di installare i “language pack”. C’è poi un word processor per la scrittura, con dizionario incorporato.
  • Chinese Star sviluppato dalla SunTendy alla Beijing University, Chinese Star è un add-on product che aggiunge le funzionalità di word processing in cinese alle altre applicazioni.
    Il sito americano è questo.
  • RichWin della Stone Richsight, più o meno ha le stesse funzionalità di Chinese Star.
  • TwinBridge della TwinBridge Software Corporation, una ditta californiana. L’offerta comprende vari prodotti, ci sono anche demo scaricabili dal sito.
  • Unionway, una ditta americana, hanno una suite di prodotti multilingua, AsianSuite, che permette di usare cinese, giapponese e coreano in vari contesti.
  • Un software poco noto è DingDang, me lo ricordo ancora quando era un programma per DOS; non ho provato le versioni recenti ma sembra interessante. Qualcuno lo usa, o l’hao provato?
  • KEY Software, ha una caratteristica interessante:
    è in grado di generare una voce che legge a voce alta un testo qualsiasi. Impressionante.

mandarin

Un post su un frammento di Cina che non sembra essere di dominio pubblico.
Almeno, quando lo dico a qualcuno vengo guardato come un pazzo.
Il fatto è che la parola “mandarino” non deriva dal frutto preferito dell’imperatore, bensì dal portoghese “mandar” (comandare).
Oppure, a seconda della fonte consultata, dallo spagnolo “mandarín“, o dal malese “menteri“, o dal sanscrito “mantrī“.
Il termine indica in prima istanza i funzionari imperiali (官吏, guānlì), e quindi la lingua da loro parlata, che era quella della capitale imperiale e che oggi è nota come 普通话 (pǔtōnghuà).

informatica03

Visto che nel mondo si stavano facendo i primi passi nell’informatica, i cinesi ad un certo punto decisero che bisognava inventarsi un encoding per i caratteri, e se ne uscirono con il codice GB, che sta per 国家标准码 (Guójiā Biáozhǔn mǎ, “standard nazionale”).
Il nome ufficiale sarebbe “GB 2312-80 character set standard”; è stato sviluppato in Cina nel 1981 allo specifico scopo di rappresentare i caratteri cinesi semplificati.
Ci sono stati degli aggiornamenti ed estensioni negli anni, portando GB 6345.1-86, GB 8562.2-88, e ISO-IR-165:1992.
Il codice GB viene utilizzato in Cina popolare e a Singapore, e in generale in tutti i posti dove si usano caratteri semplificati.
GB 2312-80 elenca 7445 caratteri, di cui 6763 Hanzi e 682 non-Hanzi.
Gli Hanzi sono raggruppati in due livelli: livello 1 (3755 caratteri) sono ordinati per Pinyin mentre quelli nel livello 2 sono ordinati per radicale e quindi tratti (tanto per confondere il nemico).
La specifica dice che per rappresentare un carattere ci vogliono due byte, e sono tutti e due inferiori al 128.
Nelle implementazioni correnti però si è deciso di tenere il bit più significativo a uno, per cui sono tutti superiori al 128.
Un file in formato GB si presenta grosso modo così:


´óÎåÂë
¹ú¼Ò±ê×¼Âë
¹ú±ê

informatica02

Continuazione del post sull’informatica.
Alla base di tutti gli encoding sta il problema dell’ordinamento dei caratteri; il problema che era sentito anche nell’antichità, si pensi alla stesura dei dizionari storici.
Il più familiare è l’ordinamento per radicali: classificare i caratteri per radicale e poi ordinare ogni insieme di caratteri appartenenti allo stesso radicale in base al numero di tratti necessari per scrivere il resto.
Questo metodo risale alla dinastia Han ed è usato ancora oggi.
L’ordinamento fatto unicamente in base al numero di tratti viene utilizzato quando i caratteri da ordinare sono pochi.
Per esempio: un elenco di partecipanti ad una conferenza, o una lista di località.
Il metodo dei “Cinque tratti” è stato introdotto negli anni ’50, viene chiamato 扎 (zhá) perché il carattere presenta tutti i cinque tratti nell’ordine giusto.
Ci sono comunque tantissimi metodi, tra cui il “Four corner code” che sincermente non sono mai riuscito a capire, e il “Telegraph code“, usato nelle trasmissioni telegrafiche.
Quest’ultimo non è altro che un elenco di caratteri; ad ognuno è associato un numero.
Fine del metodo.

informatica01

Andiamo oggi a presentare una serie di post riguardo il trattamento dei testi nelle lingue orientali.
Incominciamo da tre definizioni fondamentali:

  1. Repertorio: un insieme di caratteri. Il concetto è simile a quello dell’alfabeto. Non viene fatta nessuna assunzione sull’utilizzo di questo insieme di caratteri in un computer. I caratteri solitamente hanno un nome tipo “A maiuscola”, “IPSILON”.
  2. Code: è una associazione uno a uno tra caratteri appartenenti ad un determinato insieme e un insieme di valori numerici.
  3. Encoding: un metodo (algoritmo) per rappresentare caratteri in un formato digitale, associando i character code a sequenze di byte.

Un esempio di repertorio (character repertoire) è l’alfabeto della lingua italiana, oppure quello cirillico, o l’alfabeto greco.
Il concetto di repertorio non implica nessuna connotazione informatica: si può fare sulla carta.
Se prendo i numero da uno a 26 e li associo alle lettere dell’alfabeto, ho fatto un code.
Anche in questo caso, non c’è una relazione diretta con il mondo dei computer.
Nota bene: Unicode è un character code, infatti è solamente un (lunghissimo) elenco di caratteri.
Il concetto di encoding inizia ad avere senso quando bisogna pensare a come rappresentare nella memoria di un computer i numeri associati ai caratteri.
Infatti Unicode prevede svariate decine di migliaia di caratteri, e chiunque potrebbe svegliarsi alla mattina e decidere di allineare i bit dei propri programmi a suo piacimento (è già successo).
Siccome questo porterebbe alla più completa incompatibilità, si è pensato di stabilire un sistema uguale per tutti.
Questo chiaramente ha portato a diverse guerre e carneficine tra i sostenitori delle varie versioni.
No, scherzo; comunque la maniera più efficiente è senza dubbio UTF-8, che quindi è un modo per rappresentare i caratteri Unicode esattamente come EUC, UTF-16 eccetera.

linux-utf-8

Riepilogo brevemente i passi necessari per configurare Linux in
modo da poter scrivere testi in cinese con encoding UTF-8.

Queste osservazioni sono valide per un Linux Debian.

1) Prima di tutto bisogna installare i locales, con il comando

apt-get install locales

oppure, se il pacchetto risulta già installato, eseguire

dpkg-reconfigure locales

Aggiungere i locales desiderati, in modo da arrivare ad una lista del genere:

en_GB.UTF-8 UTF-8
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
zh_CN GB2312
zh_CN.UTF-8 UTF-8

La lista sta nel file /etc/locale.gen

2) Installare i font cinesi, ce ne sono di carini nel package xfonts-base.

3) Installare i pacchetti scim e scim-chinese

4) Dopodiché sarà sufficiente lanciare uno script del genere:

#!/bin/sh

export LANG=zh_CN.UTF-8
export LC_CTYPE=zh_CN.UTF-8
export XMODIFIERS="@im=Chinput"

killall kinput
killall chinput
/usr/bin/chinput &
sleep 1

xterm -u8 -fn "-misc-fixed-medium-r-normal--18-120-100-100-c-90-iso10646-1" -fw "-misc-fixed-medium-r-normal-ja-18-120-100-100-c-180-iso10646-1" -bg "#303030" -fg yellow &

E’ tutto!
All’interno del nuovo xterm, si potrà usare il mitico vim
per scrivere a piacimento.
scim è veramente ottimo.
Per attivarlo, premere Control + spazio.

Riferimenti:
http://www.jw-stumpel.nl/stestu.html