Section courante

A propos

Section administrative du site

 Langage  Elément  Tutoriel  Aide 
ABAP/4
Ada
Assembleur
Assembly & bytecode
ASP (Active Server Pages)
Basic
C
C++
C# (C Sharp)
Cobol
ColdFusion
Fortran
HTML
Java
JavaScript
LISP
Logo
LotusScript
Oberon
Pascal
Perl
PHP
PL/1
Prolog
Python
Rebol
REXX
Ruby
Rust
SAS
NoSQL
SQL
Swift
X++ (Axapta)
GNAT
SMALLAda
VHDL
Assembleur 370
Assembleur 1802
Assembleur 4004
Assembleur 6502
Assembleur 6800
Assembleur 68000
Assembleur 8080 et 8085
Assembleur 8089
Assembleur 80x86
Assembleur AGC4
Assembleur ARM
Assembleur DPS 8000
Assembleur i860
Assembleur Itanium
Assembleur MIPS
Assembleur PDP-11
Assembleur PowerPC
Assembleur RISC-V
Assembleur SPARC
Assembleur SuperH
Assembleur UNIVAC I
Assembleur VAX
Assembleur Z80
Assembleur Z8000
Assembleur z/Architecture
ASSEMBLER/MONITOR 64
Micol Assembler
GFA Assembler
A86
MASM (Macro Assembler)
TASM (Turbo Assembler)
CIL
Jasmin
LLVM
MSIL
Parrot
P-Code (PCode)
SWEET16
G-Pascal
ASP 1.0
ASP 2.0
ASP 3.0
ASP.NET
ASP.NET Core
ABasiC (Amiga)
Adam SmartBASIC
Altair BASIC
AmigaBASIC (Amiga)
AMOS Basic (Amiga)
Atari Basic (Atari 400, 600 XL, 800, 800XL)
Basic Apple II (Integer BASIC/APPLESOFT)
Basic Commodore 64 (CBM-BASIC)
Basic Commodore 128 (BASIC 7.0)
Basic Commodore VIC-20 (CBM-BASIC 2.0)
Basic Coco 1 (Color Basic)
Basic Coco 2 (Extended Color Basic)
Basic Coco 3 (Extended Color Basic 2.0)
BASICA (PC DOS)
Basic Pro
BBC BASIC
Blitz BASIC (Amiga)
DarkBASIC
Dartmouth BASIC
GFA-Basic (Atari ST/Amiga)
GWBASIC (MS-DOS)
Liberty BASIC
Locomotive BASIC (Amstrad CPC)
MSX-Basic
Omikron Basic (Atari ST)
Oric Extended Basic
Power Basic
Quick Basic/QBasic (MS-DOS)
Sinclair BASIC (ZX80, ZX81, ZX Spectrum)
ST BASIC (Atari ST)
Turbo Basic
Vintage BASIC
VBScript
Visual Basic (VB)
Visual Basic .NET (VB .NET)
Visual Basic pour DOS
Yabasic
BeckerBASIC
SIMONS' BASIC
Basic09 d'OS-9
Disk Extended Color Basic
Basic09 d'OS-9
Disk Extended Color Basic
Access
Excel
Visual Basic pour Windows
Visual Basic .NET pour Windows
C Shell Unix (csh)
C pour Amiga
C pour Atari ST
C pour DOS
C pour Falcon030
C pour GEMDOS (Atari ST)
C pour Linux
C pour PowerTV OS
C pour OS/2
C pour Unix
C pour Windows
Aztec C
CoCo-C
GNU C
HiSoft C
IBM C/2
Introl-C
Lattice C
Microsoft C
MinGW C
MSX-C
Open Watcom C
OS-9 C Compiler
Pure C
Quick C
Turbo C
HiSoft C for Atari ST
HiSoft C for CP/M (Amstrad CPC)
C++ pour OS/2
C++ pour Windows
Borland C++
C++Builder
IBM VisualAge C++
Intel C++
MinGW C++
Open Watcom C++
Symantec C++
Turbo C++
Visual C++
Visual C++ .NET
Watcom C++
Zortech C++
C# (C Sharp) pour Windows
Apple III Cobol
Microsoft Cobol
BlueDragon
Lucee
OpenBD
Railo
Smith Project
Microsoft Fortran
WATFOR-77
CSS
FBML
Open Graph
SVG
XML
XSL/XSLT
LESS
SASS
GCJ (GNU)
JSP
Jython
Visual J++
Node.js
TypeScript
AutoLISP
ACSLogo
LotusScript pour Windows
Amiga Oberon
Oberon .NET
Apple Pascal
Delphi/Kylix/Lazarus
Free Pascal
GNU Pascal
HighSpeed Pascal
IBM Personal Computer Pascal
Lisa Pascal
Maxon Pascal
MPW Pascal
OS-9 Pascal
OSS Personal Pascal
Pascal-86
Pascal du Cray Research
Pascal/VS
Pascal-XT
PURE Pascal
QuickPascal
RemObjets Chrome
Sun Pascal
THINK Pascal
Tiny Pascal (TRS-80)
Turbo Pascal
UCSD Pascal
VAX Pascal
Virtual Pascal
Turbo Pascal for CP/M-80
Turbo Pascal for DOS
Turbo Pascal for Macintosh
Turbo Pascal for Windows
CodeIgniter (Cadre d'application)
Drupal (Projet)
Joomla! (Projet)
Phalanger (PHP .NET)
phpBB (Projet)
Smarty (balise)
Twig (balise)
Symfony (Cadre d'application)
WordPress (Projet)
Zend (Cadre d'application)
PL360
PL/M-80
PL/M-86
Turbo Prolog
CPython
IronPython
Jython
PyPy
AREXX
Regina REXX
JMP
Btrieve
Cassandra
Clipper
CouchDB
dBASE
Hbase
Hypertable
MongoDB
Redis
Access
BigQuery
DB2
H2
Interbase
MySQL
Oracle
PostgreSQL
SAP HANA
SQL Server
Sybase
U-SQL
Introduction
Les premiers pas
Préface
Notes légales
Dictionnaire
Recherche

Les premiers pas

Hunspell est une bibliothèque de vérification orthographique et d'analyse morphologique gratuite et un outil de ligne de commande, sous licence tri-licence LGPL/GPL/MPL.

Hunspell est utilisé par la suite bureautique LibreOffice, les navigateurs gratuits, comme Mozilla Firefox et Google Chrome, et d'autres outils et systèmes d'exploitation, comme les distributions Linux et macOS. C'est également un outil de ligne de commande pour Linux, les systèmes d'exploitation de type Unix et autres.

Il est conçu pour une vérification et une correction orthographique rapides et de haute qualité pour les langues avec un système d'écriture au niveau des mots, y compris les langues avec une morphologie riche, une composition de mots complexe et un codage de caractères.

Interfaces Hunspell : interface de terminal de type Ispell utilisant la bibliothèque Curses, interface de pipe Ispell, API C++/C et bibliothèque partagée, également avec des liaisons de langage existantes pour d'autres langages de programmation.

La base de code de Hunspell provient de la bibliothèque MySpell d'OpenOffice.org, développée par Kevin Hendricks (à l'origine une réimplémentation en C++ de la vérification orthographique et de l'apposition de l'Ispell international de Geoff Kuenning à partir de zéro, plus tard étendue avec des suggestions de n-grammes, par exemple), et ses fichiers README, CONTRIBUTORS et license.readme (ici : license.myspell).

Voici les principales fonctionnalités de la bibliothèque Hunspell, développée par László Németh :

Voici les principales caractéristiques de l'outil de ligne de commande Hunspell, développé par László Németh :

Traductions : Hunspell a déjà été traduit en plusieurs langues. Si votre langue est manquante ou incomplète, veuillez utiliser Weblate pour vous aider à traduire Hunspell.

Dépendances

Créer uniquement des dépendances :

g++ make autoconf automake autopoint libtool

Dépendances d'exécution :

  Obligatoire Facultatif
libhunspell    
hunspell tool libiconv gettext ncurses readline

Compilation sur GNU/Linux et Unix

Nous devons d'abord télécharger les dépendances. Sous Linux, gettext et libiconv font partie de la bibliothèque standard. Sur d'autres Unix, nous devons les installer manuellement.

Pour Ubuntu :

sudo apt install autoconf automake autopoint libtool

Exécutez ensuite les commandes suivantes :

autoreconf -vfi
./configure
make
sudo make install
sudo ldconfig

Pour le développement du dictionnaire, utilisez l'option --with-warnings de configure.

Pour l'interface utilisateur interactive de l'exécutable Hunspell, utilisez l'option --with-ui.

Paquets de développement facultatifs :

Dans Ubuntu, les paquets sont :

libncurses5-dev libreadline-dev

Compilation sur OSX et macOS

Sur macOS, utilisez toujours clang pour le compilateur et non g++ car les dépendances Homebrew sont construites avec cela :

brew install autoconf automake libtool gettext
brew link gettext --force

Ensuite, exécutez :

autoreconf -vfi
./configure
make

Compilation sous Windows

Compilation avec Mingw64 et MSYS2

Téléchargez Msys2, mettez à jour le tout et installez les paquets suivants :

pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-libtool

Ouvrez le prompt Mingw-w64 Win64 et compilez de la même manière que sous Linux, voir ci-dessus.

Compilation dans l'environnement Cygwin

Téléchargez et installez l'environnement Cygwin pour Windows avec les paquets supplémentaires suivants :

Compilez ensuite de la même manière que sous Linux. Les builds Cygwin dépendent de Cygwin1.dll.

Déboguage

Il est recommandé d'installer une version de débogage de la bibliothèque standard :

libstdc++6-6-dbg

Pour le débogage, nous devons créer une version de débogage, puis nous devons démarrer gdb :

./configure CXXFLAGS='-g -O0 -Wall -Wextra'
make
./libtool --mode=execute gdb src/tools/hunspell

Vous pouvez également transmettre les CXXFLAGS directement à make sans appeler ./configure, mais nous ne recommandons pas cette méthode lors de longues sessions de développement.

Tests

Tests de Hunspell (voir les tests dans le sous-répertoire tests/) :

make check

ou avec le débogueur Valgrind :

m ake check
VALGRIND=[Valgrind_tool] make check

Par exemple :

make check
VALGRIND=memcheck make check

Documentation

Caractéristiques et format du dictionnaire :

man 5 hunspell
man hunspell
hunspell -h

Utilisation

Après la compilation et l'installation, vous pouvez exécuter le correcteur orthographique Hunspell (compilé avec l'interface utilisateur) avec un dictionnaire Hunspell ou Myspell :

hunspell -d en_US text.txt

ou sans interface :

hunspell
hunspell -d en_GB -l <text.txt

Les dictionnaires se composent d'un fichier d'affixe (.aff) et d'un fichier de dictionnaire (.dic), par exemple, téléchargez les fichiers de dictionnaire d'anglais américain de LibreOffice (ancienne version, mais avec génération de radicalisation et de morphologie) avec les commandes suivantes :

wget -O en_US.aff https://cgit.freedesktop.org/libreoffice/dictionaries/plain/en/en_US.aff?id=a4473e06b56bfe35187e302754f6baaa8d75e54f
wget -O en_US.dic https://cgit.freedesktop.org/libreoffice/dictionaries/plain/en/en_US.dic?id=a4473e06b56bfe35187e302754f6baaa8d75e54f

et avec l'entrée et la sortie en ligne de commande, il est possible de vérifier son travail rapidement, par exemple avec les mots d'entrée "example", "examples", "teached" et "verybaaaaaaaaaaaaaaaaaaaaaad" :

$ hunspell -d en_US
Hunspell 1.7.0
example
*

examples
+ example

teached
& teached 9 0: taught, teased, reached, teaches, teacher, leached, beached

verybaaaaaaaaaaaaaaaaaaaaaad
# verybaaaaaaaaaaaaaaaaaaaaaad 0

Où dans la sortie, * et + signifient les mots corrects (acceptés) (* = radical du dictionnaire, + = formes affixées du radical du dictionnaire suivant), et & et # signifient les mauvais mots (rejetés) (& = avec suggestions, # = sans suggestions) (voir man hunspell).

Exemple de radicalisation :

$ hunspell -d en_US -s
mice mice mouse

Exemple d'analyse morphologique (très limité avec ce dictionnaire anglais) :

$ hunspell -d en_US -m
mice
mice st:mouse ts:Ns

cats
cats st:cat ts:0 is:Ns
cats st:cat ts:0 is:Vs

Autres exécutables

Le répertoire src/tools contient les exécutables suivants après compilation.

L'exécutable principal :

Exemples d'outils :

Outils de développement de dictionnaire :

Exemple de génération morphologique :

$ ~/hunspell/src/tools/analyze en_US.aff en_US.dic /dev/stdin
cat mice
generate(cat, mice) = cats
mouse cats
generate(mouse, cats) = mice
generate(mouse, cats) = mouses

Utilisation de la bibliothèque Hunspell avec GCC

Inclure dans votre programme :

  1. #include <hunspell.hxx>

Liaison avec la bibliothèque statique Hunspell :

g++ -lhunspell-1.7 example.cxx
# ou mieux, utilisez pkg-config
g++ $(pkg-config --cflags --libs hunspell) example.cxx

Installation de Hunspell (vcpkg)

Vous pouvez également créer et installer hunspell à l'aide du gestionnaire de dépendances vcpkg :

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install hunspell

Le portage hunspell dans vcpkg est maintenu à jour par les membres de l'équipe Microsoft et les contributeurs de la communauté. Si la version est obsolète, veuillez créer un problème ou une demande d'extraction sur le référentiel vcpkg.

Dictionnaires

Dictionnaires Hunspell (MySpell) :

Dictionnaires Aspell (conversion : man 5 hunspell) :



PARTAGER CETTE PAGE SUR
Dernière mise à jour : Mercredi, le 15 janvier 2025