4824578 Blok bangunan dapat dikemas secara horizontal atau vertikal menggunakan - dan | Simbol masing -masing untuk menyusun glyph yang lebih kompleks. Simbol -simbol ini dapat dirantai untuk mengemas lebih dari dua simbol dengan ruang yang sama.
Contoh:
| Hasil | Kode | Hasil | Kode |
|---|---|---|---|
27-26-26 | 2468|24578 |
( dan ) simbol dapat digunakan untuk mengelompokkan komponen bersama sehingga campuran horizontal dan pengemasan vertikal dapat terjadi dalam urutan yang benar.
Contoh:
| Hasil | Kode | Hasil | Kode |
|---|---|---|---|
(48|37)-(25678|27)-(37|15) | (46-68)|(246-268)|(24-28) |
Karakter dan radikal lain dapat dirujuk secara langsung untuk membangun karakter baru. Parser akan membuang isi mesin terbang referensi langsung ke dalam string, mirip dengan fitur C/C ++ #include . Ini membuatnya sangat mudah untuk menggambarkan karakter Cina yang lebih rumit, karena kebanyakan dari mereka terdiri dari radikal.
Contoh:
| Hasil | Kode | Hasil | Kode |
|---|---|---|---|
廿|468|由|(八) | ((車|(山))-(殳))|(手) | ||
((口)-(口))|(甲)|十 | (((木)-(缶)-(木))|(冖))|((鬯)-(彡)) |
Parser baseline termasuk dalam rrpl_parser.js , yang mendukung demo interaktif ini. Ini dapat digunakan dengan javascript sisi browser serta node.js:
//require the module: (or in html, <script src="./rrpl_parser.js"></script>)
var parser = require ( './rrpl_parser.js' ) ;
//obtain an abstract syntax tree
var ast = parser . parse ( "(48|37)-(25678|27)-(37|15)" ) ;
//returns line segments (normalized 0.0-1.0) that can be used to render the character
var lines = parser . toLines ( parser . toRects ( ast ) ) ; Data RRPL dapat disimpan dalam file JSON, ketika objek root memetakan karakter unicode ke deskripsi masing -masing, misalnya
{
"一" : "48" ,
"丁" : "468|26|27" ,
"上" : "246|248" ,
"不" : "(48-45678-48)|(3-26-1)" ,
"丕" : "不|一" ,
"中" : "(46-2468-68)|(24-2468-28)" ,
"串" : "中|中"
} Referensi dalam file -file ini biasanya diperluas terlebih dahulu sebelum rendering dicoba. Ini bisa dilakukan dengan dua cara. Yang pertama menggunakan parser.preprocess(json_object) di rrpl_parser.js , sedangkan yang kedua menggunakan compile.js . Lebih banyak dokumentasi dapat ditemukan di komentar header dari file -file ini.
File JSON dapat dikompresi lebih lanjut ke dalam (dan tidak terkompresi dari) file biner sekitar setengah dari ukuran aslinya menggunakan compress.js , dengan menggunakan setengah byte untuk mengkode setiap simbol dalam alfabet RRPL.

preview.html yang berisi rendering semua karakter dalam file JSON RRPL: $node render.js preview path/to/input.json
realtime.html di mana input pengguna dapat diuraikan dan diterjemahkan secara interaktif: (karakter yang ditentukan dalam file input akan tersedia untuk referensi) $node render.js realtime path/to/input.json
$node export_glyphs.js path/to/input.json path/to/output/folder 0
Bertentangan dengan apa yang dihasilkan render.js , SVG ini berisi "garis besar" dari mesin terbang alih -alih sapuan sederhana. Lebih banyak pengaturan seperti ketebalan dapat diubah dalam kode sumber export_glyphs.js ; API baris perintah akan datang nanti.
pip install fontforge ) Contoh dapat ditemukan di tools/forge_font.py . Karena RRPL mengurangi semua karakter Cina menjadi serangkaian angka pendek, strukturnya dapat dipelajari dengan model berurutan seperti rantai Markov, RNN dan LSTM tanpa banyak kesulitan. Saya telah menerapkan RNN (jaringan saraf berulang) ke bahasa untuk berhalusinasi karakter Cina yang tidak ada. Di bawah ini adalah beberapa karakter yang dihasilkan oleh pelatihan semalam pada ~ 1000 deskripsi karakter RRPL, dengan visual yang diberikan menggunakan model Pix2pix. Repo terpisah untuk proyek itu akan segera dibuat.

rrpl.json berisi versi terbaru yang bekerja dalam proses. Ada sekitar 5.000 karakter di sana, tetapi ada lebih dari 50.000 karakter Cina yang ada! Jadi bantuan sangat dihargai. Jika Anda ingin membantu proyek ini, harap tambahkan karakter baru ke file dan kirimkan permintaan tarik. Untuk info lebih lanjut, hubungi saya dengan mengirim email ke Lingdonh [at] Andrew [dot] cmu [dot] edu.
Di bawah ini adalah render dari semua 5000+ karakter Cina yang dilambangkan menggunakan RRPL sejauh ini. Klik pada gambar untuk memperbesar.
