是否(不常見)來自箭頭類型的新字體的更新?
?註冊箭頭類型新聞通訊! ?
在Instagram上關注@arrowtype!
在遞歸網絡標本上了解更多信息→

遞歸SANS&MONO是一個用於更好的代碼和UI的可變類型系列。它的靈感來自休閒腳本簽名,但主要旨在滿足編程環境和應用程序接口的需求。
在編程中,“遞歸”是一個函數自我調用的時候,將其自己的輸出作為輸入來產生強大的結果。遞歸單聲道被用作幫助構建自身的工具:它用於編寫Python腳本以自動化類型生產工作並生成樣品圖像,並且在HTML,CSS和JS中使用了它來創建基於Web的證明和原型。通過這種活躍的用法,遞歸單聲道被製成是有趣的,而且對全天工作非常有用。
遞歸不從其父單單聲道借用字形,但調整了許多關鍵字形的寬度,以使其具有舒適的可讀性。它的指標非常複雜- 每種樣式都佔據了所有樣式的水平空間。在此3軸變量字體中,這允許體重,傾斜和“表達”(隨意到嚴格的字母形式)之間的流體過渡,所有這些都沒有文本移動或佈局回流。這不僅允許UI中的新互動可能性,而且還帶來了獨特的發行版本體驗。
遞歸設計的使用修改後的Google字體拉丁專家角色集,其中包括貨幣和數學的許多有用符號(有關更多詳細信息,請參見字符集註釋),以及對以下語言的支持:
Abenaki, Afaan Oromo, Afar, Afrikaans, Albanian, Alsatian, Amis, Anuta, Aragonese, Aranese, Aromanian, Arrernte, Arvanitic (Latin), Asturian, Atayal, Aymara, Azerbaijani, Bashkir (Latin), Basque, Belarusian (Latin), Bemba, Bikol, Bislama, Bosnian, Breton, Cape Verdean Creole, Catalan, Cebuano, Chamorro, Chavacano, Chichewa, Chickasaw, Cimbrian, Cofán, Cornish, Corsican, Creek, Crimean Tatar (Latin), Croatian, Czech, Danish, Dawan, Delaware, Dholuo, Drehu, Dutch, English, Esperanto, Estonian, Faroese, Fijian, Filipino, Finnish, Folkspraak, French, Frisian, Friulian, Gagauz (Latin), Galician, Ganda, Genoese, German, Gikuyu, Gooniyandi, Greenlandic (Kalaallisut), Guadeloupean Creole, Gwich’in, Haitian Creole, Hän, Hawaiian, Hiligaynon, Hopi, Hotcąk (Latin), Hungarian, Icelandic, Ido, Igbo, Ilocano, Indonesian, Interglossa, Interlingua, Irish, Istro-Romanian, Italian, Jamaican, Javanese (Latin), Jèrriais, Kaingang, Kala Lagaw Ya, Kapampangan (Latin), Kaqchikel, Karakalpak (Latin), Karelian (Latin), Kashubian, Kikongo, Kinyarwanda, Kiribati, Kirundi, Klingon, Kurdish (Latin), Ladin, Latin, Latino sine Flexione, Latvian, Lithuanian, Lojban, Lombard, Low Saxon, Luxembourgish, Maasai, Makhuwa, Malay, Maltese, Manx, Māori, Marquesan, Megleno-Romanian, Meriam Mir, Mirandese, Mohawk, Moldovan, Montagnais, Montenegrin, Murrinh-Patha, Nagamese Creole, Nahuatl, Ndebele, Neapolitan, Ngiyambaa, Niuean, Noongar, Norwegian, Novial, Occidental, Occitan, Old Icelandic, Old Norse, Onĕipŏt, Oshiwambo, Ossetian (Latin), Palauan, Papiamento, Piedmontese, Polish, Portuguese, Potawatomi, Q’eqchi’, Quechua, Rarotongan, Romanian, Romansh, Rotokas, Sami (Inari Sami), Sami (Lule Sami), Sami (Northern Sami), Sami (Southern Sami), Samoan, Sango, Saramaccan, Sardinian, Scottish Gaelic, Serbian (Latin), Seri, Seychellois Creole, Shawnee, Shona, Sicilian, Silesian, Slovak, Slovenian, Slovio (Latin), Somali, Sorbian (Lower Sorbian), Sorbian (Upper Sorbian), Sotho (Northern), Sotho (Southern), Spanish, Sranan, Sundanese (Latin), Swahili, Swazi, Swedish, Tagalog, Tahitian, Tetum, Tok Pisin, Tokelauan, Tongan, Tshiluba, Tsonga, Tswana, Tumbuka, Turkish, Turkmen (Latin), Tuvaluan, Tzotzil, Uzbek (Latin), Venetian, Vepsian, Vietnamese, Volapük, Võro, Wallisian, Walloon, Waray-Waray, Warlpiri, Wayuu, Welsh, Wik-Mungkan, Wiradjuri, Wolof, Xavante, Xhosa, Yapese, Yindjibarndi, Zapotec, Zarma, Zazaki, Zulu, Zuni
當您考慮使用字體時,字體許可證是您應該尋找和閱讀的第一件事。它概述了您如何同意使用字體,並且字體許可在不同類型的項目和類型鑄造廠之間有所不同。
遞歸項目由SIL Open Font許可證v1.1獲得許可。這是一個免費的軟件許可證,可讓您在一組條件下使用字體軟件。有關權限,條件和免責聲明的詳細信息,請參考許可證的全文。
簡單的方法:在字體書中打開字體文件,然後單擊“安裝字體”。
好方法:
<yourusername>/Library/Fonts雙擊TTF文件,然後選擇“安裝”。
要安裝許多靜態字體文件(這些可能在Microsoft Word和PowerPoint等應用中更好地工作):
static_fonts文件夾,然後進入單聲道或sans static_otf文件夾。這是一個很大的話題,但是有幾個好指南來自MDN和CSS-Trooks。
通常,您應該使用@font-face鏈接在字體中,請確保使用font-weight: 300 1000;指定字體的重量範圍:
@font-face {
font-family: 'Recursive';
src: url('path/to/font/<UPDATE_SPECIFIC_FONT_PATH>.woff2') format('woff2-variations');
font-weight: 300 1000;
}
然後,您可以將字體與font-weight和font-variation-settings一起使用!
筆記:
MONO和CASL是“未註冊”的軸(當前不在微軟的官方變化軸和規格中),因此這些標籤必須在全盤中使用,並通過font-variation-settings控制。font-style來控制slnt和CRSV軸,但是這些瀏覽器支持問題(截至2019年10月,但工具正在迅速發展以更好地支持變量字體,因此隨著時間的推移會改善!),這些功能在font-variation-settings中都可以改善。font-variation-settings - 在Pixel Ambacht的《奇妙教程》中閱讀有關此技術的更多信息。 在代碼編輯器中使用遞歸的主要方法有兩種:
安裝Rec Mono字體(在發行下載的“ recursive_code”文件夾中找到)。這些具有預先應用的代碼連接和幾個樣式集,因此默認情況下它們在大多數代碼環境和應用程序中都可以使用。這些也被命名和配置的方式可以使它們在使用斜體和粗體樣式的代碼主題中使用。如果您希望在Rec Mono字體中配置特定功能(例如虛線0或單層g ),請參見遞歸代碼配置。
這些字體比上面的“代碼”字體更傳統的方式構建,因此它們在某些情況下可能會稍微更好。不過,有利弊:代碼連接在許多僅單拼音應用程序中的“代碼”字體中效果更好。在MACOS 11之前的Mac上,這些在具有斜體樣式的主題中不起作用 - 請參見上文的“代碼”字體。而且,如果需要的話,“代碼”字體可允許您進行更多的自定義!
要使用標準的DeckTop字體,請安裝桌面Recursive Mono字體(在發行下載的“ Recursive_desktop”文件夾中找到)。然後,如果您的代碼編輯器允許使用此功能,請激活它們並設置Opentype功能。有關三個編輯的說明。
總而言之,打開編輯器設置並設置字體家庭。這些家族名稱縮短了,因為長字體名稱可能會在某些環境中導致錯誤。主要縮寫如下:
Mn表示單聲道(單層/固定寬度)Sn表示sans (比例/自然寬度)Csl意味著休閒Lnr表示線性St表示靜態(與變量相反,例如完整的遞歸變量字體)因此,您將幾乎將編輯器設置為使用Recursive Mn Csl St或Recursive Mn Lnr St 。
在設置中,搜索Font Family ,然後指定要使用的家庭。
用於遞歸單休式常規:
"Recursive Mn Csl St", Menlo, "Apple Color Emoji", monospace
用於遞歸單線性常規:
"Recursive Mn Lnr St", Menlo, "Apple Color Emoji", monospace
然後,如果需要,您可以通過在設置中搜索fontLigatures來激活OpenType功能,然後在設置中進行編輯。
"editor.fontLigatures" : " 'ss01','ss05','dlig' " (以上將為您提供簡化的6和9 ,一個單層a ,並激活代碼連接。)
在菜單欄中,轉到Atom > Stylesheet並添加以下內容:
atom-text-editor {
font-family : 'Recursive Mn Csl St' ; /* This sets the font family*/
font-feature-settings : "ss01" , "ss05" , "dlig" ; /* This sets OpenType features, if you want to set them. */
}使用font-family: 'Recursive Mn Lnr St';獲得線性家庭。
轉到Sublime Text > Preferences - > Settings ,然後將font_face設置為您希望使用的樣式的特定Postscript名稱。
用於遞歸單休式常規:
"font_face" : " Recursive Mn Csl St " ,用於遞歸單線性常規:
"font_face" : " Recursive Mn Lnr St " ,要控制代碼連接或其他Opentype功能,請將font_options設置為“這樣:
"font_options" : [ " ss01 " , " ss05 " , " dlig " ],因此,完整的設置可能看起來像這樣:
{
"font_face" : " Recursive Mn Lnr St " ,
"font_size" : 24 ,
"theme" : " Adaptive.sublime-theme "
}遞歸具有以下軸:
| 軸 | 標籤 | 範圍 | 預設 | 描述 |
|---|---|---|---|---|
| 單層 | MONO | 0到1 | 0 | sans(自然寬度)到單聲道(固定寬度) |
| 隨意的 | CASL | 0到1 | 0 | 線性到休閒 |
| 重量 | wght | 300至1000 | 300 | 光到露天。可以使用通常的字體重量屬性來定義。 |
| 傾斜 | slnt | 0至-15 | 0 | 直立(0°)傾斜(約15°) |
| 草書 | CRSV | 0、0.5或1 | 0.5 | 始終羅馬(0),自動(0.5)或始終草書(1) |
軸定義,遞歸
單拼音單MONO -0至1。將字形寬度從比例或“ sans”(0)(0)或固定寬度或“單聲道”(1)調節。
建議用途:通常,比例設計在文本和UI中更可讀,而單拼設計更適合代碼和文本,在該代碼和文本中,在該代碼和文本中尤其重要(例如密碼,ID號,表格數據等)。
休閒CASL -0至1。調整字形的表達方式或“流派”。在遞歸中,從線性(0)到休閒(1)。
推薦用途:線性樣式具有與被歸類為線性的字體相似的結構,將人道主義者的方面與合理的,緊湊的平面字母形式合併。這種常規的,熟悉的結構使其適用於需要重點的長形式文本(例如段落,完整的代碼文檔和有力的頭條新聞)。休閒風格的靈感來自單衝程休閒招牌,但尺寸為小。它在需要溫暖而誘人的音調的較短形式文本中最有用(例如,博客文章標題,商店標牌和計算機終端)。
重量wght -300至1000。字母的整體厚度和與之構成的文本的黑暗。值得注意的是,在遞歸中,重量軸不影響字形寬度。大膽的重量也具有與輕重量相同的空間,即使是MONO的比例樣式。
推薦使用:重量的差異可以在文本中重點,顯示用戶互動或調整通信語調。對於黑暗背景上的淺文本,400(“常規”)往往適用於文本和代碼。對於在光背景上的深色文本,將重量調整到500(“媒介”)可能是有益的。
為什麼不是等級軸?請參閱第365期
Slant slnt - 0至-15。字母的“前進”。注意: -15 (負15)對應於15°順時針傾斜,這是由於設計的根源在幾何形狀中。如果斜體軸默認值為默認值,則經過-13.99的傾斜度將激活“草書”字母,將它們轉換為簡化的形式,例如簡化的“單個故事” a和g
推薦用途:使用Slant作為強調文本或不同印刷音調的次要方法。在文本中,使用大約-9的部分傾斜可能很有用,而在顯示尺寸時,您可以期望在0或-15處最精確的輪廓。您還可以在沒有字母形式或更改字形寬度的情況下從0到-13動畫,這非常適合諸如懸停鏈接或按鈕之類的東西。
草書CRSV - 0、0.5或1。控制沿傾斜軸的草書形式的取代。 “ OFF”(0)維護羅馬字母形式,例如“雙層” a和g ,“自動”(0.5)允許草書替代,並且“ ON”(1)即使在傾斜為0的直立文本中也聲明了草書。
推薦使用:使用草書作為第三級方式來強調文本,或者作為對動畫文本進行更多控制的一種方式(例如,用用戶互動時傾斜的超鏈接可以通過草書0或1進行樣式來防止Glyph替代的突然變化)。
通常,遞歸用於小型到中等大小的用法,尤其是在屏幕上。但是,了解哪些風格範圍在什麼情況下效果最好。一些值得了解的準則:
| 樣式範圍 | 建議的尺寸 | 推薦用例 |
|---|---|---|
| 休閒0 (線性) ,重量300–800 (光線 - 脫落) | 8px至72px | 一般用途(特別是對於更長的文本) |
| 休閒1 (休閒) ,體重300-800 (光線 - 脫落) | 14px至72px | 一般用途(更多個性) |
| 權重801–900 (黑色– trablack) | 32px至144px | 頭條新聞,顯示版式 |
| 休閒和傾斜的中間值 | 10px至40px | 文字良好,但在顯示尺寸上看起來不太好 |
要注意的事情:
CASL和slnt值。如果您堅持設計應用程序中的命名實例(例如Mono Casual Bold Italic等),則可以自動為您處理。遞歸具有許多Opentype功能,使其易於控制一些方便的印刷功能。

要構建,設置虛擬環境
virtualenv -p python3 venv
然後激活它:
source venv/bin/activate
然後安裝要求:
pip install -U -r requirements.txt
也:
pip install git+https://github.com/LettError/DesignspaceProblems
字體是使用mastering/build.py腳本構建的。該腳本可以構建所有內容( python build.py --all )或字體的子集。要查看所有選項,請鍵入python build.py -h查看所有選項。建議的構建過程如下詳細介紹。
注意:只需準備源文件( mastering/prep_fonts.py ),構建源文件( mastering/build_files.py ),生成變量字體( mastering/build_variable.py ),並生成靜態字體( build_static.py )。如果您只想對構建文件做一件事情,這些腳本可能會很方便。每個都採用一組命令行參數,所有記錄(鍵入python <script_name> -h )以查看文檔。
首先,準備字體
在開始之前,將您的工作目錄更改為mastering 。
cd mastering
python build.py --files是第一步。這將生成構建變量和靜態字體所需的所有文件。您可能希望使用此命令( python build.py --version 1.085 --files )給字體編號。要僅準備可變字體的文件,請使用python build.py --varfiles或僅準備靜態字體的文件,請使用python build.py --statfiles 。
生成文件後(請注意,靜態實例需要一點時間才能生成),您將需要查看mastering/build/static/CFF/checkoutlines.txt文件。這是Checkoutlinesufo的報告(編輯以刪除不需要注意的問題)。本報告中發現的問題應在靜態不明飛行物中清理。許多問題是由於刪除重疊而引起的。沒有什麼是完美的,重疊的刪除算法。
構建變量字體
要構建可變字體,請運行:
# activate venv, install dependencies, cd mastering
version=1.085 # (replace version number)
python build.py --varfiles --version $version
python build.py --variable --version $version構建靜態字體
要構建所有靜態字體,請運行:
# activate venv, install dependencies, cd mastering
version=1.085 # (replace version number)
python build.py --statfiles --version $version
python build.py --static --version $version構建所有字體
如果您想構建所有字體的所有源,字體和WOFF2版本:
# activate venv, install dependencies, cd mastering
python build.py --all --version 1.085 # (replace version number)獲取通知(僅MAC)
添加選項--pync (簡稱-p )到腳本調用以獲取MAC通知,如果您在構建運行時正在從事其他任務,這可能會有所幫助。
# activate venv, install dependencies, cd mastering
python build.py --all --pync --version 1.085 # (replace version number)首先,構建字體上的主體流。然後:
# navigate to the root directory of the project, then...
# update to latest font build directory
fontDir= " fonts_1.085 "
src/build-scripts/make-release/00-prep-release.sh $fontDir然後,將最新變量字體複製到您的本地遞歸代碼配置存儲庫中構建更新的代碼字體。將它們複製到新製作的目錄fonts/ArrowType-Recursive-1.XXX/Recursive_Code中。
最後,轉到回購版本的頁面以製作新頁面。
該項目包括大量的研究(包含在docs/中),並包含許多小工具(包含在src/00-recursive-scripts-for-robofont robofont中,如果您在Robofont中使用UFOS設計可變字體,可能會為您提供幫助。
導航到終端中的Robofont腳本文件夾。
cd ,然後復制Paste或Drag-n-Drop腳本文件夾以獲取完整的FilePath。點擊返回/輸入。與src/00-recursive-scripts-for-robofont建立符號鏈接或“符號鏈接”
ln -ssrc/00-recursive-scripts-for-robofont以獲取其完整路徑。點擊返回/輸入。ls列出文件來檢查它是否存在。您應該將src/00-recursive-scripts-for-robofont列出的項目之一。因此,這看起來像:
ln -s ~/FOLDER_PATH/robofont-scripts ~/FOLDER_PATH/recursive/src/00-recursive-scripts-for-robofont
現在,您可以直接從腳本菜單運行遞歸項目腳本,也可以通過在腳本窗口中打開它們。
有關為該項目做出貢獻的政策,請參見貢獻。