fontmake
รวบรวมแบบอักษรจากแหล่งต่าง ๆ ( .glyphs
, .ufo
, designspace
) ให้เป็นไบนารี ( .otf
, .ttf
) คุณสามารถใช้มันเพื่อสร้างอินสแตนซ์แบบคงที่และแบบอักษรตัวแปรได้
Fontmake ต้องใช้ Python 3.8 หรือใหม่กว่า
การเผยแพร่มีอยู่ใน PyPI และสามารถติดตั้งด้วย pip
pip3 install fontmake
ใช้ตัวเลือก -U
, --upgrade
เพื่ออัปเดต Fontmake และการขึ้นต่อกันของมันคือรีลีสใหม่ล่าสุด:
pip3 install -U fontmake
หลังการติดตั้ง คุณจะสามารถใช้ fontmake
ที่ปฏิบัติการได้
ตัวอย่างเช่น หากต้องการคอมไพล์ฟอนต์ตัวแปรจากไฟล์ต้นฉบับ Glyphs ให้ใช้:
fontmake MyFont.glyphs -o variable
อาร์กิวเมนต์บรรทัดคำสั่งที่สำคัญที่สุดสำหรับปฏิบัติการ fontmake
คืออินพุตที่จำเป็น ซึ่งระบุเป็นอาร์กิวเมนต์ตำแหน่งหรือใช้แฟล็ก -g
/ -u
/ -m
อย่างใดอย่างหนึ่ง และแฟล็กเสริม -o
ซึ่งเลือกรูปแบบไฟล์เอาต์พุต
มีสองวิธีในการระบุไฟล์ต้นฉบับหรือไฟล์:
เราสามารถใช้แฟล็กต่อไปนี้ ซึ่งไม่เกิดร่วมกัน:
-g filename.glyphs
: แปลงไฟล์ต้นฉบับ Glyphs เป็นไบนารี-u filename.ufo ...
: แปลงไฟล์ UFO(Z) หนึ่งไฟล์ขึ้นไปเป็นไบนารี่-m filename.designspace
: แปลงไฟล์ Designspace เป็นไบนารี่ ( -m
มีไว้สำหรับ mutatormath
ซึ่งเป็นไลบรารี Python เก่าสำหรับจัดการพื้นที่การออกแบบ) อีกทางหนึ่ง เราสามารถระบุอินพุตเป็นอาร์กิวเมนต์ตำแหน่งโดยไม่มีแฟล็ก โดยให้ฟอนต์เมคอนุมานรูปแบบต้นฉบับจากนามสกุลไฟล์: เช่น fontmake MyFont.designspace
เป็นต้น
หมายเหตุ: หากอาร์กิวเมนต์ตำแหน่งนำหน้าด้วยตัวเลือกที่รับอาร์กิวเมนต์ตั้งแต่หนึ่งตัวขึ้นไป คุณต้องใช้ตัวคั่น --
เพื่อทำเครื่องหมายอาร์กิวเมนต์ต่อไปนี้ทั้งหมดว่าเป็นตำแหน่ง (ไม่ใช่ตัวเลือก) มิฉะนั้น parser จะสับสน เช่น ตัวเลือก -i
รับอาร์กิวเมนต์เป็นศูนย์หรือหนึ่งรายการ (ดูรายละเอียดเพิ่มเติมด้านล่าง) หากไม่มี --
argparse คิดว่าคุณไม่ได้ระบุอินพุตใด ๆ :
fontmake -i -- MyFont.designspace
สามารถ/ต้องระบุอินพุตประเภทเดียวอย่างแน่นอน โดยใช้วิธีใดวิธีหนึ่ง
คุณอาจระบุรูปแบบไฟล์เอาต์พุตตั้งแต่หนึ่งรูปแบบขึ้นไปหลังตัวเลือก -o
ตัวอย่างเช่น -o otf ttf
สร้างไฟล์ฟอนต์ไบนารี OTF และ TTF สำหรับแต่ละต้นแบบในไฟล์อินพุตของคุณ
มีรูปแบบไฟล์เอาต์พุตต่อไปนี้:
otf
: ไบนารี OTF (CFF-outline) ต่อหลัก วางไว้ในไดเร็กทอรี master_otf/
ttf
: ไบนารี TTF (TrueType-outline) ต่อหลัก วางอยู่ในไดเร็กทอรี master_ttf/
otf-cff2
: ไบนารี OTF ต่อหลักที่มีโครงร่าง CFF2 วางไว้ในไดเร็กทอรี master_otf/
variable
: แบบอักษรตัวแปร TrueType วางอยู่ในไดเร็กทอรี variable_ttf/
variable-cff2
: แบบอักษรตัวแปรที่มีโครงร่าง CFF2 วางไว้ในไดเร็กทอรี variable_otf/
รูปแบบไฟล์เอาท์พุตต่อไปนี้ก็สามารถใช้ได้เช่นกัน แต่โดยทั่วไปแล้วฟอนต์เมคจะใช้ภายในเป็นขั้นตอนกลางของเอาท์พุตข้างต้น:
otf-interpolatable
: ไบนารี OTF ที่เหมาะสมสำหรับการรวมเป็นแบบอักษรตัวแปร วางอยู่ในไดเร็กทอรี master_otf_interpolatable/
(สิ่งเหล่านี้แตกต่างจาก otf
ตรงที่โครงร่างไม่ได้รับการปรับให้เหมาะสม)ttf-interpolatable
: ไบนารี TTF ที่เหมาะสมสำหรับการรวมเป็นแบบอักษรตัวแปร วางอยู่ในไดเร็กทอรี master_ttf_interpolatable/
(โครงร่างจะถูกแปลงเป็นเส้นโค้งกำลังสองด้วยวิธีที่เข้ากันได้กับการประมาณค่า)ufo
: แหล่งที่มาของสัญลักษณ์สามารถแปลงเป็น UFO หรือเป็นรูปแบบ zip ของ UFO ( .ufoz
) โดยมีแฟล็ก --save-ufo-as-zip
วางอยู่ในไดเร็กทอรี master_ufo/
หากไม่มีการระบุตัวเลือกรูปแบบ ค่าเริ่มต้นคือ -o otf ttf
-i
(Interpolate instances): การมีไบนารีต่อมาสเตอร์ไม่ใช่สิ่งที่คุณคาดหวังเสมอไป หากคุณได้กำหนดอินสแตนซ์ ("ส่งออก") ในไฟล์ Glyphs ของคุณ อินสแตนซ์เหล่านั้นจะ ไม่ ถูกสร้างขึ้นตามค่าเริ่มต้น หากต้องการสร้างอินสแตนซ์ ให้ส่งแฟล็ก -i
ซึ่งจะประมาณค่าอินสแตนซ์แบบสแตติก และวางไว้ในไดเร็กทอรี instance_ttf/
หรือ instance_otf/
ตามความเหมาะสม
--output-dir <some_directory>
: วางเอาต์พุตทั้งหมดไว้ในไดเร็กทอรีที่กำหนด แทนที่จะเป็นไดเร็กทอรีตามรูปแบบที่กล่าวถึงข้างต้น
--output-path <filename>
: สิ่งนี้ใช้ได้เฉพาะในกรณีที่เอาต์พุตเป็นไฟล์ไบนารีไฟล์เดียว และเขียนเอาต์พุตไปยังชื่อไฟล์ที่กำหนด
-f
(ส่วนประกอบที่เรียบ): ตรวจสอบให้แน่ใจว่าร่ายมนตร์ใด ๆ ที่มีส่วนประกอบซึ่งมีส่วนประกอบ อยู่นั้น จะถูกสลายไปในระดับเดียว ขอแนะนำสิ่งนี้เนื่องจากสภาพแวดล้อมการเรนเดอร์บางอย่างไม่สามารถจัดการองค์ประกอบที่ซ้อนกันได้อย่างถูกต้อง - ดูลิงก์นี้สำหรับรายละเอียดเพิ่มเติม
ดู USAGE.md
.md
ดู TROUBLESHOOTING.md
.md
นักพัฒนาสามารถรับ fontmake
เวอร์ชันล่าสุดได้โดยการโคลนพื้นที่เก็บข้อมูล git:
git clone https://github.com/googlefonts/fontmake
cd fontmake
pip install .
นักพัฒนาที่ต้องการทดสอบการเปลี่ยนแปลงซอร์สโค้ดอย่างรวดเร็วโดยไม่ต้องติดตั้งใหม่สามารถใช้ตัวเลือก "--แก้ไขได้" เมื่อติดตั้งจากการชำระเงินแหล่งที่มาในเครื่อง:
pip install -e .
ขอแนะนำให้ติดตั้งฟอนต์เมคในสภาพแวดล้อมเสมือนเพื่อป้องกันความขัดแย้งระหว่างการขึ้นต่อกันและโมดูลอื่น ๆ ที่ติดตั้งทั่วโลก
คุณยังสามารถใช้เครื่องมือ pipx เพื่อทำให้การติดตั้ง/อัปเกรดแอป python เช่น fontmake ในสภาพแวดล้อมแบบแยกได้โดยอัตโนมัติ
git tag -a v3.1.1
git push origin v3.1.1
โดยที่ origin
คือชื่อของรีโมตปกติที่คุณต้องการส่งเวอร์ชันไป