ffi-hunspell

Description

Ruby FFI bindings for Hunspell.

Examples

Open a dictionary:

require 'ffi/hunspell'

FFI::Hunspell.dict do |dict|
  # ...
end

FFI::Hunspell.dict('en_GB') do |dict|
  # ...
end

dict = FFI::Hunspell.dict('en_GB')
# ...
dict.close

Check if a word is valid:

dict.check?('dog')
# => true

dict.check?('d0g')
# => false

Find the stems of a word:

dict.stem('dogs')
# => ["dog"]

Suggest alternate spellings for a word:

dict.suggest('arbitrage')
# => ["arbitrage", "arbitrages", "arbitrager", "arbitraged", "arbitrate"]

Requirements

Install

$ gem install ffi-hunspell

libhunspell

  • Debian / Ubuntu:

    $ sudo apt install libhunspell-dev hunspell-en-us

  • RedHat / Fedora:

    $ sudo dnf install hunspell-devel hunspell-en

  • macOS:

    $ brew install hunspell

License

Copyright (c) 2010-2021 Hal Brodigan

See LICENSE for license information.