Help Center
Help CenterFreeBASICTutorials

GNU Aspell

Documentation

Free and Open Source spell checker.

Website: http://aspell.net/
Platforms supported: Win32, Linux
Headers to include: aspell.bi
Header version: 0.60.6.1

Example

'' GNU-ASspell example, converted from http://aspell.net/win32/



#include Once "aspell.bi"



Dim As AspellConfig Ptr spell_config = new_aspell_config()



'' Change this to suit the installed dictionary language if desired

aspell_config_replace(spell_config, "lang", "en_CA")



'' Create speller object

Dim As AspellCanHaveError Ptr possible_err = new_aspell_speller(spell_config)

If (aspell_error_number(possible_err) <> 0) Then

    Print *aspell_error_message(possible_err)

    End 1

End If

Dim As AspellSpeller Ptr speller = to_aspell_speller(possible_err)



Dim As String word

Do

    Print 

    Input "Enter a word (blank to quit): ", word

    If (Len(word) = 0) Then

        Exit Do

    End If



    If (aspell_speller_check(speller, StrPtr(word), Len(word)) <> 0) Then

        Print "Word is Correct"

    Else

        Print "Suggestions:"

        Dim As AspellStringEnumeration Ptr elements = _

            aspell_word_list_elements(aspell_speller_suggest(speller, StrPtr(word), Len(word)))

        Do

            Dim As Const ZString Ptr w = aspell_string_enumeration_next(elements)

            If (w = 0) Then

                Exit Do

            End If

            Print "   "; *w

        Loop

        delete_aspell_string_enumeration(elements)

    End If



    ' - Report the replacement

    'aspell_speller_store_repl(speller, misspelled_word, size,

    '                          correctly_spelled_word, size);



    ' - Add to session or personal dictionary

    'aspell_speller_add_to_session|personal(speller, word, size)

Loop



delete_aspell_speller(speller)