

WPF で HunSpell の ラッパークラス NHunspellWrapper を使用していますが、

[code]

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
       // スペルチェック
       var hunspell = new NHunspellWrapper();
    }
    
[/code]

で呼び出される

[code]

    public NHunspellWrapper() : this("en_US.aff", "en_US.dic", null, new SpellingFormBasic())
    {
    
    }
    
    /// <param name="affFile">"en_us.aff"</param>
    /// <param name="dicFile">"en_us.dic"</param>
    public NHunspellWrapper(string affFile, string dicFile, ISpellingControl textEditor, ISpellingWindow spellForm)
    {
        try
        {
            hunspell = new Hunspell(affFile, dicFile);
            var chk = hunspell.Spell("with");           <- false が返る
                ：
    
[/code]

hunspell は、null ではありませんが、辞書ファイルが読めていないか、初期化に失敗しているような気がします。  
根拠はありませんが・・・

この Hunspell のサンプルは、WinForm ようのもので WPF のものを探しても見つかりませんでした。

[![](https://i.stack.imgur.com/Lx2YM.png)](https://i.stack.imgur.com/Lx2YM.png)

HunspellWrapper コンポーネント spellingWorker が WinForm では作られるようですが、WPF では作られないようですね。

WPF でHunspell のコンポーネントを使用する方法ってどのようにするのでしょうか？

環境 Windows10 VS2015 C# WPF


CC BY-SA 4.0
2021-01-28T05:58:24.750
73629
2021-02-01T00:29:52.407
2021-01-29T00:29:40.647
3060
43711
question
c# wpf
Hunspell を WPF で使用したいのですが、初期化に失敗するようです


> NHunspell Spellcheck-Hyphen-Thesaurus 標準のSpellChekで代替してみてはどうでしょう

これでうまく行けるようですね。

<https://sourceforge.net/p/nhunspell/code/ci/default/tree/NHunspellSamples/CSharpConsoleSamples/Program.cs#l51>

上記のサイトより

[code]

    using (var hunspell = new Hunspell("en_us.aff", "en_us.dic"))
    {
    
        string[] lines = System.IO.File.ReadAllLines("CustomWords-en_US.txt");
        foreach (var line in lines)
        {
            hunspell.Add(line);
        }
    
[/code]

の形式を直接実行する形でうまくいっているように見えます。

ありがとうございました。


CC BY-SA 4.0
2021-01-31T23:58:41.350
73727
2021-02-01T00:29:52.407
2021-02-01T00:29:52.407
3060
43711
73629
answer