21个版本

0.5.5 2024年6月13日
0.5.3 2023年12月13日
0.5.2 2023年10月30日
0.3.3 2023年1月1日
0.1.1 2022年7月25日

文本处理 中排名 108

Download history 298/week @ 2024-05-03 107/week @ 2024-05-10 68/week @ 2024-05-17 76/week @ 2024-05-24 45/week @ 2024-05-31 195/week @ 2024-06-07 129/week @ 2024-06-14 65/week @ 2024-06-21 89/week @ 2024-06-28 16/week @ 2024-07-05 26/week @ 2024-07-12 49/week @ 2024-07-19 60/week @ 2024-07-26 58/week @ 2024-08-02 21/week @ 2024-08-09 12/week @ 2024-08-16

每月下载 161
4 个Crate中(3个直接)中使用

自定义许可证

285KB
3.5K SLoC

ZSpell

本项目是一个完全用Rust编写的拼写检查器,与古老的Hunspell词典格式保持兼容。它是完全原生的,不依赖于任何其他后端(Enchant,Hunspell,Aspell等)。该库的目标之一是可以通过WASM使用。内置完整的Unicode支持。

库方面有一个稳定的检查器,但建议API尚未最终确定。CLI可用,但尚未被认为是稳定的。有关可用信息的更多信息,请参阅功能状态

以下是一些有用的快速链接

接口

本项目向其拼写检查器暴露了多个接口,列在本节中。

命令行界面

只想从命令行使用此拼写检查器?请查看位于此处的书籍,以获取更深入的安装和使用说明:https://pluots.github.io/zspell/

如果您不想继续阅读,最简单的方法是从这里下载预构建的二进制文件:https://github.com/pluots/zspell/releases

Rust库接口

本项目还旨在创建一个完全功能的拼写检查库,以便于程序化使用。有关库方面的文档,请参阅此处 https://docs.rs/zspell/。这还包括大量设计方法讨论,供有兴趣的人士参考。

Python接口

此库有一个预构建轮子的Python包装器,可在以下位置获取: https://pypi.ac.cn/project/zspell/。其源代码位于 zspell-py crate

通过WASM使用

该库API应能直接使用。官方WASM绑定将在某个时候添加。

功能状态

功能 通过库可用 通过CLI可用 跟踪问题
基本的拼写检查功能
禁止词汇处理 #17
词干提取
词形分析
建议 进行中 #16
复合词处理
全词形/音素处理 进行中
Python接口 测试版 不适用 #18
预构建WASM绑定 不适用 #19

性能

本仓库的目标是优先考虑最预期的使用,即大多数要检查的单词都是正确的。基于此概念进行优化,并且现代计算机现在能够将整个编译的单词表存储在内存中(约20 MiB),zspell往往优于其他拼写检查器。

MSRV

该库依赖于Rust 1.65的特性,因此这是我们的当前最低支持版本。我们的CI验证了库和示例。

CLI和测试运行器需要更新的特性,并且没有特定的MSRV。

测试套件

该项目在zspell/test-suite(符号链接到test-suite)中保持一个测试套件。每个文件都有一种简单的格式,结合了简单的词缀和词典文件。要添加测试,只需复制并编辑0-example.test

文件名如下

  • 0-*:不运行的元测试
  • b-*:基本功能测试
  • h-*:来自Hunspell测试套件的测试
  • i000-*:针对特定问题的测试

许可协议

有关许可信息,请参阅LICENSE文件。提供的许可允许专有使用和修改;话虽如此,我真诚地建议,如果您有改进,请提交拉取请求,帮助我们所有人 :)。

测试套件许可协议

一些测试是从Hunspell测试套件中获取的。Hunspell有多种许可协议,我们选择了MPL并在相关文件中包含SPDX通知。

词典数据许可协议

本仓库中提供的用于测试目的的词典已在许可下获取。这些文件已从以下来源获取:https://github.com/wooorm/dictionaries

这些词典在不同的许可协议下,与本项目不同。请参阅.license文件,该文件位于dictionaries/目录中。

依赖项

~5–17MB
~158K SLoC