General information
===================

This is libvoikko, library of free Finnish language tools using Malaga
natural language grammar development tool. The library is written in C.

Libvoikko provides spell checking, hyphenation and grammar checking for
Finnish language. No other languages are supported at the moment, and there
are no serious plans to add such support. This is because internals of this
library may change significantly in future releases, and we think that
generally useful bits and ideas (if any) should rather be merged to existing
multi language tools such as Hunspell and LanguageTool. In fact, we hope to
make libvoikko obsolete, but currently there are no other libraries that
provide all the features we need. We feel that pushing new features to Hunspell
where they would need to be maintained essentially indefinitely should not be
done until we have gained enough experience to know which solutions work in the
real world.

This library is released under the GPL, version 2 or later. The author is
willing to license selected parts under other free licenses (such as LGPL or
MPL) if this will directly help the development of other free software
products.


Features
========

 - Spell checking using compound word and derivation rule system that is
   largely compatible with widely used proprietary Finnish spell checkers
   (Soikko, MS Word).
 - Spelling suggestions that are generated to catch most probable typing
   errors.
 - Special spelling suggestion mode that can be used to correct errors
   produced by optical character recognition software.
 - Hyphenator with compound hyphenation based on morphological analysis.
 - Various options to tune spell checking and hyphenation for different
   purposes and applications.
 - Grammar checking and context sensitive spell checking using paragraph
   based API. This feature is still work in progress, but may already
   be useful.
 - String tokenizer and sentence splitter.

Documentation for using the library can be found from header file voikko.h.


Requirements
============

The library needs libmalaga and a version of Suomi-malaga containing a file named
voikko-fi_FI.pro. The file must start with the following line:

info: Voikko-Dictionary-Format: 1

This should be considered a strict requirement for now. While some parts
of the library may work without Suomi-malaga, this mode of operation is
not tested and not guaranteed to behave consistently across minor releases
of the library.


Search order for dictionary files
=================================

Upon initialization libvoikko will search for file voikko-fi_FI.pro. Once this
file is found, it will check whether the file is a valid Malaga project file for
Voikko dictionary, and that all required additional files are present. If
voikko-fi_FI.pro turns out to be invalid, it has a wrong version or some required
files are missing or corrupt, initialization will fail with an error and no
additional directories will be checked.

The search is done in the following order:

1) Path given as the last argument to voikko_init_with_path, if that function is
   used to initialize the library.
2) Path specified by the environment variable VOIKKO_DICTIONARY_PATH, if the
   variable is set in the environment of the process initializing the library.
3) Only on platforms with Unix home directories (Linux, BSD and Mac OS X):
   from directory $HOME/.voikko.
4) Only on Windows: Directory specified by the registry key
   HKEY_CURRENT_USER\SOFTWARE\Voikko\DictionaryPath.
5) Only on Windows: Directory specified by the registry key
   HKEY_LOCAL_MACHINE\SOFTWARE\Voikko\DictionaryPath.
6) Path specified at compile time using --with-dictionary-path (this defaults to
   /usr/lib/voikko).


Author
======

2006 - 2008 Harri Pitkänen (hatapitk@iki.fi)


Website
=======

http://voikko.sourceforge.net
