Hunspell Ruby interface to hunspell spell checker

Copyright 2007, Gabor SEBESTYEN

WHAT IS THIS?


Hunspell is an easy native Ruby interface to the famous Hunspell spell checker library which is part of OpenOffice and Mozilla products. With this bundle you can start to develop your own AJAX based spell checker service for Ruby on Rails.

REQUIREMENTS


Before install Hunspell be sure to have the following components:

  • Ruby >= 1.8

  • rubygems

  • hunspell >= 1.2.x (libhunspell-1.2)

    http://hunspell.sourceforge.net
    
  • dictionary files for Hunspell

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

INSTALLATION


The best way is to use gem package manager.

gem install hunspell

If you want to build Hunspell from scratch grab the source and issue the following commands:

ruby extconf.rb && make

FreeBSD gotcha: hunspell spell checker package does not deploy its header files. Run gem or ruby command with an extra option:

gem install hunspell – –with-include-dir=…

or

ruby extconf.rb –with-include-dir=… && make Replace … to the path pointing to hunspell includes.

FIRST STEPS


Here’s a very simple example how to use Hunspell. Cut it and run in ruby.

example.rb ===

require “rubygems” # import gem package manager gem “hunspell” # load Hunspell module require “Hunspell” # inject Hunspell class to Ruby namespace

# instantiate Hunspell with Hungarian affix and dictionary files # sp = Hunspell.new(“hu.aff”, “hu.dic”)

# spell check Hungarian word ‘ablak’ (window) => true # puts “Is ‘ablak’ correct? #spsp.spellcheck(‘ablak’)”

# get suggestions for mispelled word ‘paprika’ # => [“kaprica”, “patrica”, “paprika”, “papcica”, # “papráca”, “papruca”, “paprima”, “paprikáz”, # “paprikása”, “paprikás”, “Papradnó” # ] # puts “Suggestions for ‘paprica’: ” + sp.suggest(“paprica”).inspect

end of example ===

Note: you might run this example with -Ke ruby option if you want to see accented letters instead of backslash prefixed utf codes.

FEEDBACK


Any help or report warmly appreciated. Please visit the project’s homepage at github.com/segabor/Hunspell or write me to [email protected]

DISCLAIMER


This software is at an early stage. Use at own your risk! No warranty.