22 个版本 (13 个破坏性版本)
0.14.1 | 2024年3月13日 |
---|---|
0.14.0 | 2023年12月1日 |
0.13.0 | 2023年10月27日 |
0.10.2 | 2023年6月29日 |
0.0.1 | 2019年5月22日 |
#164 in 文本处理
532 每月下载次数
用于 6 个包 (5 直接)
435KB
9K SLoC
诺拉德
一个用于处理统一字体对象文件(UFO)的Rust包。
一个用于读取、写入和操作统一字体对象文件(UFO)的包,这是一种常见的字体设计格式。
lib.rs
:
用于处理统一字体对象文件(UFO)的实用程序。
此包中的类型对应于规范中描述的类型。
基本用法
使用类似于这样的结构体 Font
实例化一个UFO字体对象
use norad::Font;
let inpath = "RoflsExtraDim.ufo";
let mut font_obj = Font::load(inpath).expect("failed to load font");
可以使用API访问和修改 Font
中的数据
# use norad::Font;
# let inpath = "RoflsExtraDim.ufo";
# let mut font_obj = Font::load(inpath).expect("failed to load font");
let layer = font_obj.default_layer();
let glyph_a = layer.get_glyph("A").expect("missing glyph");
assert_eq!(glyph_a.name().as_ref(), "A");
# let outpath = "RoflsSemiDim.ufo";
# font_obj.save(outpath);
使用 Font::save
方法将 Font
序列化到磁盘上的UFO文件
# use norad::Font;
# let inpath = "RoflsExtraDim.ufo";
# let mut font_obj = Font::load(inpath).expect("failed to load font");
# let layer = font_obj.default_layer();
# let glyph_a = layer.get_glyph("A").expect("missing glyph");
# assert_eq!(glyph_a.name().as_ref(), "A");
let outpath = "RoflsSemiDim.ufo";
font_obj.save(outpath);
有关更多源代码示例,请参阅源代码库中的 examples
目录
API 文档
有关使用UFO字体操作完整API的详细信息,请参阅这些文档。
许可证
诺拉德在 MIT 和 Apache v2.0 许可证下发布。
源代码
源代码文件可在 https://github.com/linebender/norad 找到。
依赖项
~4–5.5MB
~95K SLoC