Hyperglot membantu para desainer menjawab pertanyaan yang tampaknya sederhana tentang dukungan bahasa dalam font: kapan saya bisa menggunakan font A untuk mengatur teks dalam bahasa b? Dibutuhkan jawaban pragmatis dengan mengidentifikasi karakter standar yang ditetapkan untuk setiap ortografi yang digunakan oleh suatu bahasa. Basis data yang saat ini berisi informasi untuk lebih dari 640+ bahasa adalah pekerjaan yang sedang berlangsung, yang dirancang untuk tumbuh.
Kami merekam set karakter dasar dan tambahan untuk setiap ortografi bahasa. Perhatikan bahwa hanya ortografi yang digunakan secara aktif (statusnya diatur ke primary ) digunakan ketika mendeteksi dukungan bahasa dalam font. Orgo, sekunder atau historis lainnya ditampilkan hanya untuk tujuan informasi.
Jika relevan, kami juga memberikan catatan desain singkat yang berisi tips tentang pembentukan dan persyaratan penentuan posisi yang melampaui titik kode karakter Unicode. Hyperglot hanya boleh digunakan untuk mendeteksi apakah font dapat dipertimbangkan untuk digunakan dengan bahasa tertentu. Tidak mengatakan apa -apa tentang kualitas desain font.
Hyperglot adalah pekerjaan yang sedang berlangsung yang disediakan sebagaimana adanya, dan validitas data bahasanya bervariasi. Untuk membantu Anda menilai validitas hasil yang Anda lihat, setiap bahasa dalam database dilengkapi dengan label yang menunjukkan kualitas data yang kami miliki untuk itu (misalnya beberapa dianggap drafts , beberapa telah verified ). Kami telah memeriksa informasi terhadap berbagai sumber online dan offline dan kami berkomitmen untuk terus memperbaikinya. Namun, kami mengakui bahwa memetakan semua bahasa dunia dengan cara ini berada di luar kapasitas kami - kami membutuhkan bantuan dari pengguna masing -masing bahasa masing -masing! Jadi, jika Anda menemukan masalah atau melihat bahasa favorit Anda sama sekali hilang dari database, hubungi. Kami akan dengan senang hati memasukkan umpan balik Anda dan memberi Anda kredit.
Baca lebih lanjut tentang hyperglot di aplikasi web tentang halaman
Perbandingan hyperglot dan unicode cldr
Ada beberapa cara cara menggunakan database:
pip install hyperglot , lihat Catatan Penggunaan di bawah)pip install hyperglot )Beberapa catatan untuk mengilustrasikan mengapa pertanyaan dukungan bahasa rumit:
Penting untuk dicatat bahwa ada lebih banyak dukungan bahasa dalam font daripada mendukung serangkaian titik kode . Font perlu menyertakan mesin terbang dengan bentuk karakter yang dapat diterima/dibaca untuk bahasa tertentu. Kadang -kadang ada variasi regional atau bahasa untuk titik kode yang sama yang berarti bahwa bahasa yang berbeda menimbulkan persyaratan yang berbeda pada bentuk karakter, tetapi persyaratan yang identik pada titik kode karakter. Selain itu, mesin terbang harus berinteraksi seperti yang diharapkan oleh konvensi skrip/ortografi tertentu. Sebagai contoh, beberapa bahasa/skrip membutuhkan (atau sangat mengharapkan) kombinasi mesin terbang tertentu untuk membentuk ligatur atau beberapa kombinasi mesin terbang memerlukan koreksi jarak tambahan (kerning) untuk mencegah bentrokan atau celah. Dengan demikian, laporan yang dihasilkan oleh alat hyperglot hanya boleh digunakan untuk mendeteksi apakah font dapat dipertimbangkan untuk digunakan dengan bahasa tertentu. Tidak mengatakan apa -apa tentang kualitas desain.
Baca lebih lanjut tentang ini di aplikasi web tentang halaman
Karakter diwakili menggunakan titik kode unicode dalam teks digital, misalnya huruf Latin-Script a memiliki titik kode U+0061 . Font OpenType Digital memetakan poin kode ini ke mesin terbang, representasi visual karakter. Untuk menemukan apakah seseorang dapat menggunakan font untuk teks dalam bahasa tertentu, orang perlu mengetahui titik kode karakter mana yang diperlukan untuk bahasa tersebut. Inilah tujuan dari database hyperglot.
Daftar codepoints diperoleh dari font.
Basis data dapat diakses dalam dua mode:
ä ), codepoints untuk karakter dasar dan menggabungkan karakter tanda (misalnya a dan menggabungkan ¨ ) dari kombinasi ini tidak diperlukan kecuali kombinasi tidak memiliki bentuk yang dikodekan atau -bendera --marks -digunakan.--decomposed diperlukan untuk mengandung karakter dasar dan menggabungkan tanda untuk suatu bahasa (misalnya bahasa dengan ä akan cocok untuk font yang hanya a dan menggabungkan ¨ tetapi tidak ä sebagai mesin terbang yang dikodekan). Tingkat validity yang ditentukan digunakan untuk menyaring entri bahasa dengan validitas yang lebih rendah (makna, lebih tidak pasti).
Jika diminta, daftar base dan aux (tambahan) dari titik codepoint digabungkan untuk mencapai kriteria yang lebih ketat dengan menggunakan opsi --support . marks dalam data diperlukan berdasarkan -bendera --decomposed --marks . Tanda yang hanya muncul dalam karakter aux tidak akan diperlukan untuk validitas base .
Saat mendeteksi dukungan bahasa, poin kode untuk ortografi utama untuk bahasa tertentu dipertimbangkan. Ortografi dengan status historical dan secondary diabaikan. Jika beberapa ortografi memiliki nilai preferred_as_group , mereka dianggap sebagai satu ortografi bahkan jika termasuk beberapa skrip.
Saat mendeteksi dukungan ortografi, gunakan --include-all-orthographies , semua ortografi untuk bahasa tertentu diperiksa secara individual. Ortografi dengan status secondary disertakan. Ortografi dengan status historical diabaikan.
Jika daftar poin kode dalam font mencakup semua titik kode dari daftar codepoints dari poin 5 atau 6, font dianggap mendukung bahasa/ortografi ini. Selain itu, perilaku bergabung dan lampiran tanda divalidasi dan bahasa/ortografi hanya dianggap didukung jika font membentuk ini dengan benar. Dalam daftar bahasa yang didukung dikelompokkan berdasarkan skrip.
Kombinasi bahasa-ortografi berarti bahwa bahasa yang memiliki banyak ortografi menggunakan skrip yang berbeda (misalnya, Serbia atau Jepang) terdaftar di bawah semua skrip ini dalam output alat.
Catatan Penting: Aplikasi Web saat ini tidak menyertakan cek pembentukan!
Alat CLI sederhana disediakan untuk mengeluarkan data dukungan bahasa untuk file font yang dilewati.
Anda harus menginstal Python 3. Instal via PIP:
pip install hyperglothyperglot path/to/font.otf atau untuk memeriksa beberapa font sekaligus, atau cakupan gabungannya (dengan -m union )
hyperglot path/to/font.otf path/to/anotherfont.otf ...Opsi tambahan :
-s, --support : Tentukan tingkat dukungan apa yang harus diperiksa (Opsi saat ini adalah "basis" (default jika dihilangkan) atau "aux")-m, --marks : bendera untuk menandakan font juga harus mencakup semua tanda kombinasi yang digunakan untuk suatu bahasa -secara default hanya tanda yang diperlukan yang bukan bagian dari karakter pre -coden (default false)-d, --decomposed : bendera untuk menandakan font harus dianggap mendukung bahasa selama itu memiliki semua mesin terbang dan tanda dasar untuk menulis bahasa -secara default juga dikodekan mesin terbang pra -komposisi (default false)-a, --autonyms : keluaran nama bahasa dalam bahasa dan naskah asli mereka--speakers : ouput berapa banyak penutur yang dimiliki setiap bahasa (jika tersedia)--sort : Tentukan "speaker" untuk mengurutkan berdasarkan speaker (default adalah "alfabet")--sort-dir : tentukan "desc" untuk mengurutkan urutan menurun (default adalah "ASC" untuk pesanan naik)-o, --output : Suplai jalur file untuk menulis output ke, dalam format YAML. Untuk satu font input tunggal ini akan menjadi subset dari basis data hyperglot dengan bahasa dan ortografi yang didukung font. Jika beberapa font disediakan, file YAML akan memiliki kunci dikt tingkat atas untuk setiap file. Jika opsi -m disediakan, file YAML akan berisi persimpangan atau hasil serikat spesifik-c, --comparison : Cara memproses input jika beberapa file disediakan (saat ini opsi adalah "individual", "serikat" dan "persimpangan")--include-all-orthographies : periksa semua ortografi bahasa, bukan hanya yang utamanya--validity : Tentukan untuk memfilter berdasarkan tingkat validitas data bahasa (default adalah "pendahuluan")--include-historical : opsi untuk memasukkan bahasa dan ortografi yang ditandai sebagai historis (default adalah salah)--include-constructed : Opsi untuk memasukkan bahasa dan ortografi yang ditandai sebagai dibangun (default salah)--strict-iso : Tampilkan Nama Bahasa dan Data Macrolanguage Ketat Menurut ISO (Default False)-v, --verbose : informasi logging lebih banyak (default adalah false)-V, --version : Cetak nomor versi hyperglot versi (default adalah false) Menginstal paket PIP juga menginstal perintah hyperglot-validate dan hyperglot-save , yang memungkinkan memeriksa dan menyimpan data YAML dengan cara yang terstruktur dan kompatibel.
Hyperglot hadir dengan perintah hyperglot-report yang mengambil semua opsi yang sama dengan perintah hyperglot utama (lihat di atas). Selain itu membutuhkan opsi ini untuk melaporkan pelaporan tentang karakter atau pembentukan apa yang hilang untuk mendukung bahasa yang terdeteksi karena tidak didukung:
--report-missing : Parameter untuk melaporkan bahasa yang tidak tertandingi yang hilang n atau kurang karakter. Jika n adalah 0 semua bahasa dengan sejumlah karakter yang hilang terdaftar (default).--report-marks : Parameter untuk melaporkan bahasa yang hilang n atau kurang menandai urutan lampiran. Jika n adalah 0 semua bahasa dengan nomor berapa pun sejumlah urutan lampiran tanda yang hilang terdaftar (default).--report-joining : Parameter untuk melaporkan bahasa yang hilang n atau kurang urutan bergabung. Jika n adalah 0 semua bahasa dengan sejumlah urutan gabungan yang hilang terdaftar (default).--report-all : Parameter untuk mengatur/menimpa semua parameter --report-xxx lainnya. Struktur data dijelaskan dalam file terpisah bersama dengan pedoman untuk berkontribusi.
Pembaruan dikomit/digabungkan ke cabang dev dengan cabang master yang memegang versi terbaru yang dirilis.
Database dan berkontribusi
base + mark dipengaruhi oleh instruksi font Database dan alat hyperglot awalnya dikembangkan oleh Rosetta, spesialis tipografi dunia, penerbit, dan pembuat font asli yang menangani kebutuhan tipografi global.
Sejauh ini, pengembangan alat telah didukung oleh Rosetta, Antonio Cavedoni (@Verbosus), dan kami mengajukan lebih banyak dana. Anda juga dapat mensponsori hyperglot melalui GitHub.
Kontributor utama, sejauh ini:
Daftar lengkap kontributor