#font #atlas #pure #parser #format #file-format #artery

artery-font

Artery 字体文件的纯 Rust 解析器

2 个稳定版本

1.0.1 2022年4月10日

2546解析器实现

25 每月下载量

MIT 许可证

26KB
645

artery-font

Artery Atlas 字体文件的纯 Rust 解析器。Artery Atlas 字体文件 (*.arfont) 将位图(例如,以 PNG 格式压缩)包装在一起,包括图集布局,以及字体及其单个字符的度量数据和定位数据,包括字距对。

可以使用 多通道有符号距离场图集生成器 生成 Artery Atlas 字体文件。

这是 C++ 参考实现 的移植

目前仅支持 PNG 和 RawBinary 作为图像格式。

示例

let arfont = ArteryFont::read(&include_bytes!("../data/test.arfont")[..]).unwrap();
let image = arfont.images.first().unwrap();
let variant = arfont.variants.first().unwrap();
assert_eq!(variant.image_type, ImageType::Msdf);
assert_eq!(variant.codepoint_type, CodepointType::Unicode);
let line_height = variant.metrics.line_height;

查看 完整示例

Cargo 功能

  • double: 配置此库使用 f64 而不是 f32 作为浮点值。需要与导出器匹配。
  • no-checksum: 禁用校验和计算和验证。注意:此标志仅影响此库,对嵌入的图像加载 crate 没有影响。
  • png: 启用对 PNG 压缩的支持

许可证

MIT 许可证

依赖关系

~0.4–1.1MB
~24K SLoC