هذا هو جناح اختبار لمحركات تقديم النص. ليس من السهل عرض النص بشكل صحيح ، لذلك أسسنا هذا المشروع للمساعدة في التطبيقات للحصول على هذا بشكل صحيح.
$ brew install cmake ninja npm rust
$ git clone --recursive https://github.com/unicode-org/text-rendering-tests.git
$ cd text-rendering-tests
$ for engine in CoreText FreeStack TehreerStack fontkit OpenType.js Allsorts ; do python3 check.py --engine= $engine --output=reports/ $engine .html ; done حاليًا ، يدعم مجموعة الاختبار ستة تطبيقات Opentype:
مع- --engine=FreeStack ، يتم إجراء الاختبارات على النصوص المجانية/libre مفتوحة المصدر مع Freetype و Harfbuzz و Fribidi و Raqm. يتم استخدام هذه المكتبات بواسطة Linux و Android و Chromeos والعديد من الأنظمة الأخرى. - تقرير اختبار ل freestack.
مع --engine=CoreText ، يتم إجراء الاختبارات على Coretext من Apple. لن يعمل هذا الخيار إلا إذا قمت بتشغيل مجموعة الاختبار على MacOS X. - تقرير اختبار لـ Coretext.
مع- --engine=TehreerStack ، يتم إجراء الاختبارات على مجموعة نصية مفتوحة المصدر تتكون من freetype ، sheenbidi ، و sheenfigure. - تقرير اختبار ل Threerstack.
مع --engine=fontkit ، يتم إجراء الاختبارات على Fontkit ، محرك خط JavaScript. - تقرير اختبار ل fontkit.
مع --engine=OpenType.js ، يتم تشغيل الاختبارات باستخدام Opentype.js ، محرك خط JavaScript آخر. - تقرير اختبار لـ Opentype.js.
مع --engine=Allsorts ، يتم إجراء الاختبارات باستخدام allsorts ، محرك تحليل وتشكيل يتم تنفيذه في الصدأ. - تقرير اختبار ل allsorts.
من التافهة اختبار التطبيقات الأخرى ؛ ببساطة اكتب أداة غلاف صغيرة. لمكتبة Go Font ، انظر هنا. لمكتبة Font Rust ، انظر هنا.
يتم تعريف حالات الاختبار في دليل TestCases. أنه يحتوي على مقتطفات HTML التي تصف كل اختبار ، وتحدد معلمات التقديم مع النتيجة المتوقعة.
لكل حالة اختبار ، يقوم البرنامج النصي check.py بتوزيع مقتطف HTML لاستخراج معلمات التقديم. بعد ذلك ، يتم تشغيل عملية فرعية (مكتوبة في C ++ أو الهدف C أو Rust أو JavaScript اعتمادًا على التنفيذ الذي تم اختباره) الذي يكتب التقديم المرصود بتنسيق SVG إلى الإخراج القياسي. أخيرًا ، يتحقق البرنامج النصي ما إذا كان العرض المتوقع يتطابق مع النتيجة المرصودة. حاليًا ، يتم تنفيذ "المطابقة" عن طريق تكرار مسارات SVG ، مما يسمح بوحدة تصميم خطوط واحد أقصى.
حقوق الطبع والنشر © 2016-2024 Unicode ، Inc. Unicode وشعار Unicode هي علامات تجارية مسجلة لـ Unicode ، Inc. في الولايات المتحدة وبلدان أخرى.
مطلوب CLA للمساهمة في هذا المشروع - يرجى الرجوع إلى ملف المساهمة (أو بدء طلب سحب) لمزيد من المعلومات.
تخضع محتويات هذا المستودع لشروط الاستخدام Unicode ويتم إصدارها بموجب الترخيص.