Écrire en vietnamien: maintenant intégré à Linux
Je viens de faire un upgrade de ma machine en profitant de la nouvelle distribution d'Ubuntu, la 8.04 (Hardy Heron).
Citation:
Ubuntu est une distribution de Linux qui est essentiellement basée sur Debian. Elle est moins rigide que Debian quant à inclure des drivers de l'industrie, ce qui la met à la portée du grand public: On peut la faire tourner sur une machine sous la forme d'un "Live CD", qui n'écrit rien sur la machine mais permet d'évaluer s'il y a des problèmes avec le hardware avant l'installation.
J'ai installé Ubuntu 8.04 sur quelques machines depuis sa sortie (il y a 10 jours) avec 100% de succès pour la reconnaissance du hardware.
Jusqu'ici, pour écrire en vietnamien sur Linux, il fallait essentiellement passer par un filtre de clavier tel que ceux décrits ici.
Ces filtres, qui fonctionnent bien, demandent pourtant un peu d'effort pour l'installation: une petite compilation par-ci, un peu de tweak par-là, somme toute, le confort de l'utilisation se payait un peu au moment de l'installation. De plus, bien qu'officiellement sous licence GPL (open source), les versions les plus récentes (dont une sortie hier pour la nouvelle distribution Ubuntu 8.04) ne sont pas publiées avec leurs sources, mais seulement sous la forme de packages prêts à installer --ce qui est contraire à la licence @#&^&*!!! On se retrouve comme je disais ailleurs tout-à-l'heure dans la situation très inconfortable des Windowsiens qui doivent faire une confiance aveugle à l'auteur et aux éventuels bidouilleurs qui leur fournissent des applets comme celle-ci. Pourquoi chercher Linux si c'est pour retomber dans l'à-peu-près et les boites noires?
Je suis donc très heureux de constater qu'Ubuntu 8.04 inclut par défaut SCIM, qui permet de faire du vietnamien sans rien installer d'autre que des packets authentifiés par le projet Ubuntu.
Comme disait Hoa Mai il y a quelques temps: Youpi!
Un petit tweak de geek pour faire tourner rondement SCIM en VNI
Je me suis rendu compte que la méthode VNI proposée dans SCIM a un petit défaut: elle ne gère pas correctement les y accentués (on n'en a guère besoin que pour "ý kiến" (idée), mais c'est dommage quand-même).
Voilà la solution: comme les fichiers de config sont très simples, il suffit de changer un tout petit peu les déclarations au début (la fin du fichier est en fait complète et gère tous les cas de figure demandés, on peut l'étoffer si on veut taper les tons en sens inverse).
Ouvrez /usr/share/m17n/vi-vni.mim
À la fin de:
Citation:
(title "ắ(VNI)")
(map
(starter
("a" (set V ?a)) ("A" (set V ?A)) ("e" (set V ?e)) ("E" (set V ?E))
("i" (set V ?i)) ("I" (set V ?I)) ("o" (set V ?o)) ("O" (set V ?O))
("u" (set V ?u)) ("U" (set V ?U)) ("d" (set V ?d)) ("D" (set V ?D)))
rajoutez juste "("y" (set V ?y)) ("Y" (set V ?Y))" dans les parenthèses les plus grandes, ca fait:
Citation:
(title "ắ(VNI)")
(map
(starter
("a" (set V ?a)) ("A" (set V ?A)) ("e" (set V ?e)) ("E" (set V ?E))
("i" (set V ?i)) ("I" (set V ?I)) ("o" (set V ?o)) ("O" (set V ?O))
("u" (set V ?u)) ("U" (set V ?U)) ("d" (set V ?d)) ("D" (set V ?D))
("y" (set V ?y)) ("Y" (set V ?Y)))
Et un peu plus bas, ajoutez dans la partie vni-map:
("y" ?y)
("Y" ?Y)
juste après
("d" ?d)
("D" ?D)
Ca fait:
Citation:
(vni-map
("a" ?a)
("A" ?A)
[...]
("d" ?d)
("D" ?D)
("y" ?y)
("Y" ?Y)
[...]
Et voilà. Redémarrez X(*) et c'est "hết ý" (super).
SCIM a l'inconvénient de sa simplicité: il ne gère pas l'ajout de tons à la fin de mots ou le changement de ton a postériori. De même, apparemment il ne passe pas bien avec les chat (Skype, Pidgin), (à voir).
Ces légers inconforts sont un bien faible prix pour pouvoir faire fonctionner son OS préféré nativement en vietnamien.
(*) Sous Ubuntu, c'est aussi simple que $ sudo /etc/init.d/gdm restart dans un terminal.
Tous, tous, tous les accents!
Hellooooo, hello hello helloooooooo!
Voilà un Nem Chua tout content: ca fait quelques jours que j'essaie d'élargir l'écriture des accents vietnamiens à ceux du français, et que je me heurte à un peu de frustration. Mais voilà j'ai trouvé comment le faire marcher, et du coup, je peut écrire jeûne, Août, français, naïf et cœtera.
La clé était de ne pas lui donner un nouveau nom. Le mode de saisie doit être référencé dans une DB quelconque, mais je n'ai pas trouvé laquelle.
La doc de m17n n'est vraiment pas à la hauteur de ce qu'on attend normalement du monde open source. Je suis sur que ces questions seront résolues très vite dès que l'auteur (un Chinois nommé James Su) aura pris le temps de documenter son travail.
En tout cas, ca tourne. Youpi.
Je suis un toutou heureux, me voilà tout aussi baveux que quand j'ai trouvé un nonos. Ce soir, je vais à la niche en remuant la queue!
Nem Ze Chua
Pour claviers anglais; voici ma version de vi-vni.mim.
Code:
;; vi-vni.mim -- Input method for Vietnames with VNI key sequence
;; Copyright (C) 2005
;; National Institute of Advanced Industrial Science and Technology (AIST)
;; Registration Number H15PRO112
;; This file is part of the m17n database; a sub-part of the m17n
;; library.
;; The m17n library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public License
;; as published by the Free Software Foundation; either version 2.1 of
;; the License, or (at your option) any later version.
;; The m17n library is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; Lesser General Public License for more details.
;; You should have received a copy of the GNU Lesser General Public
;; License along with the m17n library; if not, write to the Free
;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
;; 02111-1307, USA.
(input-method vi vni)
(description "Vietnames input method using the VNI key sequence
It is based on the information at:
http://vietunicode.sourceforge.net/inputmethod.html
")
(title "ắ(VNI)")
(map
(starter
("a" (set V ?a)) ("A" (set V ?A)) ("e" (set V ?e)) ("E" (set V ?E))
("i" (set V ?i)) ("I" (set V ?I)) ("o" (set V ?o)) ("O" (set V ?O))
("u" (set V ?u)) ("U" (set V ?U)) ("d" (set V ?d)) ("D" (set V ?D))
("y" (set V ?y)) ("Y" (set V ?Y)) ("c" (set V ?c)) ("C" (set V ?C)))
(vni-map
("a" ?a)
("A" ?A)
("c" ?c)
("C" ?C)
("d" ?d)
("D" ?D)
("e" ?e)
("E" ?E)
("i" ?i)
("I" ?I)
("o" ?o)
("O" ?O)
("u" ?u)
("U" ?U)
("y" ?y)
("Y" ?Y)
("a1" ?á)
("A1" ?Á)
("a2" ?à)
("A2" ?À)
("a3" ?ả)
("A3" ?Ả)
("a4" ?ã)
("A4" ?Ã)
("a5" ?ạ)
("A5" ?Ạ)
("a6" ?â)
("A6" ?Â)
("a8" ?ă)
("A8" ?Ă)
("c9" ?ç)
("C9" ?Ç)
("d9" ?đ)
("D9" ?Đ)
("e1" ?é)
("E1" ?É)
("e2" ?è)
("E2" ?È)
("e3" ?ẻ)
("E3" ?Ẻ)
("e4" ?ẽ)
("E4" ?Ẽ)
("e5" ?ẹ)
("E5" ?Ẹ)
("e6" ?ê)
("E6" ?Ê)
("i1" ?í)
("I1" ?Í)
("i2" ?ì)
("I2" ?Ì)
("i3" ?ỉ)
("I3" ?Ỉ)
("i4" ?ĩ)
("I4" ?Ĩ)
("i5" ?ị)
("I5" ?Ị)
("i6" ?î)
("I6" ?Î)
("i8" ?ï)
("I8" ?Ï)
("o1" ?ó)
("O1" ?Ó)
("o2" ?ò)
("O2" ?Ò)
("o3" ?ỏ)
("O3" ?Ỏ)
("o4" ?õ)
("O4" ?Õ)
("o5" ?ọ)
("O5" ?Ọ)
("o6" ?ô)
("O6" ?Ô)
("o7" ?ơ)
("O7" ?Ơ)
("o8" ?ö)
("O8" ?Ö)
("o9" ?œ)
("O9" ?Œ)
("u1" ?ú)
("U1" ?Ú)
("u2" ?ù)
("U2" ?Ù)
("u3" ?ủ)
("U3" ?Ủ)
("u4" ?ũ)
("U4" ?Ũ)
("u5" ?ụ)
("U5" ?Ụ)
("u6" ?û)
("U6" ?Û)
("u7" ?ư)
("U7" ?Ư)
("u8" ?ü)
("U8" ?Ü)
("y1" ?ý)
("Y1" ?Ý)
("y2" ?ỳ)
("Y2" ?Ỳ)
("y3" ?ỷ)
("Y3" ?Ỷ)
("y4" ?ỹ)
("Y4" ?Ỹ)
("y5" ?ỵ)
("Y5" ?Ỵ)
("a61" ?ấ)
("A61" ?Ấ)
("a62" ?ầ)
("A62" ?Ầ)
("a63" ?ẩ)
("A63" ?Ẩ)
("a64" ?ẫ)
("A64" ?Ẫ)
("a65" ?ậ)
("A65" ?Ậ)
("a81" ?ắ)
("A81" ?Ắ)
("a82" ?ằ)
("A82" ?Ằ)
("a83" ?ẳ)
("A83" ?Ẳ)
("a84" ?ẵ)
("A84" ?Ẵ)
("a85" ?ặ)
("A85" ?Ặ)
("e61" ?ế)
("E61" ?Ế)
("e62" ?ề)
("E62" ?Ề)
("e63" ?ể)
("E63" ?Ể)
("e64" ?ễ)
("E64" ?Ễ)
("e65" ?ệ)
("E65" ?Ệ)
("o61" ?ố)
("O61" ?Ố)
("o62" ?ồ)
("O62" ?Ồ)
("o63" ?ổ)
("O63" ?Ổ)
("o64" ?ỗ)
("O64" ?Ỗ)
("o65" ?ộ)
("O65" ?Ộ)
("o71" ?ớ)
("O71" ?Ớ)
("o72" ?ờ)
("O72" ?Ờ)
("o73" ?ở)
("O73" ?Ở)
("o74" ?ỡ)
("O74" ?Ỡ)
("o75" ?ợ)
("O75" ?Ợ)
("u71" ?ứ)
("U71" ?Ứ)
("u72" ?ừ)
("U72" ?Ừ)
("u73" ?ử)
("U73" ?Ử)
("u74" ?ữ)
("U74" ?Ữ)
("u75" ?ự)
("U75" ?Ự))
(escape
("\\"))
(cancel
("0"))
(backspace
((BackSpace))))
(state
(init
(starter (pushback 1) (shift main)))
(main
(vni-map (shift fini))
(nil (shift init)))
(fini
(backspace (undo))
(escape (shift init))
(cancel (delete 0) (insert V) (shift init))))
;; Local Variables:
;; coding: utf-8
;; mode: lisp
;; End:
écrire en vietnamien sous linux devient tres simple
je me permets de vous signaler le paquet xvnkb-scim-unikey réunissant les 3 outils pour la frappe en vietnamien. Ceci est valable pour tout ubuntu ou fedora
y compris en livecd !
Il suffit de cliquer pour l'installer et ...l'utiliser !
wangji.hoan - xvnkb-scim-unikey
il existe un fil de discussion sur scim & ubuntu
tại diễn đàn mã nguồn mở ,trang thảo luận chung :
VnOSS forum / scim và ubuntu-7.04 : gõ tiếng việt