4 个版本

0.2.2 2020 年 5 月 18 日
0.2.1 2020 年 5 月 18 日
0.2.0 2020 年 5 月 18 日
0.1.0 2017 年 7 月 23 日

#1959解析器实现


用于 2 crate

MIT/Apache

49KB
948

dvi-rs

Rust 中数字视频接口 (DVI) 格式的解析器

待办事项

  • 目前,“解析”函数实际上进行词法分析。可以解析成页和字体的列表。
  • 文档/示例,目前最好的示例是测试

lib.rs:

DVI 格式

DVI 格式是一种古老的格式,用于抽象不同打印环境之间的差异。一个程序会提供打印机硬件,以将 DVI 转换为打印头的指令,然后打印页面上所需的内容。这意味着 DVI 文档基本上是一组指令,指示在每一页上绘制哪些符号的位置。

它已经被取代,后置式脚本 (ps) 和可移植文档格式 (pdf) 成为主导的文档格式。

然而,它是一个非常简单的协议,它可能对处理这种格式的文档很有用,因此有编写库的动机。

DVI 文件是一系列 Instructions。有关包含的不同指令的详细信息,请参阅Instruction 枚举

注意,目前路径必须是 utf8,如果这不是真的,则解析将出错

实现说明

一个指令是一个 u8,后跟 0 个或多个特定指令参数。所有多字节值都是大端。所有值都是无符号的,除了 4 字节,它始终是 i32,以及距离值,它们是有符号的。有符号值使用 2's 补码(与 Rust 相同)。

有关更多详细信息,请参阅 SPECIFICATION.md

依赖关系

~1MB
~20K SLoC