Panosifier adalah aplikasi baris perintah Python 3.6+ yang mengedit data panose di font. Alat mengedit bidang spesifikasi OpenType OS/2 Tabel Panose.
Dalam banyak kasus, Anda dapat mendefinisikan nilai -nilai ini dalam file sumber desain tipe Anda dan mengandalkan kompiler font untuk menulis nilai -nilai ini ke dalam instance font Anda. Namun, ada situasi di mana perilaku ini tidak terdefinisi dengan baik dan berbeda di seluruh kompiler font.
Contohnya adalah pendekatan untuk data panose menulis dalam file format font variabel. Dalam hal ini, spesifikasi OpenType tidak jelas, lingkungan di mana data ini penting tidak terdefinisi dengan baik, dan kompiler menangani file sumber data panose yang ditentukan secara berbeda.
Alat ini memungkinkan Anda untuk memodifikasi keputusan waktu pembangunan dalam situasi ini.
pip install panosifier--panose atau secara individual dengan sepuluh opsi bidang Panose OpenType yang tersedia (lihat panosifier --help untuk daftar opsi yang tersedia)Lihat dokumentasi di bawah ini untuk detail tambahan.
Proyek ini membutuhkan interpreter Python 3.6+.
Kami merekomendasikan pemasangan di lingkungan virtual Python3.
Gunakan salah satu pendekatan instalasi berikut:
$ pip3 install panosifier
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install -r requirements.txt .
Pendekatan berikut menginstal proyek dan dependensi pengembang opsional terkait sehingga perubahan sumber tersedia tanpa perlu instalasi ulang.
$ git clone https://github.com/source-foundry/panosifier.git
$ cd panosifier
$ pip3 install --ignore-installed -r requirements.txt -e ".[dev]"
Panosifier mendukung dua pendekatan baris perintah untuk mengedit data panose dalam satu atau lebih jalur perintah yang ditentukan jalur font:
--panoseAnda dapat mendefinisikan semua bidang panose sekaligus dengan daftar yang dipesan dan dibatasi koma dari semua 10 nilai panose opentype. Ini harus merupakan nilai integer.
Urutan lapangan adalah:
Gambar berikut ini mencontohkan urutan ini dalam idiom definisi opsi --panose . Perhatikan bahwa nilai -nilai dalam contoh ini tidak dimaksudkan untuk valid untuk font, melainkan untuk menunjukkan bagaimana definisi urutan memetakan ke bidang definisi panose.

Ada sepuluh definisi panose opentype yang tersedia. Setiap bidang panose memiliki opsi yang sesuai di alat panosifier. Opsi -opsi ini memungkinkan Anda untuk mendefinisikan setiap bidang secara individual dan membuat definisi panose eksplisit dalam alur kerja build yang ditulis. Tentukan opsi ini dengan nilai integer.
Contoh di bawah ini memodifikasi data Panose Write di bagian daftar koma yang dibatasi di atas dengan jenis keluarga baru dan nilai proporsi masing-masing 2 dan 9: masing-masing:

Gunakan panosifier --help untuk melihat semua opsi yang tersedia.
Catatan : Alat ini tidak melakukan pemeriksaan kewarasan pada definisi Anda dan dapat digunakan untuk menulis definisi yang tidak valid dalam font. Alat ini mengasumsikan bahwa Anda memahami cara mengatur nilai -nilai panose ini. Silakan merujuk ke dokumentasi Panose untuk latar belakang terperinci.
Panosifier melaporkan definisi data panose dalam aliran output standar di akhir eksekusi.
Kontribusi disambut dengan hangat. Lingkungan ketergantungan pengembangan dapat diinstal dalam mode yang dapat diedit dengan dokumentasi instalasi pengembang di atas.
Harap gunakan pendekatan permintaan tarik GitHub standar untuk mengusulkan perubahan sumber.
Kami menyatukan file sumber Python dengan flake8 . Lihat target test-lint makefile untuk detailnya.
Pengujian integrasi kontinu dilakukan pada Layanan Tindakan GitHub dengan pytest toolchain. Modul uji terletak di direktori tests repositori.
Lakukan Pengujian Versi Interpreter Python Lokal dengan perintah berikut yang dieksekusi dari akar repositori:
$ tox -e [PYTHON INTERPRETER VERSION]
Silakan lihat dokumentasi tox untuk detail tambahan.
Kami melakukan pengujian cakupan uji unit dengan alat coverage . Lihat target test-coverage Makefile untuk detailnya.
Panosifier dibangun dengan perpustakaan python fonttools gratis yang fantastis.
Lisensi Apache v2.0