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
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