Halfkern هو في الأساس أداة لربط الخطوط التلقائية المتنوعة كأداة تدقيق kerning.
الطريقة التي تعمل بها الأداة هي أنه بالنسبة لكل زوج من الحروف التي يتم النظر فيها ، فإنها ستضفي على عروضها ومساحةهما ، بحيث تتداخل الصور غير الواضحة إلى كمية معينة. تم العثور على هذا المبلغ معين عن طريق المعايرة أولاً باستخدام أزواج "LL" و "NN" و "OO".
لا تقوم الأداة حاليًا بتخزين النتائج المفرطة للخط.
$ python3 kern_pair.py FontFile.ttf --dict dictionary.txt
$ python3 kern_pair.py FontFile.ttf PairString
$ python3 kern_pair.py Roboto-Regular.ttf --dict /usr/share/dict/words -l
fi 0 -4
yt 4 0
Te -9 -5
To -9 -5
TA -8 -4
DT -5 -1
القيمة الأولى هي زوج الرسالة إلى كيرن. القيمة الثانية هي ، في وحدات EM ، القيمة المقترحة ، والقيمة الأخيرة هي Kerning حاليًا في الخط. يتم عرض الأزواج فقط حيث يتم عرض القيمين kerning بمقدار التسامح. يمكن تعيين هذا التسامح باستخدام -t أو --tolerance . التسامح الافتراضي هو 3.3 ٪.
يجعل -l أو --letters-only الأداة تفكر فقط في الحرفيين بين حرفين (أي عدم وجود علامات ترقيم). تتجاهل الأداة أيضًا الأرقام ، نظرًا لأنها عادةً ما تكون لها عرض ثابت ولا يوجد Kerning حسب التصميم.
يتم إنشاء ملف kerned.pdf دائمًا ، مع عرض كل صفحة تعرض زوجًا واحدًا يعتقد الأداة أنه سيحتاج إلى تعديل: kerned.pdf
لتفقد الأزواج المبلغ عنها ، يمكنك استخدام أداة kern_pair.py مرة أخرى:
$ python3 kern_pair.py Roboto-Regular.ttf To
To autokern: -9 (-184 units) existing kern: -5 (-99 units)
Saving kern.png
في هذه الحالة ، تعتقد الأداة أن الزوج "إلى" لم يتم نقله بدرجة كافية في Roboto. من الواضح أن هذا الأمر متروك. ولكن إليك الملفان kern.png و kerned.pdf الذي تم إنشاؤه بواسطة الأداة:

في صورة kern.png ، فإن السطر الأول هو بدون kerning. السطر الثاني هو اقتراح الأداة ، والخط الثالث هو خطوط الخطوط الموجودة. kerned.pdf ، يتم عرض الزوج بين الحروف السفلى ، والأعلى. الصفوف الثلاثة ، وبالمثل ، تظهر عدم وجود kinning ، اقتراح الأداة ، و kern الحالي.
تحتوي الأداة على طريقتان مختلفتان لتشكيل مظروف حول كل غروب. يمكن تعيين ذلك باستخدام --envelope sdf (افتراضي) أو --envelope gaussian .
كما أن لديها طريقتين مختلفتين لتلخيص تداخل اثنين من الأظرف الهومية. يمكن ضبط ذلك باستخدام --reduce sum (افتراضي) أو --reduce max .
هذا يعطي أربع مجموعات مختلفة من الأوضاع لتشغيل الأداة. أيهما يعمل بشكل أفضل للمشروع هو ذاتي ويجب تجربته. في رأيي ، فإن الإعدادات الافتراضية تولد أفضل النتائج
لإنتاج قواميس لكل لغة لاستخدامها في هذه الأداة ، يمكنك استخدام مستودع Texts AOSP-Test-Texts ، أو قواميس الإملائية libreoffice ، أو اختبار Harfbuzz-Wikipedia.
TODO: توسيع على كيفية استخدام هذه.
للحصول على قائمة كلمات باللغة الإنجليزية البسيطة على منصات Linux و Mac ، يمكنك استخدام /usr/share/dict/words .
لرؤية الظرف لشخصية واحدة ، استخدم:
$ python3 kern_pair.py fontfile.ttf X
سيؤدي ذلك إلى إنشاء صورة الظرف لـ X وحفظها إلى envelope.png .