يقوم fontmake
بتجميع الخطوط من مصادر مختلفة ( .glyphs
, .ufo
, designspace
) إلى ثنائيات ( .otf
, .ttf
). يمكنك استخدامه لإنشاء مثيلات ثابتة وخطوط متغيرة.
يتطلب Fontmake إصدار Python 3.8 أو إصدار أحدث.
الإصدارات متاحة على PyPI ويمكن تثبيتها باستخدام النقطة.
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
: يحول ملف مصدر الحروف الرسومية إلى ملف ثنائي.-u filename.ufo ...
: يحول واحدًا أو أكثر من ملفات UFO(Z) إلى ملفات ثنائية.-m filename.designspace
: يحول ملف Designspace إلى ملف ثنائي. (إن -m
مخصص لـ mutatormath
، وهي مكتبة بايثون قديمة للتعامل مع مساحات التصميم.) وبدلاً من ذلك، يمكن تحديد المدخلات (المدخلات) كوسيطات موضعية بدون العلامة، مما يسمح لـfontmake باستنتاج تنسيق المصدر من امتداد الملف: على سبيل المثال، fontmake MyFont.designspace
، وما إلى ذلك.
ملاحظة: إذا كانت الوسيطات الموضعية مسبوقة بخيار يأخذ وسيطة واحدة أو أكثر، فستحتاج إلى استخدام الفاصل الخاص --
لوضع علامة على جميع الوسيطات التالية كموضعية (غير خيارات)، وإلا فسيشعر المحلل اللغوي بالارتباك. على سبيل المثال، يأخذ الخيار -i
وسيطة واحدة أو صفر (انظر المزيد أدناه للحصول على التفاصيل)؛ بدون --
، يعتقد argparse أنك لم تقدم أي مدخلات:
fontmake -i -- MyFont.designspace
يمكن/يجب تحديد نوع واحد بالضبط من المدخلات، باستخدام أي من الطريقتين.
يمكنك توفير واحد أو أكثر من تنسيقات ملفات الإخراج بعد الخيار -o
. على سبيل المثال، يقوم -o otf ttf
بإنشاء ملفات الخطوط الثنائية OTF وTTF لكل رئيسي في ملف الإدخال الخاص بك.
تتوفر تنسيقات ملفات الإخراج التالية:
otf
: ثنائيات OTF (مخطط CFF) لكل سيد. تم وضعها في الدليل master_otf/
.ttf
: ثنائيات TTF (TrueType-outline) لكل رئيسي. تم وضعه في الدليل master_ttf/
.otf-cff2
: ثنائيات OTF لكل سيد مع مخططات CFF2. تم وضعها في الدليل master_otf/
.variable
: خط متغير TrueType. تم وضعها في الدليل variable_ttf/
.variable-cff2
: خط متغير بمخططات CFF2. تم وضعها في الدليل variable_otf/
.تتوفر أيضًا تنسيقات ملفات الإخراج التالية، ولكن يتم استخدامها بشكل عام داخليًا بواسطة Fontmake كخطوة وسيطة لأحد المخرجات المذكورة أعلاه:
otf-interpolatable
: ثنائيات OTF مناسبة للدمج في خط متغير. تم وضعها في الدليل master_otf_interpolatable/
. (تختلف هذه عن otf
في أن الخطوط العريضة غير محسنة.)ttf-interpolatable
: ثنائيات TTF مناسبة للدمج في خط متغير. تم وضعها في الدليل master_ttf_interpolatable/
. (يتم تحويل الخطوط العريضة إلى منحنيات تربيعية بطريقة متوافقة مع الاستيفاء.)ufo
: يمكن تحويل مصادر الحروف الرسومية إلى UFO، أو إلى تنسيق UFO zip ( .ufoz
) مع العلامة --save-ufo-as-zip
. تم وضعها في دليل master_ufo/
. إذا لم يتم تحديد خيار التنسيق، فالتنسيق الافتراضي هو -o otf ttf
.
-i
(مثيلات الاستيفاء): إن وجود ثنائيات لكل رئيسي ليس دائمًا ما تتوقعه؛ إذا قمت بتحديد مثيلات ("الصادرات") في ملف Glyphs الخاص بك، فلن يتم إنشاؤها بشكل افتراضي. ولإنشاءها، قم بتمرير العلامة -i
، التي تقوم باستيفاء المثيلات الثابتة، ووضعها في الدليل instance_ttf/
أو instance_otf/
حسب الاقتضاء.
--output-dir <some_directory>
: يضع كل المخرجات في الدليل المحدد، بدلاً من الدلائل لكل تنسيق المذكورة أعلاه.
--output-path <filename>
: يكون هذا صالحًا فقط إذا كان الإخراج ملفًا ثنائيًا واحدًا، ويكتب الإخراج إلى اسم الملف المحدد.
-f
(تسوية المكونات): يضمن أن أي حروف رسومية تحتوي على مكونات تحتوي في حد ذاتها على مكونات يتم تحليلها إلى مستوى واحد. يوصى بهذا لأن بعض بيئات العرض لا تتعامل مع المكونات المتداخلة بشكل صحيح - راجع هذا الرابط لمزيد من التفاصيل.
راجع USAGE.md
.
راجع TROUBLESHOOTING.md
.md .
يمكن للمطورين الحصول على أحدث إصدار من fontmake
عن طريق استنساخ مستودع git:
git clone https://github.com/googlefonts/fontmake
cd fontmake
pip install .
يمكن للمطورين الذين يرغبون في اختبار التغييرات على التعليمات البرمجية المصدر بسرعة دون إعادة التثبيت استخدام الخيار "--قابل للتحرير" عند التثبيت من الخروج من مصدر محلي:
pip install -e .
يوصى بتثبيت Fontmake داخل بيئة افتراضية لمنع التعارضات بين تبعياته والوحدات النمطية الأخرى المثبتة عالميًا.
يمكنك أيضًا استخدام أداة pipx لأتمتة تثبيت/ترقية تطبيقات python مثل Fontmake في البيئات المعزولة.
git tag -a v3.1.1
git push origin v3.1.1
، حيث origin
هو اسم جهاز التحكم عن بعد المعتاد الذي تريد دفع الإصدار إليه.