Les dictionnaires sur la Debian (2)

ENTRAVAUX

Cette page rassemble les notes relatives aux correcteurs orthographiques et outils apparentés.

Hunspell

Hunspell a succédé à MySpell, en conservant une compatibilité avec les dictionnaires de ce dernier, tout en intégrant le support de l'unicode.

Il est décrit comme l'outil utilisé par OpenOffice.org à partir de la version 2.0.2, Mozilla Firefox, Mozilla Thunderbird à partir de la version 3.

Cependant, l'installation du correcteur lui-même n'est nécessaire ni pour Open-Office (qui n'a besoin que des dictionnaires - listes de mots et d' affixes) ni pour Firefox (l'activation d'un correcteur linguistique dans celui-ci s'effectue au niveau de l'utilisateur via une extension - voir plus loin).

L'installation d'un dictionnaire n'impose pas celle du correcteur dans les dépendances. À l'opposé, si on installe le programme hunspell, il y aura une vérification qu'au moins un dictionnaire est installé. Si ce n'est pas le cas, le dictionnaire anglais-américain sera installé. Mais bizarrement, ça sera celui pour Myspell:

 # apt-get install hunspell
 Lecture des listes de paquets... Fait
 Construction de l'arbre des dépendances       
 Lecture des informations d'état... Fait
 Les paquets supplémentaires suivants seront installés : 
   myspell-en-us
 Les NOUVEAUX paquets suivants seront installés :
   hunspell myspell-en-us

L'installation d'un dictionnaire invoque la commande update-openoffice-dicts qui ajoute le dictionnaire à la liste de ceux utilisés par Open-Office, dans /etc/openoffice/dictionary.lst

  fantasio:/home/gv# cat  /etc/openoffice/dictionary.lst
  ## List of All Dictionaries to be Loaded by OpenOffice.org
  ## ---------------------------------------------------
  [...]
  ## !!! BEGIN AUTOMATIC SECTION -- DO NOT CHANGE !!!
  ## !!! ADD YOUR ADDITIONAL ENTRIES BELOW THIS SECTION !!!
  DICT en US en_US   
  DICT fr FR fr_FR   
  DICT fr BE fr_FR   
  DICT fr CA fr_FR   
  DICT fr CH fr_FR   
  DICT fr LU fr_FR   
  DICT fr MC fr_FR   
  ## !!! END AUTOMATIC SECTION -- DO NOT CHANGE !!!

Les langues supportées par des dictionnaires spécifiquement dédiés à Hunspell sont assez réduites1. Mais les dictionnaires de Myspell, plus nombreux, peuvent être utilisés également.

Les dictionnaires sont rangés dans /usr/share/myspell/dicts/

usage

Hunspell est assez pratique en mode interactif, en l'invoquant sans nom de fichier, pour trouver l'orthographe d'un seul mot (terminer avec Contrôle-d):

 gv@fantasio:~$ hunspell -d fr_FR
 Hunspell 1.2.6
 occuppé
 & occuppé 1 0: occupé
 
 abbréviation
 & abbréviation 1 0: abréviation
 Ctl-D

Mais son interface est moins conviviale que celle d'aspell lors de la correction d'un fichier, et, pour ce que j'en ai essayé, il s'arrête sur les article abréviés et autres mots utilisant l'apostrophe, ce qui est agaçant.

En conclusion...

...se rappeler que chaque fois qu'on installe une liste de mots pour Hunspell (ainsi que pour Myspell), celle-ci sera utilisée pour la langue correspondante dans Open-Office. Mais que l'installation d'Hunspell n'est nécessaire qui si on a besoin d'un correcteur en ligne de commande, auquel cas on peut cependant lui préférer Aspell.

Aspell

usage

Pour tester l'orthographe d'un mot depuis la ligne de commande (terminer avec contrôle+d):

  gv@fantasio:~$ aspell -a
  @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6) 
  beaucoups
  & beaucoups 11 0: beau coups, beau-coups, beaucoup, à-coups, coups,
  d'à-coups, aucuns, à-coup, baculs, d'à-coup, l'à-coup
   
  baucoup
  & baucoup 10 0: beaucoup, à-coup, coup, à-coups, aucun, bacul, d'à-coup,
  l'à-coup, d'à-coups, d'aucun
   
  beaucoup
  *
  Ctl-D

On peut utiliser de la même façon

  gv@fantasio:~$ aspell pipe
  @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.6)

Pour vérifier un fichier:

Avec Vim

Utiliser ce qui est proposé sur http://aspell.net/man-html/Using-Aspell-with-other-Applications.html : ajouter ceci dans son .vimrc

  map <F2> :w!<CR>:!aspell check %<CR>:e! %<CR>

Ajouter l'option --mode=email permet d'éviter que le texte «quoté» (cité du correspondant dans une réponse, précédé de >) soit vérifié. On peut préciser ça ainsi si les fichiers temporaires de mutt sont enregistrés dans /tmp:

  au BufNewfile,BufRead /tmp/mutt-* map <F2> :w!<CR>:!aspell --mode=email \
  check %<CR>:e! %<CR>

Notes2.

AFAIRE compléter ce qui précède en fonction des développements de Vim.

Les dictionnaires propres à Vim sont disponibles là: http://ftp.vim.org/vim/runtime/spell/

Open-Office

Open-Office utilise les listes de mots d'Hunspell/Myspell, celles-ci étant rangées dans les deux cas dans /usr/share/myspell/dicts/.

Le répertoire /usr/lib/openoffice/share/dict/ooo est en fait un lien symbolique vers ce répertoire.

 $ ls -l /usr/lib/openoffice/share/dict/ooo
 lrwxrwxrwx 1 root root 31 oct 27 22:06 /usr/lib/openoffice/share/dict/ooo -> ../../../../share/myspell/dicts

Pour un dictionnaire français pour Open-Office, si on s'en tient à ceux disponibles via les paquets Debian, on a donc le choix entre

On ne peut en installer qu'un à la fois, l'installation de chacun d'entre eux retirant celui éventuellement présent. La liste des dictionnaires d'OpenOffice est mise à jour dans tous les cas.

On peut cependant trouver des liens vers d'autres dictionnaires plus à jour sur

http://wiki.services.openoffice.org/wiki/Dictionaries

Sur le site http://www.dicollecte.org/download.php , on trouve par ex. les dictionnaires français, dont l'archive hunspell_fr_3-4-1.zip correspond à la version de Writer installé sur la Debian Lenny (2.4.1).

Elle contient les fichiers fr.dic et fr.aff; les copier dans /usr/share/myspell/dicts/, puis modifier ainsi le fichier /etc/openoffice/dictionary.lst, de façon à que la mention du dictionnaire français soit en dehors de la zone modifiée par le gestionnaire de paquets.

  ## !!! BEGIN AUTOMATIC SECTION -- DO NOT CHANGE !!!
  ## !!! ADD YOUR ADDITIONAL ENTRIES BELOW THIS SECTION !!!
  DICT en US en_US   
  ## !!! END AUTOMATIC SECTION -- DO NOT CHANGE !!!
  
  DICT fr FR fr
  DICT fr BE fr

Firefox

L'utilisation du correcteur orthographique est bien décrite sur cette page. L'installation d'un dictionnaire supplémentaire, pour le français par exemple, se fait à partir d'un formulaire où l'on trouve un texte à corriger (il faut pour ça qu'il comprenne plus d'une ligne). À partir d'un clic droit, on se voit proposer les dictionnaires déjà installés, et la possibilité d'en télécharger d'autres.

http://support.mozilla.com/img/wiki_up/spellchecker-adddictionary.png

L'installation se fait dans le répertoire de l'utilisateur:

 .mozilla/firefox/********.default/extensions/fr-FR\@dictionaries.addons.mozilla.org/dictionaries/fr-FR.[dic-aff] 

et il y a donc malheureusement double emploi avec les dictionnaires installés pour hunspell.

Divers

Une comparaison des performances: http://aspell.net/test/

Un outil collaboratif pour améliorer les dictionnaires: http://code.google.com/p/dicollecte/. La page d'accueil en français offre aussi quelques liens à examiner: http://www.dicollecte.org/home.php?prj=fr

Footnotes:

1. Utiliser la commande
  $apt-cache search hunspell | grep "^hunspell-" | sort

soit quelques langues européennes (français, anglais, allemand, danois, hongrois, serbe) l'arabe et quelques langues assez exotiques (ouzbek, coréen...).

2. Bon tutoriel sur Vim+Mutt : http://www.road2mayotte.org/blog/?p=2311