fdiff هي أداة مقارنة سطر أوامر Python لتقييم الاختلافات الحبيبية في بيانات جدول Opentype بين ملفات الخطوط. توفر الأداة دعمًا عبر المنصات لخطوط الخطوط المحلية والبعيدة على أنظمة MacOs و Windows و GNU/Linux مع مترجم Python V3.7+.
هل تبحث عن نظرة عامة عالية المستوى على اختلافات جدول Opentype بدلاً من التغييرات ذات المستوى المنخفض؟ تحقق من مجرد أداة فان روسوم fbdiff .
--include --exclude-l أو --lines--head--tail--external قم بتشغيل fdiff --help لعرض جميع الخيارات المتاحة.
يتطلب fdiff مترجم Python 3.7+.
يوصى بالتركيب في بيئة افتراضية Python3.
استخدم أي من أساليب التثبيت التالية:
$ pip3 install fdiff
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install -r requirements.txt .
يقوم النهج التالي بتثبيت المشروع وتبعيات المطورين الاختيارية المرتبطة بها ، بحيث تتوفر تغييرات المصدر دون الحاجة إلى إعادة التثبيت.
$ git clone https://github.com/source-foundry/fdiff.git
$ cd fdiff
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
$ fdiff [OPTIONS] [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
تدعم fdiff الحصول على طلبات لملفات الخطوط عن بُعد التي يمكن الوصول إليها للجمهور. استبدل وسيطات مسار الملف بعنوان URL:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE URL]
يعمل fdiff مع أي مجموعة من ملفات الخطوط المحلية والبعيدة. على سبيل المثال ، لمقارنة ملف خط النشر المحلي بملف خط ما قبل التمهيدي لتقييم التغييرات المحلية مقابل ملف خط تم دفعه مسبقًا إلى جهاز تحكم عن بُعد ، استخدم بناء الجملة التالي:
$ fdiff [OPTIONS] [PRE-FONT FILE URL] [POST-FONT FILE FILE PATH]
نصيحة : تدعم خدمات استضافة مستودعات مستودع GIT عن بُعد (مثل GitHub) الوصول إلى الملفات على فروع GIT المختلفة حسب عنوان URL. استخدم عنوان URL الفرع المستودع هذا لمقارنة الخطوط عبر فروع GIT في مستودعك.
لتضمين الجداول المحددة فقط في فرقك ، استخدم خيار --include مع قائمة مفصولة بأسماء الجدول:
$ fdiff --include head,post [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
لاستبعاد الجداول المحددة في فرقك ، استخدم خيار- --exclude مع قائمة مفصولة بأسماء الجدول:
$ fdiff --exclude glyf,OS/2 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
لا تتضمن مسافات بين قيم اسم الجدول الموفرة للفاصلة!
لتغيير عدد خطوط السياق أعلاه/أدناه الأسطر التي لها اختلافات ، استخدم خيار -l أو --lines ذات قيمة عدد صحيح للعدد المطلوب للخطوط. يقلل الأمر التالي من المعلومات السياقية إلى سطر واحد أعلى وأسفل مع الاختلافات:
$ fdiff -l 1 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
استخدم خيار --head متبوعًا بتصميم عدد صحيح لعدد الخطوط في بداية الإخراج. على سبيل المثال ، يعرض الأمر التالي أول 20 سطرًا من الفرق:
$ fdiff --head 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
استخدم خيار --tail يليه عدد صحيح لعدد الخطوط في نهاية الإخراج. على سبيل المثال ، يعرض الأمر التالي آخر 20 سطرًا من الفرق:
$ fdiff --tail 20 [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
يرجى ملاحظة : لم يتم اختبار هذه الميزة عبر جميع المنصات المدعومة. يرجى الإبلاغ عن أي مشكلات تصادفها في تعقب إصدار المشروع.
بشكل افتراضي ، يقوم FDIFF بإجراء فرق مع مصدر Python. إذا واجهت مشكلات في الأداء مع هذا النهج ، فيمكنك استخدام Diff Executables المتوفرة على النظام الأساسي الخاص بك. ستقوم FDIFF بتفريغ ملفات TTX وتشغيل الأمر الذي تقدمه على سطر الأوامر الذي يمر مسارات ملفات تفريغ TTX Pre -Font و Post كطائرات موضعية الأولى والثانية إلى أمرك.
على سبيل المثال ، يمكنك تشغيل الأمر diff -u على GNU/Linux أو MacOS مثل هذا:
$ fdiff --external="diff -u" [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
يدعم FDIFF تنسيق الألوان المدمج وتصفية جدول Opentype عند استخدامها باستخدام أدوات DIF الخارجية. لا يتم دعم خيارات خط السياق والرأس والذيل باستخدام أدوات الاختلاف الخارجية.
يتم تنفيذ Diffs الملونة رمز ANSI افتراضيًا في البيئات الطرفية.
لعرض Diff بدون رموز الهروب ANSI في المحطة الخاصة بك ، قم بتضمين خيار --nocolor في أمرك:
$ fdiff --nocolor [PRE-FONT FILE PATH] [POST-FONT FILE PATH]
استخدم fdiff -h لعرض جميع الخيارات المتاحة.
يرجى الإبلاغ عن المشكلات المتعلقة بمقبض إصدار المشروع.
المساهمات ترحب بحرارة. يمكن تثبيت بيئة التبعية للتطوير في وضع قابل للتحرير مع وثائق تثبيت المطور أعلاه.
يرجى استخدام نهج طلب سحب GitHub القياسي لاقتراح تغييرات المصدر.
يتم ربط ملفات مصدر Python مع flake8 . راجع هدف test-lint للحصول على التفاصيل.
يقوم المشروع بتشغيل اختبار التكامل المستمر على خدمة إجراءات GitHub باستخدام أدوات pytest . توجد وحدات الاختبار في دليل tests للمستودع.
يمكن إجراء الاختبار المحلي من قبل إصدار Python مترجم مع الأمر التالي الذي تم تنفيذه من جذر المستودع:
$ tox -e [PYTHON INTERPRETER VERSION]
يرجى الاطلاع على وثائق tox للحصول على تفاصيل إضافية.
يتم تنفيذ تغطية اختبار الوحدة باستخدام أداة coverage . راجع هدف Makefile test-coverage للحصول على التفاصيل.
تم تصميم fdiff باستخدام مكتبة برامج Fonttools FranttOls Franttools وتنفيذ اختلافات نصية من ملفات الخطوط الثنائية باستخدام مقالب من تنسيق تسلسل بيانات TTX Opentype على النحو المحدد في مكتبة Fonttools.
حقوق الطبع والنشر 2019 مصدر المؤلفين والمساهمين
مرخصة بموجب ترخيص Apache ، الإصدار 2.0 ("الترخيص") ؛ لا يجوز لك استخدام هذا الملف إلا في الامتثال للترخيص. يمكنك الحصول على نسخة من الترخيص على
http://www.apache.org/licenses/license-2.0
ما لم يكن مطلوبًا بموجب القانون المعمول به أو الموافقة على الكتابة ، يتم توزيع البرامج الموزعة بموجب الترخيص على أساس "كما هي" ، دون ضمانات أو شروط من أي نوع ، إما صريحة أو ضمنية. راجع ترخيص الأذونات والقيود التي تحكم اللغة المحددة بموجب الترخيص.