تضيف هذه الأداة ميزات Opentype chws و vchw و halt و vhal إلى خطوط Opentype/TrueType عندما تكون أي من هذه الميزات مفقودة. يرجى الاطلاع على المساحة الشرقية الآسيوية للحصول على تفاصيل هذه الميزات.
تستخدم هذه الأداة حزمة المساحة الشرقية الآسيوية كمحرك أساسي لها ، ولها مزايا التالية:
لإضافة خطوط جديدة إلى قائمة الخطوط المدعومة ، يرجى الاطلاع على قسم الخطوط إضافة أدناه.
pip install chws-toolإذا كنت ترغب في استنساخ وتثبيت في الوضع القابل للتحرير مع حزم التطوير:
git clone https://github.com/googlefonts/chws_tool.git
cd chws_tool
pip install -e ' .[dev] ' يضيف المثال التالي الميزات إلى input.otf وحفظها إلى دليل build . إذا كانت الوسيطة دليلًا ، فإن الأداة تقوم بتوسيعها إلى جميع الخطوط في الدليل بشكل متكرر.
add-chws input.otf استخدم خيار -o لتغيير دليل الإخراج ، أو خيار --help للقائمة الكاملة للخيارات.
add-chws input_dir -o output_dir المثال التالي ينشئ خطًا يحتوي على الميزات الموجودة في دليل " build " إذا كانت الميزات قابلة للتطبيق:
import chws_tool
def main ():
output_path = chws_tool . add_chws ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )إذا كنت تفضل الكتابة فوق الخطوط الموجودة ، فيمكنك حذف دليل الإخراج.
import chws_tool
def main ():
chws_tool . add_chws ( "fonts/input.otf" )إذا كان برنامجك يستخدم Asyncio:
import asyncio
import chws_tool
async def main_async ():
output_path = await chws_tool . add_chws_async ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )
asyncio . run ( main_async ())تحتوي هذه الحزمة على قائمة مدمجة من الخطوط المدعومة في تكوينها.
لا تزال الخطوط ليست في القائمة المعروفة معالجتها بالتكوين الافتراضي ، ولكن هذه الحزمة تعرض رسالة تحذير.
عند إضافة خطوط جديدة إلى قائمة الخطوط المعروفة ، يوصى بالعملية التالية:
add-chws مع --print-name الطباعة.الغرض الأساسي من هذه العملية هو العثور على مباريات ضيقة للغاية أو تصادمات رسومية ناتجة عن kernings.
تحتوي هذه الأداة على قواعد مجلية لتحديد قابلية تطبيق الفواصل باستخدام مقاييس Glyph ، ولكنها تفترض أن الحروف المرتبطة بعرض كامل لديها ما يكفي من الفواصل الداخلية وفقًا للاتفاقيات اللغوية كما في UAX#50 أو في CLREQ. لسوء الحظ ، لا تتبع جميع الخطوط الاتفاقيات.
لتشغيل الاختبار المرئي:
<script> كتلة tests/test.html .فيما يلي قائمة الشيكات والنصائح:
الضوابط الأخرى في الاختبار ليست إلزامية ، لكنها قد تكون مفيدة في الحالات التالية.
انظر https://googlefonts.github.io/python#make-a-release.