xl-fontload
Jaringan Font Cina. Potong font sesuai dengan frekuensi kata dan lakukan pemuatan malas melalui ujung depan. Tidak diperlukan dukungan program backend.
- File frekuensi kata (frekuensi kata.csv) Sumber File: Kementerian Pendidikan
- Mencantumkan font konversi. Tempat di direktori/ direktori, dengan struktur yang tidak konvensional. Secara otomatis mencari semua arsip akhir .TTF.
- Untuk setiap font:
- Daftar semua karakter yang didukung
- Di antara mereka, lima ratus karakter, tanda baca, huruf bahasa Inggris, angka, dll. Biasanya digunakan sebagai file font pertama.
- Selanjutnya, jika karakter yang tersisa muncul di tabel frekuensi kata, file karakter akan dibentuk sesuai dengan setiap seratus karakter dari frekuensi kata.
- Karakter yang tidak berkorelasi yang tersisa dibentuk menjadi file font untuk setiap seratus karakter.
- Semua file font ditempatkan di direktori yang sama, dan nama file dipisahkan oleh angka.
- Output Word Code/Font File Number Tabel Korespondensi untuk Pemeriksaan Cepat-UND.
Penggunaan / Kompiler
Proyek ini menggunakan nodej. Pertama -tama instal NodeJs dan NPM, dan gunakan instalasi NPM untuk membangun direktori Node_Modules. Instruksi referensi:
curl -sL https://deb.nodesource.com/setup_8.x | sudo bash -
npm install
Atur font yang ingin Anda konversi menjadi font/ direktori, dengan struktur direktori tidak dibatasi. Program akan secara otomatis memindai semua file font.
- Saat ini, hanya TTF yang dimakan ~ dingin.
Siapkan file font-frekuensi.csv
Jalankan Converter Compile.sh
File font adalah output di aset/ direktori.
Penggunaan / Frontend
Metode Penggunaan Dasar:
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
font.sync(stringToDisplay);
})
Contoh font pemuatan dinamis berdasarkan konten instan:
/* assume we have "textarea" variable to be an input box accepting user input */
xfl.load("http://path/to/scattered/font/folder/", options, function(font) {
textarea.addEventListener("keyup", function() {
font.sync(textarea.value);
});
})
Jika Anda tidak berencana untuk melakukan file font sendiri, Anda dapat menggunakan satu set file font yang kami siapkan melalui halaman GitHub. Lokasi Perpustakaan Proyek ada di sini. Jika Anda ingin menggunakannya, Anda dapat menggunakan situs web ini: http://plotdb.github.io/xl-fontset/alpha/<Font nama>, misalnya:
xfl.load("http://plotdb.github.io/xl-fontset/alpha/瀨戶字体", function(font) { ...
Harap ubah "<font name>" ke font yang ingin Anda gunakan. Daftar font yang saat ini didukung dapat ditemukan di sini, termasuk font Wang Hanzong 42, ukiran batu, station cool, cwtext-q, seto font, dll., Sebanyak 57 font.
Perlu dicatat bahwa masih ada beberapa masalah ketika mengkonversi font, yang dapat menyebabkan karakter yang hilang di beberapa font. Selain itu, tidak semua font berisi karakter Cina lengkap, silakan gunakan atas kebijaksanaan Anda sendiri.
Opsi:
- FontName - Nama yang digunakan dalam keluarga font. default menjadi basa URL.
- (TBD) Teks - file preload yang berisi teks dalam opsi ini.
Arah masa depan
- Optimasi transmisi (optimasi)
- Mempertimbangkan korelasi karakter, ruang karakter dapat dibuat melalui mochi dan corpus spesifik, dan mengelompokkan karakter terkait sebagai dasar untuk pemotongan font melalui algoritma pengelompokan (seperti pengelompokan k-means), sehingga mengurangi jumlah file yang perlu dimuat.
- Lebih lanjut mengoptimalkan ukuran file.
- Menyediakan modul file nginx dan apache, yang memungkinkan browser untuk mendapatkan file yang diperlukan melalui permintaan http tunggal (misalnya, dapatkan https: // path/to/font/1+2+3+4)
- Masalah kualitas (kualitas)
- Bagian kata yang hilang dapat digunakan untuk menghasilkan pembelajaran online menggunakan gaya permusuhan dan secara otomatis mengisinya.
- Jaringan generasi permusuhan yang disebutkan di atas juga dapat digunakan untuk membantu dalam generasi font baru.
- lainnya
- Atur parameterisasi, dan saat membuat file font, Anda dapat menyesuaikan set font sesuai dengan kebutuhan Anda dengan pengaturan.
- Google Font telah menerapkan teknik serupa untuk memuat font Cina. Melihat:
- https://developers.google.com/web/fundamentals/performance/optimizing-content-eficiency/webfont-optimization
- Contoh CSS:
- https://fonts.googleapis.com/css?family=zhi-mang-xing&display=swap
LISENSI
- File Font: Semua file font yang dikuratori ditempatkan secara terpisah di repo lain (XL-Fontset) dan berlisensi GPL atau SIL-OFL. (Ok untuk penggunaan komersial)
- Kode sumber dirilis di bawah lisensi MIT.