#interface #cc #mathml #info #conversion #directory #math-cat

mathcat_c

C/C++ 对 MathCAT 的接口(有关 MathCAT 的信息,请参阅 crates.io 或 nsoiffer.github.io/MathCAT)

1 个不稳定版本

0.1.0 2022 年 6 月 15 日

#15#mathml

MIT 许可证

160KB
245 代码行

C/C++ 接口 MathCAT

是一个库,支持将 MathML 转换为语音和点字,以及其他功能。

此项目为 MathCAT 添加了 C/C++ 接口。访问MathCAT 项目页面获取更多信息,或者如果你想试用 MathCAT 的功能,尝试演示

警告:此接口可能会更改。这是我第一次尝试将 C 接口添加到 Rust 代码中。我对当前接口有两个不满意的地方

  • 由于字符串需要在两者之间传递,C 代码需要释放 Rust 返回的字符串。这有点丑陋,但这是 C 的内存管理...
  • 可能会发生错误,我没有看到处理这个问题的好方法。当前的方法是返回一个空字符串来指示错误。这意味着调用代码应在每次调用后检查此条件。调用 GetError() 来查找错误。

要使用此项目

  1. 构建项目(cargo build --release
  2. 这将创建一个发布构建在 target/release 中,并在其中创建一个包含 mathcat.h 和 MathCAT Rules 目录的 c-example 目录。
  3. 尝试在那个目录中编译示例程序 test.c,或者根据该示例创建自己的程序。有关编译的说明,请参阅该文件中的说明。

或者,为了避免需要 Rust 构建环境

  1. https://crates.io/crates/mathcat_c 下载 MathCAT for C/C++ crate
  2. 这里下载 mathcat.h 和 Rules

依赖项

~15–27MB
~335K SLoC