Font-Line عبارة عن أداة سطر أوامر مفتوحة المصدر LIBRE ، لإعداد تعديلات تباعد خط الخط العمودي Opentype ، وتعديلات تباعد خط الخط. وهو يدعم .ttf و .otf الخط.
$ pip3 install font-line$ font-line report [font path]$ font-line percent [integer %] [font path]$ font-line --help تم تصميم خط الخط باستخدام Python ويدعم المترجمين المترجمين Python 3.7+. تحقق من إصدار Python المثبت على سطر الأوامر مع الأمر:
$ python3 --version
استخدم أيًا من الطرق التالية لتثبيت خط الخط على نظامك.
يتوفر أحدث إصدار من خط الخط من خلال فهرس حزمة Python ويمكن تثبيته باستخدام PIP:
$ pip3 install font-line
للترقية إلى إصدار جديد من خط Font-Line بعد تثبيت PIP ، استخدم خط الخط pip3 install --upgrade font-line .
يمكن تثبيت إصدار المستودع الحالي (الذي قد يكون قبل إصدار PYPI) عن طريق تنزيل المستودع أو استنساخه بـ GIT:
git clone https://github.com/source-foundry/font-line.git
انتقل إلى دليل مستودع المستوى الأعلى وأدخل الأمر التالي:
$ pip3 install .
اتبع نفس الإرشادات للترقية إلى إصدار جديد من التطبيق إذا قمت بالتثبيت بهذا النهج.
يعمل خط Font-Line عبر الأوامر الفرعية إلى font-line الأوامر الخط القابل للتنفيذ. تتوفر التوزيع الفرعي التالي:
percent - تعديل تباعد خط الخط إلى نسبة من الصعود إلى مسافة السجلreport - تقرير قيم مقاييس Opentype لخطيتم وصف استخدام هذه الأوسمة الفرعية بالتفصيل أدناه.
يتم عرض قيم المقاييس الرأسية Opentype التالية والقيم المحسوبة المستمدة من هذه البيانات باستخدام الفصل الفرعي report :
report الاستخدام الفرعيأدخل وسيطات مسار خط أو أكثر إلى الأمر:
$ font-line report [fontpath 1] <fontpath ...>
فيما يلي مثال على التقرير الذي تم إنشاؤه باستخدام Hack Offface File Hack-Regular.ttf باستخدام الأمر:
$ font-line report Hack-Regular.ttf
=== Hack-Regular.ttf ===
Version 3.003;[3114f1256]-release
SHA1: b1cd50ba36380d6d6ada37facfc954a8f20c15ba
::::::::::::::::::::::::::::::::::::::::::::::::::
Metrics
::::::::::::::::::::::::::::::::::::::::::::::::::
[head] Units per Em: 2048
[head] yMax: 2027
[head] yMin: -605
[OS/2] CapHeight: 1493
[OS/2] xHeight: 1120
[OS/2] TypoAscender: 1556
[OS/2] TypoDescender: -492
[OS/2] WinAscent: 1901
[OS/2] WinDescent: 483
[hhea] Ascent: 1901
[hhea] Descent: -483
[hhea] LineGap: 0
[OS/2] TypoLineGap: 410
::::::::::::::::::::::::::::::::::::::::::::::::::
Ascent to Descent Calculations
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to Descent: 2384
[OS/2] TypoAscender to TypoDescender: 2048
[OS/2] WinAscent to WinDescent: 2384
::::::::::::::::::::::::::::::::::::::::::::::::::
Delta Values
::::::::::::::::::::::::::::::::::::::::::::::::::
[hhea] Ascent to [OS/2] TypoAscender: 345
[hhea] Descent to [OS/2] TypoDescender: -9
[OS/2] WinAscent to [OS/2] TypoAscender: 345
[OS/2] WinDescent to [OS/2] TypoDescender: -9
::::::::::::::::::::::::::::::::::::::::::::::::::
Baseline to Baseline Distances
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics: 2384
typo metrics: 2458
win metrics: 2384
[OS/2] fsSelection USE_TYPO_METRICS bit set: False
::::::::::::::::::::::::::::::::::::::::::::::::::
Ratios
::::::::::::::::::::::::::::::::::::::::::::::::::
hhea metrics / UPM: 1.16
typo metrics / UPM: 1.2
win metrics / UPM: 1.16
يتضمن التقرير سلسلة إصدار FONT ، وهضم تجزئة SHA-1 لملف الخط ، ومقاييس جدول Opentype المرتبطة بتباعد الخط في الخط.
يمكن للمستخدمين UNIX/Linux/OS X كتابة هذا التقرير إلى ملف مع تعبير سطر > :
$ font-line report TheFont.ttf > font-report.txt
قم بتعديل مسار ملف font-report.txt أعلاه إلى سلسلة مسار الملف التي تختارها.
يتم إجراء حسابات خط الأساس إلى مسافة خط الأساس (BTBD) وفقًا لتوصيات Microsoft لخطوط Opentype ومواصفات جدول Opentype OS/2.
BTBD = hhea.Ascent + abs(hhea.Descent) + hhea.LineGap
BTBD = OS/2.typoAscent + abs(OS/2.typoDescent) + OS/2.typoLineGap
BTBD = OS/2.winAscent + OS/2.winDescent + [External Leading]
حيث يتم تعريف القيادة الخارجية على النحو التالي:
MAX(0, hhea.LineGap - ((OS/2.WinAscent + OS/2.winDescent) - (hhea.Ascent - hhea.Descent)))
يدعم خط Font-Line تعديلات تباعد الخطوط الآلية لنسبة مئوية محددة من قبل المستخدم للوحدات لكل مقياس EM. سيتم اختصار هذه القيمة كما UPM أدناه.
percent للوصول الفرعيأدخل النسبة المئوية المطلوبة من UPM كوسيطة أول إلى الأمر. يجب إدخال هذا كقيمة عدد صحيح . ثم أدخل مسارًا واحدًا أو أكثر من مسارات الخط التي ترغب في تطبيق تغييرات مقاييس الخط.
$ font-line percent [percent change] [fontpath 1] <fontpath ...>
القيمة الافتراضية الشائعة المستخدمة من قبل مصممي المحرف هي 20 ٪ UPM. لتعديل خط على المسار TheFont.ttf إلى 20 ٪ من مقياس UPM ، ستقوم بإدخال الأمر التالي:
$ font-line percent 20 TheFont.ttf
زيادة أو تقليل قيمة عدد صحيح لزيادة أو تقليل تباعد الخط وفقًا لذلك.
يتم الحفاظ على ملف الخط الأصلي في إصدار غير معدّل ويتم كتابة الملف المعدل على مسار جديد تم تعريفه على أنه [original filename]-linegap[percent].[ttf|otf] . يتم الإبلاغ عن المسار إلى الملف لك في الإخراج القياسي بعد اكتمال التعديل. لا يقوم خط الخط بتعديل مجموعة الرسول الرسمية أو التلميحات المطبقة على الخط. راجع قسم التفاصيل أدناه للحصول على وصف لتعديلات جدول Opentype التي تحدث عند استخدام التطبيق على ملف الخط.
يمكنك فحص المقاييس الرأسية في ملف الخط الجديد مع الفصل الفرعي report (انظر الاستخدام أعلاه).
percent إن تفسير وعرض قيم المقاييس الرأسية المتعددة هذه هو النظام الأساسي والتطبيق. لا يوجد نهج "أفضل" مقبول على نطاق واسع. على هذا النحو ، يحاول خط الخط للحفاظ على تصميم المقاييس الأصلية في الخط عند إجراء التعديلات باستخدام percent الفرعي.
يدعم خط الخط حاليًا ثلاثة مناهج المقاييس الرأسية شائعة الاستخدام.
نهج المقاييس الرأسية 1 :
حيث يتم تعريف المقاييس على النحو التالي:
يحسب خط الخط قيمة دلتا لإجمالي الارتفاع المتوقع بناءً على قيمة upm ٪ المحددة في سطر الأوامر. يتم تقسيم الفرق بين هذه القيمة والعدد المرصود من الوحدات التي تمتد إلى قيم Winascent [OS/2] إلى قيم الرياح على النصف ثم تمت إضافتها إلى (لزيادة تباعد الخط) أو تم طرحها من (لخفض تباعد الخط) كل من المجموعات الثلاث من قيم الصعود/النزول في الخط. لم يتم تعديل [OS/2] typolinegap و [HHEA] LineGap قيم.
نهج المقاييس الرأسية 2
حيث يتم تعريف المقاييس على النحو التالي:
يحسب خط الخط قيمة دلتا لإجمالي الارتفاع المتوقع بناءً على قيمة upm ٪ المحددة في سطر الأوامر. يتم تقسيم الفرق بين هذه القيمة والعدد المرصود من الوحدات التي تمتد إلى [OS/2] ويناسنت إلى قيم الرياح على النصف ثم إضافتها إلى (لزيادة تباعد الخط) أو تم طرحها من (لخفض تباعد الخط) [OS/2] Winasc/Windesc و [HHEA] ASC/DESC. لا يتم تعديل [OS/2] قيم TypoASC/typodesc والحفاظ على تعريف الحجم = قيمة UPM. لم يتم تعديل [OS/2] typolinegap و [HHEA] LineGap قيم.
نهج المقاييس الرأسية 3
حيث يتم تعريف المقاييس على النحو التالي:
يتم تعريف التغييرات في قيم المقاييس في الخط على النحو التالي :
لاحظ أن التعديلات الرائدة الداخلية يتم تقسيمها بالتساوي عبر قيم الصعود والنسب [HHEA] ، وعبر قيم [OS/2] Winascent & Windecte. نضيف نصف قيمة typolinegap الجديدة [OS/2] إلى typoascender الأصلي [OS/2] أو typodescender من أجل تحديد خصائص المقاييس الجديدة هذه. يتم دائمًا تعريف قيمة [Hhea] Linegap على أنها صفر.
يمكن أن تؤدي قيم المقاييس الرأسية المحددة حديثًا إلى قص مكونات Glyph إذا لم يتم تحديدها بشكل صحيح. لا توجد اختبارات في خط الخط لتوفير ضمان بأن هذا لا يحدث. نحن نفترض أن المستخدم على دراية بهذه المشكلات قبل استخدام التطبيق وترك هذا الاختبار للمصمم / المستخدم قبل استخدام الخطوط المعدلة في إعداد الإنتاج.
يرجى تقديم تقرير إصدار جديد عن مستودع المشروع.
تم تصميم Font-Line مع مكتبة Fonttools Python الرائعة.
رخصة معهد ماساتشوستس للتكنولوجيا. انظر الترخيص. md للحصول على التفاصيل.