4824578 빌딩 블록은 - 및 | 더 복잡한 글리프를 구성하는 기호. 이 기호는 동일한 공간으로 두 개 이상의 기호를 포장하도록 묶을 수 있습니다.
예:
| 결과 | 암호 | 결과 | 암호 |
|---|---|---|---|
27-26-26 | 2468|24578 |
( 및 ) 기호는 구성 요소를 함께 그룹화하는 데 사용될 수 있으므로 혼합 수평 및 수직 포장이 올바른 순서로 발생할 수 있습니다.
예:
| 결과 | 암호 | 결과 | 암호 |
|---|---|---|---|
(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 데이터
{
"一" : "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 사용하는 것입니다. 이 파일의 헤더 댓글에서 더 많은 설명서를 찾을 수 있습니다.
JSON 파일은 반 바이트를 사용하여 RRPL 알파벳의 각 기호를 인코딩하여 compress.js 사용하여 원본 크기의 절반 정도의 이진 파일로 더 압축 (및 압축되지 않은)로 추가로 압축 될 수 있습니다.

preview.html 웹 페이지를 생성하십시오. $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 's 및 LSTM과 같은 순차적 모델로 구조를 배울 수 있습니다. 나는 존재하지 않는 한자를 환각시키기 위해 RNN (재발 신경 네트워크)을 언어에 적용했습니다. 아래는 ~ 1000 rrpl 문자 설명에서 밤새 훈련하여 생성 된 일부 문자이며, Pix2Pix 모델을 사용하여 비주얼이 렌더링됩니다. 해당 프로젝트에 대한 별도의 리포가 곧 생성 될 예정입니다.

rrpl.json 에는 최신 작업 버전이 포함되어 있습니다. 거기에는 약 5,000자가 있지만 5 만 명이 넘는 한자가 존재합니다! 따라서 도움은 대단히 감사합니다. 이 프로젝트에 도움을 주려면 새 문자를 파일에 추가하고 풀 요청을 제출하십시오. 자세한 내용은 Lingdonh [at] Andrew [dot] cmu [dot] edu에 이메일을 보내서 저에게 연락하십시오.
아래는 지금까지 RRPL을 사용하여 5000 개 이상의 중국어를 렌더링하는 것입니다. 확대하려면 이미지를 클릭하십시오.
