Releases: Ljh684/opencc
Releases · Ljh684/opencc
Release list
opencc.mbt 0.1.0 - pure MoonBit Chinese script conversion
用纯 MoonBit 实现 OpenCC 级别的简繁与地区用词转换:简体 / 繁体 / 台湾正体 / 香港繁体 /
日本新字体 / 篆书,零 FFI、零运行时 I/O,可编译到 wasm、wasm-gc、js、native。
已验证的能力
- 官方一致性:OpenCC golden 语料 5/5 逐字节通过(s2t、s2hk、s2tw、s2hkp、s2twp),
CLI 文件输出与期望文件逐字节相同(22038 bytes)。 - 往返一致性:
s2t → t2s与s2tw → tw2s逐字节回到源文本;其余三对因快照缺少
OpenCC 构建期生成的词典而有已知差异,verify会逐条列出缺哪一本。 - 测试:33 个单元测试在 wasm / wasm-gc / js / native 四个后端全部通过,
其中包含覆盖 76099 条词典条目的全量属性测试。 - 数据可审计:上游快照固定 commit + 逐文件 SHA-256;
tools/gen_dict --verify
校验"重新生成的结果与仓库一致"。
本次发布包含
- 三段式引擎(normalization → segmentation → 逐段 conversion)与可嵌套词典组;
- 词典生成器:20 个词典 / 76099 条目编译为内嵌文本块,含 OpenCC 构建期派生词典的复刻;
- CLI:
list-configs、convert(-c/-i/-o/--text)、verify(含往返检查); - 库 API:
config.chain(name)、config.convert(name, text); - 词典与配置各自成包:单方向构建 249 KB(t2s)/ 913 KB(s2t),全量 CLI 1341 KB;
- 热路径优化:跳过不可匹配片段,ASCII 密集文本 4724 → 7503 码元/ms。
快速开始
moon test # 33/33
moon run cmd/opencc --target native -- verify # 官方语料 5/5 + 往返检查
moon run cmd/opencc --target native -- -c s2twp --text "内存泄漏与软件优化"
# => 記憶體洩漏與軟體最佳化
moon build examples/t2s --target wasm-gc --release # 单方向构建 249 KB已知限制
- 暂不支持标准输入(MoonBit 尚无标准输入 API;加 FFI 会破坏「零 FFI」);
- 部分反方向配置引用的词典由 OpenCC 构建期生成,当前快照未提供,CLI 会列出
missing; - 不覆盖 OpenCC 的
staging/实验字典与*_jieba分词变体。
词典数据派生自 OpenCC(Apache-2.0),来源与哈希见 NOTICE
与 data/opencc/REVISION。