Alat ini menambahkan fitur OpenType chws , vchw , halt , dan vhal ke font OpenType/Truetype ketika salah satu fitur ini hilang. Silakan lihat ruang East-Asia untuk detail fitur-fitur ini.
Alat ini menggunakan paket spasi-Asia Timur sebagai mesin intinya, dan memiliki keunggulan berikut:
Untuk menambahkan font baru ke daftar font yang didukung, silakan lihat bagian Penambahan Font di bawah ini.
pip install chws-toolJika Anda ingin mengkloning dan menginstal dalam mode yang dapat diedit dengan paket pengembangan:
git clone https://github.com/googlefonts/chws_tool.git
cd chws_tool
pip install -e ' .[dev] ' Contoh berikut menambahkan fitur ke input.otf dan menyimpannya ke direktori build . Jika argumennya adalah direktori, alat ini memperluasnya ke semua font di direktori secara rekursif.
add-chws input.otf Gunakan opsi -o untuk mengubah direktori output, atau opsi --help untuk daftar lengkap opsi.
add-chws input_dir -o output_dir Contoh berikut menciptakan font dengan fitur di direktori " build " jika fiturnya berlaku:
import chws_tool
def main ():
output_path = chws_tool . add_chws ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )Jika Anda lebih suka menimpa font yang ada, Anda dapat menghilangkan direktori output.
import chws_tool
def main ():
chws_tool . add_chws ( "fonts/input.otf" )Jika program Anda menggunakan Asyncio:
import asyncio
import chws_tool
async def main_async ():
output_path = await chws_tool . add_chws_async ( "fonts/input.otf" , "build" )
if output_path :
print ( f"Success! saved to { output_path } " )
else :
print ( "Skipped" )
asyncio . run ( main_async ())Paket ini memiliki daftar font yang didukung secara bawaan di konfigurasi.
Font yang tidak dalam daftar yang diketahui masih diproses dengan konfigurasi default, tetapi paket ini menunjukkan pesan peringatan.
Saat menambahkan font baru ke daftar font yang diketahui, proses berikut direkomendasikan:
add-chws dengan opsi --print-name dapat mencetaknya.Tujuan utama dari proses ini adalah untuk menemukan jarak yang terlalu ketat atau tabrakan mesin terbang yang disebabkan oleh kerning.
Alat ini memiliki aturan heuristik untuk menentukan penerapan jarak menggunakan metrik mesin terbang, tetapi mengasumsikan bahwa mesin terbang tanda baca lebar penuh memiliki jarak internal yang cukup sesuai dengan konvensi linguistik seperti di UAX#50 atau di Clreq. Sayangnya, tidak semua font mengikuti konvensi.
Untuk menjalankan tes visual:
<script> tests/test.html atas.Berikut adalah daftar periksa dan tips:
Kontrol lain dalam tes tidak wajib, tetapi mungkin berguna dalam kasus berikut.
Lihat https://googlefonts.github.io/python#make-a-release.