8 个稳定版本
2.1.1 | 2022 年 1 月 25 日 |
---|---|
2.1.0 | 2022 年 1 月 24 日 |
2.0.0 | 2021 年 11 月 21 日 |
1.2.5 | 2021 年 11 月 9 日 |
1.0.1 | 2021 年 9 月 30 日 |
#345 in 可视化
每月 24 次下载
45KB
989 行
Font Catcher
一个跨平台的命令行工具和用户及系统字体管理的高级库
有趣的徽章 :P
用户快速入门
安装
前往 发布 页面,下载您想要的版本(推荐下载最新版本),将文件复制到 /usr/bin,然后就可以使用了!
注意:目前有两个版本(普通版和包含 Google Fonts 的版本),目前推荐下载包含 Google Fonts 的版本以获得更多字体选择,但未来可能会有所变化,请参阅 开源字体仓库
基本使用
Font Catcher 的命令旨在使用方便、直观。如果您曾经使用过 apt
或 dnf
作为包管理器,您会注意到它们的相似之处。默认情况下,Font Catcher 包含一个仓库,目前是 WIP:,但也可以使用 Google Fonts 作为仓库(以及其他仓库)。
搜索字体
font-catcher search font-name
安装字体
font-catcher install font-name
删除字体
font-catcher remove font-name
就是这样!(大多数情况下)
开发者快速入门
添加到您的项目中
font-catcher
使用了一些可能未安装在本系统中的低级库。
sudo apt install pkg-config libfreetype-dev openssl librust-openssl-dev cmake llvm make expat fontconfig fontconfig1-dev
安装这些库后,将其添加到 cargo 文件中
[dependencies]
font-catcher = "2.0.0"
使用库
要使用库,需要做两件事:导入它并初始化它。
use font-catcher as font_catcher;
let main() {
let fonts_hashmap = font_catcher::init()?;
}
这返回一个 HashMap,其中键是字体名称,值是一个包含许多有用函数的结构体,在下面的示例中,我们将安装和删除 Agave 字体。
use font-catcher as font_catcher;
let main() {
let fonts_hashmap = font_catcher::init()?;
match fonts_hashmap.get("Agave") {
// Checks if the font exists
Some(font) => {font.install_to_user(None, true)?;},
// None -> This means the font will be downloaded from any repo
// available.
// true -> Gives terminal output of the operation.
None => {println!("No Agave font found!");}
// Prints a message if the font is not to be found
}
match fonts_hashmap.get("Agave") {
// Checks if the font exists
Some(font) => {font.uninstall_from_user(true)?;},
// true -> Gives terminal output of the operation.
None => {println!("No Agave font found!");}
// Prints a message if the font is not to be found
}
}
文档
更多示例可以在 main.rs 文件 中找到。
贡献者快速入门
使用Nix设置
第一步是克隆git仓库
git clone https://github.com/GustavoPeredo/Font-Catcher.git
cd Font-Catcher
然后,nix 使您非常容易开始在此项目上工作。只需在任意发行版或MacOS上下载 nix 即可
nix-shell
搞定! 所有依赖项、rust和neovim插件都将被安装。
编译
对于常见的修改
cargo build
应该足够了,但如果您想使用Google Fonts仓库进行编译,那么您需要从 获取一个密钥,然后编译时启用 google_repo
功能
GOOGLE_FONTS_KEY="YOUR API KEY HERE" cargo build --features google_repo
版本控制
v1.0.0 -> v2.0.0 主要版本更改了api
v1.0.0 -> v1.1.0 中间版本添加了功能,并可能弃用函数/函数输出
v1.0.0 -> v1.1.1 小版本包含错误修复和其他更新
其他文档
进一步使用
您可以将字体下载到指定目录,而不是直接安装
font-catcher download /desired/path Agave
您可以通过在字体之前传递 --repo
标志来指定要搜索、安装和下载字体的仓库
示例
font-catcher install --repo "Google Fonts" Roboto
font-catcher search --repo "Open Font Repository" Aga
font-catcher download ~/Downloads --repo "Open Font Repository" Agave
可以一次性安装、下载和删除多个字体
font-catcher install font1 font2 font3
font-catcher remove font1 font2 font3
要更新字体目录到最新版本,请运行
font-catcher update-repos
添加仓库
编辑 repos.conf
文件
将另一个仓库添加到最简单的方法是编辑位于字体-catcher文件夹中的数据文件下的 repos.conf
文件(通常为 ~/.local/share/font-catcher
)。如果文件不存在,请创建一个新的文件。
这是一个仓库的模板
[[repo]]
name = "Open Font Repository Local"
url = "https://raw.githubusercontent.com/GustavoPeredo/open-font-repository/main/fonts.json"
如果您的仓库有一个API密钥,请在URL中添加 {API_KEY}
,API密钥应放置在URL中,例如
[[repo]]
name = "Google Fonts Local"
url = "https://www.googleapis.com/webfonts/v1/webfonts?key={API_KEY}"
key = "KEY"
您可以添加任意数量的仓库,只需像这样将它们追加到文件中即可
[[repo]]
name = "Open Font Repository Local"
url = "https://raw.githubusercontent.com/GustavoPeredo/open-font-repository/main/fonts.json"
[[repo]]
name = "Google Fonts Local"
url = "https://www.googleapis.com/webfonts/v1/webfonts?key={API_KEY}"
key = "KEY"
添加到源代码
要将仓库添加到源代码,请参考 src/repo.rs
中的示例
Repository {
name: "Open Font Repository".to_string(),
url: "https://raw.githubusercontent.com/GustavoPeredo/open-font-repository/main/fonts.json".to_string(),
key: None,
}
也许还有其他与此软件兼容的字体仓库,我在此不知情,它们在编译时作为选项将会很方便!
依赖项
~10–21MB
~322K SLoC