Ini adalah suite tes untuk mesin rendering teks. Tidak mudah untuk menampilkan teks dengan benar, jadi kami mendirikan proyek ini untuk membantu implementasi untuk memperbaikinya.
$ 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 Saat ini, Test Suite mendukung enam implementasi OpenType:
Dengan --engine=FreeStack , tes dijalankan pada tumpukan teks open-source gratis/libre dengan freetype, Harfbuzz, Fribidi, dan Raqm. Perpustakaan ini digunakan oleh Linux, Android, Chromeos, dan banyak sistem lainnya. - Laporan Uji untuk Freestack.
Dengan --engine=CoreText , tes dijalankan di CoreText Apple. Opsi ini hanya akan berfungsi jika Anda menjalankan test suite di MacOS X. - Laporan Uji untuk CORETEXT.
Dengan --engine=TehreerStack , tes dijalankan pada tumpukan teks open-source yang terdiri dari Freetype, Sheenbidi, dan SheenFigure. - Laporan Uji untuk Tehreerstack.
Dengan --engine=fontkit , tes dijalankan di FontKit, mesin font JavaScript. - Laporan Uji untuk Fontkit.
Dengan --engine=OpenType.js , tes dijalankan menggunakan OpenType.js, mesin font JavaScript lainnya. - Laporan Uji untuk OpenType.js.
Dengan --engine=Allsorts , tes dijalankan menggunakan Allsorts, mesin parsing dan pembentukan yang diimplementasikan dalam karat. - Laporan Uji untuk Allsorts.
Sepele untuk menguji implementasi lain; Cukup tulis alat pembungkus kecil. Untuk perpustakaan go font, lihat di sini. Untuk perpustakaan Rust Font, lihat di sini.
Kasus uji didefinisikan dalam direktori testcases. Ini berisi cuplikan HTML yang menggambarkan setiap tes, dan menentukan parameter rendering bersama dengan hasil yang diharapkan.
Untuk setiap test case, skrip check.py mem -parsing cuplikan HTML untuk mengekstrak parameter rendering. Kemudian, ia menjalankan sub-proses (ditulis dalam C ++, Objective C, Rust atau JavaScript tergantung pada implementasi yang diuji) yang menulis rendering yang diamati dalam format SVG ke output standar. Akhirnya, skrip memeriksa apakah rendering yang diharapkan cocok dengan hasil yang diamati. Saat ini, "pencocokan" diimplementasikan dengan mengulangi jalur SVG, memungkinkan untuk unit desain font maksimal 1.
Hak Cipta © 2016-2024 Unicode, Inc. Unicode dan logo Unicode adalah merek dagang terdaftar dari Unicode, Inc. di Amerika Serikat dan negara-negara lain.
CLA diharuskan untuk berkontribusi pada proyek ini - silakan merujuk ke file contributing.md (atau memulai permintaan tarik) untuk informasi lebih lanjut.
Isi repositori ini diatur oleh Ketentuan Penggunaan Unicode dan dirilis di bawah lisensi.