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格式。