6个版本
| 0.1.5 | 2024年7月23日 |
|---|---|
| 0.1.4 | 2024年7月23日 |
#372 in 文本处理
655 每月下载量
在 pdf-doc 中使用
31MB
403K SLoC
google-fonts
从Google下载和缓存TTF字体。
11,689 字体和 1,708 字体家族。
类似于Android Studio中的可下载字体,以及Web Fonts Google API。
示例
使用几种方法下载字体数据。
use google_fonts::lemonada_variable;
use google_fonts::Font::NotoSansRegular;
use google_fonts::Font::RobotoRegular;
use ttf_parser::Face;
fn main() {
// Get and cache font data with a named function.
let font_data = lemonada_variable().unwrap();
let face = Face::parse(&font_data, 0).unwrap();
eprintln!("Font data: {:?}", face);
// Get and cache font data with an enum variant function.
let font_data = NotoSansRegular.get_with_cache().unwrap();
let face = Face::parse(&font_data, 0).unwrap();
eprintln!("Font data: {:?}", face);
// Get font data without caching by using an enum variant function.
let font_data = RobotoRegular.get().unwrap();
let face = Face::parse(&font_data, 0).unwrap();
eprintln!("Font data: {:?}", face);
}
Crate特性
full,variable 和 static Crate特性均可用。
variable仅启用具有 可变字体技术 的字体。static仅启用具有 静态字体技术 的字体。full启用variable和static特性。
variable 是默认特性。
可变字体技术较新,更灵活,可以在一个或两个文件中提供样式变化。静态字体技术使用更多的字体文件来完成同样的事情。大多数字体都在 static 特性中。
尽可能选择 variable 特性。
启用 variable 特性可以显著提高构建时间、crate大小和rust-analyzer性能。
文档注释字体图像
从文档中查看字体图像。

依赖项
~4–18MB
~215K SLoC