4824578 Os blocos de construção podem ser embalados horizontal ou verticalmente usando o - e | Símbolos respectivamente para compor glifos mais complexos. Esses símbolos podem ser acorrentados para embalar mais de dois símbolos com espaço igual.
Exemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
27-26-26 | 2468|24578 |
( e ) Os símbolos podem ser usados para agrupar componentes, para que a embalagem horizontal e vertical mista possa ocorrer na ordem correta.
Exemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
(48|37)-(25678|27)-(37|15) | (46-68)|(246-268)|(24-28) |
Outros personagens e radicais podem ser referenciados diretamente para construir um novo personagem. O analisador despejará o conteúdo do glifo de referência diretamente na string, semelhante ao recurso C/C ++ #include . Isso facilita a descrição dos caracteres chineses mais complicados, pois a maioria deles consiste em radicais.
Exemplo:
| Resultado | Código | Resultado | Código |
|---|---|---|---|
廿|468|由|(八) | ((車|(山))-(殳))|(手) | ||
((口)-(口))|(甲)|十 | (((木)-(缶)-(木))|(冖))|((鬯)-(彡)) |
Um analisador de linha de base está incluído no rrpl_parser.js , que alimenta essa demonstração interativa. Pode ser usado com JavaScript do lado do navegador, bem como 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 ) ) ; Os dados RRPL podem ser armazenados em um arquivo JSON, com o objeto raiz que mapeia os caracteres Unicode para sua respectiva descrição, por exemplo,
{
"一" : "48" ,
"丁" : "468|26|27" ,
"上" : "246|248" ,
"不" : "(48-45678-48)|(3-26-1)" ,
"丕" : "不|一" ,
"中" : "(46-2468-68)|(24-2468-28)" ,
"串" : "中|中"
} As referências nesses arquivos geralmente são ampliadas antes da tentativa de renderizar. Isso pode ser feito de duas maneiras. O primeiro é usar parser.preprocess(json_object) em rrpl_parser.js , enquanto o segundo está usando compile.js . Mais documentação pode ser encontrada nos comentários do cabeçalho desses arquivos.
Os arquivos JSON podem ser compactados (e não compactados) de um arquivo binário em torno da metade do tamanho do original usando compress.js , usando um meio byte para codificar cada símbolo no alfabeto RRPL.

preview.html contendo uma renderização de todos os personagens em um arquivo rrpl json: $node render.js preview path/to/input.json
realtime.html onde as entradas do usuário podem ser analisadas e renderizadas interativamente: (os caracteres definidos no arquivo de entrada estarão disponíveis para referência) $node render.js realtime path/to/input.json
$node export_glyphs.js path/to/input.json path/to/output/folder 0
Ao contrário do que render.js . Mais configurações, como espessura, podem ser ajustadas no código -fonte de export_glyphs.js ; A API da linha de comando virá mais tarde.
pip install fontforge ) Um exemplo pode ser encontrado nas tools/forge_font.py . Como o RRPL reduz todos os caracteres chineses a uma pequena série de números, sua estrutura pode ser aprendida por modelos seqüenciais, como cadeias de Markov, RNN e LSTM sem muita dificuldade. Apliquei o RNN (redes neurais recorrentes) ao idioma para alucinar caracteres chineses inexistentes. Abaixo estão alguns caracteres gerados pelo treinamento durante a noite em ~ 1000 descrições de caracteres RRPL, com os visuais renderizados usando um modelo PIX2PIX. Um repositório separado para esse projeto será criado em breve.

rrpl.json contém a mais recente versão de trabalho em andamento. Existem cerca de 5.000 caracteres lá, mas há mais de 50.000 caracteres chineses! Portanto, a ajuda é muito apreciada. Se você quiser ajudar neste projeto, anexe novos caracteres ao arquivo e envie uma solicitação de tração. Para mais informações, entre em contato comigo enviando um email para Lingdonh [at] Andrew [dot] CMU [dot] Edu.
Abaixo está uma renderização de todos os mais de 5000 caracteres chineses denotados usando RRPL até agora. Clique na imagem para ampliar.
