Review Request 124282: Implement Voikko based spellchecker for Sonnet

Milian Wolff mail at milianw.de
Thu Jul 9 08:55:45 UTC 2015


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


some style nitpicks from my side, but it looks very good already - nice work!


src/plugins/voikko/voikkoclient.cpp (line 28)
<https://git.reviewboard.kde.org/r/124282/#comment56631>

    here and elsewhere: the Q_FUNC_INFO is not required



src/plugins/voikko/voikkodict.cpp (line 38)
<https://git.reviewboard.kde.org/r/124282/#comment56632>

    please wrap these in functions to remove static global initialization and delay it to the point where its actually required



src/plugins/voikko/voikkodict.cpp (line 109)
<https://git.reviewboard.kde.org/r/124282/#comment56633>

    join next line



src/plugins/voikko/voikkodict.cpp (line 132)
<https://git.reviewboard.kde.org/r/124282/#comment56634>

    while you properly delete it, I'd still urge you to cleanup the code by using `std::unique_ptr`
    
    if, in the future, you want to optimize your code, you should introduce a buffer (`std::vector<wchar_t>`) and reuse that whenever you need to convert a string to `wchar_t`. Now, you always allocate a new buffer, which is bad, performance wise



src/plugins/voikko/voikkodict.cpp (line 152)
<https://git.reviewboard.kde.org/r/124282/#comment56639>

    if (!voikkoSuggestions) {



src/plugins/voikko/voikkodict.cpp (line 191)
<https://git.reviewboard.kde.org/r/124282/#comment56635>

    return !m_handle;



src/plugins/voikko/voikkodict.cpp (line 201)
<https://git.reviewboard.kde.org/r/124282/#comment56636>

    rtrim



src/plugins/voikko/voikkodict.cpp (line 204)
<https://git.reviewboard.kde.org/r/124282/#comment56637>

    if (!userDictFile.open(...)) {



src/plugins/voikko/voikkodict.cpp (line 219)
<https://git.reviewboard.kde.org/r/124282/#comment56638>

    join next line


- Milian Wolff


On July 8, 2015, 5:10 p.m., Jesse Jaara wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124282/
> -----------------------------------------------------------
> 
> (Updated July 8, 2015, 5:10 p.m.)
> 
> 
> Review request for KDE Frameworks and Martin Tobias Holmedahl Sandsmark.
> 
> 
> 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
> -----
> 
>   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/20150709/dfaf65fa/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list