ต้องการการอัปเดต (ไม่บ่อยนัก) เกี่ยวกับแบบอักษรใหม่จากประเภทลูกศรหรือไม่?
- ลงทะเบียนเพื่อรับจดหมายข่าวประเภทลูกศร! -
ติดตาม @arrowtype บน Instagram!
เรียนรู้เพิ่มเติมเกี่ยวกับตัวอย่างเว็บแบบเรียกซ้ำ→

Recursive Sans & Mono เป็นตระกูลประเภทตัวแปรที่สร้างขึ้นเพื่อรหัสที่ดีกว่าและ UI มันได้รับแรงบันดาลใจจากการลงนามสคริปต์แบบไม่เป็นทางการ แต่ได้รับการออกแบบมาเพื่อตอบสนองความต้องการของสภาพแวดล้อมการเขียนโปรแกรมและอินเทอร์เฟซแอปพลิเคชัน
ในการเขียนโปรแกรม“ การเรียกซ้ำ” คือเมื่อฟังก์ชั่นเรียกตัวเองโดยใช้เอาต์พุตของตัวเองเป็นอินพุตเพื่อให้ผลลัพธ์ที่ทรงพลัง Mono แบบเรียกซ้ำถูกใช้เป็นเครื่องมือในการสร้างตัวเอง: มันถูกใช้ในการเขียนสคริปต์ Python เพื่อจัดประเภทงานการผลิตโดยอัตโนมัติและเพื่อสร้างภาพตัวอย่างและใช้ใน HTML, CSS และ JS เพื่อสร้างหลักฐานทางเว็บและต้นแบบ ด้วยการใช้งานที่ใช้งานอยู่นี้โมโนซ้ำได้ถูกสร้างขึ้นมาเพื่อให้ทั้งสนุกกับการดูและมีประโยชน์อย่างลึกซึ้งสำหรับการทำงานตลอดทั้งวัน
sans แบบเรียกซ้ำยืมร่ายมนตร์จากโมโนแม่ แต่ปรับความกว้างของร่ายมนตร์สำคัญมากมายเพื่อการอ่านที่สะดวกสบาย ตัวชี้วัดของมันมี ความซับซ้อน - ทุกสไตล์ใช้พื้นที่แนวนอนเดียวกันในทุกรูปแบบ ในแบบอักษรตัวแปร 3 แกนนี้จะช่วยให้การเปลี่ยนผ่านของเหลวระหว่างน้ำหนัก, เอียงและ "นิพจน์" (ไม่เป็นทางการกับรูปแบบตัวอักษรที่เข้มงวด) ทั้งหมดที่ไม่มีการเลื่อนข้อความหรือการรีดกลับของเค้าโครง สิ่งนี้ไม่เพียง แต่อนุญาตให้มีความเป็นไปได้แบบโต้ตอบใหม่ใน UI แต่ยังทำให้ประสบการณ์การเรียงพิมพ์ที่สนุกสนานไม่เหมือนใคร
Recursive ได้รับการออกแบบด้วยชุดอักขระผู้เชี่ยวชาญของ Google Fonts Latin ที่ได้รับการแก้ไขรวมถึงสัญลักษณ์ที่เป็นประโยชน์มากมายสำหรับสกุลเงินและคณิตศาสตร์ (ดูบันทึกชุดอักขระสำหรับรายละเอียดเพิ่มเติม) รวมถึงการสนับสนุนภาษาต่อไปนี้:
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 นี่คือใบอนุญาตซอฟต์แวร์ฟรีที่อนุญาตให้คุณใช้ซอฟต์แวร์แบบอักษรภายใต้ชุดเงื่อนไข โปรดดูข้อความทั้งหมดของใบอนุญาตสำหรับรายละเอียดเกี่ยวกับการอนุญาตเงื่อนไขและข้อจำกัดความรับผิดชอบ
วิธีง่ายๆ: เปิดไฟล์ตัวอักษรในหนังสือ Font และคลิก "ติดตั้ง Font"
วิธีที่ดี:
<yourusername>/Library/Fontsคลิกสองครั้งที่ไฟล์ TTF จากนั้นเลือก "ติดตั้ง"
ในการติดตั้งไฟล์ฟอนต์แบบคงที่จำนวนมาก (อาจใช้งานได้ดีกว่าในแอพเช่น Microsoft Word และ PowerPoint):
static_fonts จากนั้นเข้าสู่โฟลเดอร์ Mono หรือ SANS static_otfนี่เป็นหัวข้อใหญ่ แต่คู่มือที่ดีสองสามข้อมาจาก MDN และจาก CSS-tricks
โดยทั่วไปคุณควรเชื่อมโยงในแบบอักษรด้วย @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 เป็นแกน "ไม่ได้ลงทะเบียน" (ปัจจุบันไม่ได้อยู่ในรายการอย่างเป็นทางการของ Microsoft เกี่ยวกับแกนและสเป็คที่เปลี่ยนแปลง) ดังนั้นแท็กเหล่านี้จะต้องใช้ในทุกแคปและควบคุมผ่าน font-variation-settingsfont-style คุณสมบัติเพื่อควบคุมแกน slnt และ CRSV แต่สิ่งเหล่านี้มีปัญหาการสนับสนุนเบราว์เซอร์บางอย่าง (ณ เดือนตุลาคม 2019 แต่เครื่องมือกำลังพัฒนาอย่างรวดเร็วเพื่อสนับสนุน font-variation-settings ที่ดีขึ้นfont-variation-settings ได้ง่ายขึ้น-อ่านเพิ่มเติมเกี่ยวกับเทคนิคนี้ในบทช่วยสอนที่ยอดเยี่ยมของ Pixel Ambacht มีสองวิธีหลักในการใช้ซ้ำในโปรแกรมแก้ไขรหัส:
ติดตั้งฟอนต์ Rec Mono (พบในโฟลเดอร์“ Recursive_Code” ของการดาวน์โหลดรีลีส) สิ่งเหล่านี้มีรหัส ligatures และชุดโวหารหลายชุดที่นำมาใช้ล่วงหน้าเพื่อให้พวกเขาจะทำงานตามค่าเริ่มต้นในสภาพแวดล้อมและแอพรหัสส่วนใหญ่ สิ่งเหล่านี้ได้รับการตั้งชื่อและกำหนดค่าในลักษณะที่ช่วยให้การใช้งานในธีมรหัสที่ใช้สไตล์ตัวเอียงและตัวหนา หากคุณต้องการกำหนดค่าคุณสมบัติเฉพาะในแบบอักษร Rec Mono (เช่น Dotted 0 หรือ G Single-Story g ) ให้ดูการกำหนดค่ารหัสซ้ำ
แบบอักษรเหล่านี้ถูกสร้างขึ้นในแบบดั้งเดิมมากกว่าแบบอักษร "รหัส" ด้านบนดังนั้นพวกเขาอาจทำให้ดีขึ้นเล็กน้อยในบางบริบท แม้ว่าจะมีข้อดีและข้อเสีย: ligatures รหัสทำงานได้ดีขึ้นในแบบอักษร "รหัส" ในแอพ monospace เท่านั้นเท่านั้น บน Mac ก่อน MacOS 11 สิ่งเหล่านี้ไม่ได้ทำงานในธีมที่มีสไตล์ตัวเอียง - ดูด้านบนสำหรับแบบอักษร "รหัส" ที่ทำ และแบบอักษร "รหัส" ช่วยให้คุณปรับแต่งได้มากขึ้นถ้าคุณต้องการ!
หากต้องการใช้แบบอักษรเด็คท็อปมาตรฐานให้ติดตั้งฟอนต์ Recursive Mono ท็อป (พบในโฟลเดอร์“ Recursive_desktop” ของการดาวน์โหลดรีลีส) จากนั้นเปิดใช้งานและตั้งค่าคุณสมบัติ Opentype หากโปรแกรมแก้ไขรหัสของคุณอนุญาต คำแนะนำสำหรับบรรณาธิการสามคนติดตาม
โดยสรุปให้เปิดการตั้งค่าตัวแก้ไขและตั้งค่าตระกูลตัวอักษร ชื่อครอบครัวเหล่านี้สั้นลงเนื่องจากชื่อตัวอักษรยาวอาจทำให้เกิดข้อผิดพลาดในบางสภาพแวดล้อม ตัวย่อหลักมีดังนี้:
Mn หมายถึง โมโน (monospace/ความกว้างคงที่)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
จากนั้นหากคุณต้องการคุณสามารถเปิดใช้งานคุณสมบัติ opentype โดยค้นหาในการตั้งค่าสำหรับ fontLigatures จากนั้นแก้ไขสิ่งนี้ในการตั้งค่า json เช่นนี้:
"editor.fontLigatures" : " 'ss01','ss05','dlig' " (ข้างต้นจะทำให้คุณมีความเรียบง่าย 6 & 9 , A ชั้นเดียว a และเปิดใช้งาน ligatures รหัส)
ในแถบเมนูไปที่ 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 " , ในการควบคุมรหัส ligatures หรือคุณสมบัติ opentype อื่น ๆ ตั้งค่า font_options เปิดเช่น SO:
"font_options" : [ " ss01 " , " ss05 " , " dlig " ],ดังนั้นการตั้งค่าเต็มรูปแบบอาจมีลักษณะเช่นนี้:
{
"font_face" : " Recursive Mn Lnr St " ,
"font_size" : 24 ,
"theme" : " Adaptive.sublime-theme "
}Recursive มีแกนต่อไปนี้:
| แกน | ติดแท็ก | พิสัย | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|---|
| monospace | MONO | 0 ถึง 1 | 0 | SANS (ความกว้างธรรมชาติ) ถึงโมโน (ความกว้างคงที่) |
| ไม่เป็นทางการ | CASL | 0 ถึง 1 | 0 | เชิงเส้นเป็นแบบสบาย ๆ |
| น้ำหนัก | wght | 300 ถึง 1,000 | 300 | แสงถึง extrablack สามารถกำหนดได้ด้วยคุณสมบัติแบบอักษรน้ำหนักปกติ |
| เอียง | slnt | 0 ถึง -15 | 0 | ตั้งตรง (0 °) ไปที่เอียง (ประมาณ 15 °) |
| เป็นคำสาปแช่ง | CRSV | 0, 0.5 หรือ 1 | 0.5 | โรมัน (0), อัตโนมัติ (0.5), หรือพูดคุยกันเสมอ (1) |
คำจำกัดความของแกน
Monospace MONO - 0 ถึง 1 ปรับความกว้างของร่ายมนตร์จากสัดส่วนหรือ“ Sans” (0) เป็นความกว้างคงที่หรือ“ โมโน” (1)
การใช้งานที่แนะนำ: โดยทั่วไปการออกแบบตามสัดส่วนสามารถอ่านได้มากขึ้นในข้อความและ UI ในขณะที่การออกแบบ monospace นั้นเหมาะสมกว่าสำหรับรหัสและข้อความที่ตัวอักษร disambiguation มีความสำคัญอย่างยิ่ง (เช่นรหัสผ่านหมายเลขรหัสข้อมูลตาราง ฯลฯ )
Casual CASL - 0 ถึง 1 ปรับสไตล์การแสดงออกหรือ "ประเภท" ของร่ายมนตร์ ในการเรียกซ้ำสิ่งนี้ไปจากเชิงเส้น (0) เป็นแบบไม่เป็นทางการ (1)
การใช้งานที่แนะนำ: รูปแบบเชิงเส้นแบ่งปันโครงสร้างที่คล้ายกันกับแบบอักษรที่จัดเป็น เส้นตรง การรวมด้านของนักมนุษยนิยม SANs ที่มีรูปแบบตัวอักษรที่มีเหตุผลขนาดกะทัดรัดขนาดกะทัดรัดและแบน โครงสร้างปกติที่คุ้นเคยนี้ทำให้เหมาะสำหรับข้อความยาวที่ต้องใช้โฟกัส (เช่นย่อหน้าเอกสารรหัสเต็มและพาดหัวที่มีหมัด) สไตล์สบาย ๆ ได้รับแรงบันดาลใจจากการลงนามแบบลำลองแบบจังหวะเดียว แต่วาดขึ้นมาสำหรับขนาดเล็ก มันมีประโยชน์มากที่สุดในข้อความที่สั้นกว่าซึ่งต้องการเสียงที่อบอุ่นและเชิญชวน (เช่นพาดหัวโพสต์บล็อกป้ายร้านค้าและเทอร์มินัลคอมพิวเตอร์)
น้ำหนัก wght - 300 ถึง 1,000 ความหนาโดยรวมของตัวอักษรและความมืดของข้อความที่ประกอบกับพวกเขา โดยเฉพาะอย่างยิ่งในการเรียกซ้ำแกนน้ำหนักจะไม่ส่งผลต่อความกว้างของร่ายมนตร์ น้ำหนักตัวหนาใช้พื้นที่เท่ากันกับน้ำหนักเบาแม้ในรูปแบบสัดส่วนของแกน MONO
การใช้งานที่แนะนำ: ความแตกต่างของน้ำหนักสามารถให้ความสำคัญกับข้อความแสดงการโต้ตอบของผู้ใช้หรือปรับโทนการสื่อสาร สำหรับข้อความแสงบนพื้นหลังมืด 400 (“ ปกติ”) มีแนวโน้มที่จะเหมาะสมสำหรับข้อความและรหัส สำหรับข้อความสีเข้มบนพื้นหลังแสงอาจเป็นประโยชน์ในการปรับน้ำหนักให้สูงขึ้นเป็น 500 (“ ปานกลาง”)
ทำไมมันถึงไม่เป็นแกนเกรด? ดูปัญหา #365
Slant slnt -0 ถึง -15 "ไปข้างหน้าลีน" ของตัวอักษร หมายเหตุ: -15 (ลบ 15) สอดคล้องกับการเอียงตามเข็มนาฬิกา 15 °เนื่องจากรากของการออกแบบประเภทในเรขาคณิต หากแกนตัวเอียงอยู่ที่ค่าเริ่มต้นของมันจะผ่านตัวอักษรที่เอียงไปทาง -13.99 จะเปิดใช้งานตัวอักษร "อสุจิ" โดยแปลงให้เป็นรูปแบบที่เขียนด้วยมือมากขึ้นเช่นเรื่องง่าย ๆ "เรื่องเดี่ยว" a และ g
การใช้งานที่แนะนำ: ใช้ slant เป็นวิธีรองเพื่อเน้นข้อความหรือเสียงการพิมพ์ที่แตกต่างกัน ในข้อความมันจะเป็นประโยชน์ในการใช้ส่วนเอียงบางส่วนประมาณ -9 ในขณะที่ขนาดการแสดงผลคุณสามารถคาดหวังโครงร่างที่แม่นยำที่สุดที่ 0 หรือ -15 นอกจากนี้คุณยังสามารถเคลื่อนไหวได้จาก 0 ถึง -13 โดยไม่ต้องเปลี่ยนรูปแบบตัวอักษรหรือความกว้างของร่ายมนตร์ซึ่งเหมาะสำหรับสิ่งต่าง ๆ เช่นลิงก์หรือปุ่มที่ลอยอยู่
CRSV Cursive - 0, 0.5 หรือ 1. ควบคุมการทดแทนรูปแบบการอภิปรายตามแกนเอียง "OFF" (0) รักษารูปแบบตัวอักษรโรมันเช่น "Double Story" a และ g , "Auto" (0.5) อนุญาตให้มีการทดแทนการพูดคุยกันและ "ON" (1) ยืนยันแบบฟอร์มการพูดคุยแม้ในข้อความตั้งตรงที่มีความเอียงเป็น 0
การใช้งานที่แนะนำ: ใช้ Cursive เป็นวิธีตติยภูมิในการเน้นข้อความหรือเป็นวิธีที่จะควบคุมข้อความภาพเคลื่อนไหวได้มากขึ้น (เช่นการเชื่อมโยงหลายมิติที่เอียงไปตามการโต้ตอบของผู้ใช้สามารถทำได้
โดยทั่วไปแล้วการเรียกซ้ำมีไว้สำหรับการใช้งานขนาดเล็กถึงขนาดกลางโดยเฉพาะบนหน้าจอ อย่างไรก็ตามมันมีประโยชน์ที่จะเข้าใจว่าช่วงโวหารใดทำงานได้ดีที่สุดในบริบท แนวทางบางประการที่ควรค่าแก่การรู้:
| ช่วงสไตล์ | ขนาดที่แนะนำ | กรณีการใช้งานที่แนะนำ |
|---|---|---|
| ไม่เป็นทางการ 0 (เชิงเส้น) , น้ำหนัก 300–800 (แสง - extrabold) | 8px ถึง 72px | การใช้งานทั่วไป (โดยเฉพาะอย่างยิ่งสำหรับข้อความที่ยาวขึ้น) |
| ไม่เป็นทางการ 1 (ไม่เป็นทางการ) , น้ำหนัก 300–800 (แสง - extrabold) | 14px ถึง 72px | การใช้งานทั่วไป (บุคลิกภาพมากขึ้น) |
| น้ำหนัก 801–900 (สีดำ - extrabrack) | 32px ถึง 144px | พาดหัวแสดงการพิมพ์ตัวอักษร |
| ค่ากลางของแบบสบาย ๆ และเอียง | 10px ถึง 40px | ดีในข้อความ แต่อาจดูไม่ดีในขนาดที่แสดง |
สิ่งที่ต้องระวัง:
CASL ระดับกลางและค่า slnt หากคุณยึดติดกับอินสแตนซ์ที่มีชื่อในแอพออกแบบ (เช่น Mono Casual Bold Italic ฯลฯ ) สิ่งนี้จะได้รับการจัดการให้คุณโดยอัตโนมัติRecursive ถูกสร้างขึ้นด้วยคุณสมบัติ 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เพื่อสร้างแบบอักษรคงที่
เพื่อสร้างแบบอักษรคงที่ทั้งหมด Run:
# 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
ในที่สุดไปที่หน้ารีลีสของ Repo เพื่อสร้างหน้าใหม่
โครงการนี้รวมการวิจัยจำนวนมาก (มีอยู่ใน docs/ ) และมีเครื่องมือขนาดเล็กจำนวนมาก (อยู่ใน src/00-recursive-scripts-for-robofont ที่อาจช่วยคุณได้หากคุณออกแบบแบบอักษรตัวแปรด้วยยูเอฟโอใน Robofont
นำทางไปยังโฟลเดอร์สคริปต์ Robofont ของคุณในเทอร์มินัล
cd จากนั้นคัดลอกวางหรือลาก -N-drop โฟลเดอร์สคริปต์เพื่อรับ FilePath แบบเต็ม กด Return/Enter สร้างลิงค์สัญลักษณ์หรือ "symlink" ไปยังโฟลเดอร์สคริปต์โครงการแบบเรียกซ้ำ src/00-recursive-scripts-for-robofont
ln -ssrc/00-recursive-scripts-for-robofont จาก Finder เพื่อรับเส้นทางเต็ม กด Return/Enterls เพื่อแสดงรายการไฟล์ คุณควรเห็น src/00-recursive-scripts-for-robofont เป็นหนึ่งในรายการที่ระบุไว้ดังนั้นสิ่งนี้จะมีลักษณะเช่น:
ln -s ~/FOLDER_PATH/robofont-scripts ~/FOLDER_PATH/recursive/src/00-recursive-scripts-for-robofont
ตอนนี้คุณสามารถเรียกใช้สคริปต์โครงการเรียกซ้ำได้โดยตรงจากเมนูสคริปต์หรือโดยการเปิดในหน้าต่างสคริปต์
ดูการสนับสนุน. MD สำหรับนโยบายที่มีส่วนร่วมในโครงการ