Fontship هي مجموعة أدوات لتوليد الخطوط والأدوات لسير عمل تعاوني.
تم تطوير Fontship في League of Movable Type مع احتياجات مشاريع الخطوط مفتوحة المصدر في الاعتبار ، وتتم أتمتة عملية تحويل مصادر التصميم الخاصة بك إلى ملفات الخطوط الجاهزة للإنتاج وتجميعها للنشر. نعم يمكنك اتخاذ كل الخطوات نفسها يدويًا. نعم يمكنك كتابة البرامج النصية الخاصة بك لإنجاز نفس العمل. ما الذي يجلبه الخطوط إلى الطاولة هو حزمة كاملة من جميع الأدوات التي تحتاجها للتجمع مع معظم البتات سلكية بالفعل.
واحدة من خطوط البناء من المصادر مؤتمتة بالكامل ، والبناء التلقائي من CI والإصدارات النشر هي مجرد خطوة صغيرة بعيدا. كمكافأة إضافية ، يتم تنظيم كل شيء بعناية لجعل التعاون عن بُعد غير متزامن عبر أنظمة التحكم في الإصدار (مثل GIT) سهلًا قدر الإمكان. لا يحتاج المصممون حتى إلى استخدام نفس أدوات التصميم!
يمكن تعديل كل جانب من جوانب خطوات البناء تقريبًا وسير العمل على أساس كل مشروع ، ولكن يجب أن تعمل إعدادات المربع على بناء معظم مشاريع الخطوط.
يمكن استخدام الخطوط في أي من ثلاث طرق مختلفة:
ملاحظة: تم إهمال طريقة رابعة مدعومة من خلال V0.5.0 ، التضمين المباشر لملفات قواعد Fontship في Makefile الحالي لمشروعك. اعتمادًا على مشروعك ، قد يستمر هذا الاستخدام أو لا يستمر في العمل مع قيود في الوقت الحالي ، ولكن سيتم افتراض ميزات جديدة إلى CLI في القواعد المستمرة.
قم ببناء خطوطك دون تثبيت أو تشغيل أي شيء محليًا! ما عليك سوى دفع مصادرك إلى مستودع GIT عن بُعد واترك الخطاف يقومون بالباقي.
للاستخدام مع إجراءات 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في Time Fontship الحالي ، لا يبني الخطوط إلا في دليل المشروع الحالي ، فهي لا تنشرها في أي مكان. ستحتاج إلى نشر القطع الأثرية الناتجة (على سبيل المثال عن طريق إرفاقها بكل تشغيل CI أو نشرها على الإصدارات) كخطوة أخرى لسير العمل في مشروعك. للحصول على أمثلة عمل كاملة ، انظر سير عمل SPARTAN في الدوري أو Libertinus.
يمكن دعم المتسابقين الآخرين CI بسهولة ، انظر العدد رقم 32 للحصول على التفاصيل أو لطلب عينة من التكوينات لمفضلتك.
تتوفر صور Docker Prebuilt من Docker Hub أو GitHub Packages ، أو يمكنك بناءها بنفسك.
أسهل طريقة لتثبيت حاوية Docker مع كل الحجج الصحيحة هي تعيين الاسم المستعار (والتي يمكن إضافتها إلى ملف 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 .
يمكنك استبدال الأحدث (والتي ستكون دائمًا علامة الإصدار الأكثر صدرًا) مع Master لاستخدام البناء الطازج الذي لم يتم إصداره ، مع اسم علامة مثل 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. يجب أن تتوافق علامات الإصدار مع تنسيق MAJOR.MINOR الموصوف بواسطة OpenFV.