4824578 Los bloques de construcción se pueden empacar horizontal o verticalmente utilizando el - y | Símbolos respectivamente para componer glifos más complejos. Estos símbolos se pueden encadenar para empacar más de dos símbolos con igual espacio.
Ejemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
27-26-26 | 2468|24578 |
( y ) Los símbolos se pueden usar para agrupar los componentes para que el embalaje horizontal y vertical mixto pueda ocurrir en el orden correcto.
Ejemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
(48|37)-(25678|27)-(37|15) | (46-68)|(246-268)|(24-28) |
Se pueden hacer referencia directamente a otros caracteres y radicales para construir un nuevo carácter. El analizador arrojará el contenido del glifo de referencia directamente a la cadena, similar a la función C/C ++ #include . Esto hace que sea especialmente fácil describir los caracteres chinos más complicados, ya que la mayoría de ellos consisten en radicales.
Ejemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
廿|468|由|(八) | ((車|(山))-(殳))|(手) | ||
((口)-(口))|(甲)|十 | (((木)-(缶)-(木))|(冖))|((鬯)-(彡)) |
Se incluye un analizador de referencia en rrpl_parser.js , que alimenta esta demostración interactiva. Se puede usar con JavaScript del lado del navegador y 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 ) ) ; Los datos de RRPL se pueden almacenar en un archivo JSON, con los caracteres Unicode de mapeo de objetos raíz a su descripción respectiva, por ejemplo,
{
"一" : "48" ,
"丁" : "468|26|27" ,
"上" : "246|248" ,
"不" : "(48-45678-48)|(3-26-1)" ,
"丕" : "不|一" ,
"中" : "(46-2468-68)|(24-2468-28)" ,
"串" : "中|中"
} Las referencias en estos archivos generalmente se amplían primero antes de que se intente la renderización. Esto se puede hacer de dos maneras. El primero es usar parser.preprocess(json_object) en rrpl_parser.js , mientras que el segundo está usando compile.js . Se puede encontrar más documentación en los comentarios del encabezado de estos archivos.
Los archivos JSON se pueden comprimir aún más en (y sin comprimir) un archivo binario alrededor de la mitad del tamaño del original usando compress.js , utilizando un medio byte para codificar cada símbolo en el alfabeto RRPL.

preview.html que contenga una representación de todos los caracteres en un archivo 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
Al contrario de lo que genera render.js , estos SVG contienen "contornos" de los glifos en lugar de trazos simples. Se pueden ajustar más configuraciones como el grosor en el código fuente de export_glyphs.js ; La API de la línea de comandos vendrá más tarde.
pip install fontforge ) Se puede encontrar un ejemplo en tools/forge_font.py . Dado que RRPL reduce todos los caracteres chinos a una breve cadena de números, su estructura se puede aprender mediante modelos secuenciales como las cadenas de Markov, RNN y LSTM sin mucha dificultad. He aplicado RNN (redes neuronales recurrentes) al idioma para alucinar caracteres chinos inexistentes. A continuación se presentan algunos personajes generados por el entrenamiento durante la noche en descripciones de caracteres ~ 1000 RRPL, con las imágenes representadas usando un modelo PIX2PIX. Pronto se creará un repositorio separado para ese proyecto.

rrpl.json contiene la última versión de trabajo en progreso. Hay unos 5,000 personajes allí, ¡pero hay más de 50,000 caracteres chinos en existencia! Así que la ayuda es muy apreciada. Si desea ayudar con este proyecto, agregue nuevos caracteres al archivo y envíe una solicitud de extracción. Para obtener más información, contácteme enviando un correo electrónico a Lingdonh [at] Andrew [dot] cmu [dot] edu.
A continuación se muestra una representación de los más de 5000 caracteres chinos denotados usando RRPL hasta ahora. Haga clic en la imagen para ampliar.
