├── README.md ├── triungkoxsampheng.schema.yaml ├── zyenpheng.dict.yaml ├── zyenpheng.schema.yaml └── 中古三拼方案v2.0.xlsx /README.md: -------------------------------------------------------------------------------- 1 | # rime-middle-chinese 2 | 中古漢語(切韻音系)全拼及三拼 3 | 採用polyhedron(古韻)的中古漢語切韻音系拼音。 4 | 其中,zyenpheng.dict.yaml爲通用的詞庫;   5 | zyenpheng.schema.yaml爲全拼輸入法;   6 | triungkoxsampheng.schema.yaml爲中古三拼輸入法,首碼爲聲母,中碼爲等、開合口及主元音,尾碼爲韻尾及聲調,鍵盤圖及具體說明見excel表格。 7 | 8 | 有問題請發郵件給biopolyhedron@gmail.com(推薦)或pull request(不推薦)。尤其是對schema有好的建議或修改方案歡迎提出。 9 | dict也難免有錯誤或不全之處,也歡迎指出,但不建議直接在上面改動,還是請發郵件聯繫我,有一些旁人認爲的錯誤有可能是韻書/詞表版本造成的或對反切理解不同造成的。 10 | -------------------------------------------------------------------------------- /triungkoxsampheng.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | 4 | schema: 5 | schema_id: triungkoxsampheng 6 | name: 中古三拼 7 | version: "2015.03.13" 8 | author: 9 | - "polyhedron " 10 | - "Lely " 11 | description: | 12 | 中古漢語三拼,採用《廣韻》音系的中古漢語三拼, 每個字第一碼爲聲母、第二碼爲介音和主元音、第三碼爲韻尾和聲調。 鍵盤圖見http://vdisk.weibo.com/s/aNz6u 13 | 詞庫使用zyenpheng.dict.yaml(中古全拼的詞庫,以共享詞彙) 14 | dependencies: 15 | - luna_pinyin 16 | 17 | switches: 18 | - name: ascii_mode 19 | reset: 0 20 | states: [ 中文, 西文 ] 21 | - name: full_shape 22 | states: [ 半角, 全角 ] 23 | - name: ascii_punct 24 | states: [ ,。, ,. ] 25 | - name: simplification 26 | states: [ 漢字, 汉字 ] 27 | 28 | engine: 29 | processors: 30 | - ascii_composer 31 | - recognizer 32 | - key_binder 33 | - speller 34 | - punctuator 35 | - selector 36 | - navigator 37 | - express_editor 38 | segmentors: 39 | - ascii_segmentor 40 | - matcher 41 | - abc_segmentor 42 | - punct_segmentor 43 | - fallback_segmentor 44 | translators: 45 | - punct_translator 46 | - r10n_translator 47 | - reverse_lookup_translator 48 | filters: 49 | - simplifier 50 | - uniquifier 51 | 52 | speller: 53 | alphabet: zyxwvutsrqponmlkjihgfedcba 54 | delimiter: " '" 55 | algebra: 56 | - xform/^cj'ap$/AAP/ 57 | - xform/^d'ruen$/DFF/ 58 | - xform/^chj'ai$/EAH/ 59 | - xform/^chj'aix$/EAY/ 60 | - xform/^chj'ren$/EDF/ 61 | - xform/^zj'e$/IEA/ 62 | - xform/^zj'op$/IOP/ 63 | - xform/^nj'aix$/NAY/ 64 | - xform/^nj'e$/NEA/ 65 | - xform/^nj'rat$/NZT/ 66 | - xform/^sj'amx$/OAE/ 67 | - xform/^thr'et$/REK/ 68 | - xform/^thr'eh$/REZ/ 69 | - xform/^tr'uaix$/TSY/ 70 | - xform/^t'rangx$/TZW/ 71 | - xform/^ch'ruad$/VXB/ 72 | - xform/^j'aix$/YAY/ 73 | - xform/^i'uaix$/YSY/ 74 | - xform/^z'ren$/ZDF/ 75 | - xform/^zr'uen$/ZRF/ 76 | - xform/^zr'ux$/ZUQ/ 77 | - xform/j([aeou])/ji$1/ 78 | - xform/iung/ium/ 79 | - xform/uung/um/ 80 | - xform/yung/iung/ 81 | - xform/iuk/iup/ 82 | - xform/uuk/up/ 83 | - xform/yuk/iuk/ 84 | - xform/^([jiy])/Y$1/ 85 | - xform/^ng/W/ 86 | - xform/^gh?/G/ 87 | - xform/^kh/X/ 88 | - xform/^zsj/U/ 89 | - xform/^sj/O/ 90 | - xform/^zj/I/ 91 | - xform/^chj/E/ 92 | - xform/^cj/A/ 93 | - xform/^zs/J/ 94 | - xform/^ch/V/ 95 | - xform/^th/R/ 96 | - xform/^ph/F/ 97 | - xform/^l/L/ 98 | - xform/^h/H/ 99 | - xform/^q/Q/ 100 | - xform/^z/Z/ 101 | - xform/^s/S/ 102 | - xform/^c/C/ 103 | - xform/^k/K/ 104 | - xform/^n/N/ 105 | - xform/^d/D/ 106 | - xform/^t/T/ 107 | - xform/^m/M/ 108 | - xform/^b/B/ 109 | - xform/^p/P/ 110 | - xform/k$/K/ 111 | - xform/t$/T/ 112 | - xform/p$/P/ 113 | - xform/d$/B/ 114 | - xform/iuh$/iuZ/ 115 | - xform/iux$/iuQ/ 116 | - xform/iu$/iuA/ 117 | - xform/([aei])uh$/$1M/ 118 | - xform/([aei])ux$/$1U/ 119 | - xform/([aei])u$/$1J/ 120 | - xform/([aioy])ih$/$1N/ 121 | - xform/([aioy])ix$/$1Y/ 122 | - xform/([aioy])i$/$1H/ 123 | - xform/ngh$/X/ 124 | - xform/ngx$/W/ 125 | - xform/ng$/S/ 126 | - xform/nh$/V/ 127 | - xform/nx$/R/ 128 | - xform/n$/F/ 129 | - xform/mh$/C/ 130 | - xform/mx$/E/ 131 | - xform/m$/D/ 132 | - xform/h$/Z/ 133 | - xform/x$/Q/ 134 | - xform/([a-z])$/$1A/ 135 | - xform/([jTRDCVZSJAEIOUL])ia/$1Q/ 136 | - xform/ia/W/ 137 | - xform/ya/B/ 138 | - xform/([jTRDCVZSJAEIOUL])ie/$1T/ 139 | - xform/ie/G/ 140 | - xform/([jTRDCVZSJAEIOUL])ye/$1C/ 141 | - xform/ye/V/ 142 | - xform/([jTRDCVZSJAEIOUL])iu/$1N/ 143 | - xform/iu/M/ 144 | - xform/([jTRDCVZSJAEIOUL])io/$1H/ 145 | - xform/io/J/ 146 | - xform/([jTRDCVZSJAEIOUL])yo/$1P/ 147 | - xform/yo/L/ 148 | - xform/rua/X/ 149 | - xform/ra/Z/ 150 | - xform/rue/F/ 151 | - xform/re/D/ 152 | - xform/ru/J/ 153 | - xform/ua/S/ 154 | - xform/a/A/ 155 | - xform/ue/R/ 156 | - xform/e/E/ 157 | - xform/uo/P/ 158 | - xform/o/O/ 159 | - xform/u/U/ 160 | - xform/([jTRDCVZSJAEIOUL])i/$1I/ 161 | - xform/i/K/ 162 | - xform/([jTRDCVZSJAEIOUL])y/$1Y/ 163 | - xform/y([AQZ])/Y$1/ #幽韻不分AB 164 | - xform/y/H/ 165 | - xform/[jr]// 166 | - xlit/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 167 | - abbrev/^([a-z]).+$/$1/ 168 | 169 | translator: 170 | dictionary: zyenpheng 171 | prism: triungkoxsampheng 172 | preedit_format: 173 | - xform/(\w\w)b/$1D/ 174 | - xform/(\w\w)c/$1MH/ 175 | - xform/(\w\w)d/$1M/ 176 | - xform/(\w\w)e/$1MX/ 177 | - xform/(\w\w)f/$1N/ 178 | - xform/(\w\w)h/$1I/ 179 | - xform/(\w\w)j/$1U/ 180 | - xform/(\w\w)k/$1K/ 181 | - xform/(\w\w)m/$1UH/ 182 | - xform/(\w\w)n/$1IH/ 183 | - xform/(\w\w)p/$1P/ 184 | - xform/(\w\w)q/$1X/ 185 | - xform/(\w\w)r/$1NX/ 186 | - xform/(\w\w)s/$1NG/ 187 | - xform/(\w\w)t/$1T/ 188 | - xform/(\w\w)u/$1UX/ 189 | - xform/(\w\w)v/$1NH/ 190 | - xform/(\w\w)w/$1NGX/ 191 | - xform/(\w\w)x/$1NGH/ 192 | - xform/(\w\w)y/$1IX/ 193 | - xform/(\w\w)z/$1H/ 194 | - xform/(\w\w)a/$1\\/ 195 | - xform/(\w)a/$1A/ 196 | - xform/([rvjtdczsln])b/$1RYA/ 197 | - xform/(\w)b/$1YA/ 198 | - xform/([rvjtdczsl])c/$1YE/ 199 | - xform/(\w)c/$1JYE/ 200 | - xform/(\w)d/$1RE/ 201 | - xform/(\w)e/$1E/ 202 | - xform/(\w)f/$1RUE/ 203 | - xform/([rvjtdczsln])g/$1RIE/ 204 | - xform/(\w)g/$1IE/ 205 | - xform/([rvjtdczsln])h([INT])/$1RY$2/ 206 | - xform/(\w)h([INTK])/$1Y$2/ 207 | - xform/([aeiouny])h/$1JO/ 208 | - xform/(\w)h/$1IO/ 209 | - xform/([rvjtdczsl])i/$1I/ 210 | - xform/(\w)i/$1JI/ 211 | - xform/(\w)j(K|NG)/$1RU$2/ 212 | - xform/([rvjtdczsln])j/$1RIO/ 213 | - xform/(\w)j/$1IO/ 214 | - xform/([rvjtdczsln])k/$1RI/ 215 | - xform/(\w)k/$1I/ 216 | - xform/([rvjtdczsln])l/$1RYO/ 217 | - xform/(\w)l/$1YO/ 218 | - xform/([rvjtdczsln])m/$1RIU/ 219 | - xform/(\w)m/$1IU/ 220 | - xform/([rvjtdczsl])n/$1IU/ 221 | - xform/(n)n/$1JIU/ 222 | - xform/(\w)n/$1JU/ 223 | - xform/(\w)o/$1O/ 224 | - xform/(\w)p([NKT])/$1UO$2/ 225 | - xform/([aeiouny])p/$1JYO/ 226 | - xform/(\w)p/$1YO/ 227 | - xform/([rvjtdczsl])q/$1IA/ 228 | - xform/(\w)q/$1JA/ 229 | - xform/(\w)r/$1UE/ 230 | - xform/(\w)s/$1UA/ 231 | - xform/([rvjtdczsl])t/$1IE/ 232 | - xform/(\w)t/$1JE/ 233 | - xform/(\w)u/$1U/ 234 | - xform/([rvjtdczsnl])v/$1RYE/ 235 | - xform/(\w)v/$1YE/ 236 | - xform/([rvjtdczsln])w/$1RIA/ 237 | - xform/(\w)w/$1IA/ 238 | - xform/(\w)x/$1RUA/ 239 | - xform/([rvjtdczsl])y/$1Y/ 240 | - xform/(\w)y([XH\\])/$1Y$2/ 241 | - xform/(\w)y/$1JY/ 242 | - xform/(\w)z/$1RA/ 243 | - "xform/(^|[ '])f/$1PH/" 244 | - "xform/(^|[ '])r/$1TH/" 245 | - "xform/(^|[ '])v/$1CH/" 246 | - "xform/(^|[ '])j/$1ZS/" 247 | - "xform/(^|[ '])x/$1KH/" 248 | - "xform/(^|[ '])g/$1G/" 249 | - "xform/(^|[ '])w/$1NG/" 250 | - "xform/(^|[ '])a/$1CJ/" 251 | - "xform/(^|[ '])e/$1CHJ/" 252 | - "xform/(^|[ '])i/$1ZJ/" 253 | - "xform/(^|[ '])o/$1SJ/" 254 | - "xform/(^|[ '])u/$1ZSJ/" 255 | - "xform/(^|[ '])p/$1P/" 256 | - "xform/(^|[ '])b/$1B/" 257 | - "xform/(^|[ '])m/$1M/" 258 | - "xform/(^|[ '])t/$1T/" 259 | - "xform/(^|[ '])d/$1D/" 260 | - "xform/(^|[ '])n/$1N/" 261 | - "xform/(^|[ '])c/$1C/" 262 | - "xform/(^|[ '])z/$1Z/" 263 | - "xform/(^|[ '])s/$1S/" 264 | - "xform/(^|[ '])k/$1K/" 265 | - "xform/(^|[ '])q/$1Q/" 266 | - "xform/(^|[ '])h/$1H/" 267 | - "xform/(^|[ '])y([JIY])/$1$2/" 268 | - "xform/(^|[ '])G([AEOUR])/$1GH$2/" 269 | - xform/JJ/J/ 270 | - xform/JI([AEOUY])/J$1/ 271 | - xform/\\// 272 | - xlit/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ 273 | - xform/jung/jyung/ 274 | - xform/jum/jung/ 275 | - xform/juk/jyuk/ 276 | - xform/jup/juk/ 277 | - xform/iung/yung/ 278 | - xform/ium/iung/ 279 | - xform/um/uung/ 280 | - xform/iuk/yuk/ 281 | - xform/iup/iuk/ 282 | - xform/up/uuk/ 283 | 284 | reverse_lookup: 285 | dictionary: luna_pinyin 286 | prefix: "`" 287 | suffix: "'" 288 | tips: 〔拼音〕 289 | preedit_format: 290 | - xform/([nljqxy])v/$1ü/ 291 | 292 | punctuator: 293 | import_preset: default 294 | 295 | key_binder: 296 | import_preset: default 297 | 298 | recognizer: 299 | import_preset: default 300 | patterns: 301 | reverse_lookup: "`[a-z]*'?$" 302 | -------------------------------------------------------------------------------- /zyenpheng.schema.yaml: -------------------------------------------------------------------------------- 1 | # Rime schema 2 | # encoding: utf-8 3 | 4 | schema: 5 | schema_id: zyenpheng 6 | name: 中古全拼 7 | version: "2014.04.30" 8 | author: 9 | - 古韻 10 | description: | 11 | 採用《廣韻》音系的中古漢語拼音,亦稱「古韻羅馬字」。 12 | 韻典網·廣韻 http://ytenx.org/kyonh/ 13 | http://zh.wikipedia.org/wiki/User:Polyhedron/中古漢語拼音 14 | dependencies: 15 | - luna_pinyin 16 | 17 | switches: 18 | - name: ascii_mode 19 | reset: 0 20 | states: [ 中文, 西文 ] 21 | - name: half_shape 22 | states: [ 全角, 半角 ] 23 | - name: simplification 24 | states: [ 漢字, 汉字 ] 25 | - name: ascii_punct 26 | states: [ 。,, ., ] 27 | 28 | engine: 29 | processors: 30 | - ascii_composer 31 | - recognizer 32 | - key_binder 33 | - speller 34 | - punctuator 35 | - selector 36 | - navigator 37 | - express_editor 38 | segmentors: 39 | - ascii_segmentor 40 | - matcher 41 | - abc_segmentor 42 | - punct_segmentor 43 | - fallback_segmentor 44 | translators: 45 | - punct_translator 46 | - script_translator 47 | - reverse_lookup_translator 48 | filters: 49 | - simplifier 50 | - uniquifier 51 | 52 | speller: 53 | alphabet: zyxwvutsrqponmlkjihgfedcba 54 | delimiter: " '" 55 | algebra: 56 | - "xform/'//" 57 | - abbrev/^([a-z]).+$/$1/ 58 | - abbrev/^([ptkgc]h).+$/$1/ 59 | - abbrev/^(zs).+$/$1/ 60 | - abbrev/^(ng).+$/$1/ 61 | - abbrev/^([czs][hs]?j).+$/$1/ 62 | - abbrev/^ph.+$/f/ 63 | - abbrev/^th.+$/r/ 64 | - abbrev/^kh.+$/x/ 65 | - abbrev/^ch.+$/v/ 66 | - abbrev/^ng.+$/w/ 67 | 68 | translator: 69 | dictionary: zyenpheng 70 | spelling_hints: 8 71 | 72 | reverse_lookup: 73 | dictionary: luna_pinyin 74 | prefix: "`" 75 | suffix: "'" 76 | tips: 〔拼音〕 77 | preedit_format: 78 | - xform/([nl])v/$1ü/ 79 | - xform/([nl])ue/$1üe/ 80 | - xform/([jqxy])v/$1u/ 81 | 82 | punctuator: 83 | import_preset: default 84 | 85 | key_binder: 86 | import_preset: default 87 | 88 | recognizer: 89 | import_preset: default 90 | patterns: 91 | reverse_lookup: "`[a-z]*'?$" 92 | -------------------------------------------------------------------------------- /中古三拼方案v2.0.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/biopolyhedron/rime-middle-chinese/ae78a13b800f4068d06aabac4a0686b5dba12a80/中古三拼方案v2.0.xlsx --------------------------------------------------------------------------------