Fontship是用于生成字体和工具的工具包,用于协作工作流程。
Fontship在可移动类型的联盟中开发了开源字体项目的需求,它使您的设计源变成生产的“现成字体文件”并将其捆绑以发布。是的,您可以手动执行所有相同的步骤。是的,您可以编写自己的脚本以完成相同的工作。字体将桌子带到桌子上的是您需要收集的所有工具,其中大多数钻头已经有线。
来自来源的一构建字体是完全自动化的,CI的自动构建和发布版本只是一小步。作为额外的奖励,一切都经过精心组织,以尽可能容易地通过版本控制系统(例如git)进行异步远程协作。设计师甚至不需要使用相同的设计工具!
构建步骤和工作流程的几乎每个方面都可以按下调整,但是盒子设置应该可以构建大多数字体项目。
可以以三种不同的方式使用字体:
注意:通过V0.5.0支持的第四种方法,已弃用了Fontship的规则文件中的现有Makefile的直接包含。根据您的项目,这种使用暂时可能会或可能不会继续使用限制,但是在未来的规则中将假定在CLI中添加的新功能。
在不安装或在本地运行任何内容的情况下构建字体!只需将您的资源推到远程GIT存储库,然后让Fontship完成其余的工作。
要与github操作一起使用,请在您的存储库中添加配置文件,例如.github/workflows/fontship.yml :
name : Fontship
on : [push, pull_request]
jobs :
fontship :
runs-on : ubuntu-latest
name : Fontship
steps :
- name : Checkout
uses : actions/checkout@v2
with :
fetch-depth : 0
- name : Fetch tags
run : git fetch --prune --tags
- name : Fontship
uses : theleagueof/fontship@latest目前,字体仅将字体构建到当前的项目目录中,它不会在任何地方发布它们。您需要通过(例如将它们连接到每个CI运行或在发行版上发布)作为您项目的工作流程的另一个步骤来发布所得的工件。有关一个完整的示例,请参见联盟斯巴达人或利比尔图努斯的工作流程。
其他CI跑步者很容易受到支持,有关详细信息或为您喜欢的示例配置,请参见第32期。
可以从Docker Hub,GitHub软件包中获得预构建的Docker图像,或者您可以自己构建它们。
实例化具有所有正确参数的Docker容器的最简单方法是设置一个别名(可以将其添加到Shell的RC文件中以持续使用):
以Docker Hub为例,别名可能是:
$ alias fontship= ' docker run -it --volume "$(pwd):/data" --user "$(id -u):$(id -g)" theleagueof/fontship:latest ' Docker将在您第一次使用它时自动拉动运行所需的容器,之后它将仅使用其本地容器缓存。要跳下下载而无需运行fontship或手动更新您的高速缓存(例如,最新更新到新版本时)使用docker pull theleagueof/fontship:latest 。
您可能会用主人替换最新版本(始终是最近发布的版本标签),以使用最新鲜的未发行版本,带有v0.3.2之类的标签名称来明确使用特定版本,或者与头部使用本地构建的图像。
要在本地构建Docker映像,您将需要克隆此存储库并运行./bootstrap.sh或从版本中下载并提取源,然后运行:
$ ./configure
$ make docker如果使用Arch Linux,则可以安装此AUR软件包(在此存储库中进行了预构建)。
否则,要从源本地安装和使用,您将需要一些依赖项:
diffutils , bsdtar , entr , zsh ,make (4.2+)带有相应的AutoConf工具,cargo和rustc建造CLI,sfnt2woff-zopfli , psautohint , ttfautohint和woff2_compress 。要将软件安装到您的计算机上,请克隆此存储库并运行./bootstrap.sh或下载并提取最新版本,然后运行:
$ ./configure
$ make
$ sudo make install要为您的字体项目构建所有可能的格式,请运行
$ fontship make all要仅生成特定格式,请尝试:
# Just static OTF fonts
$ fontship make otf
# All static formats
$ fontship make static
# All variable formats
$ fontship make variable
# Just variable TTF format
$ fontship make variable-ttf如果您只对一个特定文件感兴趣(例如,一个静态实例),则可以指定您期望获得最快重建该文件的确切文件名:
$ fontship make FooBar-Black.otf当一切准备就绪时,或者您想真正运送字体(或将样本发送给朋友)时,您需要构建分发包:
$ fontship make dist所有生成字体中的字体版本设置由GIT存储库上的标签确定。版本标签应符合OpenFV描述的MAJOR.MINOR格式。