4824578 可以使用-和|分别构成更复杂的字形的符号。这些符号可以链接到具有相等空间的两个以上符号。
例子:
| 结果 | 代码 | 结果 | 代码 |
|---|---|---|---|
27-26-26 | 2468|24578 |
( and )符号可用于将组件分组在一起,因此可以按正确的顺序进行混合水平和垂直包装。
例子:
| 结果 | 代码 | 结果 | 代码 |
|---|---|---|---|
(48|37)-(25678|27)-(37|15) | (46-68)|(246-268)|(24-28) |
可以直接引用其他字符和激进分子来构建新角色。解析器将直接将参考字形的内容转移到字符串中,类似于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)" ,
"串" : "中|中"
}这些文件中的引用通常首先在尝试渲染之前扩展。这可以通过两种方式完成。第一个是在rrpl_parser.js中使用parser.preprocess(json_object) ,而第二个是使用compile.js 。可以在这些文件的标题评论中找到更多文档。
通过使用compress.js的原始文件的一半,可以将JSON文件进一步压缩为(并从未压缩过)二进制文件,通过使用半字节来编码RRPL Alphabet中的每个符号。

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的源代码中调整更多设置,例如厚度;命令行API将在以后出现。
pip install fontforge )可以在tools/forge_font.py中找到一个示例。 由于RRPL将所有汉字都简化为简短的数字,因此可以通过Markov Chains,RNN和LSTM等顺序模型来学习它们的结构。我已将RNN(经常性神经网络)应用于该语言,以幻觉不存在的汉字。以下是通过对〜1000 RRPL字符描述训练过夜产生的一些字符,使用Pix2Pix模型呈现视觉效果。该项目的单独存储库将很快创建。

rrpl.json包含最新的,正在进行的版本。那里有大约5,000个字符,但是存在50,000多个汉字!因此,非常感谢帮助。如果您想帮助该项目,请在文件中附加新字符并提交拉动请求。有关更多信息,请通过发送电子邮件至lingdonh [at] andrew [dot] cmu [dot] edu与我联系。
以下是到目前为止使用RRPL表示的所有5000多个中文字符的渲染。单击图像放大。
