1 个不稳定版本
0.3.0 | 2024 年 5 月 24 日 |
---|
#2240 in 解析器实现
75KB
1.5K SLoC
包含 (WOFF 字体, 24KB) lato-v22-latin-regular.woff2, (WOFF 字体, 14KB) fa-regular-400-v5.15.4.woff2
woff2-patched
woff2
是一个用于将 WOFF2 字体文件转换为 OpenType 字体的 crate。这是一个带有一些修复的分支版本。
示例
use woff2::decode::{convert_woff2_to_ttf, is_woff2};
let buffer = std::fs::read("src/test_resources/lato-v22-latin-regular.woff2").unwrap();
assert!(is_woff2(&buffer));
let ttf = convert_woff2_to_ttf(&mut std::io::Cursor::new(buffer)).unwrap();
// ... use `ttf` however you would use a loaded TTF file
命令行工具
decoder
示例是一个简单的命令行应用程序,用于将 WOFF2 字体转换为 OpenType 格式
cargo run --example decoder input-filename.woff2 output-filename.ttf
未实现的功能/已知问题
- 带有
hmtx
转换的 WOFF2 字体尚未支持。这些转换似乎很少见,我们还没有找到。您可以提交一个具有这些转换的样本字体来帮助。 - WOFF(原始的 WOFF 格式)不支持
- 将 OpenType 转换为 WOFF2 尚未支持。
致谢
- WOFF 文件格式 2.0
- 参考代码
- Allsorts 我们使用了 Allsorts 中的一些
glyf
解码逻辑。
许可证
版权所有 2022 Cimpress
根据 Apache 许可证 2.0 版(“许可证”);除非按照适用法律或书面同意,否则不得使用此文件,除非符合许可证。您可以在以下位置获取许可证副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言规定权限和限制,请参阅许可证。
依赖关系
~8.5MB
~309K SLoC