问题标签 [nhunspell]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
52 浏览

unicode - NHunspell 对非 ANSI (?) 字符的建议

我尝试了 NHunspell NuGet 包,如下所示:

不幸的是,该建议显示为“Upade?asahasri”。“s with dot below”作为问号返回,而“a with macron”和“i with macron”分别作为 a 和 i 返回。

据我所知,本机 Hunspell DLL 完全启用了 unicode。因此,我认为 NHunspell C# 层破坏了一些东西。源代码如下所示:

我根本不是编组专家,但 UnmanagedType.LPWStr 和 Marshal.PtrToStringUni 似乎考虑了 Unicode。尽管如此,它显然不起作用。有没有人有建议(双关语)?

谢谢,托马斯

0 投票
3 回答
1066 浏览

c# - UWP 应用程序中的拼写库(如 hunspell)?

我正在将编写器的应用程序移植到 UWP 平台。我剩下的唯一一块拼图是 NHunspell 库。我将它广泛用于拼写检查和词库功能。我已经定制了它,并为各种事物创建了自定义词典(即,每个写作项目都有不同的词典)。这个图书馆是一个美丽的东西。

但是,我似乎无法在我的 UWP 应用程序中包含此 DLL。

1)有没有办法强制使用这个DLL?我真的很喜欢NHunSpell 系统的设置方式。它具有常识,并且非常快速且易于使用。

2)如果没有,任何人都可以为自定义词典、自定义拼写检查等推荐一个更好的解决方案吗?

更新 3

经过大量更新和在线阅读,我找到了一个讨论拼写检查理论的链接。这是一个简单的示例(我使用最多的示例)。

http://www.anotherchris.net/csharp/how-to-write-a-spelling-corrector-in-csharp/

在阅读了这篇文章、获取了基本代码并从 Hunspell .dic 文件中删除了英文单词之后,我创建了自己的在 UWP 中工作的拼写检查库。

一旦我得到它固化,我会将它作为答案发布在下面以捐赠给 SO 社区。:)

更新 2

我承认使用 Hunspell。看起来根本不可能……还有其他人可以建议的库/包吗?

更新 :

我可能需要改写我不能包含 DLL 的声明:我不能通过 NuGet 包含 DLL。它抱怨 DLL 与 UAP/UWP 平台不兼容。

我可以通过链接到现有的 DLL(不是 NuGet)在我的项目中手动包含 DLL。但是,该 DLL 确实被证明与 UAP 平台不兼容。在 WinForms 中对单词进行拼写检查的简单调用可以正常工作,但会立即与System.IO.FileNotFoundException.

NHunspell 的构造函数确实伸出手来加载关联的.dic.aff文件。但是,我通过将文件加载到内存中来缓解这种情况,然后调用备用构造函数,该构造函数采用字节数组而不是每个文件的文件名。它仍然崩溃,但出现了一个新Method not found错误:

String System.AppDomain.get_RelativeSearchPath()

我正在寻找可以在 UAP 框架内工作的任何拼写检查引擎。出于熟悉的原因,我更喜欢它是 NHunspell。但是,我并没有忽视这样一个事实,即作为一种选择越来越不可能。

与我一起工作的人建议我使用内置的拼写检查选项。但是,我无法使用内置的 Windows 10/TextBox 拼写检查功能(我知道),因为我无法控制自定义词典,也无法禁用自动大写和单词替换(其中如果它认为它足够接近正确的猜测,它会为你替换这个词)。那些东西对作家来说是自杀的章节!作家可以在操作系统级别关闭它们,但他们可能希望其他应用程序打开它们,而不是这个。

请让我知道是否有针对 NHunspell 的解决方法。如果您不知道解决方法,请告诉我您可以在 UAP 框架内工作的最佳替代自定义拼写检查引擎。

作为旁注,我还使用 NHunspell 的词库功能。它在我的 Windows 应用程序中运行良好。我还必须替换此功能——希望使用与拼写检查引擎相同的引擎。但是,如果您知道一个好的词库引擎(但它不进行拼写检查),那也很好!

谢谢!!

0 投票
1 回答
314 浏览

c# - 使用 aff 文件时出现 System.EntryPointNotFoundException

我创建了一个项目,在其中输入一个单词并使用 Hunspell.dll 类进行拼写检查。请注意,我通过 xamarin studio IDE(FOR MAC)从一个包中下载了这个 dll。我还下载了该类检查单词所需的 .aff 和 .dic 文件并将它们添加到我的调试文件夹中,但是当我编译应用程序时出现以下错误:System.EntryPointNotFoundException。如果您有任何想法,请告诉我。

这是我的代码:

0 投票
1 回答
1528 浏览

c# - 如何从给定的 hunspell 字典中获取所有可能的单词?

我想解析支持 hunspell 格式affdic文件的开放式办公室。

英文affdic文件可以从这里下载,例如:http ://extensions.openoffice.org/en/project/english-dictionaries-apache-openoffice

我想扫描给定文件的每一行并使用提供的文件.dic生成每一行的每个可能的单词.aff

我怎样才能做到这一点?

我已经安装了 NHunspell 框架,但它没有那个功能:https ://www.nuget.org/packages/NHunspell/

例如对于英语让我们考虑

制作可以make, made, makes, making

现在我需要解析器给我所有这些组合。我怎样才能获得它们?很Ty

所以基本上我想扫描字典的每一行并从该行的单词中生成所有可能的单词,我不知道我该怎么做

我也可以编写自己的解析器,但在我看来规则非常复杂,并且没有关于此的详细和简单的文档

这里基本上是我想要的。图像解释得很清楚

给予analyze/ADSG,归档en.dicen.aff获得 以下 所有 词

在此处输入图像描述

0 投票
1 回答
144 浏览

episerver - EPiServer.TinyMCESpellChecker / NHunspell 的问题

在重新安装 EPiServer.TinyMCESpellChecker 包期间,我遇到了 NHunspell 依赖项的问题。试用 SpellChecker 会显示一条浏览器警告消息,上面有一个错误页面的 HTML,以及它无法找到 NHunspellx86.DLL 的消息。我检查了我的 bin/ 文件夹,确实缺少 DLL。奇怪的是,它存在于 nuget packages/ 文件夹中,用于安装 NHunspell。

这是我重新安装 NHunspell 时显示的错误消息:

0 投票
1 回答
157 浏览

c# - 如何在不冻结屏幕的情况下验证 RichTextBox 中的大文本?

我目前正在使用 NHunspell 在 WPF 中实现自定义拼写检查,因为 .Net Framework 的本机解决方案不符合我的需求。但是我在检查大文本中的单词时遇到了麻烦,例如带有 10 个段落的 Lorem Ipsum,因为我需要检查每个单词,看看它是否包含在 Hunspell 使用的字典中,如果没有,我需要在那个词下划线。

我有这个当前的方法,每次 KeyUp 是退格键或空格键时都会检查所有文本。

但是,我认为我需要一个异步解决方案,所以它不会阻塞我的主线程和用户的输入。- 从理论上讲,如果用户在没有输入的情况下花费超过 2 秒的时间,然后将选中的 TextRange 返回到我的 RichTextBox (SpellCheckRichTextBox),我正在考虑运行并行线程。

有人可以提出任何解决方案,以便在处理大文本时降低验证速度吗?我真的坚持这一点,任何帮助将不胜感激。提前致谢!

0 投票
1 回答
251 浏览

c# - 如何为 C# 应用程序安装 Hunspell?

我想在基于 C# windows 的应用程序中实现拼写检查和字典。从 Google,我发现hunspell是实现此功能的最佳选择之一。根据以下 URL 的建议,我已经使用 Visual Studio NuGet 安装了nhunspell 。但是当我尝试执行代码时,出现错误“找不到 AFF 文件:C:\TestProject\TestHunshell\bin\Debug\en_us.aff”

当我搜索已安装的 hunspell 包时,找不到 .aff 和 .dic 文件。我不确定我可以从哪里下载和安装或将“en_us.aff”、“en_us.dic”文件粘贴到我的解决方案中。

有人可以建议在 C# windows 应用程序中安装和实现 hunspell 的正确方法吗?

代码项目参考 URL

错误

0 投票
0 回答
15 浏览

c# - 如何在 TFS 中签入 NHunspell 文件?

我在 C# 中编写了一个功能来检查单词的拼写和同义词。为了实现这个功能,我通过 NuGet 包管理器安装了 NHunspell,并从下面的站点下载了所需的文件。

https://extensions.libreoffice.org/en/extensions/show/english-dictionaries

代码引用了一些与 NHunspell 相关的 DLL、.dic、.aff 和 .dat 文件。目前我的 bin 文件夹中有这些文件,并且工作正常。

现在我需要在 TFS 中签入我的代码,但我不确定我需要签入哪些文件,以便当其他开发人员从 TFS 下载并使用相同的解决方案时,NHunspell 可以正常工作。

以下是我的 bin 文件夹中可用的文件列表。

在此处输入图像描述

如果我需要签入文件,是否需要签入 bin 文件夹或任何其他单独文件夹中的 NHunspell 相关文件?