4824578 يمكن تعبئة لبنات البناء أفقيًا أو رأسيًا باستخدام - و | الرموز على التوالي لتكوين حروف مرموقة أكثر تعقيدًا. يمكن أن تكون هذه الرموز مرتبطة بتعبئة أكثر من رمبين مع غرفة متساوية.
مثال:
| نتيجة | شفرة | نتيجة | شفرة |
|---|---|---|---|
27-26-26 | 2468|24578 |
( و ) يمكن استخدام الرموز لتجميع المكونات معًا ، بحيث يمكن أن تحدث التعبئة الأفقية والعمودية المختلطة بالترتيب الصحيح.
مثال:
| نتيجة | شفرة | نتيجة | شفرة |
|---|---|---|---|
(48|37)-(25678|27)-(37|15) | (46-68)|(246-268)|(24-28) |
يمكن الرجوع مباشرة إلى شخصيات وجذرية أخرى مباشرة لبناء شخصية جديدة. سيقوم المحلل بإلقاء محتويات Glyph المرجعية مباشرة في السلسلة ، على غرار ميزة C/C ++ #include . هذا يجعل من السهل وصف الشخصيات الصينية الأكثر تعقيدًا ، لأن معظمها يتكون من المتطرفين.
مثال:
| نتيجة | شفرة | نتيجة | شفرة |
|---|---|---|---|
廿|468|由|(八) | ((車|(山))-(殳))|(手) | ||
((口)-(口))|(甲)|十 | (((木)-(缶)-(木))|(冖))|((鬯)-(彡)) |
يتم تضمين محلل أساسي في rrpl_parser.js ، والذي يعمل على تشغيل هذا العرض التوضيحي التفاعلي. يمكن استخدامه مع JavaScript من جانب المتصفح وكذلك 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 ) ) ; يمكن تخزين بيانات RRPL في ملف JSON ، مع تعيين كائن الجذر أحرف Unicode إلى وصف كل منهما ، على سبيل المثال
{
"一" : "48" ,
"丁" : "468|26|27" ,
"上" : "246|248" ,
"不" : "(48-45678-48)|(3-26-1)" ,
"丕" : "不|一" ,
"中" : "(46-2468-68)|(24-2468-28)" ,
"串" : "中|中"
} عادة ما يتم توسيع المراجع في هذه الملفات أولاً قبل محاولة التقديم. يمكن القيام بذلك بطريقتين. الأول هو استخدام parser.preprocess(json_object) في rrpl_parser.js ، في حين أن الثانية تستخدم compile.js . يمكن العثور على المزيد من الوثائق في تعليقات الرأس لهذه الملفات.
يمكن ضغط ملفات JSON بشكل أكبر في (وغير مضغوط من) ملف ثنائي حوالي نصف حجم الأصل باستخدام compress.js ، باستخدام نصف بايت لتشفير كل رمز في أبجدية RRPL.

preview.html تحتوي على عرض لجميع الأحرف في ملف RRPL JSON: $node render.js preview path/to/input.json
realtime.html حيث يمكن تحليل مدخلات المستخدم وتقديمها بشكل تفاعلي: (ستكون الأحرف المحددة في ملف الإدخال متاحًا للرجوع إليها) $node render.js realtime path/to/input.json
$node export_glyphs.js path/to/input.json path/to/output/folder 0
على عكس ما ينشئه render.js ، تحتوي هذه SVG على "الخطوط العريضة" للرسوم الحربية بدلاً من السكتات الدماغية البسيطة. يمكن تعديل المزيد من الإعدادات مثل السماكة في رمز المصدر لـ export_glyphs.js ؛ سيأتي واجهة برمجة تطبيقات سطر القيادة لاحقًا.
pip install fontforge ) يمكن العثور على مثال في tools/forge_font.py . نظرًا لأن RRPL يقلل من جميع الأحرف الصينية إلى سلسلة قصيرة من الأرقام ، يمكن تعلم هيكلها من خلال نماذج متسلسلة مثل سلاسل Markov و RNN's و LSTM دون صعوبة كبيرة. لقد قمت بتطبيق RNN (الشبكات العصبية المتكررة) على اللغة لتسلق الشخصيات الصينية غير الموجودة. فيما يلي بعض الأحرف التي تم إنشاؤها عن طريق التدريب بين عشية وضحاها على أوصاف أحرف RRPL ~ 1000 ، مع تقديم الصور المرئية باستخدام نموذج PIX2PIX. سيتم إنشاء ريبو منفصل لهذا المشروع قريبًا.

يحتوي rrpl.json على أحدث إصدار من العمل. هناك حوالي 5000 حرف ، ولكن هناك أكثر من 50000 حرف صيني! لذا فإن المساعدة موضع تقدير كبير. إذا كنت ترغب في المساعدة في هذا المشروع ، فيرجى إلحاق أحرف جديدة بالملف وإرسال طلب سحب. لمزيد من المعلومات ، اتصل بي عن طريق إرسال بريد إلكتروني إلى Lingdonh [AT] Andrew [DOT] CMU [DOT] EDU.
فيما يلي عرض لجميع الأحرف الصينية 5000+ التي يُشار إليها باستخدام RRPL حتى الآن. انقر على الصورة لتكبير.
