FONT-V هي مكتبة سلسلة إصدار مفتوحة المصدر ( libfv ) وقابلة للتنفيذ ( font-v ) للقراءة والإبلاغ والتعديل وكتابة السجلات معرف الجدول Opentype 5 وسجلات FONTREVISION في *.otf و *.ttf .
تم تصميم FONT-V باستخدام Python ويمكن استخدامه على منصات Linux و MacOS و Windows مع الإصدارات الحالية من المترجمين المترجمين Python 2 و Python 3.
يتم تثبيت مكتبة libfv و font-v القابلة للتنفيذ في وقت واحد مع تعليمات التثبيت التالية.
التثبيت مع مدير حزمة PIP هو النهج الموصى به.
تثبيت مع PIP باستخدام الأمر التالي:
$ pip install font-v
الترقية إلى إصدار جديد من Font-V مع الأمر التالي:
$ pip install --upgrade font-v
يتم تنفيذ FONT-V بمجموعة من اللوائح الفرعية والخيارات التي تحدد طلب سطر الأوامر الخاص بك.
$ font-v [subcommand] (options) [font path 1] ([font path ...])
reportتقرير Opentype اسم الجدول معرف 5 و Table Table Records Fontrevision
خيار :
--dev -قم بتضمين جميع سجلات Table ID 5 X PlatformID في التقرير writeاكتب رقم الإصدار إلى جدول السجلات FontRevision وسلسلة الإصدار لتسمية معرف الجدول 5 سجلات.
خيارات :
يتم استخدام الخيار التالي مع write لتعديل رقم الإصدار في كل من سجل Fontrevision الرئيسي وسجل المعرف 5 (S):
--ver=[version #] -تعديل رقم الإصدار الحالي برقم إصدار جديد باستخدام بناء الجملة 1.000 أو 1_000 أو 1-000 على سطر الأوامر (يتم توفير التنسيقين الأخيرتين لدعم التعريفات في الأصداف حيث تكون الفترة شخصية قشرة خاصة) يمكن استخدام الخيارات التالية مع write لتعديل سلسلة الإصدار في معرف الاسم 5:
--dev -إضافة بيانات تطوير حالة التطوير إلى سلسلة الإصدار (حصري بشكل متبادل مع --rel )--rel -إضافة بيانات تعريف حالة الإصدار إلى سلسلة الإصدار (حصري بشكل متبادل مع --dev )--sha1 -إضافة git complay metadata sha1 hash state إلى سلسلة الإصدار (يتطلب مصدرًا ضمن التحكم في إصدار GIT)reportأدخل ما يلي لعرض رقم إصدار الرأس FontRevision وسلسلة إصدار FONT ID 5 for font example.ttf:
$ font-v report Example-Regular.ttf
قم بتضمين علامة --dev لتضمين سلسلة الإصدار (nameid 5) الواردة في جميع سجلات منصة:
$ font-v report --dev Example-Regular.ttf
write يتم تعديل سجل (سجلات) الاسم 5 وسجل FontRevision عند استخدام --ver= في الأمر.
أدخل رقم الإصدار المطلوب بتنسيق MAJOR.MINOR بعد --ver= flag. يتم توفير الدعم للوقوف الفترة المقصودة لاستبداله في الأمر مع السطحي السطحي _ أو dash - للمستخدمين على الأنظمة الأساسية التي تكون فيها الفترة هي حرف shell خاص.
كل ما يلي يؤدي إلى تعديل رقم الإصدار إلى 2.020 :
$ font-v write --ver=2.020 Example-Regular.ttf
$ font-v write --ver=2_020 Example-Regular.ttf
$ font-v write --ver=2-020 Example-Regular.ttf
يمكن دمج هذا الطلب مع خيارات أخرى لتشمل بيانات تعريف الحالة والحالة في وقت واحد.
write إذا كان مصدر المحرف الخاص بك ضمن التحكم في إصدار GIT ، فيمكنك ختم سلسلة إصدار Name ID 5 مع هضم Hash Sha1 قصير (عمومًا N = 7-8 أحرف ، يتم تحديد الرقم من أجل التأكيد على أنه يمثل قيمة فريدة لالتزام المستودع) الذي يمثل التزام GIT في رأس فرع GIT النشط. يتم تعريف GIT Commit SHA1 Hash Digest بواسطة أمر git rev-list على رأس فرع المستودع النشط الخاص بك وسيتطابق مع أحرف N الأولية في GIT Complay Sha1 Hash Digest الذي يتم عرضه عند مراجعة git log الخاص بك (أو مراجعة تجزئة الالتزام في واجهة المستخدم من منصات مستضافة مستودع GIT مثل Github). يهدف هذا إلى الحفاظ على البيانات الوصفية في الخط الثنائي حول حالة كود المصدر في وقت الإنشاء.
استخدم خيار --sha1 مع القصة الفرعية write مثل هذا:
$ font-v write --sha1 Example-Regular.ttf
تتم إضافة هضم Hash Sha1 القصير مع تنسيق سلسلة الإصدار التالي:
Version 1.000;[cf8dc25]
يمكن دمج ذلك مع خيارات أخرى (على سبيل المثال لتعديل رقم الإصدار +/- إضافة بيانات تطوير حالة التطوير أو الإصدار) في نفس الأمر. يتم الحفاظ على البيانات الوصفية الأخرى وإلحاقها بسلسلة الإصدار المنقحة بتنسيق محدد منتق مع هذا التعديل.
هذا الخيار لا يعدل سجل Fontrevision الرأس.
write يمكنك تعديل سلسلة إصدار المعرف 5 للإشارة إلى أن البناء يهدف إلى إنشاء بناء أو إصدار بناء مع --dev أو --rel . هذه هي خيارات حصرية متبادلة. تضمين واحد فقط في الأمر الخاص بك.
لإضافة بيانات تطوير حالة التطوير ، استخدم أمرًا كهذا:
$ font-v write --dev Example-Regular.ttf
ويتم تعديل سلسلة الإصدار إلى التنسيق التالي:
Version 1.000;DEV
لإضافة بيانات تعريف حالة الإصدار ، استخدم أمرًا كهذا:
$ font-v write --rel Example-Regular.ttf
ويتم تعديل سلسلة الإصدار بالتنسيق التالي:
Version 1.000;RELEASE
قم بتضمين علامة --sha1 مع إما علامة --dev أو --rel في الأمر لتضمين كل من الوضع والبيانات الوصفية للدولة إلى سلسلة الإصدار:
$ font-v write --sha1 --dev Example-Regular.ttf
$ font-v report Example-Regular.ttf
Example-Regular.ttf:
----- name.ID = 5:
Version 1.000;[cf8dc25]-dev
----- head.fontRevision:
1.000
أو
$ git write --sha1 --rel Example-Regular.ttf
$ git report Example-Regular.ttf
Example-Regular.ttf:
----- name.ID = 5:
Version 1.000;[cf8dc25]-release
----- head.fontRevision:
1.000
يتم الحفاظ على أي بيانات تبعت ترتيب رقم الإصدار الأصلي وإلحاقها بعد بيانات تعريف الحالة بتنسيق محدد.
هذه الخيارات لا تعدل سجل Fontrevision الرأس.
تكشف مكتبة Libfv Python كائن FontVersion إلى جانب مجموعة من السمات والأساليب العامة للقراءات والتعديلات وكتابة رقم إصدار سجل Opentype Head Fontrevision وسلسلة إصدار المعرف 5 (S). تم بناء font-v القابلة للتنفيذ على الأساليب العامة المتاحة في هذه المكتبة.
تتوفر الوثائق الكاملة لـ LIBFV API على http://font-v.readthedocs.io/
libfv في مشروعك لاستخدام مكتبة LIBFV ، قم بتثبيت مشروع FONT-V مع الإرشادات أعلاه واستيراد فئة FontVersion في البرنامج النصي Python بما يلي:
from fontv . libfv import FontVersionFontVersion بعد ذلك ، قم بإنشاء مثيل لفئة FontVersion مع أحد المقاربات التالية:
# Instantiate with a file path to the .ttf or .otf font
fv = FontVersion ( "path/to/font" )أو
# Instantiate with a fontTools TTFont object
# See the fonttools documentation for details (https://github.com/fonttools/fonttools)
fv = FontVersion ( fontToolsTTFont ) ستقوم مكتبة LIBFV أتمتة تحليل سلسلة الإصدار إلى مجموعة من سمات فئة FontVersion العامة وفضح الأساليب العامة التي يمكنك استخدامها لفحص سلسلة الإصدار وتعديله. يمكن بعد ذلك كتابة سلاسل الإصدار المعدلة مرة أخرى إلى ملف الخط أو إلى خط جديد في مسار ملف مختلف.
لاحظ أنه يتم إجراء جميع التعديلات على سلسلة الإصدار في الذاكرة. يتم كتابة الملف باستخدام هذه البيانات المعدلة عندما يستدعي رمز الاتصال صراحة طريقة الكتابة FontVersion.write_version_string() (التفاصيل متوفرة أدناه).
FontVersion يمكنك فحص سلسلة إصدار المعرف الكامل مع ID 5 ورقم إصدار الرأس Fontrevision في الذاكرة (بما في ذلك التعديلات التي تقوم بها باستخدام رمز الاتصال) بما يلي:
fv = FontVersion ( "path/to/font" )
vs = fv . get_name_id5_version_string () fv = FontVersion ( "path/to/font" )
vs = fv . get_head_fontrevision_version_number ()يتم إجراء جميع تعديلات الإصدار مع الأساليب العامة في الذاكرة. عندما تكون مستعدًا لكتابتها إلى ملف خط ، اتصل بالطريقة التالية:
fv = FontVersion ( "path/to/font" )
# do things to version string
fv . write_version_string () # writes to file used to instantiate FontVersion object
fv . write_version_string ( fontpath = "path/to/differentfont" ) # writes to a different file path يوفر FontVersion.write_version_string() معلمة اختيارية fontpath= التي يمكن استخدامها لتحديد مسار ملف مختلف عن تلك التي تم استخدامها لتشكيل كائن FontVersion .
قارن معرف الجدول 5 سجل المساواة بين خطين:
fv1 = FontVersion ( "path/to/font1" )
fv2 = FontVersion ( "path/to/font2" )
print ( fv1 == fv2 )
print ( fv1 != fv2 ) تتضمن بعض مهام تعديل سلسلة إصدار الخطوط الشائعة التي تدعمها مكتبة libfv ما يلي:
اضبط رقم الإصدار في معرف الاسم 5 ورأس سجلات Fontrevision:
fv = FontVersion ( "path/to/font" )
fv . set_version_number ( "1.001" )اضبط سلسلة الإصدار الكامل في سجل معرف الاسم 5. يتم تحليل رقم الإصدار واستخدامه لتحديد سجل Fontrevision الرأس.
fv = FontVersion ( "path/to/font" )
fv . set_version_string ( "Version 2.015; my metadata; more metadata" ) fv = FontVersion ( "path/to/font" )
# version number = "Version 1.234"
vno = fv . get_version_number_tuple ()
print ( vno )
> >> ( 1 , 2 , 3 , 4 )
fv2 = FontVersion ( "path/to/font2" )
# version number = "Version 10.234"
vno2 = fv2 . get_version_number_tuple ()
print ( vno2 )
> >> ( 10 , 2 , 3 , 4 )قم بإزالة جميع البيانات الوصفية من سلسلة الإصدار:
fv = FontVersion ( "path/to/font" )
# pre modification version string = "Version 1.000; some metadata; other metadata"
fv . clear_metadata ()
# post modification version string = "Version 1.000" أضف تسليخ حالة التطوير/الإصدار إلى سجل معرف الاسم 5:
fv = FontVersion ( "path/to/font" )
# Label as development build
fv . set_development_status ()
# --> adds `DEV` status metadata to version string
# Label as release build
fv . set_release_status ()
# --> adds `RELEASE` status metadata to version string أضف بيانات تعريف حالة رمز المصدر إلى سجل معرف الاسم 5:
fv = FontVersion ( "path/to/font" )
# Set git commit SHA1 only
fv . set_state_git_commit_sha1 ()
# --> adds "[sha1 hash]" state metadata to build
# Set git commit SHA1 with development status indicator
fv . set_state_git_commit_sha1 ( development = True )
# --> adds "[sha1 hash]-dev" state metadata to build
# Set git commit SHA1 with release status indicator
fv . set_state_git_commit_sha1 ( release = True )
# --> adds "[sha1 hash]-release" state metadata to build تتوفر الوثائق الكاملة لـ libfv API على http://font-v.readthedocs.io/
يتم تشجيع مساهمات المصدر في مكتبة LIBFV و FONT-V القابلة للتنفيذ والترحيب! يرجى الاطلاع على وثائق المساهمة للحصول على التفاصيل.
بنيت مع Fonttools الرائعة ومكتبات Gitpython Python.
رخصة معهد ماساتشوستس للتكنولوجيا