【发布时间】:2017-06-07 11:25:25
【问题描述】:
嗨,Hunspell for Unity(.net 2.0) 有什么解决方案。我在安卓平台上工作。 我尝试实现WeCantSpell.HuntSpell
但我遇到了编码问题:“不支持编码名称‘ISO8859-1’”
我研究了一下,发现它使用的是:"Encoding.RegisterProvider",它是在 net 4.5 中引入的。
当我尝试实现nhunspell 时,我遇到了初始化问题。实际上是加载 dll 的问题。
ArgumentNullException: Argument cannot be null. Parameter name: path1 System.IO.Path.Combine (System.String path1, System.String path2) (at /Users/builduser/buildslave/monoAndRuntimeClassLibs/build/mcs/class/corlib/System.IO/Path.cs:138) NHunspell.MarshalHunspellDll.get_NativeDLLPath () NHunspell.MarshalHunspellDll.ReferenceNativeHunspellDll ()
可能 Hunspell 仅适用于 Windows 平台?并且只有 net 4.5?
是否有任何使用 .dic 和 .aff 文件的替代方案。我需要这种解决方案,因为如果我将 dic+aff 转换为单词列表,因为国家文件是 100MB+。从功能上我只需要检查字典中是否存在单词。
解决方案: Unity 2017 支持 .NET 4.5,我今天尝试了 beta 版本,它与 Hunspell C# 端口一起使用。
【问题讨论】:
-
如果 Hunspell 是 .NET 4.5 dll,那么您将无法将其与运行在 .NET 2.0 上的 Unity 一起使用,没有解决方案。
-
总有解决方案或替代方案。我可以修改源代码并获取我需要的功能或从头开始创建我自己的版本,但这很耗时。我正在寻找有这方面经验的人来分享一些技巧。
-
根据“你需要什么”的复杂性,它完全有可能使用 .NET 2.0 中不可用的功能,这就是你真正的问题。您可以尝试创建一个网桥 (see this),但由于 .NET 版本不同,这可能仍然无法正常工作。
-
是的,我也在考虑用 hunspell 的 java 端口创建桥接器。但我刚刚意识到,Unity 将发布 2017 版并支持 .NET 4.5。我刚刚尝试了 beta 版本,它正在使用 hunspell c# 端口。