Review Request 124282: Implement Voikko based spellchecker for Sonnet

Jesse Jaara jesse.jaara at gmail.com
Wed Jul 8 17:10:03 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124282/
-----------------------------------------------------------

(Updated heinä 8, 2015, 5:10 ip)


Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.


Changes
-------

* Use Q_FUNC_INFO macro in debug messages.
* Always error out early on.
* Stylistical changes  
    * Dictionaries not dictionarys
    * Memeber need m_ prefix
    * ALL CAPS is macro in C++ and not a constant like in Java customs, replace with lower_case _delimeted.
    * { always around if body }
* refactor storePersonal(word, bad, good)


Repository: sonnet


Description
-------

# Implement Voikko based spellchecker for Sonnet

## Description
Implements a spell chekcing plugin based on libvoikko <http://voikko.puimula.org/>.
Primarily for supporting highquality Finnishs spell checking, but HFST trancuders
can be found several other languages too.
<http://sourceforge.net/projects/hfst/files/resources/spell-transducers/>


## List of commits (oldest 1st)
---------------------------------------------------------------------------------------------------

Define QLoggingCategory for for voikko speller plugin

* Declared SONNET_VOIKKO QLoggingCategory

--------------------------------------------------------------------------------------------------

Implement Voikko based spellchecker (dictionary)

* All Sonnet::SpellerPlugin functions are implemented.
   * storeReplacement() and addToPersonal() use Json based storage.
    * File location:
        * UNIX & OSX: QStandardPaths::GenericDataLocation/Sonnet/Voikko-user-dictionary.json
        * Windows >= Vista: QSP::GenericDataLocation/../Roaming/Sonnet/Voikko-user-dictionary.json
        * XP: QSP::GenericDataLocation/../../Aplication Data/Sonnet/Voikko-user-dictionary.json
    * Format:
```JSON
{ "<languageId>": {
    "PersonalWords": [
        "word"
    ],
    "Replacements": [
        {"bad": "eror",
         "good": "error"}
    ]
}
```
* Before use VoikkoDict based chekkers must be ensured to be with valid with initFailed().
  As so the ctor is protected and only accessible from friens class VoikkoClient, which
  does this check before returning the speller. Using an invalid speller will result in
  null-pointer exceptions.

--------------------------------------------------------------------------------------------------

Implement Sonnet::Client for Voikko speller

* Reliability set to 50.
  Voikko is primarily only used for Finnish at the moment, although
  the HFST transducer-backend has added support for other languages
  of varying quality.
  As for Finnish (99% of use cases) the results are top quality.

  In any case the reliability should be higher than that of hunspell
  and aspell to prevent them from kicking in for Finnish, as the
  Finnish dictionarys for them are low-quality.

* Name is "Voikko"

--------------------------------------------------------------------------------------------------

Add in CMakeBits needed to compile Voikko speller.

* Added FindVOIKKO module


Diffs (updated)
-----

  src/plugins/CMakeLists.txt 3d24d61 
  cmake/FindVOIKKO.cmake PRE-CREATION 
  src/plugins/voikko/CMakeLists.txt PRE-CREATION 
  src/plugins/voikko/voikkoclient.h PRE-CREATION 
  src/plugins/voikko/voikkoclient.cpp PRE-CREATION 
  src/plugins/voikko/voikkodebug.h PRE-CREATION 
  src/plugins/voikko/voikkodebug.cpp PRE-CREATION 
  src/plugins/voikko/voikkodict.h PRE-CREATION 
  src/plugins/voikko/voikkodict.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/124282/diff/


Testing
-------


Thanks,

Jesse Jaara

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150708/76177013/attachment.html>


More information about the Kde-frameworks-devel mailing list