├── ChangeLog ├── ChangeLog.1 ├── Readme ├── charpy.st ├── cj.txt ├── cjeb.txt ├── ebpy.txt ├── eim-cj-chars.el ├── eim-cj.el ├── eim-eb-map.el ├── eim-eb.el ├── eim-extra.el ├── eim-py.el ├── eim-table.el ├── eim-wb-gb2312.el ├── eim-wb-gbk.el ├── eim-wb.el ├── eim.el ├── makefile ├── mergepy.pl ├── mywb.txt ├── otherpy.txt ├── py.txt ├── pychr.txt ├── pyword2tbl.pl ├── sanguo.txt ├── table2chartbl.pl ├── wb.txt └── wbpy.txt /ChangeLog: -------------------------------------------------------------------------------- 1 | 2008-04-27 Ye Wenbin 2 | 3 | * eim-table.el: 将 eim-wb 中的函数抽取到这个包中 4 | 5 | 2008-04-26 Ye Wenbin 6 | 7 | * eim-wb.el (eim-wb-add-completion): 对于增加的补全按输入码的长度排序。 8 | 9 | * eim.el (eim-select-current): 如果是空码,输入空格确认后不产生空 10 | 格。 11 | 12 | 2008-04-25 Ye Wenbin 13 | 14 | * eim-cj.el: 增加对仓颉输入法的支持 15 | 16 | * eim-wb.el (eim-wb-add-completion): 在输入足够长 (3 个字符) 时输 17 | 出所有补全 18 | 19 | * eim.el (eim-format-page, eim-handle-string): 如果没有查找到对应 20 | 词条,依然要继续查找补全。 21 | 22 | 2008-03-29 Ye Wenbin 23 | 24 | * eim.el (eim-show-tooltip): 修正 tooltip frame 位置计算。 25 | 26 | Fri Nov 9 22:01:32 CST 2007 Ye Wenbin 27 | * 不绑定控制字符,这样很多全局按键绑定都可以用了 28 | 29 | Fri Nov 9 22:00:53 CST 2007 Ye Wenbin 30 | * 增加切换英文标点和中文标点的命令 31 | 32 | Fri Nov 9 21:59:21 CST 2007 Ye Wenbin 33 | * 关闭五笔输入法记录历史的说明 34 | 35 | Sat Sep 29 13:02:49 CST 2007 Ye Wenbin 36 | * 修正 let 局部变量 37 | 38 | 2007-09-29 Ye Wenbin 39 | 40 | * eim.el: 增加版本号 41 | 42 | Sat Sep 29 12:58:02 CST 2007 Ye Wenbin 43 | * 为 package 增加选项,比如 eim-wb 可以用来设置是否记录位置 44 | 45 | Mon Sep 24 17:12:54 CST 2007 Ye Wenbin 46 | * 修改 eim-insert-ascii 使可以自己定义任意的按键,不用修改 punctuation list 47 | 48 | Fri Sep 21 11:17:34 CST 2007 Ye Wenbin 49 | * timestamp 50 | 51 | Fri Sep 21 11:16:56 CST 2007 Ye Wenbin 52 | * remove pychr.txt from version control 53 | 54 | Fri Sep 21 11:15:42 CST 2007 Ye Wenbin 55 | * Add mergepy.pl in source 56 | 57 | Fri Sep 21 11:14:58 CST 2007 Ye Wenbin 58 | * Fix restore narraw info for eim-wb-save-history 59 | 60 | Fri Sep 21 11:14:21 CST 2007 Ye Wenbin 61 | * Add missing char for eim-py 62 | 63 | Fri Sep 21 11:12:42 CST 2007 Ye Wenbin 64 | * More intelligent command for eim-insert-ascii 65 | 66 | Fri Sep 21 11:10:26 CST 2007 Ye Wenbin 67 | * Add description for mergepy.pl and change eim-insert-ascii key binding 68 | 69 | 2007-09-21 Ye Wenbin 70 | 71 | * eim-extra.el (eim-insert-ascii): 一个模拟一般五笔输入法插入英文功能的命令。这两个 patch 都来自 Levin,多谢! 72 | 73 | * eim-wb.el (eim-wb-save-history): 修正直接调用 eim-wb-save-history 时没有恢复 eim-wb-user-buffer 的 narraw 信息。 74 | 75 | Thu Jul 12 19:34:28 CST 2007 Ye Wenbin 76 | * 一些小错误 77 | 78 | Thu Jul 12 19:34:04 CST 2007 Ye Wenbin 79 | * 修正增加五笔词组当光标在缓冲区开末尾时出错的bug 80 | 81 | 2007-07-12 Ye Wenbin 82 | 83 | * Readme: mergepy.pl 使用说明 84 | 85 | * mergewb.pl: 增加一个更新拼音词库的程序 86 | 87 | Thu Jul 12 19:33:29 CST 2007 Ye Wenbin 88 | * 修正第一次启动 eim-wb 时没有启动输入法的错误 89 | 90 | Thu Jul 12 19:32:39 CST 2007 Ye Wenbin 91 | * 修正翻页命令的错误 92 | 93 | Thu Jul 12 19:31:43 CST 2007 Ye Wenbin 94 | * 增加按键绑定说明 95 | 96 | Tue Jul 10 00:37:47 CST 2007 Ye Wenbin 97 | * 增加 makefile 98 | 99 | Thu Jul 5 17:31:04 CST 2007 Ye Wenbin 100 | * 修改文件名错误 101 | 102 | Thu Jul 5 17:30:46 CST 2007 Ye Wenbin 103 | * 修改说明 104 | 105 | Thu Jul 5 16:57:08 CST 2007 Ye Wenbin 106 | * 修改破折号 107 | 108 | Thu Jul 5 16:52:07 CST 2007 Ye Wenbin 109 | * 使用makefile产生打包文件,py.txt老是变,删除之 110 | 111 | Thu Jul 5 16:50:14 CST 2007 Ye Wenbin 112 | * 修正 eim-subseq 对于空列表的错误 113 | 114 | Thu Jul 5 16:49:33 CST 2007 Ye Wenbin 115 | * 改拼写错误 116 | 117 | Thu Jul 5 16:47:50 CST 2007 Ye Wenbin 118 | * 使词库文件和所在目录无关,使用load-path搜索所在路径 119 | 120 | Thu Jul 5 16:47:23 CST 2007 Ye Wenbin 121 | * 修正错误 122 | 123 | Thu Jul 5 16:46:27 CST 2007 Ye Wenbin 124 | * 更新说明 125 | 126 | Thu Jun 7 00:46:44 CST 2007 Ye Wenbin 127 | * 当前一个字符和标点转换前字符相同,删除前一个字符 128 | 129 | Thu Jun 7 00:40:45 CST 2007 Ye Wenbin 130 | * 增加在数字后不转换标点的功能 131 | 132 | Sun Jun 3 23:20:40 CST 2007 Ye Wenbin 133 | * 修正在 unibyte buffer 里导致 emacs crash 的问题 134 | 135 | Mon May 28 17:42:14 CST 2007 Ye Wenbin 136 | * 移动 eim-delete-region 位置,编译时不会有警告 137 | 138 | Mon May 28 17:41:29 CST 2007 Ye Wenbin 139 | * 修改一些错误 140 | 141 | Mon May 28 17:40:20 CST 2007 Ye Wenbin 142 | * 移除 eim-extra 里的 eim-package-name 143 | 144 | Wed May 23 01:11:48 CST 2007 Ye Wenbin 145 | * 修改说明 146 | 147 | Wed May 23 01:09:08 CST 2007 Ye Wenbin 148 | * 修改版本号 149 | 150 | Wed May 23 01:02:31 CST 2007 Ye Wenbin 151 | * 修改终端下退格键无效 152 | 153 | Wed May 23 00:53:41 CST 2007 Ye Wenbin 154 | * 无须路径指定文件名 155 | 156 | Wed May 23 00:53:09 CST 2007 Ye Wenbin 157 | * 修改终端下退格键无效 158 | 159 | Wed May 23 00:51:47 CST 2007 Ye Wenbin 160 | * 修改提示 161 | 162 | Wed May 23 00:30:03 CST 2007 Ye Wenbin 163 | * 修改 feature 名字和文件名相同 164 | 165 | Sat Feb 10 10:25:06 CST 2007 Ye Wenbin 166 | * 增加显示五笔补全命令 167 | 168 | Sat Feb 10 10:21:57 CST 2007 Ye Wenbin 169 | * 修正 eim-insert-ascii 在 overite 模式下的问题,加入新命令eim-describe-char 查找汉输码 170 | 171 | Sun Jan 14 19:54:27 CST 2007 Ye Wenbin 172 | * add file coding header 173 | 174 | Sun Jan 14 13:02:53 CST 2007 Ye Wenbin 175 | * add tooltip advice 176 | 177 | Sun Jan 14 13:02:21 CST 2007 Ye Wenbin 178 | * add file ChangeLog.1 179 | 180 | Sun Jan 14 10:29:45 CST 2007 Ye Wenbin 181 | * Init eim 182 | -------------------------------------------------------------------------------- /ChangeLog.1: -------------------------------------------------------------------------------- 1 | 2007-01-14 Ye Wenbin 2 | 3 | * eim-wb-gb2312.el : 把原来 eim-wb 中的一部分放到单独的文件中,如果 4 | 选择设置 eim-wb-use-gbk 则导入 eim-wb-gbk,否则导入 eim-wb-gb2312 5 | 6 | * eim-wb-gbk.el : 结合 fcitx 五笔字库的 gbk 汉字 7 | 8 | * eim-wb.el (eim-wb-add-user-char): 可以从 eim-wb-user-file 中读入 9 | 需要的汉字。如果不想导入 eim-wb-gbk,不妨只在 eim-wb-use-file 中加 10 | 入可能会用到的 gbk 汉字。其实一般的输入 gbk 汉字是没有问题,因为 11 | wb.txt 中已经加入了 fcitx 中所有的 gbk 汉字,只是如果需要造词时,不 12 | 导入 gbk 汉字是无法自动造词的。 13 | 14 | 2006-11-21 Ye Wenbin 15 | 16 | * eim-extra.el (eim-save-history, eim-load-history): 17 | 18 | * eim-wb.el (eim-wb-initialized): 19 | 读入 history 文件时,有时会出错,不知道为什么保存时会有的条目没有代码。 20 | 21 | 2006-08-11 Ye Wenbin 22 | 23 | * eim.el (eim-show-tooltip): 修正在 frame 左上角在屏幕外时无法显示 24 | tooltip 的问题。 25 | 26 | 2006-08-05 Ye Wenbin 27 | 28 | * eim.el (eim-show): 去掉可能用不上的代码。如果出错了,再补上。 29 | 30 | 2006-08-03 Ye Wenbin 31 | 32 | * eim.el (eim-show): 修正分割符的写法。 33 | 34 | 2006-07-31 Ye Wenbin 35 | 36 | * eim-py.el (eim-py-handle-string): 37 | 修正一个错误写法导致不能使用 tooltip。 38 | 39 | 2006-07-30 Ye Wenbin 40 | 41 | * eim.el (eim-start-translation): 去掉 quail-error,直接用 error, 42 | 免得出现问题。 43 | (eim-use-package, eim-help): 显示输入法的说明。 44 | (eim-build-table, eim-create-word-file): 增加 Description 部分,作 45 | 为输入法的说明。 46 | (eim-show, eim-show-tooltip, eim-terminate-translation) 47 | (eim-use-tooltip, eim-tooltip-timeout): 光标跟随效果测试。如果不喜 48 | 欢可以去掉: 49 | (setq eim-use-tooltip nil) 50 | 51 | 2006-07-28 Ye Wenbin 52 | 53 | * eim.el (number-sequence, delete-dups, eim-string-emptyp) 54 | (eim-line-content): 兼容 emacs21 55 | (eim-handle-string): 没有词条时,显示输入字母 56 | 57 | 2006-07-27 Ye Wenbin 58 | 59 | * eim-py.el (eim-py-handle-string, eim-py-format-page): 60 | 修改拼音的显示方式。如果没有可选词,直接显示输入的字母。多余的拼音 61 | 也显示出来。 62 | 63 | 2006-07-19 Ye Wenbin 64 | 65 | * eim (v2.0): 使用 Quail 的方法来处理。查找方式为在打开的 buffer 66 | 中使用半分查找。有这些改进: 67 | 1. auto-fill 和 isearch 的问题都已经解决 68 | 2. 可以自己加入多个词库 69 | 3. 更方便自定义按键 70 | 4. 内存占用应该是会减少。 71 | 72 | 2006-06-06 Ye Wenbin 73 | 74 | * chinese-pyx.el (eim-py-get): 使用 remove-if-not 代替 eim-filter 75 | 76 | * eim.el (eim-insert-ascii): 修正在 minibuffer 输入过程中使用 C-g 77 | 退出导致 after-change-functions 的值变成 nil 的问题。其实以前的考虑 78 | 是多余的。 79 | (eim-filter): 删除了。使用 remove-if-not 代替。 80 | 81 | * chinese-pyx.el (eim-py-get): 修改的这个函数增加一个功能是检查代码 82 | 与编码是否相符。eim-py-check-word 开启这个选项。现在还没有找到为什 83 | 么会错误的加入新词的原因。如果找到原因,修正之后可以不用检查已经输 84 | 入过的词。不过由于,词组不多,所以影响不大。 85 | 86 | * eim.el (eim-filter): filter 87 | 88 | 2006-06-05 Ye Wenbin 89 | 90 | * chinese-pyx.el (eim-py-no-clear-select): 增加这个命令方便在拼音 91 | 输入下输入英文。 92 | (eim-py-handle-function): 修正输入 i 等字母开头的拼音无法识别的问题。 93 | (eim-py-select): 对于没有可选字,按空格插入输入字母。 94 | 95 | 2006-04-14 Ye Wenbin 96 | 97 | * chinese-pyx.el (eim-py-save-database): 设置 print-length 为 nil。 98 | 99 | 2006-04-11 Ye Wenbin 100 | 101 | * chinese-pyx.el (eim-py-valid-yunmu): 修正不能输入 `ang' 的错误。 102 | 103 | 2006-04-08 Ye Wenbin 104 | 105 | * eim.el (eim-help): fix it up 106 | (eim-insert-ascii): 修正输入一个字符时重新激活输入法的错误。 107 | 108 | * pywords: 对几万个汉字的文本统计频率后重新排列。 109 | 110 | * eim.el (eim-help): for describe-input-method 111 | (eim-char-database, eim-database, eim-docstring, eim-params) 112 | (eim-package-name): 113 | 114 | * chinese-pyx.el (eim-py-select): 加入一个特性,可以选择词组的同时 115 | 调整汉字的位置。开启可以设置 eim-py-rearrange-with-word 为 t。 116 | 117 | * eim.el (eim-uninstall-package): uninstall a package. this is not 118 | use by user. 119 | (eim-inactivate-hook, eim-after-load-hook, eim-activate-hook): 120 | -------------------------------------------------------------------------------- /Readme: -------------------------------------------------------------------------------- 1 | * 特点 2 | ** 五笔 3 | 1. 临时拼音输入汉字。用 z 开头可以输入汉字的拼音并查看其五笔字码。 4 | 2. 反查五笔。用 M-x eim-describe-char 可以查看光标处汉字的五笔字码。 5 | 3. 加入自造词。M-x eim-table-add-word,默认是光标前的两个汉字。用 C-a 和 C-e 调整。 6 | 4. 可以保存选择的历史。 7 | 8 | ** 拼音 9 | 1. 自动调频 10 | 2. 自动加入输入的词组。 11 | 3. 不必输入词组的全部拼音,比较智能的查找词组。 12 | 13 | 在数字后输入标点会不转换成中文标点符号,这是为了方便输入序号和数字。如 14 | 果需要作为中文标点符号,再次输入这个标点就好了。可以用 M-x 15 | eim-punc-translate-toggle 命令切换输入中英文标点。 16 | 17 | * 安装 18 | 19 | 如果有 make 命令,可以用 make 和 make install 命令安装。可以修改 20 | PREFIX 使文件安装到指定位置。windows 下可以直接设置 ELISPDIR。 21 | 如果没有 make 命令,可以直接复制 EL 和 EXTRAFILES 到 load-path 里的目 22 | 录里,推荐是在 site-lisp/eim 目录中。 23 | 24 | 在 .emacs 加入这几行就行了。五笔输入法要修改 eim-wb-history-file 和 25 | eim-wb-user-file 的位置。eim-wb-history-file 要修改成能保存的文件名即 26 | 可。eim-wb-user-file 可以不修改,如果不改则使用默认的 mywb.txt。如果修 27 | 改则可以自己指定一个文件。文件格式参考 mywb.txt。 28 | 29 | (add-to-list 'load-path "~/.emacs.d/site-lisp/eim") 30 | (autoload 'eim-use-package "eim" "Another emacs input method") 31 | ;; Tooltip 暂时还不好用 32 | (setq eim-use-tooltip nil) 33 | 34 | (register-input-method 35 | "eim-wb" "euc-cn" 'eim-use-package 36 | "五笔" "汉字五笔输入法" "wb.txt") 37 | (register-input-method 38 | "eim-py" "euc-cn" 'eim-use-package 39 | "拼音" "汉字拼音输入法" "py.txt") 40 | 41 | ;; 用 ; 暂时输入英文 42 | (require 'eim-extra) 43 | (global-set-key ";" 'eim-insert-ascii) 44 | 45 | 注意,如果所有文件都在 load-path 里的某个目录中,就能找到(如果没有同名 46 | 文件的话),否则,请在文件或者配置中使用文件全名。 47 | 48 | 常用的按键: 49 | |------+----------| 50 | | 按键 | 功能 | 51 | |------+----------| 52 | | C-n | 向下翻页 | 53 | | C-p | 向上翻页 | 54 | | C-c | 取消输入 | 55 | | SPC | 确定输入 | 56 | | RET | 字母上屏 | 57 | |------+----------| 58 | 59 | 按键绑定可以用 C-h I(M-x describe-input-method) 查看。 60 | 61 | * 其余无关文件 62 | 63 | charpy.st 用 Storable 模块保存的汉字拼音列表 64 | pychr.txt 原始的汉字拼音列表 65 | pyword2tbl.pl 用于把词组文件转换成可用的词库的 perl 程序 66 | sanguo.txt 一个测试文件 67 | mergepy.pl 可以更新词库的程序。 68 | 69 | 详细说明一下 mergepy.pl 的用法。如果我发布一个新版本的拼音词库,要使用 70 | 这个词库又不想丢失自己词库里新造的词和词频信息,这时就可以用这个程序。 71 | 在命令行中用这样的命令: 72 | 73 | $ perl mergepy.pl 自己的词库文件 新词库文件 -o py-new.txt 74 | 75 | 然后把自己的词库文件备份或者删除,把 py-new.txt 改名成 py.txt 就行了。 76 | 77 | * 增加汉字 78 | ** 五笔输入法 79 | 对于五笔输入法,可以选择导入 eim-wb-gbk,只要在 .emacs 里加上: 80 | 81 | (setq eim-wb-use-gbk t) 82 | 83 | 另一个选择是在 eim-wb-user-file 里加上需要的汉字。这样基本上是够用的。 84 | 一般的输入 gbk 汉字是没有问题,因为wb.txt 中已经加入了 fcitx 中所有的 85 | gbk 汉字,只是如果需要造词时,不导入 gbk 汉字是无法自动造词的。 86 | 87 | ** 拼音输入法 88 | 对于拼音输入法,可以通过这样一个折衷的办法,在 .emacs 中加上: 89 | 90 | (add-hook 'eim-py-load-hook 91 | (lambda () 92 | (eim-py-make-char-table 93 | '( 94 | ("ye" "葉") 95 | ("rong" "镕") 96 | )))) 97 | 98 | 然后在 otherpy.txt 的 [Table] 一行后加上: 99 | ye 葉 100 | rong 镕 101 | 102 | M-x eim-build-table 103 | 104 | 这样应该就能正常使用了。 105 | 106 | * 如何定制一个输入法 107 | 108 | ** 初级定制方法: 109 | 例如,要设置按键,可以这样: 110 | (defun my-eim-wb-activate-function () 111 | (add-hook 'eim-active-hook 112 | (lambda () 113 | (let ((map (eim-mode-map))) 114 | (define-key map "-" 'eim-previous-page) 115 | (define-key map "=" 'eim-next-page))))) 116 | 然后要这样 register-input-method: 117 | (register-input-method 118 | "eim-wb" "euc-cn" 'eim-use-package 119 | "五笔" "汉字五笔输入法" "wb.txt" 120 | 'my-eim-wb-activate-function) 121 | 122 | 或者这样: 123 | (add-hook 'eim-wb-load-hook 124 | (lambda () 125 | (let ((map (eim-mode-map))) 126 | (define-key map "-" 'eim-previous-page) 127 | (define-key map "=" 'eim-next-page)))) 128 | 这样不需要再写一个函数。 129 | 拼音输入法是类似的。 130 | 131 | 对于五笔输入法,如果不想记录上次输入位置,设置 eim-wb-history-file 为 132 | nil。 133 | 134 | ** 高级定制方法: 135 | eim-use-package 可以接受两个参数,一个是 word-file,给出一个词库,一个 136 | 是 active-function,这个 active-function 是在每次切换时都要调用的。如果 137 | 想只在第一次启动输入法时调用一些命令,最好定义一个变量,在启动之后设置 138 | 为 t,或者加入到 eim-load-hook 中。在调用这个命令时,eim-current-package 139 | 可能还没有定义(第一次启动),这样,如果要修改或者使用 140 | eim-current-package 中的变量,就要用 eim-load-hook 或者eim-active-hook 141 | 或者 eim-active-function。eim-load-hook 只在第一次启动输入法时调 142 | 用,eim-active-function 和 eim-active-hook 每次都要调用。一般来说,如果 143 | 要修改按键绑定,就加入到 eim-load-hook 中。如果要修改 eim-page-length 144 | 这样的局部变量,使用 eim-active-function 或者 eim-active-hook。 145 | eim-active-function 是为有专门的 lib 的输入法设计的,这样不用在 146 | register-input-method 中加入一个 active-function。而 eim-active-hook 147 | 是为用户定制设计的,这样不用专门写到一个文件中。设置 148 | eim-active-function 使用eim-set-active-function 函数。 149 | 150 | eim-stop-function: 151 | 这个函数是用于决定是否停止转换。比如五笔中可以设置当 eim-current-key 大于 4 152 | 时就停止。默认是 nil,也就是说可以无限的输入。 153 | 154 | eim-translate-function: 155 | 当输入的字符是第一个字符(eim-current-key为空)时,如果不在 156 | eim-first-char 中,或者不是第一个字符,但是不在 eim-total-char 中,会 157 | 停止转换。这时,会调用这个函数来处理最后一个输入字符。通常用这个函数来 158 | 输入标点。 159 | 160 | eim-add-completion-function: 161 | 通过这个函数来为当前的词条添加更多的选项。当往后翻页超出直接查找到的词 162 | 条时,会调用这个函数,如果添加结束,返回 t,还需要再添加返回 nil。 163 | 我写的五笔输入法用这个函数时是直接一次性加完。如果要每次添加几个的话, 164 | 一种办法就是在 eim-current-choice 中加入一个新元素,记录这次搜索到哪个 165 | 位置。下次从这个位置继续,直到结束,比较麻烦。而且,一次加完的速度也很 166 | 快,就用简单的办法好了。 167 | 168 | eim-format-function: 169 | eim-current-choice 中的第一个元素是通常是一个字符串列表。但是也可以含 170 | 有 list。这时需要给出一个显示的函数。比如我在五笔输入法中搜索出可能的 171 | 单字或者输入拼音时显示五笔字根。 172 | 这个函数要接受四个参数,分别是当前输入的字符串 eim-current-key, 173 | 当前页数,所有页数,这一页的选项。 174 | 175 | eim-handle-function: 176 | 这个函数是决定输入法行为的核心函数。通常要完成的任务是: 177 | 1. 决定是否要继续转换。 178 | 2. 设置 eim-current-choice, eim-current-pos, eim-current-str, 179 | eim-guidance-str, 最后调用 eim-show 显示结果。通常如果 180 | eim-current-choice 的 CAR 不为空的话,就调用 eim-format-page 显示。 181 | 如果为空,则设置相应的 eim-current-str 和 eim-guidance-str,调用 182 | eim-show 显示。 183 | 184 | 参考 eim-wb 和 eim-py 的写法。 185 | 186 | ;;; Local Variables: *** 187 | ;;; mode: outline *** 188 | ;;; coding: utf-8 *** 189 | ;;; End: *** 190 | -------------------------------------------------------------------------------- /charpy.st: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/viogus/eim/59942402547a958b539cb568619ac62c20c6abd3/charpy.st -------------------------------------------------------------------------------- /ebpy.txt: -------------------------------------------------------------------------------- 1 | ;; -*- coding: utf-8 -*- 2 | [Comment] 3 | 要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表 4 | 就行了。更多的设置如下: 5 | 6 | 如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x eim-build-table。 7 | 如果有需要,可能还要修改 first-char 和 extra-char 8 | 9 | [Parameter] 10 | first-char=[ 11 | extra-char=yxwtsqpmvlkjfrdhcuebogniaz 12 | 13 | [Table] 14 | [a 阿 啊 呵 腌 嗄 锕 吖 15 | [ai 爱 哀 挨 碍 埃 癌 艾 唉 矮 哎 皑 蔼 隘 暧 霭 捱 嗳 瑷 嫒 锿 嗌 砹 16 | [an 安 案 按 暗 岸 俺 谙 黯 鞍 氨 庵 桉 鹌 胺 铵 揞 犴 埯 17 | [ang 昂 肮 盎 18 | [ao 奥 澳 傲 熬 敖 凹 袄 懊 坳 嗷 拗 鏖 骜 鳌 翱 岙 廒 遨 獒 聱 媪 螯 鏊 19 | [ba 把 八 吧 巴 爸 罢 拔 叭 芭 霸 靶 扒 疤 跋 坝 笆 耙 粑 灞 茇 菝 魃 岜 捌 钯 鲅 20 | [bai 百 白 败 摆 伯 拜 柏 呗 掰 捭 佰 稗 21 | [ban 办 半 版 般 班 板 伴 搬 扮 斑 颁 瓣 拌 扳 绊 阪 坂 瘢 钣 舨 癍 22 | [bang 帮 邦 棒 膀 榜 傍 绑 磅 谤 浜 梆 镑 蚌 蒡 23 | [bao 报 保 包 暴 宝 抱 薄 胞 爆 鲍 饱 堡 曝 刨 褒 豹 雹 苞 葆 褓 孢 煲 鸨 龅 趵 24 | [bei 被 北 备 背 悲 辈 杯 倍 贝 碑 卑 蓓 惫 悖 狈 呗 焙 鹎 孛 邶 陂 埤 碚 褙 鐾 鞴 萆 钡 25 | [ben 本 奔 笨 苯 夯 畚 贲 锛 坌 26 | [beng 崩 甭 绷 蹦 迸 甏 泵 嘣 蚌 27 | [bi 比 必 笔 毕 币 避 闭 鼻 彼 逼 壁 臂 弊 碧 鄙 毙 蔽 庇 匕 璧 敝 陛 弼 篦 婢 愎 痹 妣 濞 铋 裨 俾 髀 萆 薜 哔 狴 庳 秕 滗 舭 毖 吡 嬖 蓖 贲 畀 荸 埤 筚 箅 芘 襞 跸 荜 28 | [bian 编 便 边 变 遍 辩 辨 贬 鞭 辫 扁 卞 砭 苄 匾 汴 蝙 笾 碥 窆 褊 弁 鳊 忭 煸 缏 29 | [biao 表 标 彪 镖 膘 骠 镳 裱 杓 飙 瘭 髟 飚 婊 飑 鳔 30 | [bie 别 憋 瘪 蹩 鳖 31 | [bin 宾 滨 彬 斌 鬓 缤 殡 濒 槟 摈 膑 傧 玢 豳 髌 镔 32 | [bing 并 病 兵 冰 饼 丙 柄 秉 炳 禀 邴 摒 33 | [bo 波 播 博 伯 勃 薄 拨 泊 柏 剥 玻 驳 卜 脖 搏 膊 饽 簸 掰 舶 跛 礴 菠 帛 铂 钵 渤 檗 钹 擘 箔 趵 孛 鹁 踣 亳 啵 34 | [bu 不 部 布 步 补 捕 怖 卜 簿 哺 埔 卟 埠 钸 逋 醭 晡 瓿 钚 35 | [ca 擦 嚓 礤 36 | [cai 才 采 菜 财 材 彩 裁 猜 蔡 踩 睬 37 | [can 参 餐 残 惨 灿 惭 掺 蚕 璨 孱 骖 黪 粲 38 | [cang 藏 苍 仓 沧 舱 伧 39 | [cao 草 操 曹 糙 嘈 槽 螬 艚 漕 40 | [ce 策 测 侧 厕 册 恻 41 | [cen 参 岑 涔 42 | [ceng 曾 层 蹭 噌 43 | [cha 查 察 差 茶 插 刹 叉 诧 茬 碴 喳 岔 嚓 衩 杈 楂 槎 檫 镲 搽 锸 猹 馇 汊 姹 44 | [chai 差 柴 拆 豺 钗 侪 虿 瘥 45 | [chan 产 颤 缠 禅 蝉 馋 铲 搀 阐 掺 潺 忏 蟾 婵 谄 谗 廛 孱 澶 冁 躔 蒇 骣 觇 镡 羼 46 | [chang 长 场 常 唱 厂 尝 昌 肠 偿 畅 倡 倘 敞 怅 娼 猖 嫦 伥 氅 徜 昶 鲳 阊 菖 苌 鬯 惝 47 | [chao 超 朝 潮 炒 吵 抄 嘲 钞 绰 巢 晁 焯 怊 耖 48 | [che 车 彻 撤 扯 澈 掣 坼 砗 49 | [chen 称 陈 沉 晨 尘 臣 趁 衬 辰 郴 谶 琛 忱 嗔 伧 抻 谌 宸 榇 龀 碜 50 | [cheng 成 城 程 称 承 诚 盛 乘 呈 撑 惩 澄 秤 瞠 橙 噌 逞 铛 丞 骋 埕 枨 塍 铖 裎 酲 柽 蛏 51 | [chi 吃 持 迟 尺 赤 斥 池 痴 齿 驰 耻 翅 匙 侈 哧 嗤 啻 弛 蚩 炽 笞 敕 叱 饬 踟 鸱 褫 豉 坻 墀 茌 篪 傺 媸 螭 彳 眵 魑 瘛 52 | [chong 重 冲 充 崇 虫 宠 憧 忡 艟 茺 舂 铳 53 | [chou 抽 愁 仇 丑 筹 臭 酬 绸 踌 瞅 惆 畴 稠 雠 俦 帱 瘳 54 | [chu 出 处 除 初 楚 触 储 础 厨 畜 躇 橱 雏 矗 怵 锄 杵 搐 绌 黜 褚 蜍 蹰 刍 滁 楮 憷 亍 樗 55 | [chuai 揣 啜 踹 嘬 膪 搋 56 | [chuan 传 穿 川 船 串 喘 舛 遄 舡 巛 氚 椽 钏 57 | [chuang 创 窗 床 闯 幢 疮 怆 58 | [chui 吹 垂 炊 锤 捶 陲 槌 棰 59 | [chun 春 纯 唇 蠢 醇 淳 椿 鹑 蝽 莼 60 | [chuo 绰 戳 啜 辍 踔 龊 61 | [ci 此 次 词 差 刺 辞 慈 磁 赐 瓷 兹 茨 雌 祠 疵 呲 鹚 糍 茈 62 | [cong 从 匆 聪 丛 葱 囱 琮 淙 枞 苁 骢 璁 63 | [cou 凑 楱 辏 腠 64 | [cu 促 粗 簇 醋 卒 猝 蹴 蹙 徂 殂 蔟 酢 65 | [cuan 攒 窜 篡 蹿 撺 镩 汆 爨 66 | [cui 脆 粹 催 摧 崔 萃 翠 瘁 悴 璀 隹 淬 毳 榱 啐 67 | [cun 存 村 寸 忖 皴 68 | [cuo 错 措 搓 挫 撮 磋 蹉 矬 嵯 脞 痤 瘥 鹾 厝 锉 69 | [da 大 打 达 答 搭 瘩 嗒 沓 耷 褡 鞑 笪 靼 怛 妲 哒 疸 70 | [dai 代 带 待 戴 袋 呆 贷 逮 歹 殆 黛 怠 玳 岱 迨 傣 呔 骀 绐 埭 甙 71 | [dan 但 单 担 弹 淡 旦 蛋 胆 诞 丹 耽 惮 眈 啖 澹 掸 殚 箪 瘅 赕 疸 聃 氮 萏 郸 儋 72 | [dang 当 党 荡 档 挡 裆 铛 宕 凼 菪 谠 砀 73 | [dao 到 道 导 倒 岛 刀 悼 盗 蹈 捣 祷 叨 稻 忉 帱 氘 纛 74 | [de 的 得 德 锝 75 | [deng 等 登 灯 邓 凳 瞪 蹬 噔 磴 戥 镫 簦 嶝 76 | [di 地 第 提 底 低 帝 弟 敌 抵 递 滴 迪 蒂 堤 笛 缔 涤 嘀 诋 谛 狄 邸 睇 嫡 翟 砥 娣 棣 荻 羝 坻 柢 觌 骶 氐 绨 镝 碲 籴 77 | [dia 嗲 78 | [dian 点 电 店 典 颠 甸 淀 垫 殿 滇 奠 惦 掂 碘 癫 巅 踮 佃 玷 簟 阽 坫 靛 钿 癜 丶 79 | [diao 调 掉 吊 雕 刁 钓 凋 叼 貂 碉 铫 铞 鲷 80 | [die 爹 跌 叠 迭 碟 谍 蝶 喋 佚 踮 牒 耋 蹀 堞 瓞 揲 垤 鲽 81 | [ding 定 订 顶 丁 盯 钉 鼎 叮 町 铤 腚 酊 仃 锭 疔 啶 玎 碇 耵 82 | [diu 丢 铥 83 | [dong 动 东 懂 冬 洞 冻 董 栋 咚 恫 侗 氡 硐 鸫 岽 垌 峒 胨 胴 84 | [dou 都 斗 豆 抖 逗 兜 陡 窦 蔸 蚪 篼 痘 85 | [du 都 读 度 独 毒 督 渡 肚 杜 睹 堵 赌 妒 嘟 渎 笃 牍 镀 犊 黩 髑 椟 芏 蠹 86 | [duan 断 段 短 端 锻 缎 煅 椴 簖 87 | [dui 对 队 堆 兑 碓 憝 怼 镦 88 | [dun 顿 盾 吨 敦 蹲 钝 炖 遁 盹 沌 囤 墩 趸 镦 礅 砘 89 | [duo 多 夺 朵 躲 舵 堕 踱 咄 跺 哆 剁 惰 垛 驮 掇 铎 裰 哚 缍 沲 柁 90 | [e 额 俄 恶 饿 哦 鹅 扼 愕 遏 噩 娥 峨 呃 厄 鄂 讹 婀 蛾 轭 颚 鳄 锷 谔 屙 锇 阏 垩 腭 苊 鹗 萼 莪 91 | [ei 诶 92 | [en 恩 摁 蒽 93 | [er 而 二 儿 尔 耳 迩 饵 洱 鸸 珥 铒 鲕 贰 佴 94 | [fa 发 法 罚 乏 伐 阀 砝 筏 垡 珐 95 | [fan 反 饭 犯 翻 范 凡 烦 返 番 贩 繁 泛 帆 藩 幡 梵 樊 燔 蕃 畈 钒 蘩 矾 蹯 96 | [fang 方 放 房 访 防 仿 芳 妨 纺 彷 坊 肪 舫 钫 鲂 邡 枋 97 | [fei 非 费 飞 废 肥 啡 沸 菲 肺 匪 诽 腓 扉 吠 霏 绯 妃 斐 翡 蜚 痱 淝 悱 鲱 篚 芾 狒 镄 榧 98 | [fen 分 份 纷 奋 愤 粉 氛 芬 坟 焚 粪 忿 吩 汾 棼 鼢 玢 酚 偾 瀵 鲼 99 | [feng 风 封 丰 峰 疯 锋 逢 奉 缝 凤 讽 冯 蜂 枫 烽 俸 砜 唪 酆 葑 沣 100 | [fo 佛 101 | [fou 否 缶 102 | [fu 夫 府 服 复 父 负 副 福 富 付 妇 附 佛 幅 伏 符 赴 腐 浮 扶 腹 抚 覆 肤 赋 弗 傅 辅 拂 甫 俯 斧 缚 咐 脯 袱 俘 敷 阜 芙 釜 孚 腑 匐 孵 辐 涪 讣 氟 桴 蜉 芾 苻 茯 莩 菔 幞 怫 拊 滏 黼 艴 麸 绂 绋 趺 祓 砩 黻 罘 蚨 跗 蝠 呋 凫 郛 稃 驸 赙 馥 蝮 鲋 鳆 103 | [ga 咖 尬 嘎 噶 轧 伽 旮 钆 尕 尜 104 | [gai 改 该 概 盖 丐 钙 赅 溉 垓 陔 戤 105 | [gan 感 干 敢 赶 甘 肝 杆 尴 赣 橄 竿 秆 擀 坩 苷 柑 泔 矸 澉 疳 酐 淦 绀 旰 106 | [gang 刚 港 钢 岗 纲 缸 扛 杠 冈 肛 罡 戆 筻 107 | [gao 高 告 稿 搞 糕 膏 皋 羔 睾 槁 藁 缟 篙 镐 诰 槔 杲 郜 锆 108 | [ge 个 革 各 歌 格 哥 戈 隔 葛 割 阁 胳 搁 疙 咯 鸽 嗝 骼 颌 屹 搿 膈 镉 纥 袼 仡 鬲 塥 圪 哿 舸 铬 硌 虼 109 | [gei 给 110 | [gen 根 跟 亘 艮 哏 茛 111 | [geng 更 耿 耕 颈 庚 羹 梗 哽 赓 鲠 埂 绠 112 | [gong 工 公 共 供 功 攻 宫 贡 恭 巩 躬 龚 弓 拱 肱 汞 蚣 珙 觥 113 | [gou 够 购 构 狗 沟 勾 苟 钩 觏 篝 垢 佝 岣 诟 鞲 笱 枸 遘 媾 缑 彀 114 | [gu 故 古 顾 股 鼓 姑 骨 固 孤 谷 估 雇 辜 咕 沽 箍 菇 汩 轱 锢 蛊 梏 鸪 毂 鹄 臌 瞽 罟 钴 觚 鹘 菰 蛄 嘏 诂 崮 酤 牿 牯 痼 鲴 115 | [gua 挂 瓜 刮 寡 呱 褂 卦 剐 鸹 栝 胍 诖 116 | [guai 怪 乖 拐 掴 117 | [guan 关 观 管 官 馆 惯 冠 贯 罐 灌 棺 莞 倌 纶 掼 盥 涫 鳏 鹳 118 | [guang 广 光 逛 犷 咣 胱 桄 119 | [gui 规 归 贵 鬼 桂 跪 柜 轨 瑰 诡 刽 龟 硅 闺 皈 傀 癸 圭 晷 簋 妫 鲑 匦 庋 宄 炔 刿 桧 炅 鳜 120 | [gun 滚 棍 鲧 绲 磙 辊 衮 121 | [guo 国 过 果 锅 郭 裹 帼 蝈 聒 馘 掴 埚 虢 呙 崞 猓 椁 蜾 122 | [ha 哈 蛤 铪 123 | [hai 还 海 孩 害 嘿 咳 亥 骇 骸 嗨 胲 醢 氦 124 | [han 汉 喊 含 寒 汗 韩 憾 涵 函 翰 撼 罕 旱 捍 酣 悍 憨 晗 瀚 鼾 顸 阚 焊 蚶 焓 颔 菡 撖 邗 邯 125 | [hang 行 航 巷 杭 夯 沆 颃 绗 珩 126 | [hao 好 号 毫 豪 浩 耗 皓 嚎 昊 郝 壕 蒿 貉 灏 镐 嗥 嚆 薅 濠 蚝 颢 127 | [he 和 何 合 河 喝 赫 核 吓 贺 盒 呵 禾 荷 鹤 壑 阂 褐 诃 涸 阖 嗬 貉 曷 颌 劾 盍 纥 蚵 翮 菏 128 | [hei 黑 嘿 嗨 129 | [hen 很 恨 狠 痕 130 | [heng 横 衡 恒 哼 亨 蘅 珩 桁 131 | [hong 红 轰 洪 鸿 哄 宏 虹 弘 烘 泓 闳 薨 讧 蕻 訇 黉 荭 132 | [hou 后 候 後 厚 侯 喉 吼 猴 逅 糇 骺 堠 瘊 篌 鲎 133 | [hu 乎 护 呼 胡 户 湖 忽 互 糊 虎 壶 狐 沪 惚 浒 唬 葫 弧 蝴 囫 瑚 斛 祜 猢 鹄 醐 戽 扈 唿 笏 琥 滹 鹕 轷 烀 冱 岵 怙 鹘 槲 觳 瓠 鹱 煳 134 | [hua 话 华 化 花 划 画 滑 哗 桦 猾 砉 铧 骅 135 | [huai 怀 坏 徊 淮 槐 踝 136 | [huan 欢 换 还 环 缓 患 幻 唤 宦 焕 痪 寰 鬟 涣 浣 奂 桓 缳 豢 锾 郇 萑 圜 洹 擐 獾 漶 逭 鲩 137 | [huang 黄 皇 荒 晃 慌 煌 惶 恍 谎 璜 徨 簧 凰 幌 潢 蝗 蟥 遑 隍 肓 磺 癀 湟 篁 鳇 138 | [hui 会 回 汇 挥 辉 灰 惠 毁 悔 恢 慧 绘 徽 讳 贿 徊 晦 秽 诲 诙 晖 彗 麾 烩 荟 卉 茴 喙 蛔 恚 洄 珲 蕙 哕 咴 浍 虺 缋 桧 隳 蟪 139 | [hun 婚 混 魂 昏 浑 馄 荤 诨 溷 阍 珲 140 | [huo 和 或 活 火 获 货 伙 祸 惑 霍 豁 夥 锪 耠 劐 钬 攉 藿 嚯 镬 蠖 141 | [ji 几 给 己 机 记 及 计 即 基 济 辑 级 极 寄 际 技 集 纪 击 奇 急 激 继 既 积 籍 鸡 吉 挤 迹 季 寂 绩 疾 饥 祭 缉 忌 剂 圾 姬 矶 肌 嫉 讥 藉 叽 脊 冀 稽 妓 棘 骥 畸 蓟 汲 悸 岌 伎 笈 跻 瘠 亟 诘 暨 霁 羁 稷 偈 戟 嵇 楫 唧 鲫 髻 荠 箕 觊 蒺 畿 虮 齑 殛 墼 佶 掎 芨 丌 麂 蕺 咭 嵴 芰 笄 哜 洎 乩 戢 屐 剞 跽 玑 鲚 赍 犄 142 | [jia 家 加 价 假 架 甲 佳 驾 夹 嫁 嘉 贾 稼 茄 佼 挟 颊 皎 侥 枷 珈 戛 迦 伽 浃 痂 胛 笳 荚 葭 钾 镓 嘏 郏 挢 岬 徼 湫 敫 袈 瘕 恝 铗 袷 蛱 跏 143 | [jian 见 间 件 建 简 坚 监 减 渐 检 健 兼 剑 艰 肩 键 荐 尖 鉴 剪 践 奸 捡 箭 舰 拣 贱 溅 煎 俭 槛 碱 歼 缄 茧 笺 柬 谏 蹇 僭 涧 菅 謇 硷 睑 锏 饯 毽 鲣 鞯 蒹 搛 谫 囝 湔 缣 枧 戬 戋 犍 裥 笕 翦 趼 楗 牮 鹣 腱 踺 144 | [jiang 将 讲 强 江 奖 降 蒋 疆 酱 姜 浆 僵 匠 犟 缰 绛 桨 耩 礓 洚 豇 茳 糨 145 | [jiao 教 交 觉 校 叫 较 角 脚 焦 骄 郊 轿 搅 嚼 胶 缴 绞 饺 椒 矫 娇 佼 狡 浇 跤 姣 窖 剿 侥 皎 蕉 酵 礁 鲛 徼 湫 敫 僬 鹪 峤 蛟 铰 艽 茭 挢 噍 醮 146 | [jie 界 解 接 结 节 街 姐 阶 介 借 戒 杰 届 皆 捷 截 洁 揭 劫 竭 藉 睫 诫 嗟 拮 孑 碣 秸 诘 桀 芥 偈 颉 讦 疖 疥 婕 羯 鲒 蚧 骱 喈 147 | [jin 进 今 金 近 尽 仅 紧 禁 劲 津 斤 谨 锦 筋 晋 巾 浸 襟 瑾 矜 靳 缙 烬 噤 觐 馑 堇 衿 荩 廑 妗 卺 赆 槿 148 | [jing 经 京 精 境 警 竟 静 惊 景 敬 睛 镜 竞 净 井 径 晶 荆 兢 颈 憬 靖 鲸 泾 阱 儆 旌 痉 迳 茎 胫 腈 菁 粳 獍 肼 弪 婧 刭 靓 149 | [jiong 窘 炯 迥 扃 炅 150 | [jiu 就 九 究 酒 久 旧 救 纠 揪 疚 舅 韭 赳 鸠 灸 咎 啾 臼 鹫 阄 僦 厩 玖 柩 桕 鬏 151 | [ju 局 据 居 句 举 具 剧 巨 聚 拒 俱 距 惧 菊 拘 矩 桔 驹 鞠 咀 沮 瞿 锯 炬 飓 趄 掬 踽 踞 遽 橘 倨 疽 龃 屦 犋 裾 钜 苴 雎 鞫 椐 讵 苣 锔 狙 榘 莒 枸 榉 窭 醵 琚 152 | [juan 捐 卷 倦 眷 娟 隽 绢 鹃 涓 镌 锩 鄄 狷 桊 蠲 153 | [jue 觉 绝 决 脚 嚼 掘 诀 崛 爵 抉 倔 獗 嗟 厥 蹶 攫 谲 矍 撅 噱 孓 橛 噘 珏 桷 劂 爝 镢 蕨 觖 154 | [jun 军 均 君 俊 峻 钧 隽 筠 菌 郡 骏 竣 麇 皲 捃 浚 155 | [ka 卡 咖 喀 咔 佧 胩 156 | [kai 开 慨 凯 铠 揩 楷 恺 垲 蒈 锎 剀 锴 忾 157 | [kan 看 刊 侃 堪 砍 坎 槛 勘 瞰 龛 阚 莰 戡 158 | [kang 抗 康 慷 扛 炕 亢 糠 伉 闶 钪 159 | [kao 考 靠 铐 烤 拷 犒 栲 尻 160 | [ke 可 克 科 客 刻 课 颗 渴 柯 呵 棵 恪 咳 苛 磕 壳 坷 嗑 瞌 轲 稞 疴 蝌 溘 髁 钶 窠 颏 珂 岢 骒 缂 氪 锞 蚵 161 | [ken 肯 恳 啃 垦 龈 裉 162 | [keng 坑 吭 铿 163 | [kong 空 恐 控 孔 倥 崆 箜 164 | [kou 口 扣 抠 寇 叩 蔻 眍 芤 筘 165 | [ku 苦 哭 库 裤 酷 枯 窟 骷 刳 堀 喾 绔 166 | [kua 夸 跨 垮 挎 胯 侉 167 | [kuai 会 快 块 筷 脍 蒯 哙 侩 狯 浍 郐 168 | [kuan 款 宽 髋 169 | [kuang 况 狂 矿 框 旷 眶 筐 匡 哐 邝 诓 夼 诳 圹 纩 贶 170 | [kui 亏 愧 溃 窥 魁 馈 睽 盔 逵 葵 奎 匮 傀 喟 聩 岿 馗 夔 篑 喹 悝 暌 隗 蒉 蝰 愦 揆 跬 171 | [kun 困 昆 捆 坤 鲲 悃 髡 锟 醌 阃 琨 172 | [kuo 括 阔 扩 廓 栝 蛞 173 | [la 拉 啦 辣 腊 喇 垃 蜡 剌 邋 旯 瘌 砬 174 | [lai 来 赖 莱 睐 癞 籁 徕 涞 赉 铼 崃 濑 175 | [lan 兰 蓝 栏 烂 懒 览 滥 拦 篮 揽 澜 榄 婪 缆 斓 岚 阑 褴 镧 罱 谰 漤 176 | [lang 浪 狼 朗 郎 廊 琅 螂 榔 啷 莨 锒 稂 阆 蒗 177 | [lao 老 劳 牢 捞 姥 佬 潦 唠 烙 酪 涝 崂 痨 醪 铹 栳 铑 耢 178 | [le 了 乐 勒 肋 叻 泐 鳓 仂 179 | [lei 类 泪 累 雷 蕾 垒 磊 擂 肋 儡 羸 诔 镭 嘞 檑 嫘 缧 酹 耒 180 | [leng 冷 愣 楞 棱 塄 181 | [li 里 理 力 利 立 李 历 离 例 礼 丽 励 黎 厉 璃 莉 哩 笠 粒 俐 漓 栗 狸 梨 隶 吏 沥 篱 厘 犁 雳 罹 莅 戾 鲤 俚 砺 藜 俪 蜊 黧 郦 痢 枥 逦 娌 詈 骊 荔 鳢 喱 鹂 嫠 蠡 鬲 鲡 悝 坜 苈 砾 藓 呖 唳 猁 溧 澧 栎 轹 蓠 傈 缡 疠 疬 蛎 锂 篥 粝 跞 醴 182 | [lia 俩 183 | [lian 联 连 脸 练 恋 怜 莲 廉 炼 帘 链 敛 涟 镰 殓 琏 楝 裢 裣 蠊 鲢 濂 臁 潋 蔹 奁 184 | [liang 两 量 良 亮 辆 梁 俩 凉 粮 谅 粱 晾 踉 莨 墚 魉 椋 靓 185 | [liao 了 料 聊 疗 辽 僚 廖 寥 镣 潦 撩 撂 缭 燎 寮 嘹 钌 獠 鹩 蓼 尥 186 | [lie 列 烈 裂 劣 猎 咧 趔 冽 洌 捩 埒 躐 鬣 187 | [lin 林 临 邻 琳 淋 霖 麟 凛 吝 鳞 磷 躏 赁 嶙 辚 檩 遴 粼 蔺 懔 瞵 啉 膦 廪 188 | [ling 领 令 另 灵 零 龄 凌 玲 铃 陵 岭 拎 伶 聆 囹 棱 菱 翎 苓 瓴 棂 绫 呤 柃 鲮 酃 泠 羚 蛉 189 | [liu 六 留 流 陆 刘 溜 柳 碌 瘤 榴 浏 硫 琉 遛 馏 镏 骝 绺 锍 旒 熘 鎏 鹨 190 | [long 龙 隆 笼 胧 拢 咙 聋 垄 珑 窿 陇 癃 茏 栊 泷 垅 砻 191 | [lou 楼 陋 漏 搂 喽 篓 偻 娄 髅 蝼 镂 蒌 嵝 耧 瘘 192 | [lu 路 陆 录 卢 露 鲁 炉 鹿 碌 庐 芦 噜 颅 禄 辘 卤 虏 麓 泸 赂 漉 戮 簏 轳 鹭 掳 潞 鲈 撸 栌 垆 胪 蓼 渌 鸬 逯 璐 辂 橹 镥 舻 氇 193 | [luan 乱 卵 峦 挛 孪 栾 銮 娈 滦 鸾 脔 194 | [lue 略 掠 锊 195 | [lun 论 轮 伦 沦 仑 抡 囵 纶 196 | [luo 落 罗 络 洛 逻 裸 骆 萝 螺 锣 箩 摞 烙 捋 珞 骡 猡 镙 椤 倮 蠃 荦 瘰 泺 漯 脶 硌 雒 197 | [lv 律 旅 绿 率 虑 履 屡 侣 缕 驴 吕 榈 滤 捋 铝 褛 闾 膂 氯 稆 198 | [m 呒 199 | [ma 马 吗 妈 码 麻 骂 嘛 抹 玛 蚂 蟆 唛 杩 犸 嬷 200 | [mai 买 卖 麦 埋 迈 脉 霾 劢 荬 201 | [man 满 慢 漫 曼 蛮 馒 瞒 蔓 颟 谩 墁 幔 螨 鞔 鳗 缦 熳 镘 202 | [mang 忙 茫 盲 芒 氓 莽 蟒 邙 漭 硭 203 | [mao 毛 冒 猫 贸 矛 帽 貌 茅 茂 髦 卯 耄 瑁 锚 懋 袤 铆 峁 牦 蟊 泖 昴 茆 旄 蝥 瞀 204 | [me 么 麽 205 | [mei 没 美 每 妹 眉 梅 媒 枚 魅 煤 昧 霉 玫 媚 寐 糜 袂 酶 莓 嵋 楣 湄 猸 镅 浼 鹛 镁 206 | [men 们 门 闷 扪 懑 焖 钔 207 | [meng 梦 蒙 猛 盟 朦 孟 萌 勐 懵 檬 蠓 瞢 甍 礞 蜢 虻 艋 艨 锰 208 | [mi 密 米 秘 迷 弥 谜 觅 眯 蜜 靡 咪 谧 泌 糜 汨 宓 麋 醚 弭 敉 芈 祢 脒 幂 縻 嘧 蘼 猕 糸 209 | [mian 面 免 棉 眠 缅 绵 勉 腼 冕 娩 湎 沔 眄 黾 渑 210 | [miao 妙 描 秒 庙 苗 渺 瞄 藐 缪 淼 缈 喵 眇 邈 鹋 杪 211 | [mie 灭 蔑 篾 咩 乜 蠛 212 | [min 民 敏 悯 闽 泯 珉 皿 抿 闵 苠 岷 缗 玟 愍 黾 鳘 213 | [ming 名 明 命 鸣 铭 冥 茗 溟 酩 瞑 暝 螟 214 | [miu 谬 缪 215 | [mo 默 莫 模 麽 末 磨 摸 摩 寞 漠 墨 抹 魔 陌 嘿 沫 膜 蓦 蘑 茉 馍 摹 貉 谟 嫫 秣 镆 殁 瘼 耱 貊 貘 216 | [mou 某 谋 眸 缪 鍪 哞 侔 蛑 217 | [mu 目 母 木 幕 姆 慕 牧 墓 募 暮 牟 亩 穆 睦 拇 沐 牡 仫 坶 苜 毪 钼 218 | [n 嗯 唔 219 | [na 那 拿 呢 哪 纳 娜 呐 捺 钠 镎 肭 衲 220 | [nai 乃 奶 奈 耐 氖 艿 鼐 佴 萘 柰 221 | [nan 难 南 男 楠 喃 囡 囝 腩 蝻 赧 222 | [nang 囊 囔 馕 攮 曩 223 | [nao 脑 闹 恼 挠 瑙 淖 呶 猱 铙 孬 硇 蛲 垴 224 | [ne 呢 讷 225 | [nei 内 馁 226 | [nen 嫩 恁 227 | [neng 能 228 | [ng 嗯 唔 229 | [ni 你 呢 尼 泥 逆 倪 匿 拟 腻 妮 霓 昵 溺 旎 睨 鲵 坭 猊 怩 伲 祢 慝 铌 230 | [nian 年 念 廿 粘 碾 捻 蔫 撵 拈 黏 鲶 鲇 辇 埝 231 | [niang 娘 酿 232 | [niao 鸟 尿 袅 嬲 茑 脲 233 | [nie 捏 涅 聂 孽 蹑 嗫 啮 镊 镍 乜 陧 颞 臬 蘖 234 | [nin 您 恁 235 | [ning 宁 凝 拧 泞 咛 狞 柠 佞 聍 苎 甯 236 | [niu 牛 纽 扭 妞 钮 拗 忸 狃 237 | [nong 农 弄 浓 侬 哝 脓 238 | [nou 耨 239 | [nu 怒 努 奴 弩 驽 胬 孥 240 | [nuan 暖 241 | [nue 虐 疟 242 | [nuo 诺 挪 懦 糯 喏 搦 傩 锘 243 | [nv 女 钕 恧 衄 244 | [o 哦 噢 喔 245 | [ou 欧 偶 殴 呕 鸥 讴 瓯 藕 沤 耦 怄 246 | [pa 怕 爬 帕 扒 趴 啪 琶 葩 耙 杷 钯 筢 247 | [pai 派 排 牌 拍 徘 湃 俳 蒎 哌 248 | [pan 判 盘 盼 叛 畔 潘 攀 拚 蹒 磐 爿 蟠 襻 袢 泮 249 | [pang 旁 庞 胖 乓 膀 磅 彷 螃 滂 耪 逄 250 | [pao 跑 炮 抛 泡 袍 刨 咆 狍 疱 脬 庖 匏 251 | [pei 配 陪 培 佩 赔 沛 裴 呸 胚 醅 锫 辔 帔 旆 霈 252 | [pen 盆 喷 湓 253 | [peng 朋 鹏 碰 彭 捧 棚 蓬 膨 烹 抨 篷 砰 澎 怦 堋 蟛 嘭 硼 254 | [pi 批 否 皮 屁 披 疲 辟 啤 脾 匹 僻 劈 譬 坯 痞 癖 琵 毗 霹 噼 媲 郫 裨 纰 丕 鼙 圮 蚍 蜱 貔 陂 陴 砒 仳 埤 擗 吡 庀 邳 疋 芘 枇 罴 淠 铍 甓 睥 255 | [pian 便 片 篇 偏 骗 翩 扁 犏 谝 蹁 骈 缏 胼 256 | [piao 票 漂 飘 瓢 嫖 瞟 骠 嘌 剽 螵 缥 莩 殍 257 | [pie 撇 瞥 氕 丿 苤 258 | [pin 品 贫 拼 频 聘 拚 姘 嫔 榀 颦 牝 259 | [ping 平 评 瓶 凭 萍 乒 屏 苹 坪 枰 娉 俜 鲆 260 | [po 破 迫 颇 婆 坡 泊 泼 魄 粕 珀 叵 攴 钷 笸 钋 陂 泺 鄱 皤 261 | [pou 剖 裒 掊 262 | [pu 普 铺 扑 朴 谱 浦 葡 蒲 仆 脯 瀑 菩 溥 匍 璞 噗 圃 埔 氆 镨 蹼 镤 濮 莆 263 | [qi 起 其 期 气 七 奇 妻 企 器 汽 棋 齐 旗 弃 启 骑 欺 歧 岂 戚 凄 泣 契 琪 乞 祈 漆 迄 脐 栖 沏 祺 崎 祁 琦 蹊 砌 憩 淇 汔 亟 绮 讫 嘁 岐 萋 俟 杞 芪 荠 耆 槭 颀 芑 屺 欹 桤 綮 萁 蛴 蜞 綦 鳍 麒 蕲 柒 亓 骐 葺 畦 圻 碛 264 | [qia 恰 洽 掐 伽 袷 葜 髂 265 | [qian 前 钱 千 签 欠 牵 浅 潜 迁 谦 遣 歉 纤 嵌 乾 谴 铅 虔 钳 骞 倩 堑 黔 掮 悭 芊 缱 愆 荨 芡 阡 佥 搴 褰 肷 钎 仟 犍 钤 岍 箝 鬈 扦 慊 椠 266 | [qiang 枪 墙 抢 腔 呛 锵 跄 羌 蔷 戕 襁 樯 炝 蜣 嫱 锖 戗 羟 镪 267 | [qiao 桥 悄 乔 巧 侨 瞧 敲 翘 俏 窍 峭 锹 撬 跷 憔 樵 鞘 橇 诮 愀 谯 荞 峤 缲 硗 鞒 劁 268 | [qie 切 且 窃 怯 茄 趄 妾 砌 惬 伽 锲 挈 郄 箧 慊 269 | [qin 亲 钦 琴 侵 秦 勤 芹 擒 寝 覃 沁 禽 噙 揿 檎 锓 芩 嗪 螓 衾 廑 溱 吣 270 | [qing 情 请 青 清 轻 晴 庆 倾 卿 擎 顷 氢 罄 蜻 磬 謦 苘 圊 檠 黥 鲭 氰 箐 綮 271 | [qiong 穷 琼 穹 茕 邛 蛩 筇 跫 銎 272 | [qiu 求 球 秋 邱 囚 丘 酋 蚯 裘 俅 虬 鳅 逑 遒 赇 泅 楸 犰 湫 蝤 巯 鼽 糗 273 | [qu 去 取 区 曲 趣 屈 趋 驱 渠 躯 娶 觑 瞿 岖 戌 蛐 衢 蛆 癯 麴 阒 祛 磲 鸲 诎 蠼 劬 蕖 蘧 龋 苣 黢 璩 氍 朐 274 | [quan 全 权 圈 劝 泉 券 拳 犬 诠 颧 蜷 绻 荃 铨 痊 鬈 辁 悛 畎 醛 筌 275 | [que 却 确 缺 雀 瘸 榷 鹊 阕 阙 炔 悫 276 | [qun 群 裙 逡 麇 277 | [ran 然 染 燃 冉 髯 苒 蚺 278 | [rang 让 嚷 攘 壤 瓤 穰 禳 279 | [rao 扰 绕 饶 娆 桡 荛 280 | [re 热 惹 喏 281 | [ren 人 任 认 忍 仁 韧 刃 纫 饪 壬 仞 稔 葚 荏 妊 轫 衽 282 | [reng 仍 扔 283 | [ri 日 284 | [rong 容 荣 融 蓉 溶 绒 熔 榕 戎 嵘 茸 冗 肜 蝾 狨 285 | [rou 肉 柔 揉 蹂 鞣 糅 286 | [ru 如 入 辱 儒 乳 汝 褥 嚅 茹 濡 蠕 孺 缛 襦 颥 薷 蓐 洳 溽 铷 287 | [ruan 软 阮 朊 288 | [rui 瑞 锐 芮 睿 蕤 枘 蕊 蚋 289 | [run 润 闰 290 | [ruo 若 弱 偌 箬 291 | [sa 洒 撒 萨 卅 仨 飒 挲 脎 292 | [sai 赛 塞 腮 噻 鳃 293 | [san 三 散 伞 叁 毵 馓 糁 霰 294 | [sang 丧 桑 嗓 搡 磉 颡 295 | [sao 扫 骚 嫂 梢 臊 搔 缲 缫 鳋 埽 瘙 296 | [se 色 塞 涩 瑟 啬 铯 穑 297 | [sen 森 298 | [seng 僧 299 | [sha 杀 沙 啥 傻 厦 刹 纱 莎 煞 砂 霎 嗄 挲 歃 鲨 唼 痧 裟 铩 300 | [shai 晒 筛 酾 301 | [shan 山 善 闪 衫 删 煽 扇 陕 珊 杉 擅 掺 膳 栅 讪 跚 汕 姗 赡 潸 缮 嬗 掸 膻 骟 芟 埏 剡 钐 鄯 舢 苫 髟 疝 蟮 鳝 302 | [shang 上 商 伤 尚 赏 殇 裳 晌 觞 熵 墒 绱 垧 303 | [shao 少 绍 烧 稍 勺 哨 邵 梢 捎 韶 苕 鞘 潲 劭 杓 芍 蛸 筲 艄 304 | [she 社 设 舍 涉 射 摄 舌 蛇 奢 赦 慑 佘 赊 麝 畲 厍 滠 歙 猞 305 | [shei 谁 306 | [shen 什 身 深 神 参 甚 申 审 沈 伸 慎 渗 绅 肾 呻 婶 莘 蜃 葚 娠 渖 矧 诜 砷 糁 谂 椹 胂 哂 307 | [sheng 生 声 省 胜 升 圣 盛 剩 牲 绳 甥 笙 渑 眚 嵊 晟 308 | [shi 是 时 十 事 实 使 世 市 识 始 士 师 诗 式 失 史 视 示 食 室 势 试 石 释 施 适 氏 驶 饰 尸 拾 逝 湿 誓 狮 嗜 蚀 嘘 屎 侍 匙 峙 仕 恃 柿 轼 矢 噬 拭 虱 弑 蓍 埘 莳 炻 谥 鲥 豕 贳 铈 螫 舐 筮 鲺 酾 309 | [shou 手 受 收 首 授 守 售 瘦 寿 兽 狩 绶 艏 310 | [shu 书 数 术 属 输 树 述 熟 束 署 殊 舒 叔 鼠 疏 淑 抒 薯 梳 暑 竖 蜀 恕 墅 孰 漱 枢 俞 赎 黍 蔬 曙 倏 庶 戍 塾 澍 姝 纾 秫 毹 殳 疋 菽 丨 沭 摅 腧 311 | [shua 刷 耍 唰 312 | [shuai 率 衰 摔 甩 帅 蟀 313 | [shuan 涮 栓 拴 闩 314 | [shuang 双 爽 霜 孀 泷 315 | [shui 水 谁 税 睡 316 | [shun 顺 舜 瞬 吮 317 | [shuo 说 朔 硕 烁 铄 妁 蒴 槊 搠 318 | [si 四 死 思 斯 司 似 私 丝 寺 撕 肆 厮 嘶 伺 饲 嗣 祀 巳 驷 鸶 俟 汜 泗 厶 兕 蛳 咝 姒 澌 缌 耜 笥 锶 319 | [song 送 松 宋 诵 耸 颂 讼 悚 怂 忪 淞 菘 崧 嵩 凇 竦 320 | [sou 搜 艘 嗽 擞 馊 薮 嗾 叟 嗖 溲 飕 锼 瞍 螋 321 | [su 苏 诉 速 素 俗 肃 宿 塑 稣 溯 酥 粟 簌 夙 嗉 谡 僳 愫 涑 蔌 觫 322 | [suan 算 酸 蒜 狻 323 | [sui 岁 随 虽 碎 遂 祟 隧 髓 邃 穗 隋 绥 睢 荽 燧 谇 眭 濉 324 | [sun 孙 损 笋 荪 狲 飧 榫 隼 325 | [suo 所 索 缩 锁 琐 梭 嗦 唆 挲 娑 睃 唢 嗍 蓑 羧 桫 326 | [ta 他 她 它 踏 塔 塌 榻 嗒 蹋 沓 遢 挞 鳎 闼 铊 趿 漯 溻 獭 327 | [tai 太 台 态 泰 抬 胎 汰 苔 呔 鲐 邰 薹 酞 骀 炱 跆 肽 钛 328 | [tan 谈 探 弹 坦 叹 坛 摊 贪 滩 毯 谭 潭 瘫 炭 覃 痰 忐 坍 袒 碳 澹 檀 昙 镡 郯 锬 钽 329 | [tang 堂 唐 汤 躺 糖 趟 倘 烫 淌 膛 塘 棠 搪 溏 螳 瑭 樘 螗 铴 醣 镗 耥 饧 傥 帑 羰 330 | [tao 讨 套 逃 涛 掏 陶 桃 淘 滔 萄 焘 啕 韬 饕 洮 绦 鼗 331 | [te 特 忑 忒 慝 铽 332 | [tei 忒 333 | [teng 腾 疼 藤 誊 滕 334 | [ti 体 提 题 替 踢 梯 啼 涕 蹄 剔 剃 惕 屉 嚏 悌 醍 缇 鹈 锑 荑 倜 绨 逖 裼 335 | [tian 天 田 填 甜 添 腆 舔 恬 钿 阗 畋 忝 殄 掭 336 | [tiao 条 调 跳 挑 迢 眺 鲦 佻 苕 窕 髫 粜 笤 龆 祧 蜩 337 | [tie 铁 贴 帖 餮 萜 338 | [ting 听 停 庭 厅 挺 亭 婷 廷 艇 町 霆 汀 铤 蜓 莛 梃 葶 烃 339 | [tong 同 通 统 痛 童 彤 筒 铜 桶 捅 桐 瞳 佟 恸 酮 恫 侗 砼 嗵 仝 垌 茼 峒 潼 340 | [tou 头 投 偷 透 钭 骰 341 | [tu 土 突 图 途 徒 屠 涂 吐 兔 秃 凸 荼 酴 钍 菟 堍 342 | [tuan 团 湍 抟 疃 彖 343 | [tui 推 退 腿 褪 颓 蜕 忒 煺 344 | [tun 吞 屯 饨 褪 臀 囤 豚 暾 氽 345 | [tuo 托 脱 拖 妥 拓 陀 驼 唾 椭 砣 驮 沱 跎 坨 鸵 乇 鼍 橐 佗 庹 铊 酡 柁 柝 箨 346 | [wa 瓦 挖 袜 娃 哇 凹 娲 蛙 洼 佤 腽 347 | [wai 外 歪 崴 348 | [wan 万 完 晚 湾 玩 碗 弯 挽 顽 腕 婉 惋 宛 丸 蜿 莞 畹 剜 豌 皖 纨 琬 脘 烷 芄 菀 绾 349 | [wang 望 王 往 网 忘 亡 汪 旺 枉 妄 惘 罔 尢 辋 魍 350 | [wei 为 位 未 委 维 味 围 卫 威 微 伟 谓 唯 危 慰 尾 违 魏 玮 蔚 伪 畏 胃 喂 炜 韦 惟 巍 纬 萎 娓 苇 尉 帷 渭 猥 偎 薇 痿 猬 逶 帏 韪 煨 鲔 桅 潍 隈 圩 囗 诿 隗 崴 洧 葳 嵬 闱 沩 涠 艉 軎 351 | [wen 文 问 闻 温 稳 吻 纹 蚊 雯 紊 瘟 汶 刎 阌 璺 352 | [weng 翁 瓮 嗡 蓊 蕹 353 | [wo 我 握 窝 卧 渥 沃 涡 斡 蜗 幄 喔 倭 挝 莴 肟 硪 龌 354 | [wu 无 五 物 务 武 午 舞 於 误 恶 吴 屋 伍 悟 吾 污 乌 雾 侮 捂 巫 毋 呜 诬 勿 梧 坞 戊 兀 唔 晤 芜 鹜 钨 妩 痦 鹉 忤 寤 骛 邬 牾 鼯 圬 浯 仵 阢 芴 庑 婺 怃 杌 焐 蜈 迕 鋈 355 | [xi 西 系 息 希 喜 席 习 细 戏 吸 洗 惜 稀 悉 析 夕 牺 袭 昔 熙 兮 溪 隙 嘻 锡 晰 媳 樨 熄 膝 郗 犀 禧 曦 奚 羲 蹊 唏 淅 嬉 皙 汐 徙 茜 玺 熹 烯 翕 蟋 屣 檄 浠 僖 穸 蜥 隰 觋 螅 铣 菥 葸 蓰 舾 矽 粞 硒 醯 欷 鼷 歙 饩 阋 禊 舄 356 | [xia 下 夏 吓 峡 厦 侠 狭 霞 瞎 暇 虾 唬 辖 遐 匣 黠 瑕 呷 狎 柙 硖 瘕 罅 357 | [xian 现 先 显 线 险 限 县 鲜 献 闲 宪 陷 贤 仙 嫌 咸 羡 掀 弦 纤 娴 衔 馅 涎 舷 腺 跣 暹 岘 猃 蚬 筅 跹 莶 锨 鹇 痫 铣 氙 祆 籼 冼 藓 酰 苋 燹 霰 358 | [xiang 想 相 向 象 香 乡 像 响 项 享 降 箱 详 祥 巷 厢 湘 橡 翔 镶 飨 襄 饷 骧 葙 庠 鲞 芗 缃 蟓 359 | [xiao 小 笑 校 消 效 晓 销 潇 肖 萧 孝 宵 削 嚣 啸 逍 硝 霄 淆 哮 枭 骁 箫 筱 哓 枵 绡 魈 蛸 崤 360 | [xie 些 写 谢 协 鞋 携 斜 泄 胁 歇 谐 邪 械 屑 卸 挟 懈 泻 亵 蟹 偕 邂 榭 撷 楔 瀣 蝎 颉 勰 薤 燮 躞 缬 獬 绁 廨 榍 渫 361 | [xin 心 新 信 欣 辛 薪 馨 鑫 芯 衅 昕 忻 锌 歆 镡 囟 362 | [xing 行 性 形 兴 星 型 姓 幸 刑 醒 腥 杏 悻 惺 邢 猩 荇 擤 荥 饧 硎 陉 363 | [xiong 雄 兄 胸 凶 熊 匈 汹 芎 364 | [xiu 修 休 秀 袖 宿 臭 羞 绣 朽 锈 嗅 咻 貅 髹 馐 庥 鸺 岫 溴 365 | [xu 许 续 需 须 徐 序 虚 绪 吁 蓄 叙 畜 嘘 恤 絮 浒 墟 旭 婿 栩 戌 诩 胥 酗 煦 砉 盱 糈 醑 顼 勖 洫 溆 圩 蓿 366 | [xuan 选 宣 旋 悬 券 喧 轩 玄 炫 渲 绚 眩 萱 漩 暄 璇 谖 铉 儇 痃 泫 煊 楦 癣 碹 揎 镟 367 | [xue 学 血 雪 削 穴 谑 靴 薛 踅 噱 泶 鳕 368 | [xun 寻 询 训 迅 讯 巡 逊 循 旬 熏 勋 驯 荤 殉 醺 巽 徇 埙 荀 峋 洵 薰 汛 郇 曛 窨 恂 獯 浔 鲟 蕈 浚 369 | [ya 亚 压 雅 牙 呀 押 涯 讶 鸦 哑 鸭 崖 丫 芽 衙 轧 痖 睚 娅 蚜 伢 疋 岈 琊 垭 揠 迓 桠 氩 砑 370 | [yan 眼 言 严 演 研 烟 验 延 沿 掩 颜 厌 炎 燕 阎 宴 盐 咽 岩 雁 焰 艳 焉 淹 衍 阉 奄 谚 俨 檐 蜒 彦 腌 焱 晏 唁 妍 砚 嫣 胭 湮 筵 堰 赝 餍 鼹 芫 偃 魇 闫 崦 厣 剡 恹 阏 兖 郾 琰 罨 鄢 谳 滟 阽 鼽 酽 菸 371 | [yang 样 洋 阳 央 杨 养 扬 仰 羊 痒 漾 泱 氧 鸯 秧 殃 恙 疡 烊 佯 鞅 怏 徉 炀 蛘 372 | [yao 要 摇 药 耀 遥 邀 腰 姚 咬 尧 谣 瑶 窑 夭 肴 妖 吆 钥 侥 杳 窈 鹞 曜 舀 铫 幺 爻 徭 繇 鳐 珧 轺 崾 373 | [ye 也 业 夜 爷 叶 野 页 液 耶 咽 曳 拽 揶 噎 烨 冶 椰 掖 腋 谒 邺 靥 晔 铘 374 | [yi 一 以 意 已 义 议 医 易 衣 艺 依 译 移 异 益 亦 亿 疑 遗 忆 宜 椅 伊 仪 谊 抑 翼 矣 役 艾 乙 溢 毅 蛇 裔 逸 姨 夷 轶 怡 蚁 弈 倚 翌 颐 疫 绎 彝 咦 佚 奕 熠 贻 漪 诣 迤 弋 懿 呓 驿 咿 揖 旖 屹 痍 薏 噫 镒 刈 沂 臆 缢 邑 胰 猗 羿 钇 舣 劓 仡 酏 佾 埸 诒 圯 荑 壹 挹 嶷 饴 嗌 峄 怿 悒 铱 欹 殪 黟 苡 肄 镱 瘗 癔 翊 蜴 眙 翳 375 | [yin 因 音 引 印 银 隐 饮 阴 姻 瘾 吟 寅 殷 淫 茵 荫 尹 蚓 垠 喑 湮 胤 鄞 氤 霪 圻 铟 狺 吲 夤 堙 龈 洇 茚 窨 376 | [ying 应 英 影 营 迎 硬 映 赢 盈 颖 鹰 婴 蝇 樱 莹 荧 膺 萤 萦 莺 罂 瀛 楹 缨 颍 嬴 鹦 瑛 茔 嘤 璎 荥 撄 郢 瘿 蓥 滢 潆 媵 377 | [yo 哟 唷 378 | [yong 用 永 拥 勇 涌 踊 泳 庸 佣 咏 俑 雍 恿 甬 臃 邕 镛 痈 壅 鳙 饔 喁 墉 蛹 慵 379 | [you 有 又 由 友 游 右 油 优 邮 幽 尤 忧 犹 悠 幼 诱 佑 黝 攸 呦 酉 柚 鱿 莠 囿 鼬 铀 卣 猷 牖 铕 疣 蚰 蝣 釉 蝤 繇 莜 侑 莸 宥 蚴 尢 380 | [yu 于 与 语 育 余 遇 狱 雨 於 欲 预 予 鱼 玉 愈 域 誉 吁 宇 寓 豫 愚 舆 粥 郁 喻 羽 娱 裕 愉 禹 浴 馀 御 逾 渔 渝 俞 萸 瑜 隅 驭 迂 揄 圄 谕 榆 屿 淤 毓 虞 禺 谀 妪 腴 峪 竽 芋 妤 臾 欤 龉 觎 盂 昱 煜 熨 燠 窬 蝓 嵛 狳 伛 俣 舁 圉 庾 菀 蓣 饫 阈 鬻 瘐 窳 雩 瘀 纡 聿 钰 鹆 鹬 蜮 381 | [yuan 员 元 原 院 远 愿 园 源 圆 怨 缘 援 冤 袁 渊 苑 猿 鸳 辕 垣 媛 沅 橼 芫 爰 螈 鼋 眢 圜 鸢 箢 塬 垸 掾 瑗 382 | [yue 月 乐 越 约 阅 跃 曰 悦 岳 粤 钥 刖 瀹 栎 樾 龠 钺 383 | [yun 运 云 允 韵 晕 孕 匀 蕴 酝 筠 芸 耘 陨 纭 殒 愠 氲 狁 熨 郓 恽 昀 韫 郧 384 | [za 杂 扎 砸 咋 咂 匝 拶 385 | [zai 在 再 载 灾 仔 宰 哉 栽 崽 甾 386 | [zan 咱 赞 暂 攒 簪 糌 瓒 拶 昝 趱 錾 387 | [zang 藏 脏 葬 赃 臧 锗 奘 驵 388 | [zao 早 造 遭 糟 澡 灶 躁 噪 凿 枣 皂 燥 蚤 藻 缲 唣 389 | [ze 则 责 泽 择 咋 啧 仄 迮 笮 箦 舴 帻 赜 昃 390 | [zei 贼 391 | [zen 怎 谮 392 | [zeng 增 赠 憎 缯 罾 甑 锃 393 | [zha 炸 扎 咋 诈 乍 眨 渣 札 栅 轧 闸 榨 喳 揸 柞 楂 哳 吒 铡 砟 齄 咤 痄 蚱 394 | [zhai 摘 债 宅 窄 斋 寨 翟 砦 瘵 395 | [zhan 战 展 站 占 沾 斩 辗 粘 盏 崭 瞻 绽 蘸 湛 詹 毡 栈 谵 搌 旃 396 | [zhang 长 张 章 丈 掌 涨 帐 障 账 胀 仗 杖 彰 璋 蟑 樟 瘴 漳 嶂 鄣 獐 仉 幛 嫜 397 | [zhao 着 找 照 招 朝 赵 召 罩 兆 昭 肇 沼 诏 钊 啁 棹 笊 398 | [zhe 这 着 者 折 哲 浙 遮 辙 辄 谪 蔗 蛰 褶 鹧 锗 磔 摺 蜇 赭 柘 399 | [zhen 真 阵 镇 震 针 珍 圳 振 诊 枕 斟 贞 侦 赈 甄 臻 箴 疹 砧 桢 缜 畛 轸 胗 稹 祯 浈 溱 蓁 椹 榛 朕 鸩 400 | [zheng 政 正 证 整 争 征 挣 郑 症 睁 徵 蒸 怔 筝 拯 铮 峥 狰 诤 鲭 钲 帧 401 | [zhi 之 只 知 至 制 直 治 指 支 志 职 致 值 织 纸 止 质 执 智 置 址 枝 秩 植 旨 滞 徵 帜 稚 挚 汁 掷 殖 芝 吱 肢 脂 峙 侄 窒 蜘 趾 炙 痔 咫 芷 栉 枳 踯 桎 帙 栀 祉 轾 贽 痣 豸 卮 轵 埴 陟 郅 黹 忮 彘 骘 酯 摭 絷 跖 膣 雉 鸷 胝 蛭 踬 祗 觯 402 | [zhong 中 种 重 众 终 钟 忠 衷 肿 仲 锺 踵 盅 冢 忪 舯 螽 403 | [zhou 周 州 洲 粥 舟 皱 骤 轴 宙 咒 昼 肘 帚 胄 纣 诌 绉 妯 碡 啁 荮 籀 繇 酎 404 | [zhu 主 住 注 助 著 逐 诸 朱 驻 珠 祝 猪 筑 竹 煮 嘱 柱 烛 铸 株 瞩 蛛 伫 拄 贮 洙 诛 褚 铢 箸 蛀 茱 炷 躅 竺 杼 翥 渚 潴 麈 槠 橥 苎 侏 瘃 疰 邾 舳 405 | [zhua 抓 爪 406 | [zhuai 拽 嘬 407 | [zhuan 传 专 转 赚 撰 砖 篆 啭 馔 颛 408 | [zhuang 装 状 壮 庄 撞 妆 幢 桩 奘 僮 戆 409 | [zhui 追 坠 缀 锥 赘 隹 椎 惴 骓 缒 410 | [zhun 准 谆 窀 肫 411 | [zhuo 着 桌 捉 卓 琢 灼 酌 拙 浊 濯 茁 啄 斫 镯 涿 焯 浞 倬 禚 诼 擢 412 | [zi 子 自 字 资 咨 紫 滋 仔 姿 吱 兹 孜 梓 渍 籽 姊 恣 滓 谘 龇 秭 呲 辎 锱 眦 笫 髭 淄 茈 觜 訾 缁 耔 鲻 嵫 赀 孳 粢 趑 413 | [zong 总 宗 纵 踪 综 棕 粽 鬃 偬 腙 枞 414 | [zou 走 奏 邹 揍 驺 鲰 诹 陬 鄹 415 | [zu 组 足 族 祖 租 阻 卒 诅 俎 镞 菹 416 | [zuan 赚 钻 攥 纂 躜 缵 417 | [zui 最 罪 嘴 醉 咀 觜 蕞 418 | [zun 尊 遵 樽 鳟 撙 419 | [zuo 作 做 坐 座 左 昨 琢 佐 凿 撮 柞 嘬 怍 胙 唑 笮 阼 祚 酢 420 | -------------------------------------------------------------------------------- /eim-cj.el: -------------------------------------------------------------------------------- 1 | ;;; eim-cj.el --- 2 | 3 | ;; Copyright (C) 2008 Free Software Foundation, Inc. 4 | ;; 5 | ;; Author: Ye Wenbin 6 | ;; Maintainer: Ye Wenbin 7 | ;; Created: 25 Apr 2008 8 | ;; Version: 0.01 9 | ;; Keywords: tools 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;; 28 | 29 | ;; Put this file into your load-path and the following into your ~/.emacs: 30 | ;; (require 'eim-cj) 31 | 32 | ;;; Code: 33 | 34 | (eval-when-compile 35 | (require 'cl)) 36 | 37 | (require 'eim-table) 38 | 39 | (defvar eim-cj-package nil) 40 | (defvar eim-cj-punctuation-list nil) 41 | (defvar eim-cj-initialized nil) 42 | (defvar eim-cj-load-hook nil) 43 | (defvar eim-cj-char-table (make-vector 1511 0)) 44 | 45 | (unless eim-cj-initialized 46 | (setq eim-cj-package eim-current-package) 47 | (setq eim-cj-punctuation-list 48 | (eim-read-punctuation eim-cj-package)) 49 | (run-hooks 'eim-cj-load-hook) 50 | (let ((path (file-name-directory load-file-name))) 51 | (load (concat path "eim-cj-chars"))) 52 | (eim-set-option 'char-table eim-cj-char-table) 53 | (eim-set-option 'punctuation-list 'eim-cj-punctuation-list) 54 | (eim-set-option 'max-length 5) 55 | (eim-set-option 'translate-chars '(?x ?z)) 56 | (eim-set-option 'all-completion-limit 3) 57 | (eim-set-active-function 'eim-table-active-function) 58 | (setq eim-cj-initialized t)) 59 | 60 | (provide 'eim-cj) 61 | ;;; eim-cj.el ends here 62 | -------------------------------------------------------------------------------- /eim-eb.el: -------------------------------------------------------------------------------- 1 | ;;; eim-eb.el --- 2 | 3 | ;; Copyright (C) 2008 Free Software Foundation, Inc. 4 | ;; 5 | ;; Author: Ye Wenbin 6 | ;; Maintainer: Ye Wenbin 7 | ;; Created: 25 Apr 2008 8 | ;; Version: 0.01 9 | ;; Keywords: tools 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;; 28 | 29 | ;; Put this file into your load-path and the following into your ~/.emacs: 30 | ;; (require 'eim-eb) 31 | 32 | ;;; Code: 33 | 34 | (eval-when-compile 35 | (require 'cl)) 36 | 37 | (require 'eim-table) 38 | 39 | (defvar eim-eb-user-file nil) 40 | (defvar eim-eb-history-file nil) 41 | (defvar eim-eb-package nil) 42 | (defvar eim-eb-punctuation-list nil) 43 | (defvar eim-eb-load-hook nil) 44 | (defvar eim-eb-initialized nil) 45 | (defvar eim-eb-char-table (make-vector 1511 0)) 46 | 47 | (defun eim-eb-create-word (word) 48 | "Insert word to database and write into user file" 49 | (let ((len (length word)) 50 | code) 51 | (setq code 52 | (cond 53 | ((= len 2) 54 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 2) 55 | (substring (eim-table-get-char-code (aref word 1)) 0 2))) 56 | ((= len 3) 57 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 2) 58 | (substring (eim-table-get-char-code (aref word 1)) 0 1) 59 | (substring (eim-table-get-char-code (aref word 2)) 0 1))) 60 | (t 61 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 1) 62 | (substring (eim-table-get-char-code (aref word 1)) 0 1) 63 | (substring (eim-table-get-char-code (aref word 2)) 0 1) 64 | (substring (eim-table-get-char-code (aref word (1- (length word)))) 0 1))))))) 65 | 66 | (unless eim-eb-initialized 67 | (setq eim-eb-package eim-current-package) 68 | (setq eim-eb-punctuation-list 69 | (eim-read-punctuation eim-eb-package)) 70 | (run-hooks 'eim-eb-load-hook) 71 | (let ((path (file-name-directory load-file-name))) 72 | (load (concat path "eim-eb-map"))) 73 | (let ((map (eim-mode-map))) 74 | (define-key map "\t" 'eim-table-show-completion)) 75 | 76 | (eim-table-add-user-file eim-eb-user-file) 77 | (eim-table-load-history eim-eb-history-file) 78 | (eim-set-option 'table-create-word-function 'eim-eb-create-word) 79 | (eim-set-option 'char-table eim-eb-char-table) 80 | (eim-set-option 'punctuation-list 'eim-eb-punctuation-list) 81 | (eim-set-option 'max-length 4) 82 | (eim-set-option 'translate-chars '(?\[)) 83 | (eim-set-option 'all-completion-limit 3) 84 | (eim-set-active-function 'eim-table-active-function) 85 | (setq eim-eb-initialized t)) 86 | 87 | (provide 'eim-eb) 88 | ;;; eim-eb.el ends here 89 | -------------------------------------------------------------------------------- /eim-extra.el: -------------------------------------------------------------------------------- 1 | ;;; -*- coding: utf-8 -*- 2 | ;;; eim-extra.el --- provide extra function for chinese input method 3 | 4 | ;; Copyright 2006 Ye Wenbin 5 | ;; 6 | ;; Author: wenbinye@163.com 7 | ;; Version: $Id: eim-extra.el,v 1.2 2007/01/14 01:51:51 ywb Exp $ 8 | ;; Keywords: 9 | ;; X-URL: not distributed yet 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;; 28 | 29 | ;; Put this file into your load-path and the following into your ~/.emacs: 30 | ;; (require 'eim-extra) 31 | 32 | ;;;_* Code: 33 | 34 | (provide 'eim-extra) 35 | (eval-when-compile 36 | (require 'cl)) 37 | (require 'eim) 38 | 39 | (defvar eim-punc-escape-list 40 | (number-sequence ?0 ?9) 41 | "Punctuation will not insert after this characters. 42 | If you don't like this funciton, set the variable to nil") 43 | (defvar eim-insert-ascii-char (cons ?\; ";") 44 | "*Key used for `eim-insert-ascii'.") 45 | 46 | (defvar eim-punc-translate-p t 47 | "*Non-nil means will translate punctuation.") 48 | 49 | ;;;_. handle punctuation 50 | (defun eim-read-punctuation (package) 51 | (let ((eim-current-package package) 52 | buf punc-list punc) 53 | (setq buf (cdr (assoc "buffer" (car (eim-buffer-list))))) 54 | (save-excursion 55 | (set-buffer buf) 56 | (save-restriction 57 | (widen) 58 | (let ((region (eim-section-region "Punctuation"))) 59 | (goto-char (car region)) 60 | (while (< (point) (cdr region)) 61 | (setq punc (eim-line-content)) 62 | (if (> (length punc) 3) 63 | (error "标点不支持多个转换!")) 64 | (add-to-list 'punc-list punc) 65 | (forward-line 1))))) 66 | punc-list)) 67 | 68 | (defun eim-punc-translate (punc-list char) 69 | (if eim-punc-translate-p 70 | (cond ((< char ? ) "") 71 | ((and eim-insert-ascii-char 72 | (= char (car eim-insert-ascii-char))) 73 | (char-to-string char)) 74 | (t (let ((str (char-to-string char)) 75 | punc) 76 | (if (and (not (member (char-before) eim-punc-escape-list)) 77 | (setq punc (cdr (assoc str punc-list)))) 78 | (progn 79 | (if (= char (char-before)) 80 | (delete-char -1)) 81 | (if (= (safe-length punc) 1) 82 | (car punc) 83 | (setcdr (cdr punc) (not (cddr punc))) 84 | (if (cddr punc) 85 | (car punc) 86 | (nth 1 punc)))) 87 | str)))) 88 | (char-to-string char))) 89 | 90 | (defun eim-punc-translate-toggle (arg) 91 | (interactive "P") 92 | (setq eim-punc-translate-p 93 | (if (null arg) 94 | (not eim-punc-translate-p) 95 | (> (prefix-numeric-value arg) 0)))) 96 | 97 | ;;;_. 一个快速插入英文的命令。按自己的需要绑定到 ";" 98 | (defun eim-insert-ascii () 99 | (interactive) 100 | (if current-input-method 101 | (let (c) 102 | (message (format "自定义输入(直接空格%s, 回车%c): " 103 | (cdr eim-insert-ascii-char) 104 | (car eim-insert-ascii-char))) 105 | (setq c (read-event)) 106 | (cond ((= c ? ) (insert (cdr eim-insert-ascii-char))) 107 | ((= c ?\r) (insert-char (car eim-insert-ascii-char) 1)) 108 | (t 109 | (setq unread-command-events (list last-input-event)) 110 | (insert (read-from-minibuffer "自定义输入: "))))) 111 | (call-interactively 'self-insert-command))) 112 | 113 | ;;;_. load and save history 114 | (defun eim-load-history (history-file package) 115 | (let* ((eim-current-package package) 116 | (history (eim-history)) 117 | item) 118 | (when (file-exists-p history-file) 119 | (with-current-buffer (find-file-noselect history-file) 120 | (goto-char (point-min)) 121 | (while (not (eobp)) 122 | (if (and (setq item (eim-line-content)) 123 | (= (length item) 2)) 124 | (puthash (car item) 125 | `(nil ("pos" . ,(string-to-number (cadr item)))) 126 | history)) 127 | (forward-line 1)) 128 | (kill-buffer (current-buffer)))))) 129 | 130 | (defun eim-save-history (history-file package) 131 | (interactive) 132 | (let* ((eim-current-package package) 133 | (history (eim-history))) 134 | (with-temp-buffer 135 | (erase-buffer) 136 | (let (pos) 137 | (maphash (lambda (key val) 138 | (unless (or (eim-string-emptyp key) 139 | (= (setq pos (cdr (assoc "pos" (cdr val)))) 1)) 140 | (insert key " " (number-to-string pos) "\n"))) 141 | history)) 142 | (write-file history-file)))) 143 | 144 | ;;;_. 增加两个快速选择的按键 145 | (defun eim-quick-select-1 () 146 | "如果没有可选项,插入数字,否则选择对应的词条" 147 | (interactive) 148 | (if (car eim-current-choices) 149 | (let ((index (eim-page-start)) 150 | (end (eim-page-end))) 151 | (if (>= index end) 152 | (eim-append-string (eim-translate last-command-event)) 153 | (eim-remember-select (1+ index)) 154 | (setq eim-current-str (eim-choice (nth index (car eim-current-choices)))))) 155 | (eim-append-string (eim-translate last-command-event))) 156 | (eim-terminate-translation)) 157 | 158 | (defun eim-quick-select-2 () 159 | "如果没有可选项,插入数字,否则选择对应的词条" 160 | (interactive) 161 | (if (car eim-current-choices) 162 | (let ((index (1+ (eim-page-start))) 163 | (end (eim-page-end))) 164 | (if (>= index end) 165 | (eim-append-string (eim-translate last-command-event)) 166 | (eim-remember-select (1+ index)) 167 | (setq eim-current-str (eim-choice (nth index (car eim-current-choices)))))) 168 | (eim-append-string (eim-translate last-command-event))) 169 | (eim-terminate-translation)) 170 | 171 | (defun eim-describe-char (pos package) 172 | (interactive 173 | (list (point) 174 | (if (eq input-method-function 'eim-input-method) 175 | (eim-package-name) 176 | (let (eim-current-package) 177 | (setq eim-current-package 178 | (if (= (length eim-package-list) 1) 179 | (cdar eim-package-list) 180 | (assoc 181 | (completing-read "In package: " 182 | eim-package-list nil t 183 | (caar eim-package-list)) 184 | eim-package-list))) 185 | (eim-package-name))))) 186 | (if (>= pos (point-max)) 187 | (error "No character follows specified position")) 188 | (let ((char (char-after pos)) 189 | (func (intern-soft (format "%s-get-char-code" package))) 190 | code) 191 | (when func 192 | (setq code (funcall func char)) 193 | (if code 194 | (message "Type %S to input %c for input method %s" 195 | code char package) 196 | (message "Can't find char code for %c" char))))) 197 | 198 | ;;;_. char table 199 | (defun eim-make-char-table (chars table) 200 | "Set `eim-char-database'" 201 | (dolist (char chars) 202 | (let ((code (car char))) 203 | (dolist (c (cdr char)) 204 | (set (intern c table) code))))) 205 | 206 | (defsubst eim-get-char-code (char table) 207 | "Get the code of the character CHAR" 208 | (symbol-value (intern-soft (char-to-string char) table))) 209 | 210 | ;;; eim-extra.el ends here 211 | -------------------------------------------------------------------------------- /eim-py.el: -------------------------------------------------------------------------------- 1 | ;;; -*- coding: utf-8 -*- 2 | ;;; eim-py.el --- emacs chinese pinyin input method for eim 3 | 4 | ;; Copyright 2006 Ye Wenbin 5 | ;; 6 | ;; Author: wenbinye@163.com 7 | ;; Version: $Id: eim-py.el,v 1.3 2007/01/14 01:52:46 ywb Exp $ 8 | ;; Keywords: 9 | ;; X-URL: not distributed yet 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;;;_* Code: 28 | 29 | (provide 'eim-py) 30 | (eval-when-compile 31 | (require 'cl)) 32 | (require 'eim) 33 | (require 'eim-extra) 34 | 35 | ;;;_. variable declare 36 | (defvar eim-py-shenmu '("b" "p" "m" "f" "d" "t" "n" "l" "g" "k" "h" 37 | "j" "q" "x" "z" "c" "s" "zh" "ch" "sh" "r" "y" "w")) 38 | (defvar eim-py-yunmu '("a" "o" "e" "i" "u" "v" "ai" "ei" "ui" "ao" "ou" "iu" 39 | "ie" "ia" "ua" "ve" "er" "an" "en" "in" "un" "vn" "ang" "iong" 40 | "eng" "ing" "ong" "uan" "uang" "ian" "iang" "iao" "ue" 41 | "uai" "uo")) 42 | (defvar eim-py-valid-yunmu '("a" "o" "e" "ai" "ei" "ui" "ao" "ou" "er" "an" "en" 43 | "ang" "eng")) 44 | 45 | (defvar eim-py-load-hook nil) 46 | (defvar eim-py-initialized nil) 47 | (defvar eim-py-punctuation-list nil) 48 | (defvar eim-py-package nil) 49 | (defvar eim-py-char-table (make-vector 1511 nil)) 50 | 51 | (defvar eim-py-pos nil) 52 | (defvar eim-py-pylist nil) 53 | 54 | ;;;_. handle function 55 | (defun eim-py-handle-string () 56 | (let ((str eim-current-key) 57 | userpos wordspy) 58 | (setq eim-py-pylist (eim-py-split-string str) 59 | eim-py-pos 0) 60 | (unless (and (eim-py-validp eim-py-pylist) 61 | (progn 62 | (setq userpos (eim-py-user-divide-pos str) 63 | eim-current-key (eim-py-restore-user-divide 64 | (eim-py-pylist-to-string eim-py-pylist) 65 | userpos)) 66 | (setq eim-current-choices (list (delete-dups (eim-py-get-choices eim-py-pylist)))) 67 | (when (car eim-current-choices) 68 | (setq eim-current-pos 1) 69 | (eim-py-format-page) 70 | t))) 71 | (setq eim-current-str (replace-regexp-in-string "-" "" eim-current-key)) 72 | (setq eim-guidance-str (format "%s" 73 | (replace-regexp-in-string 74 | "-" " " eim-current-key))) 75 | (eim-show)))) 76 | 77 | (defun eim-py-format-page () 78 | "按当前位置,生成候选词条" 79 | (let* ((end (eim-page-end)) 80 | (start (1- (eim-page-start))) 81 | (choices (car eim-current-choices)) 82 | (choice (eim-subseq choices start end)) 83 | (pos (1- (min eim-current-pos (length choices)))) 84 | (i 0) rest) 85 | (setq eim-current-str (concat (substring eim-current-str 0 eim-py-pos) 86 | (eim-choice (nth pos choices))) 87 | rest (mapconcat (lambda (py) 88 | (concat (car py) (cdr py))) 89 | (nthcdr (length eim-current-str) eim-py-pylist) 90 | "'")) 91 | (if (string< "" rest) 92 | (setq eim-current-str (concat eim-current-str rest))) 93 | (setq eim-guidance-str 94 | (format "%s[%d/%d]: %s" 95 | (replace-regexp-in-string "-" " " eim-current-key) 96 | (eim-current-page) (eim-total-page) 97 | (mapconcat 'identity 98 | (mapcar 99 | (lambda (c) 100 | (format "%d.%s " (setq i (1+ i)) 101 | (if (consp c) 102 | (concat (car c) (cdr c)) 103 | c))) 104 | choice) " "))) 105 | (eim-show))) 106 | 107 | (defun eim-py-pylist-to-string (pylist) 108 | "把分解的拼音合并,以便进行查找" 109 | (mapconcat 'identity 110 | (mapcar (lambda (w) (concat (car w) (cdr w))) pylist) 111 | "-")) 112 | 113 | ;; 将汉字的拼音分成声母和其它 114 | (defun eim-py-get-sm (py) 115 | "从一个拼音字符串中提出第一个声母。" 116 | (when (and py (string< "" py)) 117 | (let (shenmu yunmu len) 118 | (if (< (length py) 2) 119 | (if (member py eim-py-shenmu) 120 | (cons py "") 121 | (cons "" py)) 122 | (setq shenmu (substring py 0 2)) 123 | (if (member shenmu eim-py-shenmu) 124 | (setq py (substring py 2)) 125 | (setq shenmu (substring py 0 1)) 126 | (if (member shenmu eim-py-shenmu) 127 | (setq py (substring py 1)) 128 | (setq shenmu ""))) 129 | (cons shenmu py))))) 130 | 131 | (defun eim-py-get-ym (py) 132 | "从一个拼音字符串中提出第一个韵母" 133 | (when (and py (string< "" py)) 134 | (let (yunmu len) 135 | (setq len (min (length py) 5)) 136 | (setq yunmu (substring py 0 len)) 137 | (while (and (not (member yunmu eim-py-yunmu)) 138 | (> len 0)) 139 | (setq yunmu (substring py 0 (setq len (1- len))))) 140 | (setq py (substring py len)) 141 | (if (and (string< "" py) 142 | (not (member (substring py 0 1) eim-py-shenmu)) 143 | (member (substring yunmu -1) eim-py-shenmu) 144 | (member (substring yunmu 0 -1) eim-py-yunmu)) 145 | (setq py (concat (substring yunmu -1) py) 146 | yunmu (substring yunmu 0 -1))) 147 | (cons yunmu py)))) 148 | 149 | (defun eim-py-get-charpy (py) 150 | "分解一个拼音字符串成声母和韵母。" 151 | (when (and py (string< "" py)) 152 | (let* ((sm (eim-py-get-sm py)) 153 | (ym (eim-py-get-ym (cdr sm))) 154 | (chpy (concat (car sm) (car ym)))) 155 | (if (or (null ym) ; 如果韵母为空 156 | (and (string< "" (car ym)) (not (eim-py-get chpy)))) ; 错误的拼音 157 | (cons sm "") 158 | (cons (cons (car sm) (car ym)) (cdr ym)))))) 159 | 160 | ;;; 处理输入的拼音 161 | (defun eim-py-split-string (py) 162 | "把一个拼音字符串分解。如果含有 ',优先在这个位置中断,否则,自动分 163 | 解成声母和韵母的组合" 164 | (when (and py (string< "" py)) 165 | (apply 'append 166 | (mapcar (lambda (p) 167 | (let (chpy pylist) 168 | (setq p (replace-regexp-in-string "[ -]" "" p)) 169 | (while (when (string< "" p) 170 | (setq chpy (eim-py-get-charpy p)) 171 | (setq pylist (append pylist (list (car chpy)))) 172 | (setq p (cdr chpy)))) 173 | pylist)) 174 | (split-string py "'"))))) 175 | 176 | (defun eim-py-validp (pylist) 177 | "检查得到的拼音是否含有声母为空,而韵母又不正确的拼音" 178 | (let ((valid t) py) 179 | (while (progn 180 | (setq py (car pylist)) 181 | (if (and (not (string< "" (car py))) 182 | (not (member (cdr py) eim-py-valid-yunmu))) 183 | (setq valid nil) 184 | (setq pylist (cdr pylist))))) 185 | valid)) 186 | 187 | (defun eim-py-user-divide-pos (py) 188 | "检测出用户分割的位置" 189 | (setq py (replace-regexp-in-string "-" "" py)) 190 | (let (poslist (start 0)) 191 | (while (string-match "'" py start) 192 | (setq start (match-end 0)) 193 | (setq poslist (append poslist (list (match-beginning 0))))) 194 | poslist)) 195 | 196 | (defun eim-py-restore-user-divide (py pos) 197 | "按检测出的用户分解的位置,重新设置拼音" 198 | (let ((i 0) (shift 0) cur) 199 | (setq cur (car pos) 200 | pos (cdr pos)) 201 | (while (and cur (< i (length py))) 202 | (if (= (aref py i) ?-) 203 | (if (= i (+ cur shift)) 204 | (progn 205 | (aset py i ?') 206 | (setq cur (car pos) 207 | pos (cdr pos))) 208 | (setq shift (1+ shift)))) 209 | (setq i (1+ i))) 210 | (if cur (setq py (concat py "'"))) ; the last char is `'' 211 | py)) 212 | 213 | ;;;_. 词组选择解析 214 | (defun eim-py-get-choices (pylist) 215 | "得到可能的词组和汉字。例如: 216 | 217 | (eim-py-get-choices (eim-py-split-string \"pin-yin\")) 218 | => (#(\"拼音\" 0 2 (py (\"pin-yin\"))) \"拼\" \"品\" \"贫\" \"苹\" \"聘\" \"频\" \"拚\" \"颦\" \"牝\" \"嫔\" \"姘\" \"嚬\") 219 | 220 | (eim-py-get-choices (eim-py-split-string \"pin-yin\")) 221 | => (#(\"拼音\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"贫铀\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"聘用\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) \"拼\" \"品\" \"贫\" \"苹\" \"聘\" \"频\" \"拚\" \"颦\" \"牝\" \"嫔\" \"姘\" \"嚬\") 222 | 223 | " 224 | (let (choice words chars wordspy choice) 225 | (setq wordspy (eim-py-possible-words-py pylist)) 226 | (if wordspy 227 | (setq words (eim-py-possible-words wordspy))) 228 | (setq chars (eim-py-get (concat (caar pylist) (cdar pylist))) 229 | choice (append words chars)))) 230 | 231 | (defun eim-py-possible-words (wordspy) 232 | "根据拼音得到可能的词组。例如: 233 | (eim-py-possible-words '((\"p-y\" (\"p\" . \"in\") (\"y\" . \"\")))) 234 | => (#(\"拼音\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"贫铀\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"聘用\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\"))))) 235 | 236 | " 237 | (let (words) 238 | (dolist (word (reverse wordspy)) 239 | (if (listp word) 240 | (setq words (append words (eim-py-match-word (eim-py-get (car word)) 241 | (cdr word)))) 242 | (setq words (append words (mapcar (lambda (w) 243 | (propertize w 'py (list word))) 244 | (eim-py-get word)))))) 245 | words)) 246 | 247 | (defun eim-py-possible-words-py (pylist) 248 | "所有可能的词组拼音。从第一个字开始,每个字断开形成一个拼音。如果是 249 | 完整拼音,则给出完整的拼音,如果是给出声母,则为一个 CONS CELL,CAR 是 250 | 拼音,CDR 是拼音列表。例如: 251 | 252 | (setq foo-pylist (eim-py-split-string \"pin-yin-sh-r\")) 253 | => ((\"p\" . \"in\") (\"y\" . \"in\") (\"sh\" . \"\") (\"r\" . \"\")) 254 | 255 | (eim-py-possible-words-py foo-pylist) 256 | => (\"pin-yin\" (\"p-y-sh\" (\"p\" . \"in\") (\"y\" . \"in\") (\"sh\" . \"\")) (\"p-y-sh-r\" (\"p\" . \"in\") (\"y\" . \"in\") (\"sh\" . \"\") (\"r\" . \"\"))) 257 | " 258 | (let (pys fullpy smpy wordlist (full t)) 259 | (if (string< "" (cdar pylist)) 260 | (setq fullpy (concat (caar pylist) (cdar pylist)) 261 | smpy (eim-py-essential-py (car pylist))) 262 | (setq smpy (caar pylist) 263 | full nil)) 264 | (setq wordlist (list (car pylist))) 265 | (dolist (py (cdr pylist)) 266 | (setq wordlist (append wordlist (list py))) 267 | (if (and full (string< "" (cdr py))) 268 | (setq fullpy (concat fullpy "-" (car py) (cdr py)) 269 | smpy (concat smpy "-" (eim-py-essential-py py)) 270 | pys (append pys (list fullpy))) 271 | (setq full nil 272 | smpy (concat smpy "-" (eim-py-essential-py py)) 273 | pys (append pys (list (cons smpy wordlist)))))) 274 | ;; (message "%s: %s" pys wordlist)) 275 | pys)) 276 | 277 | (defun eim-py-match-word (wordlist wordspy) 278 | "给出一个词组列表和它的拼音列表,给出所有可能的词组,并加上一个 py 279 | 属性。例如: 280 | 281 | (eim-py-get \"p-y\") 282 | => (\"拼音\" \"番禺\" \"培养\" \"培育\" \"配药\" \"彭阳\" \"朋友\" \"偏远\" \"便宜\" \"片语\" \"飘扬\" \"漂移\" \"漂游\" \"贫铀\" \"聘用\" \"平阳\" \"平遥\" \"平邑\" \"平阴\" \"平舆\" \"平原\" \"平远\" \"濮阳\") 283 | 284 | (eim-py-match-word (eim-py-get \"p-y\") '((\"p\" . \"in\") (\"y\" . \"\"))) 285 | => (#(\"拼音\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"贫铀\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\")))) #(\"聘用\" 0 2 (py ((\"p\" . \"in\") (\"y\" . \"\"))))) 286 | 287 | " 288 | (let (words) 289 | (dolist (word wordlist) 290 | ;; (message "word: %s" word) 291 | (let ((match t) py pys (tmppy wordspy)) 292 | (dotimes (i (length wordspy)) 293 | (setq py (car tmppy) 294 | tmppy (cdr tmppy)) 295 | ;; (message "py: %s" py) 296 | (when (string< "" (cdr py)) 297 | (let (chmatch) 298 | (dolist (chpy (eim-py-get-char-code (aref word i))) 299 | (if (string= (cdr (eim-py-get-sm chpy)) (cdr py)) 300 | (setq chmatch t))) 301 | (or chmatch (setq match nil))))) 302 | ;; (message "%d: py: %s, match: %s" i py match)) 303 | (if match 304 | (setq words (append words (list (propertize word 'py wordspy))))))) 305 | words)) 306 | 307 | (defun eim-py-essential-py (py) 308 | "一个拼音中的主要部分,如果有声母返回声母,否则返回韵母" 309 | (if (string< "" (car py)) 310 | (car py) 311 | (cdr py))) 312 | 313 | ;;;_. create and rearrage 314 | (defun eim-py-match-py (word pylist) 315 | (let (sym words fullpy abbpy chpy) 316 | (when (> (length word) 1) 317 | (if (stringp (car pylist)) ; if is full pinyin 318 | (progn (setq fullpy (car pylist)) 319 | (cons fullpy (mapconcat 'identity 320 | (mapcar 'eim-py-essential-py 321 | (eim-py-split-string (replace-regexp-in-string "-" "'" fullpy))) 322 | "-"))) 323 | (dotimes (i (length word)) 324 | (setq chpy (car pylist) 325 | pylist (cdr pylist)) 326 | (setq abbpy (concat abbpy "-" 327 | (if (string< "" (car chpy)) 328 | (car chpy) (cdr chpy)))) 329 | (if (string< "" (cdr chpy)) 330 | (setq fullpy (concat fullpy "-" (car chpy) (cdr chpy))) 331 | (setq fullpy (concat fullpy "-" 332 | (car (eim-py-get-char-code (aref word i))))))) 333 | (cons (substring fullpy 1) 334 | (substring abbpy 1)))))) 335 | 336 | (defun eim-py-intern-word (word py) 337 | (let((buf (cdr (assoc "buffer" (car (eim-buffer-list))))) 338 | words) 339 | (with-current-buffer buf 340 | (eim-bisearch-word py (point-min) (point-max)) 341 | (if (string= (eim-code-at-point) py) 342 | (progn 343 | (setq words (eim-line-content) 344 | words (cons (car words) (delete-dups (append (list word) 345 | (cdr words))))) 346 | ;; (message "delete: %s" words)) 347 | (eim-delete-line)) 348 | (forward-line 1) 349 | (setq words (list py word))) 350 | ;; (message "insert: %s" words) 351 | (insert (mapconcat 'identity words " ") "\n")))) 352 | 353 | (defun eim-py-create-word (word pylist) 354 | ;; (message "create: %s, %s" word pylist) 355 | (let ((py (eim-py-match-py word pylist)) 356 | words) 357 | (when py 358 | (eim-py-intern-word word (car py)) 359 | (eim-py-intern-word word (cdr py))))) 360 | 361 | (defun eim-py-rearrange (word pylist) 362 | ;; (message "rearrage: %s, %s" word pylist) 363 | (let ((py (eim-py-match-py word pylist))) 364 | (when py 365 | (eim-py-rearrange-1 word 366 | (car py)) 367 | (eim-py-rearrange-1 word (cdr py))))) 368 | 369 | (defun eim-py-rearrange-1 (word py) 370 | (eim-py-intern-word word py)) 371 | 372 | (defun eim-py-han-stringp (str) 373 | "Predicate whether the STR is a pinyin of a chinese character" 374 | (let ((valid t) 375 | (i 0)) 376 | (while (and (< i (length str)) valid) 377 | (if (member (char-to-string (aref str i)) eim-total-char) 378 | (setq valid nil)) 379 | (setq i (1+ i))) 380 | valid)) 381 | ;;;_. commands 382 | (defun eim-py-select-current () 383 | (interactive) 384 | (if (null (car eim-current-choices)) ; 如果没有选项,输入空格 385 | (progn 386 | (setq eim-current-str (eim-translate last-command-event)) 387 | (eim-terminate-translation)) 388 | (let ((str (eim-choice (nth (1- eim-current-pos) (car eim-current-choices)))) 389 | chpy pylist) 390 | (if (> (length str) 1) ; 重排 391 | (eim-py-rearrange str (get-text-property 0 'py str)) 392 | (setq chpy (nth eim-py-pos eim-py-pylist)) 393 | (eim-py-rearrange-1 str (concat (car chpy) (cdr chpy)))) 394 | (setq eim-py-pos (+ eim-py-pos (length str))) 395 | (if (= eim-py-pos (length eim-py-pylist)) ; 如果是最后一个,检查 396 | ; 是不是在文件中,没有的话,创 397 | ; 建这个词 398 | (progn 399 | (if (not (member eim-current-str (car eim-current-choices))) 400 | (eim-py-create-word eim-current-str eim-py-pylist)) 401 | (eim-terminate-translation)) 402 | (setq pylist (nthcdr eim-py-pos eim-py-pylist)) 403 | (setq eim-current-choices (list (eim-py-get-choices pylist)) 404 | eim-current-pos 1) 405 | (eim-py-format-page))))) 406 | 407 | (defun eim-py-number-select () 408 | "如果没有可选项,插入数字,否则选择对应的词条" 409 | (interactive) 410 | (if (car eim-current-choices) 411 | (let ((index (- last-command-event ?1)) 412 | (end (eim-page-end))) 413 | (if (> (+ index (eim-page-start)) end) 414 | (eim-show) 415 | (setq eim-current-pos (+ eim-current-pos index)) 416 | (setq eim-current-str (concat (substring eim-current-str 0 417 | eim-py-pos) 418 | (eim-choice 419 | (nth (1- eim-current-pos) 420 | (car eim-current-choices))))) 421 | (eim-py-select-current))) 422 | (eim-append-string (char-to-string last-command-event)) 423 | (eim-terminate-translation))) 424 | 425 | (defun eim-py-next-page (arg) 426 | (interactive "p") 427 | (if (= (length eim-current-key) 0) 428 | (progn 429 | (eim-append-string (eim-translate last-command-event)) 430 | (eim-terminate-translation)) 431 | (let ((new (+ eim-current-pos (* eim-page-length arg) 1))) 432 | (setq eim-current-pos (if (> new 0) new 1) 433 | eim-current-pos (eim-page-start)) 434 | (eim-py-format-page)))) 435 | 436 | (defun eim-py-previous-page (arg) 437 | (interactive "p") 438 | (eim-py-next-page (- arg))) 439 | 440 | (defun eim-py-quit-no-clear () 441 | (interactive) 442 | (setq eim-current-str (replace-regexp-in-string "-" "" 443 | eim-current-key)) 444 | (eim-terminate-translation)) 445 | 446 | (defun eim-py-backward-kill-py () 447 | (interactive) 448 | (string-match "['-][^'-]+$" eim-current-key) 449 | (setq eim-current-key 450 | (replace-match "" nil nil eim-current-key)) 451 | (eim-py-handle-string)) 452 | 453 | ;;;_. punctuation 454 | (defun eim-py-translate (char) 455 | (eim-punc-translate eim-py-punctuation-list char)) 456 | 457 | (defun eim-py-activate-function () 458 | (setq eim-do-completion nil 459 | eim-handle-function 'eim-py-handle-string 460 | eim-translate-function 'eim-py-translate) 461 | (make-local-variable 'eim-py-pylist) 462 | (make-local-variable 'eim-py-pos)) 463 | 464 | ;;;_. eim-py-get 465 | (defun eim-py-get (code) 466 | (let ((eim-current-package eim-py-package) 467 | words) 468 | (when (and (stringp code) (string< "" code)) 469 | (dolist (buf (eim-buffer-list)) 470 | (with-current-buffer (cdr (assoc "buffer" buf)) 471 | (setq words (append words 472 | (cdr 473 | (eim-bisearch-word code 474 | (point-min) 475 | (point-max))))))) 476 | (delete-dups words)))) 477 | 478 | (defun eim-py-get-char-code (char) 479 | (eim-get-char-code char eim-py-char-table)) 480 | 481 | (defun eim-py-make-char-table (chars) 482 | (dolist (char chars) 483 | (let ((code (car char))) 484 | (dolist (c (cdr char)) 485 | (let* ((s (intern-soft c eim-py-char-table)) 486 | (py (and s (symbol-value s)))) 487 | (set (intern c eim-py-char-table) (append py (list code)))))))) 488 | 489 | (defun eim-py-save-file () 490 | "保存词库到文件中" 491 | (interactive) 492 | (let* ((eim-current-package eim-py-package) 493 | (buffer (car (eim-buffer-list)))) 494 | (with-current-buffer (cdr (assoc "buffer" buffer)) 495 | (save-restriction 496 | (widen) 497 | (write-region (point-min) (point-max) (cdr (assoc "file" buffer))))))) 498 | 499 | ;;;_. load it 500 | (unless eim-py-initialized 501 | (setq eim-py-package eim-current-package) 502 | (setq eim-py-punctuation-list 503 | (eim-read-punctuation eim-py-package)) 504 | (let ((eim-current-package eim-py-package)) 505 | (let ((map (eim-mode-map))) 506 | (define-key map " " 'eim-py-select-current) 507 | (define-key map "\C-n" 'eim-py-next-page) 508 | (define-key map "\C-p" 'eim-py-previous-page) 509 | (define-key map "\C-m" 'eim-py-quit-no-clear) 510 | (define-key map (kbd "M-DEL") 'eim-py-backward-kill-py) 511 | (dolist (i (number-sequence 1 9)) 512 | (define-key map (number-to-string i) 'eim-py-number-select))) 513 | (eim-set-active-function 'eim-py-activate-function)) 514 | (run-hooks 'eim-py-load-hook) 515 | (setq eim-py-initialized t) 516 | (add-to-list 'kill-emacs-hook 'eim-py-save-file) 517 | 518 | (eim-py-make-char-table 519 | '( 520 | ("a" "阿" "啊" "呵" "腌" "嗄" "锕" "吖") 521 | ("ai" "爱" "哀" "挨" "碍" "埃" "癌" "艾" "唉" "矮" "哎" "皑" "蔼" "隘" "暧" "霭" "捱" "嗳" "瑷" "嫒" "锿" "嗌" "砹") 522 | ("an" "安" "案" "按" "暗" "岸" "俺" "谙" "黯" "鞍" "氨" "庵" "桉" "鹌" "胺" "铵" "揞" "犴" "埯") 523 | ("ang" "昂" "肮" "盎") 524 | ("ao" "奥" "澳" "傲" "熬" "敖" "凹" "袄" "懊" "坳" "嗷" "拗" "鏖" "骜" "鳌" "翱" "岙" "廒" "遨" "獒" "聱" "媪" "螯" "鏊") 525 | ("ba" "把" "八" "吧" "巴" "爸" "罢" "拔" "叭" "芭" "霸" "靶" "扒" "疤" "跋" "坝" "笆" "耙" "粑" "灞" "茇" "菝" "魃" "岜" "捌" "钯" "鲅") 526 | ("bai" "百" "白" "败" "摆" "伯" "拜" "柏" "呗" "掰" "捭" "佰" "稗") 527 | ("ban" "办" "半" "版" "般" "班" "板" "伴" "搬" "扮" "斑" "颁" "瓣" "拌" "扳" "绊" "阪" "坂" "瘢" "钣" "舨" "癍") 528 | ("bang" "帮" "邦" "棒" "膀" "榜" "傍" "绑" "磅" "谤" "浜" "梆" "镑" "蚌" "蒡") 529 | ("bao" "报" "保" "包" "暴" "宝" "抱" "薄" "胞" "爆" "鲍" "饱" "堡" "曝" "刨" "褒" "豹" "雹" "苞" "葆" "褓" "孢" "煲" "鸨" "龅" "趵") 530 | ("bei" "被" "北" "备" "背" "悲" "辈" "杯" "倍" "贝" "碑" "卑" "蓓" "惫" "悖" "狈" "呗" "焙" "鹎" "孛" "邶" "陂" "埤" "碚" "褙" "鐾" "鞴" "萆" "钡") 531 | ("ben" "本" "奔" "笨" "苯" "夯" "畚" "贲" "锛" "坌") 532 | ("beng" "崩" "甭" "绷" "蹦" "迸" "甏" "泵" "嘣" "蚌") 533 | ("bi" "比" "必" "笔" "毕" "币" "避" "闭" "鼻" "彼" "逼" "壁" "臂" "弊" "碧" "鄙" "毙" "蔽" "庇" "匕" "璧" "敝" "陛" "弼" "篦" "婢" "愎" "痹" "妣" "濞" "铋" "裨" "俾" "髀" "萆" "薜" "哔" "狴" "庳" "秕" "滗" "舭" "毖" "吡" "嬖" "蓖" "贲" "畀" "荸" "埤" "筚" "箅" "芘" "襞" "跸" "荜") 534 | ("bian" "编" "便" "边" "变" "遍" "辩" "辨" "贬" "鞭" "辫" "扁" "卞" "砭" "苄" "匾" "汴" "蝙" "笾" "碥" "窆" "褊" "弁" "鳊" "忭" "煸" "缏") 535 | ("biao" "表" "标" "彪" "镖" "膘" "骠" "镳" "裱" "杓" "飙" "瘭" "髟" "飚" "婊" "飑" "鳔") 536 | ("bie" "别" "憋" "瘪" "蹩" "鳖") 537 | ("bin" "宾" "滨" "彬" "斌" "鬓" "缤" "殡" "濒" "槟" "摈" "膑" "傧" "玢" "豳" "髌" "镔") 538 | ("bing" "并" "病" "兵" "冰" "饼" "丙" "柄" "秉" "炳" "禀" "邴" "摒") 539 | ("bo" "波" "播" "博" "伯" "勃" "薄" "拨" "泊" "柏" "剥" "玻" "驳" "卜" "脖" "搏" "膊" "饽" "簸" "掰" "舶" "跛" "礴" "菠" "帛" "铂" "钵" "渤" "檗" "钹" "擘" "箔" "趵" "孛" "鹁" "踣" "亳" "啵") 540 | ("bu" "不" "部" "布" "步" "补" "捕" "怖" "卜" "簿" "哺" "埔" "卟" "埠" "钸" "逋" "醭" "晡" "瓿" "钚") 541 | ("ca" "擦" "嚓" "礤") 542 | ("cai" "才" "采" "菜" "财" "材" "彩" "裁" "猜" "蔡" "踩" "睬") 543 | ("can" "参" "餐" "残" "惨" "灿" "惭" "掺" "蚕" "璨" "孱" "骖" "黪" "粲") 544 | ("cang" "藏" "苍" "仓" "沧" "舱" "伧") 545 | ("cao" "草" "操" "曹" "糙" "嘈" "槽" "螬" "艚" "漕") 546 | ("ce" "策" "测" "侧" "厕" "册" "恻") 547 | ("cen" "参" "岑" "涔") 548 | ("ceng" "曾" "层" "蹭" "噌") 549 | ("cha" "查" "察" "差" "茶" "插" "刹" "叉" "诧" "茬" "碴" "喳" "岔" "嚓" "衩" "杈" "楂" "槎" "檫" "镲" "搽" "锸" "猹" "馇" "汊" "姹") 550 | ("chai" "差" "柴" "拆" "豺" "钗" "侪" "虿" "瘥") 551 | ("chan" "产" "颤" "缠" "禅" "蝉" "馋" "铲" "搀" "阐" "掺" "潺" "忏" "蟾" "婵" "谄" "谗" "廛" "孱" "澶" "冁" "躔" "蒇" "骣" "觇" "镡" "羼") 552 | ("chang" "长" "场" "常" "唱" "厂" "尝" "昌" "肠" "偿" "畅" "倡" "倘" "敞" "怅" "娼" "猖" "嫦" "伥" "氅" "徜" "昶" "鲳" "阊" "菖" "苌" "鬯" "惝") 553 | ("chao" "超" "朝" "潮" "炒" "吵" "抄" "嘲" "钞" "绰" "巢" "晁" "焯" "怊" "耖") 554 | ("che" "车" "彻" "撤" "扯" "澈" "掣" "坼" "砗") 555 | ("chen" "称" "陈" "沉" "晨" "尘" "臣" "趁" "衬" "辰" "郴" "谶" "琛" "忱" "嗔" "伧" "抻" "谌" "宸" "榇" "龀" "碜") 556 | ("cheng" "成" "城" "程" "称" "承" "诚" "盛" "乘" "呈" "撑" "惩" "澄" "秤" "瞠" "橙" "噌" "逞" "铛" "丞" "骋" "埕" "枨" "塍" "铖" "裎" "酲" "柽" "蛏") 557 | ("chi" "吃" "持" "迟" "尺" "赤" "斥" "池" "痴" "齿" "驰" "耻" "翅" "匙" "侈" "哧" "嗤" "啻" "弛" "蚩" "炽" "笞" "敕" "叱" "饬" "踟" "鸱" "褫" "豉" "坻" "墀" "茌" "篪" "傺" "媸" "螭" "彳" "眵" "魑" "瘛") 558 | ("chong" "重" "冲" "充" "崇" "虫" "宠" "憧" "忡" "艟" "茺" "舂" "铳") 559 | ("chou" "抽" "愁" "仇" "丑" "筹" "臭" "酬" "绸" "踌" "瞅" "惆" "畴" "稠" "雠" "俦" "帱" "瘳") 560 | ("chu" "出" "处" "除" "初" "楚" "触" "储" "础" "厨" "畜" "躇" "橱" "雏" "矗" "怵" "锄" "杵" "搐" "绌" "黜" "褚" "蜍" "蹰" "刍" "滁" "楮" "憷" "亍" "樗") 561 | ("chuai" "揣" "啜" "踹" "嘬" "膪" "搋") 562 | ("chuan" "传" "穿" "川" "船" "串" "喘" "舛" "遄" "舡" "巛" "氚" "椽" "钏") 563 | ("chuang" "创" "窗" "床" "闯" "幢" "疮" "怆") 564 | ("chui" "吹" "垂" "炊" "锤" "捶" "陲" "槌" "棰") 565 | ("chun" "春" "纯" "唇" "蠢" "醇" "淳" "椿" "鹑" "蝽" "莼") 566 | ("chuo" "绰" "戳" "啜" "辍" "踔" "龊") 567 | ("ci" "此" "次" "词" "差" "刺" "辞" "慈" "磁" "赐" "瓷" "兹" "茨" "雌" "祠" "疵" "呲" "鹚" "糍" "茈") 568 | ("cong" "从" "匆" "聪" "丛" "葱" "囱" "琮" "淙" "枞" "苁" "骢" "璁") 569 | ("cou" "凑" "楱" "辏" "腠") 570 | ("cu" "促" "粗" "簇" "醋" "卒" "猝" "蹴" "蹙" "徂" "殂" "蔟" "酢") 571 | ("cuan" "攒" "窜" "篡" "蹿" "撺" "镩" "汆" "爨") 572 | ("cui" "脆" "粹" "催" "摧" "崔" "萃" "翠" "瘁" "悴" "璀" "隹" "淬" "毳" "榱" "啐") 573 | ("cun" "存" "村" "寸" "忖" "皴") 574 | ("cuo" "错" "措" "搓" "挫" "撮" "磋" "蹉" "矬" "嵯" "脞" "痤" "瘥" "鹾" "厝" "锉") 575 | ("da" "大" "打" "达" "答" "搭" "瘩" "嗒" "沓" "耷" "褡" "鞑" "笪" "靼" "怛" "妲" "哒" "疸") 576 | ("dai" "代" "带" "待" "戴" "袋" "呆" "贷" "逮" "歹" "殆" "黛" "怠" "玳" "岱" "迨" "傣" "呔" "骀" "绐" "埭" "甙") 577 | ("dan" "但" "单" "担" "弹" "淡" "旦" "蛋" "胆" "诞" "丹" "耽" "惮" "眈" "啖" "澹" "掸" "殚" "箪" "瘅" "赕" "疸" "聃" "氮" "萏" "郸" "儋") 578 | ("dang" "当" "党" "荡" "档" "挡" "裆" "铛" "宕" "凼" "菪" "谠" "砀") 579 | ("dao" "到" "道" "导" "倒" "岛" "刀" "悼" "盗" "蹈" "捣" "祷" "叨" "稻" "忉" "帱" "氘" "纛") 580 | ("de" "的" "得" "德" "锝") 581 | ("deng" "等" "登" "灯" "邓" "凳" "瞪" "蹬" "噔" "磴" "戥" "镫" "簦" "嶝") 582 | ("di" "地" "第" "提" "底" "低" "帝" "弟" "敌" "抵" "递" "滴" "迪" "蒂" "堤" "笛" "缔" "涤" "嘀" "诋" "谛" "狄" "邸" "睇" "嫡" "翟" "砥" "娣" "棣" "荻" "羝" "坻" "柢" "觌" "骶" "氐" "绨" "镝" "碲" "籴") 583 | ("dia" "嗲") 584 | ("dian" "点" "电" "店" "典" "颠" "甸" "淀" "垫" "殿" "滇" "奠" "惦" "掂" "碘" "癫" "巅" "踮" "佃" "玷" "簟" "阽" "坫" "靛" "钿" "癜" "丶") 585 | ("diao" "调" "掉" "吊" "雕" "刁" "钓" "凋" "叼" "貂" "碉" "铫" "铞" "鲷") 586 | ("die" "爹" "跌" "叠" "迭" "碟" "谍" "蝶" "喋" "佚" "踮" "牒" "耋" "蹀" "堞" "瓞" "揲" "垤" "鲽") 587 | ("ding" "定" "订" "顶" "丁" "盯" "钉" "鼎" "叮" "町" "铤" "腚" "酊" "仃" "锭" "疔" "啶" "玎" "碇" "耵") 588 | ("diu" "丢" "铥") 589 | ("dong" "动" "东" "懂" "冬" "洞" "冻" "董" "栋" "咚" "恫" "侗" "氡" "硐" "鸫" "岽" "垌" "峒" "胨" "胴") 590 | ("dou" "都" "斗" "豆" "抖" "逗" "兜" "陡" "窦" "蔸" "蚪" "篼" "痘") 591 | ("du" "都" "读" "度" "独" "毒" "督" "渡" "肚" "杜" "睹" "堵" "赌" "妒" "嘟" "渎" "笃" "牍" "镀" "犊" "黩" "髑" "椟" "芏" "蠹") 592 | ("duan" "断" "段" "短" "端" "锻" "缎" "煅" "椴" "簖") 593 | ("dui" "对" "队" "堆" "兑" "碓" "憝" "怼" "镦") 594 | ("dun" "顿" "盾" "吨" "敦" "蹲" "钝" "炖" "遁" "盹" "沌" "囤" "墩" "趸" "镦" "礅" "砘") 595 | ("duo" "多" "夺" "朵" "躲" "舵" "堕" "踱" "咄" "跺" "哆" "剁" "惰" "垛" "驮" "掇" "铎" "裰" "哚" "缍" "沲" "柁") 596 | ("e" "额" "俄" "恶" "饿" "哦" "鹅" "扼" "愕" "遏" "噩" "娥" "峨" "呃" "厄" "鄂" "讹" "婀" "蛾" "轭" "颚" "鳄" "锷" "谔" "屙" "锇" "阏" "垩" "腭" "苊" "鹗" "萼" "莪") 597 | ("ei" "诶") 598 | ("en" "恩" "摁" "蒽") 599 | ("er" "而" "二" "儿" "尔" "耳" "迩" "饵" "洱" "鸸" "珥" "铒" "鲕" "贰" "佴") 600 | ("fa" "发" "法" "罚" "乏" "伐" "阀" "砝" "筏" "垡" "珐") 601 | ("fan" "反" "饭" "犯" "翻" "范" "凡" "烦" "返" "番" "贩" "繁" "泛" "帆" "藩" "幡" "梵" "樊" "燔" "蕃" "畈" "钒" "蘩" "矾" "蹯") 602 | ("fang" "方" "放" "房" "访" "防" "仿" "芳" "妨" "纺" "彷" "坊" "肪" "舫" "钫" "鲂" "邡" "枋") 603 | ("fei" "非" "费" "飞" "废" "肥" "啡" "沸" "菲" "肺" "匪" "诽" "腓" "扉" "吠" "霏" "绯" "妃" "斐" "翡" "蜚" "痱" "淝" "悱" "鲱" "篚" "芾" "狒" "镄" "榧") 604 | ("fen" "分" "份" "纷" "奋" "愤" "粉" "氛" "芬" "坟" "焚" "粪" "忿" "吩" "汾" "棼" "鼢" "玢" "酚" "偾" "瀵" "鲼") 605 | ("feng" "风" "封" "丰" "峰" "疯" "锋" "逢" "奉" "缝" "凤" "讽" "冯" "蜂" "枫" "烽" "俸" "砜" "唪" "酆" "葑" "沣") 606 | ("fo" "佛") 607 | ("fou" "否" "缶") 608 | ("fu" "夫" "府" "服" "复" "父" "负" "副" "福" "富" "付" "妇" "附" "佛" "幅" "伏" "符" "赴" "腐" "浮" "扶" "腹" "抚" "覆" "肤" "赋" "弗" "傅" "辅" "拂" "甫" "俯" "斧" "缚" "咐" "脯" "袱" "俘" "敷" "阜" "芙" "釜" "孚" "腑" "匐" "孵" "辐" "涪" "讣" "氟" "桴" "蜉" "芾" "苻" "茯" "莩" "菔" "幞" "怫" "拊" "滏" "黼" "艴" "麸" "绂" "绋" "趺" "祓" "砩" "黻" "罘" "蚨" "跗" "蝠" "呋" "凫" "郛" "稃" "驸" "赙" "馥" "蝮" "鲋" "鳆") 609 | ("ga" "咖" "尬" "嘎" "噶" "轧" "伽" "旮" "钆" "尕" "尜") 610 | ("gai" "改" "该" "概" "盖" "丐" "钙" "赅" "溉" "垓" "陔" "戤") 611 | ("gan" "感" "干" "敢" "赶" "甘" "肝" "杆" "尴" "赣" "橄" "竿" "秆" "擀" "坩" "苷" "柑" "泔" "矸" "澉" "疳" "酐" "淦" "绀" "旰") 612 | ("gang" "刚" "港" "钢" "岗" "纲" "缸" "扛" "杠" "冈" "肛" "罡" "戆" "筻") 613 | ("gao" "高" "告" "稿" "搞" "糕" "膏" "皋" "羔" "睾" "槁" "藁" "缟" "篙" "镐" "诰" "槔" "杲" "郜" "锆") 614 | ("ge" "个" "革" "各" "歌" "格" "哥" "戈" "隔" "葛" "割" "阁" "胳" "搁" "疙" "咯" "鸽" "嗝" "骼" "颌" "屹" "搿" "膈" "镉" "纥" "袼" "仡" "鬲" "塥" "圪" "哿" "舸" "铬" "硌" "虼") 615 | ("gei" "给") 616 | ("gen" "根" "跟" "亘" "艮" "哏" "茛") 617 | ("geng" "更" "耿" "耕" "颈" "庚" "羹" "梗" "哽" "赓" "鲠" "埂" "绠") 618 | ("gong" "工" "公" "共" "供" "功" "攻" "宫" "贡" "恭" "巩" "躬" "龚" "弓" "拱" "肱" "汞" "蚣" "珙" "觥") 619 | ("gou" "够" "购" "构" "狗" "沟" "勾" "苟" "钩" "觏" "篝" "垢" "佝" "岣" "诟" "鞲" "笱" "枸" "遘" "媾" "缑" "彀") 620 | ("gu" "故" "古" "顾" "股" "鼓" "姑" "骨" "固" "孤" "谷" "估" "雇" "辜" "咕" "沽" "箍" "菇" "汩" "轱" "锢" "蛊" "梏" "鸪" "毂" "鹄" "臌" "瞽" "罟" "钴" "觚" "鹘" "菰" "蛄" "嘏" "诂" "崮" "酤" "牿" "牯" "痼" "鲴") 621 | ("gua" "挂" "瓜" "刮" "寡" "呱" "褂" "卦" "剐" "鸹" "栝" "胍" "诖") 622 | ("guai" "怪" "乖" "拐" "掴") 623 | ("guan" "关" "观" "管" "官" "馆" "惯" "冠" "贯" "罐" "灌" "棺" "莞" "倌" "纶" "掼" "盥" "涫" "鳏" "鹳") 624 | ("guang" "广" "光" "逛" "犷" "咣" "胱" "桄") 625 | ("gui" "规" "归" "贵" "鬼" "桂" "跪" "柜" "轨" "瑰" "诡" "刽" "龟" "硅" "闺" "皈" "傀" "癸" "圭" "晷" "簋" "妫" "鲑" "匦" "庋" "宄" "炔" "刿" "桧" "炅" "鳜") 626 | ("gun" "滚" "棍" "鲧" "绲" "磙" "辊" "衮") 627 | ("guo" "国" "过" "果" "锅" "郭" "裹" "帼" "蝈" "聒" "馘" "掴" "埚" "虢" "呙" "崞" "猓" "椁" "蜾") 628 | ("ha" "哈" "蛤" "铪") 629 | ("hai" "还" "海" "孩" "害" "嘿" "咳" "亥" "骇" "骸" "嗨" "胲" "醢" "氦") 630 | ("han" "汉" "喊" "含" "寒" "汗" "韩" "憾" "涵" "函" "翰" "撼" "罕" "旱" "捍" "酣" "悍" "憨" "晗" "瀚" "鼾" "顸" "阚" "焊" "蚶" "焓" "颔" "菡" "撖" "邗" "邯") 631 | ("hang" "行" "航" "巷" "杭" "夯" "沆" "颃" "绗" "珩") 632 | ("hao" "好" "号" "毫" "豪" "浩" "耗" "皓" "嚎" "昊" "郝" "壕" "蒿" "貉" "灏" "镐" "嗥" "嚆" "薅" "濠" "蚝" "颢") 633 | ("he" "和" "何" "合" "河" "喝" "赫" "核" "吓" "贺" "盒" "呵" "禾" "荷" "鹤" "壑" "阂" "褐" "诃" "涸" "阖" "嗬" "貉" "曷" "颌" "劾" "盍" "纥" "蚵" "翮" "菏") 634 | ("hei" "黑" "嘿" "嗨") 635 | ("hen" "很" "恨" "狠" "痕") 636 | ("heng" "横" "衡" "恒" "哼" "亨" "蘅" "珩" "桁") 637 | ("hong" "红" "轰" "洪" "鸿" "哄" "宏" "虹" "弘" "烘" "泓" "闳" "薨" "讧" "蕻" "訇" "黉" "荭") 638 | ("hou" "后" "候" "後" "厚" "侯" "喉" "吼" "猴" "逅" "糇" "骺" "堠" "瘊" "篌" "鲎") 639 | ("hu" "乎" "护" "呼" "胡" "户" "湖" "忽" "互" "糊" "虎" "壶" "狐" "沪" "惚" "浒" "唬" "葫" "弧" "蝴" "囫" "瑚" "斛" "祜" "猢" "鹄" "醐" "戽" "扈" "唿" "笏" "琥" "滹" "鹕" "轷" "烀" "冱" "岵" "怙" "鹘" "槲" "觳" "瓠" "鹱" "煳") 640 | ("hua" "话" "华" "化" "花" "划" "画" "滑" "哗" "桦" "猾" "砉" "铧" "骅") 641 | ("huai" "怀" "坏" "徊" "淮" "槐" "踝") 642 | ("huan" "欢" "换" "还" "环" "缓" "患" "幻" "唤" "宦" "焕" "痪" "寰" "鬟" "涣" "浣" "奂" "桓" "缳" "豢" "锾" "郇" "萑" "圜" "洹" "擐" "獾" "漶" "逭" "鲩") 643 | ("huang" "黄" "皇" "荒" "晃" "慌" "煌" "惶" "恍" "谎" "璜" "徨" "簧" "凰" "幌" "潢" "蝗" "蟥" "遑" "隍" "肓" "磺" "癀" "湟" "篁" "鳇") 644 | ("hui" "会" "回" "汇" "挥" "辉" "灰" "惠" "毁" "悔" "恢" "慧" "绘" "徽" "讳" "贿" "徊" "晦" "秽" "诲" "诙" "晖" "彗" "麾" "烩" "荟" "卉" "茴" "喙" "蛔" "恚" "洄" "珲" "蕙" "哕" "咴" "浍" "虺" "缋" "桧" "隳" "蟪") 645 | ("hun" "婚" "混" "魂" "昏" "浑" "馄" "荤" "诨" "溷" "阍" "珲") 646 | ("huo" "和" "或" "活" "火" "获" "货" "伙" "祸" "惑" "霍" "豁" "夥" "锪" "耠" "劐" "钬" "攉" "藿" "嚯" "镬" "蠖") 647 | ("ji" "几" "给" "己" "机" "记" "及" "计" "即" "基" "济" "辑" "级" "极" "寄" "际" "技" "集" "纪" "击" "奇" "急" "激" "继" "既" "积" "籍" "鸡" "吉" "挤" "迹" "季" "寂" "绩" "疾" "饥" "祭" "缉" "忌" "剂" "圾" "姬" "矶" "肌" "嫉" "讥" "藉" "叽" "脊" "冀" "稽" "妓" "棘" "骥" "畸" "蓟" "汲" "悸" "岌" "伎" "笈" "跻" "瘠" "亟" "诘" "暨" "霁" "羁" "稷" "偈" "戟" "嵇" "楫" "唧" "鲫" "髻" "荠" "箕" "觊" "蒺" "畿" "虮" "齑" "殛" "墼" "佶" "掎" "芨" "丌" "麂" "蕺" "咭" "嵴" "芰" "笄" "哜" "洎" "乩" "戢" "屐" "剞" "跽" "玑" "鲚" "赍" "犄") 648 | ("jia" "家" "加" "价" "假" "架" "甲" "佳" "驾" "夹" "嫁" "嘉" "贾" "稼" "茄" "佼" "挟" "颊" "皎" "侥" "枷" "珈" "戛" "迦" "伽" "浃" "痂" "胛" "笳" "荚" "葭" "钾" "镓" "嘏" "郏" "挢" "岬" "徼" "湫" "敫" "袈" "瘕" "恝" "铗" "袷" "蛱" "跏") 649 | ("jian" "见" "间" "件" "建" "简" "坚" "监" "减" "渐" "检" "健" "兼" "剑" "艰" "肩" "键" "荐" "尖" "鉴" "剪" "践" "奸" "捡" "箭" "舰" "拣" "贱" "溅" "煎" "俭" "槛" "碱" "歼" "缄" "茧" "笺" "柬" "谏" "蹇" "僭" "涧" "菅" "謇" "硷" "睑" "锏" "饯" "毽" "鲣" "鞯" "蒹" "搛" "谫" "囝" "湔" "缣" "枧" "戬" "戋" "犍" "裥" "笕" "翦" "趼" "楗" "牮" "鹣" "腱" "踺") 650 | ("jiang" "将" "讲" "强" "江" "奖" "降" "蒋" "疆" "酱" "姜" "浆" "僵" "匠" "犟" "缰" "绛" "桨" "耩" "礓" "洚" "豇" "茳" "糨") 651 | ("jiao" "教" "交" "觉" "校" "叫" "较" "角" "脚" "焦" "骄" "郊" "轿" "搅" "嚼" "胶" "缴" "绞" "饺" "椒" "矫" "娇" "佼" "狡" "浇" "跤" "姣" "窖" "剿" "侥" "皎" "蕉" "酵" "礁" "鲛" "徼" "湫" "敫" "僬" "鹪" "峤" "蛟" "铰" "艽" "茭" "挢" "噍" "醮") 652 | ("jie" "界" "解" "接" "结" "节" "街" "姐" "阶" "介" "借" "戒" "杰" "届" "皆" "捷" "截" "洁" "揭" "劫" "竭" "藉" "睫" "诫" "嗟" "拮" "孑" "碣" "秸" "诘" "桀" "芥" "偈" "颉" "讦" "疖" "疥" "婕" "羯" "鲒" "蚧" "骱" "喈") 653 | ("jin" "进" "今" "金" "近" "尽" "仅" "紧" "禁" "劲" "津" "斤" "谨" "锦" "筋" "晋" "巾" "浸" "襟" "瑾" "矜" "靳" "缙" "烬" "噤" "觐" "馑" "堇" "衿" "荩" "廑" "妗" "卺" "赆" "槿") 654 | ("jing" "经" "京" "精" "境" "警" "竟" "静" "惊" "景" "敬" "睛" "镜" "竞" "净" "井" "径" "晶" "荆" "兢" "颈" "憬" "靖" "鲸" "泾" "阱" "儆" "旌" "痉" "迳" "茎" "胫" "腈" "菁" "粳" "獍" "肼" "弪" "婧" "刭" "靓") 655 | ("jiong" "窘" "炯" "迥" "扃" "炅") 656 | ("jiu" "就" "九" "究" "酒" "久" "旧" "救" "纠" "揪" "疚" "舅" "韭" "赳" "鸠" "灸" "咎" "啾" "臼" "鹫" "阄" "僦" "厩" "玖" "柩" "桕" "鬏") 657 | ("ju" "局" "据" "居" "句" "举" "具" "剧" "巨" "聚" "拒" "俱" "距" "惧" "菊" "拘" "矩" "桔" "驹" "鞠" "咀" "沮" "瞿" "锯" "炬" "飓" "趄" "掬" "踽" "踞" "遽" "橘" "倨" "疽" "龃" "屦" "犋" "裾" "钜" "苴" "雎" "鞫" "椐" "讵" "苣" "锔" "狙" "榘" "莒" "枸" "榉" "窭" "醵" "琚") 658 | ("juan" "捐" "卷" "倦" "眷" "娟" "隽" "绢" "鹃" "涓" "镌" "锩" "鄄" "狷" "桊" "蠲") 659 | ("jue" "觉" "绝" "决" "脚" "嚼" "掘" "诀" "崛" "爵" "抉" "倔" "獗" "嗟" "厥" "蹶" "攫" "谲" "矍" "撅" "噱" "孓" "橛" "噘" "珏" "桷" "劂" "爝" "镢" "蕨" "觖") 660 | ("jun" "军" "均" "君" "俊" "峻" "钧" "隽" "筠" "菌" "郡" "骏" "竣" "麇" "皲" "捃" "浚") 661 | ("ka" "卡" "咖" "喀" "咔" "佧" "胩") 662 | ("kai" "开" "慨" "凯" "铠" "揩" "楷" "恺" "垲" "蒈" "锎" "剀" "锴" "忾") 663 | ("kan" "看" "刊" "侃" "堪" "砍" "坎" "槛" "勘" "瞰" "龛" "阚" "莰" "戡") 664 | ("kang" "抗" "康" "慷" "扛" "炕" "亢" "糠" "伉" "闶" "钪") 665 | ("kao" "考" "靠" "铐" "烤" "拷" "犒" "栲" "尻") 666 | ("ke" "可" "克" "科" "客" "刻" "课" "颗" "渴" "柯" "呵" "棵" "恪" "咳" "苛" "磕" "壳" "坷" "嗑" "瞌" "轲" "稞" "疴" "蝌" "溘" "髁" "钶" "窠" "颏" "珂" "岢" "骒" "缂" "氪" "锞" "蚵") 667 | ("ken" "肯" "恳" "啃" "垦" "龈" "裉") 668 | ("keng" "坑" "吭" "铿") 669 | ("kong" "空" "恐" "控" "孔" "倥" "崆" "箜") 670 | ("kou" "口" "扣" "抠" "寇" "叩" "蔻" "眍" "芤" "筘") 671 | ("ku" "苦" "哭" "库" "裤" "酷" "枯" "窟" "骷" "刳" "堀" "喾" "绔") 672 | ("kua" "夸" "跨" "垮" "挎" "胯" "侉") 673 | ("kuai" "会" "快" "块" "筷" "脍" "蒯" "哙" "侩" "狯" "浍" "郐") 674 | ("kuan" "款" "宽" "髋") 675 | ("kuang" "况" "狂" "矿" "框" "旷" "眶" "筐" "匡" "哐" "邝" "诓" "夼" "诳" "圹" "纩" "贶") 676 | ("kui" "亏" "愧" "溃" "窥" "魁" "馈" "睽" "盔" "逵" "葵" "奎" "匮" "傀" "喟" "聩" "岿" "馗" "夔" "篑" "喹" "悝" "暌" "隗" "蒉" "蝰" "愦" "揆" "跬") 677 | ("kun" "困" "昆" "捆" "坤" "鲲" "悃" "髡" "锟" "醌" "阃" "琨") 678 | ("kuo" "括" "阔" "扩" "廓" "栝" "蛞") 679 | ("la" "拉" "啦" "辣" "腊" "喇" "垃" "蜡" "剌" "邋" "旯" "瘌" "砬") 680 | ("lai" "来" "赖" "莱" "睐" "癞" "籁" "徕" "涞" "赉" "铼" "崃" "濑") 681 | ("lan" "兰" "蓝" "栏" "烂" "懒" "览" "滥" "拦" "篮" "揽" "澜" "榄" "婪" "缆" "斓" "岚" "阑" "褴" "镧" "罱" "谰" "漤") 682 | ("lang" "浪" "狼" "朗" "郎" "廊" "琅" "螂" "榔" "啷" "莨" "锒" "稂" "阆" "蒗") 683 | ("lao" "老" "劳" "牢" "捞" "姥" "佬" "潦" "唠" "烙" "酪" "涝" "崂" "痨" "醪" "铹" "栳" "铑" "耢") 684 | ("le" "了" "乐" "勒" "肋" "叻" "泐" "鳓" "仂") 685 | ("lei" "类" "泪" "累" "雷" "蕾" "垒" "磊" "擂" "肋" "儡" "羸" "诔" "镭" "嘞" "檑" "嫘" "缧" "酹" "耒") 686 | ("leng" "冷" "愣" "楞" "棱" "塄") 687 | ("li" "里" "理" "力" "利" "立" "李" "历" "离" "例" "礼" "丽" "励" "黎" "厉" "璃" "莉" "哩" "笠" "粒" "俐" "漓" "栗" "狸" "梨" "隶" "吏" "沥" "篱" "厘" "犁" "雳" "罹" "莅" "戾" "鲤" "俚" "砺" "藜" "俪" "蜊" "黧" "郦" "痢" "枥" "逦" "娌" "詈" "骊" "荔" "鳢" "喱" "鹂" "嫠" "蠡" "鬲" "鲡" "悝" "坜" "苈" "砾" "藓" "呖" "唳" "猁" "溧" "澧" "栎" "轹" "蓠" "傈" "缡" "疠" "疬" "蛎" "锂" "篥" "粝" "跞" "醴") 688 | ("lia" "俩") 689 | ("lian" "联" "连" "脸" "练" "恋" "怜" "莲" "廉" "炼" "帘" "链" "敛" "涟" "镰" "殓" "琏" "楝" "裢" "裣" "蠊" "鲢" "濂" "臁" "潋" "蔹" "奁") 690 | ("liang" "两" "量" "良" "亮" "辆" "梁" "俩" "凉" "粮" "谅" "粱" "晾" "踉" "莨" "墚" "魉" "椋" "靓") 691 | ("liao" "了" "料" "聊" "疗" "辽" "僚" "廖" "寥" "镣" "潦" "撩" "撂" "缭" "燎" "寮" "嘹" "钌" "獠" "鹩" "蓼" "尥") 692 | ("lie" "列" "烈" "裂" "劣" "猎" "咧" "趔" "冽" "洌" "捩" "埒" "躐" "鬣") 693 | ("lin" "林" "临" "邻" "琳" "淋" "霖" "麟" "凛" "吝" "鳞" "磷" "躏" "赁" "嶙" "辚" "檩" "遴" "粼" "蔺" "懔" "瞵" "啉" "膦" "廪") 694 | ("ling" "领" "令" "另" "灵" "零" "龄" "凌" "玲" "铃" "陵" "岭" "拎" "伶" "聆" "囹" "棱" "菱" "翎" "苓" "瓴" "棂" "绫" "呤" "柃" "鲮" "酃" "泠" "羚" "蛉") 695 | ("liu" "六" "留" "流" "陆" "刘" "溜" "柳" "碌" "瘤" "榴" "浏" "硫" "琉" "遛" "馏" "镏" "骝" "绺" "锍" "旒" "熘" "鎏" "鹨") 696 | ("long" "龙" "隆" "笼" "胧" "拢" "咙" "聋" "垄" "珑" "窿" "陇" "癃" "茏" "栊" "泷" "垅" "砻") 697 | ("lou" "楼" "陋" "漏" "搂" "喽" "篓" "偻" "娄" "髅" "蝼" "镂" "蒌" "嵝" "耧" "瘘") 698 | ("lu" "路" "陆" "录" "卢" "露" "鲁" "炉" "鹿" "碌" "庐" "芦" "噜" "颅" "禄" "辘" "卤" "虏" "麓" "泸" "赂" "漉" "戮" "簏" "轳" "鹭" "掳" "潞" "鲈" "撸" "栌" "垆" "胪" "蓼" "渌" "鸬" "逯" "璐" "辂" "橹" "镥" "舻" "氇") 699 | ("lv" "律" "旅" "绿" "率" "虑" "履" "屡" "侣" "缕" "驴" "吕" "榈" "滤" "捋" "铝" "褛" "闾" "膂" "氯" "稆") 700 | ("luan" "乱" "卵" "峦" "挛" "孪" "栾" "銮" "娈" "滦" "鸾" "脔") 701 | ("lue" "略" "掠" "锊") 702 | ("lun" "论" "轮" "伦" "沦" "仑" "抡" "囵" "纶") 703 | ("luo" "落" "罗" "络" "洛" "逻" "裸" "骆" "萝" "螺" "锣" "箩" "摞" "烙" "捋" "珞" "骡" "猡" "镙" "椤" "倮" "蠃" "荦" "瘰" "泺" "漯" "脶" "硌" "雒") 704 | ("m" "呒") 705 | ("ma" "马" "吗" "妈" "码" "麻" "骂" "嘛" "抹" "玛" "蚂" "蟆" "唛" "杩" "犸" "嬷") 706 | ("mai" "买" "卖" "麦" "埋" "迈" "脉" "霾" "劢" "荬") 707 | ("man" "满" "慢" "漫" "曼" "蛮" "馒" "瞒" "蔓" "颟" "谩" "墁" "幔" "螨" "鞔" "鳗" "缦" "熳" "镘") 708 | ("mang" "忙" "茫" "盲" "芒" "氓" "莽" "蟒" "邙" "漭" "硭") 709 | ("mao" "毛" "冒" "猫" "贸" "矛" "帽" "貌" "茅" "茂" "髦" "卯" "耄" "瑁" "锚" "懋" "袤" "铆" "峁" "牦" "蟊" "泖" "昴" "茆" "旄" "蝥" "瞀") 710 | ("me" "么" "麽") 711 | ("mei" "没" "美" "每" "妹" "眉" "梅" "媒" "枚" "魅" "煤" "昧" "霉" "玫" "媚" "寐" "糜" "袂" "酶" "莓" "嵋" "楣" "湄" "猸" "镅" "浼" "鹛" "镁") 712 | ("men" "们" "门" "闷" "扪" "懑" "焖" "钔") 713 | ("meng" "梦" "蒙" "猛" "盟" "朦" "孟" "萌" "勐" "懵" "檬" "蠓" "瞢" "甍" "礞" "蜢" "虻" "艋" "艨" "锰") 714 | ("mi" "密" "米" "秘" "迷" "弥" "谜" "觅" "眯" "蜜" "靡" "咪" "谧" "泌" "糜" "汨" "宓" "麋" "醚" "弭" "敉" "芈" "祢" "脒" "幂" "縻" "嘧" "蘼" "猕" "糸") 715 | ("mian" "面" "免" "棉" "眠" "缅" "绵" "勉" "腼" "冕" "娩" "湎" "沔" "眄" "黾" "渑") 716 | ("miao" "妙" "描" "秒" "庙" "苗" "渺" "瞄" "藐" "缪" "淼" "缈" "喵" "眇" "邈" "鹋" "杪") 717 | ("mie" "灭" "蔑" "篾" "咩" "乜" "蠛") 718 | ("min" "民" "敏" "悯" "闽" "泯" "珉" "皿" "抿" "闵" "苠" "岷" "缗" "玟" "愍" "黾" "鳘") 719 | ("ming" "名" "明" "命" "鸣" "铭" "冥" "茗" "溟" "酩" "瞑" "暝" "螟") 720 | ("miu" "谬" "缪") 721 | ("mo" "默" "莫" "模" "麽" "末" "磨" "摸" "摩" "寞" "漠" "墨" "抹" "魔" "陌" "嘿" "沫" "膜" "蓦" "蘑" "茉" "馍" "摹" "貉" "谟" "嫫" "秣" "镆" "殁" "瘼" "耱" "貊" "貘") 722 | ("mou" "某" "谋" "眸" "缪" "鍪" "哞" "侔" "蛑") 723 | ("mu" "目" "母" "木" "幕" "姆" "慕" "牧" "墓" "募" "暮" "牟" "亩" "穆" "睦" "拇" "沐" "牡" "仫" "坶" "苜" "毪" "钼") 724 | ("n" "嗯" "唔") 725 | ("na" "那" "拿" "呢" "哪" "纳" "娜" "呐" "捺" "钠" "镎" "肭" "衲") 726 | ("nai" "乃" "奶" "奈" "耐" "氖" "艿" "鼐" "佴" "萘" "柰") 727 | ("nan" "难" "南" "男" "楠" "喃" "囡" "囝" "腩" "蝻" "赧") 728 | ("nang" "囊" "囔" "馕" "攮" "曩") 729 | ("nao" "脑" "闹" "恼" "挠" "瑙" "淖" "呶" "猱" "铙" "孬" "硇" "蛲" "垴") 730 | ("ne" "呢" "讷") 731 | ("nei" "内" "馁") 732 | ("nen" "嫩" "恁") 733 | ("neng" "能") 734 | ("ng" "嗯" "唔") 735 | ("ni" "你" "呢" "尼" "泥" "逆" "倪" "匿" "拟" "腻" "妮" "霓" "昵" "溺" "旎" "睨" "鲵" "坭" "猊" "怩" "伲" "祢" "慝" "铌") 736 | ("nian" "年" "念" "廿" "粘" "碾" "捻" "蔫" "撵" "拈" "黏" "鲶" "鲇" "辇" "埝") 737 | ("niang" "娘" "酿") 738 | ("niao" "鸟" "尿" "袅" "嬲" "茑" "脲") 739 | ("nie" "捏" "涅" "聂" "孽" "蹑" "嗫" "啮" "镊" "镍" "乜" "陧" "颞" "臬" "蘖") 740 | ("nin" "您" "恁") 741 | ("ning" "宁" "凝" "拧" "泞" "咛" "狞" "柠" "佞" "聍" "苎" "甯") 742 | ("niu" "牛" "纽" "扭" "妞" "钮" "拗" "忸" "狃") 743 | ("nong" "农" "弄" "浓" "侬" "哝" "脓") 744 | ("nou" "耨") 745 | ("nu" "怒" "努" "奴" "弩" "驽" "胬" "孥") 746 | ("nv" "女" "钕" "恧" "衄") 747 | ("nuan" "暖") 748 | ("nue" "虐" "疟") 749 | ("nuo" "诺" "挪" "懦" "糯" "喏" "搦" "傩" "锘") 750 | ("o" "哦" "噢" "喔") 751 | ("ou" "欧" "偶" "殴" "呕" "鸥" "讴" "瓯" "藕" "沤" "耦" "怄") 752 | ("pa" "怕" "爬" "帕" "扒" "趴" "啪" "琶" "葩" "耙" "杷" "钯" "筢") 753 | ("pai" "派" "排" "牌" "拍" "徘" "湃" "俳" "蒎" "哌") 754 | ("pan" "判" "盘" "盼" "叛" "畔" "潘" "攀" "拚" "蹒" "磐" "爿" "蟠" "襻" "袢" "泮") 755 | ("pang" "旁" "庞" "胖" "乓" "膀" "磅" "彷" "螃" "滂" "耪" "逄") 756 | ("pao" "跑" "炮" "抛" "泡" "袍" "刨" "咆" "狍" "疱" "脬" "庖" "匏") 757 | ("pei" "配" "陪" "培" "佩" "赔" "沛" "裴" "呸" "胚" "醅" "锫" "辔" "帔" "旆" "霈") 758 | ("pen" "盆" "喷" "湓") 759 | ("peng" "朋" "鹏" "碰" "彭" "捧" "棚" "蓬" "膨" "烹" "抨" "篷" "砰" "澎" "怦" "堋" "蟛" "嘭" "硼") 760 | ("pi" "批" "否" "皮" "屁" "披" "疲" "辟" "啤" "脾" "匹" "僻" "劈" "譬" "坯" "痞" "癖" "琵" "毗" "霹" "噼" "媲" "郫" "裨" "纰" "丕" "鼙" "圮" "蚍" "蜱" "貔" "陂" "陴" "砒" "仳" "埤" "擗" "吡" "庀" "邳" "疋" "芘" "枇" "罴" "淠" "铍" "甓" "睥") 761 | ("pian" "便" "片" "篇" "偏" "骗" "翩" "扁" "犏" "谝" "蹁" "骈" "缏" "胼") 762 | ("piao" "票" "漂" "飘" "瓢" "嫖" "瞟" "骠" "嘌" "剽" "螵" "缥" "莩" "殍") 763 | ("pie" "撇" "瞥" "氕" "丿" "苤") 764 | ("pin" "品" "贫" "拼" "频" "聘" "拚" "姘" "嫔" "榀" "颦" "牝") 765 | ("ping" "平" "评" "瓶" "凭" "萍" "乒" "屏" "苹" "坪" "枰" "娉" "俜" "鲆") 766 | ("po" "破" "迫" "颇" "婆" "坡" "泊" "泼" "魄" "粕" "珀" "叵" "攴" "钷" "笸" "钋" "陂" "泺" "鄱" "皤") 767 | ("pou" "剖" "裒" "掊") 768 | ("pu" "普" "铺" "扑" "朴" "谱" "浦" "葡" "蒲" "仆" "脯" "瀑" "菩" "溥" "匍" "璞" "噗" "圃" "埔" "氆" "镨" "蹼" "镤" "濮" "莆") 769 | ("qi" "起" "其" "期" "气" "七" "奇" "妻" "企" "器" "汽" "棋" "齐" "旗" "弃" "启" "骑" "欺" "歧" "岂" "戚" "凄" "泣" "契" "琪" "乞" "祈" "漆" "迄" "脐" "栖" "沏" "祺" "崎" "祁" "琦" "蹊" "砌" "憩" "淇" "汔" "亟" "绮" "讫" "嘁" "岐" "萋" "俟" "杞" "芪" "荠" "耆" "槭" "颀" "芑" "屺" "欹" "桤" "綮" "萁" "蛴" "蜞" "綦" "鳍" "麒" "蕲" "柒" "亓" "骐" "葺" "畦" "圻" "碛") 770 | ("qia" "恰" "洽" "掐" "伽" "袷" "葜" "髂") 771 | ("qian" "前" "钱" "千" "签" "欠" "牵" "浅" "潜" "迁" "谦" "遣" "歉" "纤" "嵌" "乾" "谴" "铅" "虔" "钳" "骞" "倩" "堑" "黔" "掮" "悭" "芊" "缱" "愆" "荨" "芡" "阡" "佥" "搴" "褰" "肷" "钎" "仟" "犍" "钤" "岍" "箝" "鬈" "扦" "慊" "椠") 772 | ("qiang" "枪" "墙" "抢" "腔" "呛" "锵" "跄" "羌" "蔷" "戕" "襁" "樯" "炝" "蜣" "嫱" "锖" "戗" "羟" "镪") 773 | ("qiao" "桥" "悄" "乔" "巧" "侨" "瞧" "敲" "翘" "俏" "窍" "峭" "锹" "撬" "跷" "憔" "樵" "鞘" "橇" "诮" "愀" "谯" "荞" "峤" "缲" "硗" "鞒" "劁") 774 | ("qie" "切" "且" "窃" "怯" "茄" "趄" "妾" "砌" "惬" "伽" "锲" "挈" "郄" "箧" "慊") 775 | ("qin" "亲" "钦" "琴" "侵" "秦" "勤" "芹" "擒" "寝" "覃" "沁" "禽" "噙" "揿" "檎" "锓" "芩" "嗪" "螓" "衾" "廑" "溱" "吣") 776 | ("qing" "情" "请" "青" "清" "轻" "晴" "庆" "倾" "卿" "擎" "顷" "氢" "罄" "蜻" "磬" "謦" "苘" "圊" "檠" "黥" "鲭" "氰" "箐" "綮") 777 | ("qiong" "穷" "琼" "穹" "茕" "邛" "蛩" "筇" "跫" "銎") 778 | ("qiu" "求" "球" "秋" "邱" "囚" "丘" "酋" "蚯" "裘" "俅" "虬" "鳅" "逑" "遒" "赇" "泅" "楸" "犰" "湫" "蝤" "巯" "鼽" "糗") 779 | ("qu" "去" "取" "区" "曲" "趣" "屈" "趋" "驱" "渠" "躯" "娶" "觑" "瞿" "岖" "戌" "蛐" "衢" "蛆" "癯" "麴" "阒" "祛" "磲" "鸲" "诎" "蠼" "劬" "蕖" "蘧" "龋" "苣" "黢" "璩" "氍" "朐") 780 | ("quan" "全" "权" "圈" "劝" "泉" "券" "拳" "犬" "诠" "颧" "蜷" "绻" "荃" "铨" "痊" "鬈" "辁" "悛" "畎" "醛" "筌") 781 | ("que" "却" "确" "缺" "雀" "瘸" "榷" "鹊" "阕" "阙" "炔" "悫") 782 | ("qun" "群" "裙" "逡" "麇") 783 | ("ran" "然" "染" "燃" "冉" "髯" "苒" "蚺") 784 | ("rang" "让" "嚷" "攘" "壤" "瓤" "穰" "禳") 785 | ("rao" "扰" "绕" "饶" "娆" "桡" "荛") 786 | ("re" "热" "惹" "喏") 787 | ("ren" "人" "任" "认" "忍" "仁" "韧" "刃" "纫" "饪" "壬" "仞" "稔" "葚" "荏" "妊" "轫" "衽") 788 | ("reng" "仍" "扔") 789 | ("ri" "日") 790 | ("rong" "容" "荣" "融" "蓉" "溶" "绒" "熔" "榕" "戎" "嵘" "茸" "冗" "肜" "蝾" "狨") 791 | ("rou" "肉" "柔" "揉" "蹂" "鞣" "糅") 792 | ("ru" "如" "入" "辱" "儒" "乳" "汝" "褥" "嚅" "茹" "濡" "蠕" "孺" "缛" "襦" "颥" "薷" "蓐" "洳" "溽" "铷") 793 | ("ruan" "软" "阮" "朊") 794 | ("rui" "瑞" "锐" "芮" "睿" "蕤" "枘" "蕊" "蚋") 795 | ("run" "润" "闰") 796 | ("ruo" "若" "弱" "偌" "箬") 797 | ("sa" "洒" "撒" "萨" "卅" "仨" "飒" "挲" "脎") 798 | ("sai" "赛" "塞" "腮" "噻" "鳃") 799 | ("san" "三" "散" "伞" "叁" "毵" "馓" "糁" "霰") 800 | ("sang" "丧" "桑" "嗓" "搡" "磉" "颡") 801 | ("sao" "扫" "骚" "嫂" "梢" "臊" "搔" "缲" "缫" "鳋" "埽" "瘙") 802 | ("se" "色" "塞" "涩" "瑟" "啬" "铯" "穑") 803 | ("sen" "森") 804 | ("seng" "僧") 805 | ("sha" "杀" "沙" "啥" "傻" "厦" "刹" "纱" "莎" "煞" "砂" "霎" "嗄" "挲" "歃" "鲨" "唼" "痧" "裟" "铩") 806 | ("shai" "晒" "筛" "酾") 807 | ("shan" "山" "善" "闪" "衫" "删" "煽" "扇" "陕" "珊" "杉" "擅" "掺" "膳" "栅" "讪" "跚" "汕" "姗" "赡" "潸" "缮" "嬗" "掸" "膻" "骟" "芟" "埏" "剡" "钐" "鄯" "舢" "苫" "髟" "疝" "蟮" "鳝") 808 | ("shang" "上" "商" "伤" "尚" "赏" "殇" "裳" "晌" "觞" "熵" "墒" "绱" "垧") 809 | ("shao" "少" "绍" "烧" "稍" "勺" "哨" "邵" "梢" "捎" "韶" "苕" "鞘" "潲" "劭" "杓" "芍" "蛸" "筲" "艄") 810 | ("she" "社" "设" "舍" "涉" "射" "摄" "舌" "蛇" "奢" "赦" "慑" "佘" "赊" "麝" "畲" "厍" "滠" "歙" "猞") 811 | ("shei" "谁") 812 | ("shen" "什" "身" "深" "神" "参" "甚" "申" "审" "沈" "伸" "慎" "渗" "绅" "肾" "呻" "婶" "莘" "蜃" "葚" "娠" "渖" "矧" "诜" "砷" "糁" "谂" "椹" "胂" "哂") 813 | ("sheng" "生" "声" "省" "胜" "升" "圣" "盛" "剩" "牲" "绳" "甥" "笙" "渑" "眚" "嵊" "晟") 814 | ("shi" "是" "时" "十" "事" "实" "使" "世" "市" "识" "始" "士" "师" "诗" "式" "失" "史" "视" "示" "食" "室" "势" "试" "石" "释" "施" "适" "氏" "驶" "饰" "尸" "拾" "逝" "湿" "誓" "狮" "嗜" "蚀" "嘘" "屎" "侍" "匙" "峙" "仕" "恃" "柿" "轼" "矢" "噬" "拭" "虱" "弑" "蓍" "埘" "莳" "炻" "谥" "鲥" "豕" "贳" "铈" "螫" "舐" "筮" "鲺" "酾") 815 | ("shou" "手" "受" "收" "首" "授" "守" "售" "瘦" "寿" "兽" "狩" "绶" "艏") 816 | ("shu" "书" "数" "术" "属" "输" "树" "述" "熟" "束" "署" "殊" "舒" "叔" "鼠" "疏" "淑" "抒" "薯" "梳" "暑" "竖" "蜀" "恕" "墅" "孰" "漱" "枢" "俞" "赎" "黍" "蔬" "曙" "倏" "庶" "戍" "塾" "澍" "姝" "纾" "秫" "毹" "殳" "疋" "菽" "丨" "沭" "摅" "腧") 817 | ("shua" "刷" "耍" "唰") 818 | ("shuai" "率" "衰" "摔" "甩" "帅" "蟀") 819 | ("shuan" "涮" "栓" "拴" "闩") 820 | ("shuang" "双" "爽" "霜" "孀" "泷") 821 | ("shui" "水" "谁" "税" "睡") 822 | ("shun" "顺" "舜" "瞬" "吮") 823 | ("shuo" "说" "朔" "硕" "烁" "铄" "妁" "蒴" "槊" "搠") 824 | ("si" "四" "死" "思" "斯" "司" "似" "私" "丝" "寺" "撕" "肆" "厮" "嘶" "伺" "饲" "嗣" "祀" "巳" "驷" "鸶" "俟" "汜" "泗" "厶" "兕" "蛳" "咝" "姒" "澌" "缌" "耜" "笥" "锶") 825 | ("song" "送" "松" "宋" "诵" "耸" "颂" "讼" "悚" "怂" "忪" "淞" "菘" "崧" "嵩" "凇" "竦") 826 | ("sou" "搜" "艘" "嗽" "擞" "馊" "薮" "嗾" "叟" "嗖" "溲" "飕" "锼" "瞍" "螋") 827 | ("su" "苏" "诉" "速" "素" "俗" "肃" "宿" "塑" "稣" "溯" "酥" "粟" "簌" "夙" "嗉" "谡" "僳" "愫" "涑" "蔌" "觫") 828 | ("suan" "算" "酸" "蒜" "狻") 829 | ("sui" "岁" "随" "虽" "碎" "遂" "祟" "隧" "髓" "邃" "穗" "隋" "绥" "睢" "荽" "燧" "谇" "眭" "濉") 830 | ("sun" "孙" "损" "笋" "荪" "狲" "飧" "榫" "隼") 831 | ("suo" "所" "索" "缩" "锁" "琐" "梭" "嗦" "唆" "挲" "娑" "睃" "唢" "嗍" "蓑" "羧" "桫") 832 | ("ta" "他" "她" "它" "踏" "塔" "塌" "榻" "嗒" "蹋" "沓" "遢" "挞" "鳎" "闼" "铊" "趿" "漯" "溻" "獭") 833 | ("tai" "太" "台" "态" "泰" "抬" "胎" "汰" "苔" "呔" "鲐" "邰" "薹" "酞" "骀" "炱" "跆" "肽" "钛") 834 | ("tan" "谈" "探" "弹" "坦" "叹" "坛" "摊" "贪" "滩" "毯" "谭" "潭" "瘫" "炭" "覃" "痰" "忐" "坍" "袒" "碳" "澹" "檀" "昙" "镡" "郯" "锬" "钽") 835 | ("tang" "堂" "唐" "汤" "躺" "糖" "趟" "倘" "烫" "淌" "膛" "塘" "棠" "搪" "溏" "螳" "瑭" "樘" "螗" "铴" "醣" "镗" "耥" "饧" "傥" "帑" "羰") 836 | ("tao" "讨" "套" "逃" "涛" "掏" "陶" "桃" "淘" "滔" "萄" "焘" "啕" "韬" "饕" "洮" "绦" "鼗") 837 | ("te" "特" "忑" "忒" "慝" "铽") 838 | ("tei" "忒") 839 | ("teng" "腾" "疼" "藤" "誊" "滕") 840 | ("ti" "体" "提" "题" "替" "踢" "梯" "啼" "涕" "蹄" "剔" "剃" "惕" "屉" "嚏" "悌" "醍" "缇" "鹈" "锑" "荑" "倜" "绨" "逖" "裼") 841 | ("tian" "天" "田" "填" "甜" "添" "腆" "舔" "恬" "钿" "阗" "畋" "忝" "殄" "掭") 842 | ("tiao" "条" "调" "跳" "挑" "迢" "眺" "鲦" "佻" "苕" "窕" "髫" "粜" "笤" "龆" "祧" "蜩") 843 | ("tie" "铁" "贴" "帖" "餮" "萜") 844 | ("ting" "听" "停" "庭" "厅" "挺" "亭" "婷" "廷" "艇" "町" "霆" "汀" "铤" "蜓" "莛" "梃" "葶" "烃") 845 | ("tong" "同" "通" "统" "痛" "童" "彤" "筒" "铜" "桶" "捅" "桐" "瞳" "佟" "恸" "酮" "恫" "侗" "砼" "嗵" "仝" "垌" "茼" "峒" "潼") 846 | ("tou" "头" "投" "偷" "透" "钭" "骰") 847 | ("tu" "土" "突" "图" "途" "徒" "屠" "涂" "吐" "兔" "秃" "凸" "荼" "酴" "钍" "菟" "堍") 848 | ("tuan" "团" "湍" "抟" "疃" "彖") 849 | ("tui" "推" "退" "腿" "褪" "颓" "蜕" "忒" "煺") 850 | ("tun" "吞" "屯" "饨" "褪" "臀" "囤" "豚" "暾" "氽") 851 | ("tuo" "托" "脱" "拖" "妥" "拓" "陀" "驼" "唾" "椭" "砣" "驮" "沱" "跎" "坨" "鸵" "乇" "鼍" "橐" "佗" "庹" "铊" "酡" "柁" "柝" "箨") 852 | ("wa" "瓦" "挖" "袜" "娃" "哇" "凹" "娲" "蛙" "洼" "佤" "腽") 853 | ("wai" "外" "歪" "崴") 854 | ("wan" "万" "完" "晚" "湾" "玩" "碗" "弯" "挽" "顽" "腕" "婉" "惋" "宛" "丸" "蜿" "莞" "畹" "剜" "豌" "皖" "纨" "琬" "脘" "烷" "芄" "菀" "绾") 855 | ("wang" "望" "王" "往" "网" "忘" "亡" "汪" "旺" "枉" "妄" "惘" "罔" "尢" "辋" "魍") 856 | ("wei" "为" "位" "未" "委" "维" "味" "围" "卫" "威" "微" "伟" "谓" "唯" "危" "慰" "尾" "违" "魏" "玮" "蔚" "伪" "畏" "胃" "喂" "炜" "韦" "惟" "巍" "纬" "萎" "娓" "苇" "尉" "帷" "渭" "猥" "偎" "薇" "痿" "猬" "逶" "帏" "韪" "煨" "鲔" "桅" "潍" "隈" "圩" "囗" "诿" "隗" "崴" "洧" "葳" "嵬" "闱" "沩" "涠" "艉" "軎") 857 | ("wen" "文" "问" "闻" "温" "稳" "吻" "纹" "蚊" "雯" "紊" "瘟" "汶" "刎" "阌" "璺") 858 | ("weng" "翁" "瓮" "嗡" "蓊" "蕹") 859 | ("wo" "我" "握" "窝" "卧" "渥" "沃" "涡" "斡" "蜗" "幄" "喔" "倭" "挝" "莴" "肟" "硪" "龌") 860 | ("wu" "无" "五" "物" "务" "武" "午" "舞" "於" "误" "恶" "吴" "屋" "伍" "悟" "吾" "污" "乌" "雾" "侮" "捂" "巫" "毋" "呜" "诬" "勿" "梧" "坞" "戊" "兀" "唔" "晤" "芜" "鹜" "钨" "妩" "痦" "鹉" "忤" "寤" "骛" "邬" "牾" "鼯" "圬" "浯" "仵" "阢" "芴" "庑" "婺" "怃" "杌" "焐" "蜈" "迕" "鋈") 861 | ("xi" "西" "系" "息" "希" "喜" "席" "习" "细" "戏" "吸" "洗" "惜" "稀" "悉" "析" "夕" "牺" "袭" "昔" "熙" "兮" "溪" "隙" "嘻" "锡" "晰" "媳" "樨" "熄" "膝" "郗" "犀" "禧" "曦" "奚" "羲" "蹊" "唏" "淅" "嬉" "皙" "汐" "徙" "茜" "玺" "熹" "烯" "翕" "蟋" "屣" "檄" "浠" "僖" "穸" "蜥" "隰" "觋" "螅" "铣" "菥" "葸" "蓰" "舾" "矽" "粞" "硒" "醯" "欷" "鼷" "歙" "饩" "阋" "禊" "舄") 862 | ("xia" "下" "夏" "吓" "峡" "厦" "侠" "狭" "霞" "瞎" "暇" "虾" "唬" "辖" "遐" "匣" "黠" "瑕" "呷" "狎" "柙" "硖" "瘕" "罅") 863 | ("xian" "现" "先" "显" "线" "险" "限" "县" "鲜" "献" "闲" "宪" "陷" "贤" "仙" "嫌" "咸" "羡" "掀" "弦" "纤" "娴" "衔" "馅" "涎" "舷" "腺" "跣" "暹" "岘" "猃" "蚬" "筅" "跹" "莶" "锨" "鹇" "痫" "铣" "氙" "祆" "籼" "冼" "藓" "酰" "苋" "燹" "霰") 864 | ("xiang" "想" "相" "向" "象" "香" "乡" "像" "响" "项" "享" "降" "箱" "详" "祥" "巷" "厢" "湘" "橡" "翔" "镶" "飨" "襄" "饷" "骧" "葙" "庠" "鲞" "芗" "缃" "蟓") 865 | ("xiao" "小" "笑" "校" "消" "效" "晓" "销" "潇" "肖" "萧" "孝" "宵" "削" "嚣" "啸" "逍" "硝" "霄" "淆" "哮" "枭" "骁" "箫" "筱" "哓" "枵" "绡" "魈" "蛸" "崤") 866 | ("xie" "些" "写" "谢" "协" "鞋" "携" "斜" "泄" "胁" "歇" "谐" "邪" "械" "屑" "卸" "挟" "懈" "泻" "亵" "蟹" "偕" "邂" "榭" "撷" "楔" "瀣" "蝎" "颉" "勰" "薤" "燮" "躞" "缬" "獬" "绁" "廨" "榍" "渫") 867 | ("xin" "心" "新" "信" "欣" "辛" "薪" "馨" "鑫" "芯" "衅" "昕" "忻" "锌" "歆" "镡" "囟") 868 | ("xing" "行" "性" "形" "兴" "星" "型" "姓" "幸" "刑" "醒" "腥" "杏" "悻" "惺" "邢" "猩" "荇" "擤" "荥" "饧" "硎" "陉") 869 | ("xiong" "雄" "兄" "胸" "凶" "熊" "匈" "汹" "芎") 870 | ("xiu" "修" "休" "秀" "袖" "宿" "臭" "羞" "绣" "朽" "锈" "嗅" "咻" "貅" "髹" "馐" "庥" "鸺" "岫" "溴") 871 | ("xu" "许" "续" "需" "须" "徐" "序" "虚" "绪" "吁" "蓄" "叙" "畜" "嘘" "恤" "絮" "浒" "墟" "旭" "婿" "栩" "戌" "诩" "胥" "酗" "煦" "砉" "盱" "糈" "醑" "顼" "勖" "洫" "溆" "圩" "蓿") 872 | ("xuan" "选" "宣" "旋" "悬" "券" "喧" "轩" "玄" "炫" "渲" "绚" "眩" "萱" "漩" "暄" "璇" "谖" "铉" "儇" "痃" "泫" "煊" "楦" "癣" "碹" "揎" "镟") 873 | ("xue" "学" "血" "雪" "削" "穴" "谑" "靴" "薛" "踅" "噱" "泶" "鳕") 874 | ("xun" "寻" "询" "训" "迅" "讯" "巡" "逊" "循" "旬" "熏" "勋" "驯" "荤" "殉" "醺" "巽" "徇" "埙" "荀" "峋" "洵" "薰" "汛" "郇" "曛" "窨" "恂" "獯" "浔" "鲟" "蕈" "浚") 875 | ("ya" "亚" "压" "雅" "牙" "呀" "押" "涯" "讶" "鸦" "哑" "鸭" "崖" "丫" "芽" "衙" "轧" "痖" "睚" "娅" "蚜" "伢" "疋" "岈" "琊" "垭" "揠" "迓" "桠" "氩" "砑") 876 | ("yan" "眼" "言" "严" "演" "研" "烟" "验" "延" "沿" "掩" "颜" "厌" "炎" "燕" "阎" "宴" "盐" "咽" "岩" "雁" "焰" "艳" "焉" "淹" "衍" "阉" "奄" "谚" "俨" "檐" "蜒" "彦" "腌" "焱" "晏" "唁" "妍" "砚" "嫣" "胭" "湮" "筵" "堰" "赝" "餍" "鼹" "芫" "偃" "魇" "闫" "崦" "厣" "剡" "恹" "阏" "兖" "郾" "琰" "罨" "鄢" "谳" "滟" "阽" "鼽" "酽" "菸") 877 | ("yang" "样" "洋" "阳" "央" "杨" "养" "扬" "仰" "羊" "痒" "漾" "泱" "氧" "鸯" "秧" "殃" "恙" "疡" "烊" "佯" "鞅" "怏" "徉" "炀" "蛘") 878 | ("yao" "要" "摇" "药" "耀" "遥" "邀" "腰" "姚" "咬" "尧" "谣" "瑶" "窑" "夭" "肴" "妖" "吆" "钥" "侥" "杳" "窈" "鹞" "曜" "舀" "铫" "幺" "爻" "徭" "繇" "鳐" "珧" "轺" "崾") 879 | ("ye" "也" "业" "夜" "爷" "叶" "野" "页" "液" "耶" "咽" "曳" "拽" "揶" "噎" "烨" "冶" "椰" "掖" "腋" "谒" "邺" "靥" "晔" "铘") 880 | ("yi" "一" "以" "意" "已" "义" "议" "医" "易" "衣" "艺" "依" "译" "移" "异" "益" "亦" "亿" "疑" "遗" "忆" "宜" "椅" "伊" "仪" "谊" "抑" "翼" "矣" "役" "艾" "乙" "溢" "毅" "蛇" "裔" "逸" "姨" "夷" "轶" "怡" "蚁" "弈" "倚" "翌" "颐" "疫" "绎" "彝" "咦" "佚" "奕" "熠" "贻" "漪" "诣" "迤" "弋" "懿" "呓" "驿" "咿" "揖" "旖" "屹" "痍" "薏" "噫" "镒" "刈" "沂" "臆" "缢" "邑" "胰" "猗" "羿" "钇" "舣" "劓" "仡" "酏" "佾" "埸" "诒" "圯" "荑" "壹" "挹" "嶷" "饴" "嗌" "峄" "怿" "悒" "铱" "欹" "殪" "黟" "苡" "肄" "镱" "瘗" "癔" "翊" "蜴" "眙" "翳") 881 | ("yin" "因" "音" "引" "印" "银" "隐" "饮" "阴" "姻" "瘾" "吟" "寅" "殷" "淫" "茵" "荫" "尹" "蚓" "垠" "喑" "湮" "胤" "鄞" "氤" "霪" "圻" "铟" "狺" "吲" "夤" "堙" "龈" "洇" "茚" "窨") 882 | ("ying" "应" "英" "影" "营" "迎" "硬" "映" "赢" "盈" "颖" "鹰" "婴" "蝇" "樱" "莹" "荧" "膺" "萤" "萦" "莺" "罂" "瀛" "楹" "缨" "颍" "嬴" "鹦" "瑛" "茔" "嘤" "璎" "荥" "撄" "郢" "瘿" "蓥" "滢" "潆" "媵") 883 | ("yo" "哟" "唷") 884 | ("yong" "用" "永" "拥" "勇" "涌" "踊" "泳" "庸" "佣" "咏" "俑" "雍" "恿" "甬" "臃" "邕" "镛" "痈" "壅" "鳙" "饔" "喁" "墉" "蛹" "慵") 885 | ("you" "有" "又" "由" "友" "游" "右" "油" "优" "邮" "幽" "尤" "忧" "犹" "悠" "幼" "诱" "佑" "黝" "攸" "呦" "酉" "柚" "鱿" "莠" "囿" "鼬" "铀" "卣" "猷" "牖" "铕" "疣" "蚰" "蝣" "釉" "蝤" "繇" "莜" "侑" "莸" "宥" "蚴" "尢") 886 | ("yu" "于" "与" "语" "育" "余" "遇" "狱" "雨" "於" "欲" "预" "予" "鱼" "玉" "愈" "域" "誉" "吁" "宇" "寓" "豫" "愚" "舆" "粥" "郁" "喻" "羽" "娱" "裕" "愉" "禹" "浴" "馀" "御" "逾" "渔" "渝" "俞" "萸" "瑜" "隅" "驭" "迂" "揄" "圄" "谕" "榆" "屿" "淤" "毓" "虞" "禺" "谀" "妪" "腴" "峪" "竽" "芋" "妤" "臾" "欤" "龉" "觎" "盂" "昱" "煜" "熨" "燠" "窬" "蝓" "嵛" "狳" "伛" "俣" "舁" "圉" "庾" "菀" "蓣" "饫" "阈" "鬻" "瘐" "窳" "雩" "瘀" "纡" "聿" "钰" "鹆" "鹬" "蜮") 887 | ("yuan" "员" "元" "原" "院" "远" "愿" "园" "源" "圆" "怨" "缘" "援" "冤" "袁" "渊" "苑" "猿" "鸳" "辕" "垣" "媛" "沅" "橼" "芫" "爰" "螈" "鼋" "眢" "圜" "鸢" "箢" "塬" "垸" "掾" "瑗") 888 | ("yue" "月" "乐" "越" "约" "阅" "跃" "曰" "悦" "岳" "粤" "钥" "刖" "瀹" "栎" "樾" "龠" "钺") 889 | ("yun" "运" "云" "允" "韵" "晕" "孕" "匀" "蕴" "酝" "筠" "芸" "耘" "陨" "纭" "殒" "愠" "氲" "狁" "熨" "郓" "恽" "昀" "韫" "郧") 890 | ("za" "杂" "扎" "砸" "咋" "咂" "匝" "拶") 891 | ("zai" "在" "再" "载" "灾" "仔" "宰" "哉" "栽" "崽" "甾") 892 | ("zan" "咱" "赞" "暂" "攒" "簪" "糌" "瓒" "拶" "昝" "趱" "錾") 893 | ("zang" "藏" "脏" "葬" "赃" "臧" "锗" "奘" "驵") 894 | ("zao" "早" "造" "遭" "糟" "澡" "灶" "躁" "噪" "凿" "枣" "皂" "燥" "蚤" "藻" "缲" "唣") 895 | ("ze" "则" "责" "泽" "择" "咋" "啧" "仄" "迮" "笮" "箦" "舴" "帻" "赜" "昃") 896 | ("zei" "贼") 897 | ("zen" "怎" "谮") 898 | ("zeng" "增" "赠" "憎" "缯" "罾" "甑" "锃") 899 | ("zha" "炸" "扎" "咋" "诈" "乍" "眨" "渣" "札" "栅" "轧" "闸" "榨" "喳" "揸" "柞" "楂" "哳" "吒" "铡" "砟" "齄" "咤" "痄" "蚱") 900 | ("zhai" "摘" "债" "宅" "窄" "斋" "寨" "翟" "砦" "瘵") 901 | ("zhan" "战" "展" "站" "占" "沾" "斩" "辗" "粘" "盏" "崭" "瞻" "绽" "蘸" "湛" "詹" "毡" "栈" "谵" "搌" "旃") 902 | ("zhang" "长" "张" "章" "丈" "掌" "涨" "帐" "障" "账" "胀" "仗" "杖" "彰" "璋" "蟑" "樟" "瘴" "漳" "嶂" "鄣" "獐" "仉" "幛" "嫜") 903 | ("zhao" "着" "找" "照" "招" "朝" "赵" "召" "罩" "兆" "昭" "肇" "沼" "诏" "钊" "啁" "棹" "笊") 904 | ("zhe" "这" "着" "者" "折" "哲" "浙" "遮" "辙" "辄" "谪" "蔗" "蛰" "褶" "鹧" "锗" "磔" "摺" "蜇" "赭" "柘") 905 | ("zhen" "真" "阵" "镇" "震" "针" "珍" "圳" "振" "诊" "枕" "斟" "贞" "侦" "赈" "甄" "臻" "箴" "疹" "砧" "桢" "缜" "畛" "轸" "胗" "稹" "祯" "浈" "溱" "蓁" "椹" "榛" "朕" "鸩") 906 | ("zheng" "政" "正" "证" "整" "争" "征" "挣" "郑" "症" "睁" "徵" "蒸" "怔" "筝" "拯" "铮" "峥" "狰" "诤" "鲭" "钲" "帧") 907 | ("zhi" "之" "只" "知" "至" "制" "直" "治" "指" "支" "志" "职" "致" "值" "织" "纸" "止" "质" "执" "智" "置" "址" "枝" "秩" "植" "旨" "滞" "徵" "帜" "稚" "挚" "汁" "掷" "殖" "芝" "吱" "肢" "脂" "峙" "侄" "窒" "蜘" "趾" "炙" "痔" "咫" "芷" "栉" "枳" "踯" "桎" "帙" "栀" "祉" "轾" "贽" "痣" "豸" "卮" "轵" "埴" "陟" "郅" "黹" "忮" "彘" "骘" "酯" "摭" "絷" "跖" "膣" "雉" "鸷" "胝" "蛭" "踬" "祗" "觯") 908 | ("zhong" "中" "种" "重" "众" "终" "钟" "忠" "衷" "肿" "仲" "锺" "踵" "盅" "冢" "忪" "舯" "螽") 909 | ("zhou" "周" "州" "洲" "粥" "舟" "皱" "骤" "轴" "宙" "咒" "昼" "肘" "帚" "胄" "纣" "诌" "绉" "妯" "碡" "啁" "荮" "籀" "繇" "酎") 910 | ("zhu" "主" "住" "注" "助" "著" "逐" "诸" "朱" "驻" "珠" "祝" "猪" "筑" "竹" "煮" "嘱" "柱" "烛" "铸" "株" "瞩" "蛛" "伫" "拄" "贮" "洙" "诛" "褚" "铢" "箸" "蛀" "茱" "炷" "躅" "竺" "杼" "翥" "渚" "潴" "麈" "槠" "橥" "苎" "侏" "瘃" "疰" "邾" "舳") 911 | ("zhua" "抓" "爪") 912 | ("zhuai" "拽" "嘬") 913 | ("zhuan" "传" "专" "转" "赚" "撰" "砖" "篆" "啭" "馔" "颛") 914 | ("zhuang" "装" "状" "壮" "庄" "撞" "妆" "幢" "桩" "奘" "僮" "戆") 915 | ("zhui" "追" "坠" "缀" "锥" "赘" "隹" "椎" "惴" "骓" "缒") 916 | ("zhun" "准" "谆" "窀" "肫") 917 | ("zhuo" "着" "桌" "捉" "卓" "琢" "灼" "酌" "拙" "浊" "濯" "茁" "啄" "斫" "镯" "涿" "焯" "浞" "倬" "禚" "诼" "擢") 918 | ("zi" "子" "自" "字" "资" "咨" "紫" "滋" "仔" "姿" "吱" "兹" "孜" "梓" "渍" "籽" "姊" "恣" "滓" "谘" "龇" "秭" "呲" "辎" "锱" "眦" "笫" "髭" "淄" "茈" "觜" "訾" "缁" "耔" "鲻" "嵫" "赀" "孳" "粢" "趑") 919 | ("zong" "总" "宗" "纵" "踪" "综" "棕" "粽" "鬃" "偬" "腙" "枞") 920 | ("zou" "走" "奏" "邹" "揍" "驺" "鲰" "诹" "陬" "鄹") 921 | ("zu" "组" "足" "族" "祖" "租" "阻" "卒" "诅" "俎" "镞" "菹") 922 | ("zuan" "赚" "钻" "攥" "纂" "躜" "缵") 923 | ("zui" "最" "罪" "嘴" "醉" "咀" "觜" "蕞") 924 | ("zun" "尊" "遵" "樽" "鳟" "撙") 925 | ("zuo" "作" "做" "坐" "座" "左" "昨" "琢" "佐" "凿" "撮" "柞" "嘬" "怍" "胙" "唑" "笮" "阼" "祚" "酢") 926 | ))) 927 | 928 | ;;;_* py.el ends here 929 | 930 | ;;; Local Variables: 931 | ;;; allout-layout: (* 0 : ) 932 | ;;; End: 933 | -------------------------------------------------------------------------------- /eim-table.el: -------------------------------------------------------------------------------- 1 | ;;; eim-table.el --- Common function for table like chinese input method 2 | 3 | ;; Copyright (C) 2008 Free Software Foundation, Inc. 4 | ;; 5 | ;; Author: Ye Wenbin 6 | ;; Maintainer: Ye Wenbin 7 | ;; Created: 27 Apr 2008 8 | ;; Version: 0.01 9 | ;; Keywords: convenience 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;; - punctuation-list: A symbol to translate punctuation 28 | ;; - translate-chars: The first letter which will invoke reverse 29 | ;; search the code for char 30 | ;; - max-length: max input string length 31 | ;; - char-table: a obarray to search code for char 32 | ;; - all-completion-limit: A minimal length to add all completions 33 | ;; - table-create-word-function 34 | ;; 35 | ;; - table-user-file 36 | ;; - table-history-file 37 | 38 | ;; Put this file into your load-path and the following into your ~/.emacs: 39 | ;; (require 'eim-table) 40 | 41 | ;;; Code: 42 | 43 | (eval-when-compile 44 | (require 'cl)) 45 | (require 'eim) 46 | (require 'eim-extra) 47 | 48 | (defun eim-table-translate (char) 49 | (eim-punc-translate (symbol-value (eim-get-option 'punctuation-list)) 50 | char)) 51 | 52 | (defun eim-table-get-char-code (char) 53 | (eim-get-char-code char (eim-get-option 'char-table))) 54 | 55 | (defun eim-table-format (key cp tp choice) 56 | (if (memq (aref key 0) (eim-get-option 'translate-chars)) 57 | (setq choice 58 | (mapcar (lambda (c) 59 | (if (consp c) 60 | (setq c (car c))) 61 | (cons c 62 | (eim-table-get-char-code (aref c 0)))) 63 | choice))) 64 | (let ((i 0)) 65 | (format "%s[%d/%d]: %s" 66 | key cp tp 67 | (mapconcat 'identity 68 | (mapcar 69 | (lambda (c) 70 | (format "%d.%s " (setq i (1+ i)) 71 | (if (consp c) 72 | (concat (car c) (cdr c)) 73 | c))) 74 | choice) " ")))) 75 | 76 | ;;;_. 增加补全 77 | (defun eim-table-add-completion () 78 | (if (= (length eim-current-key) 1) 79 | t 80 | (let ((reg (concat "^" (regexp-quote eim-current-key))) 81 | (len (length eim-current-key)) 82 | (package eim-current-package) 83 | (key eim-current-key) 84 | line completion) 85 | (save-excursion 86 | (dolist (buf (mapcar 'cdar (eim-buffer-list))) 87 | (set-buffer buf) 88 | (setq eim-current-package package) 89 | (beginning-of-line) 90 | (if (or (string= (eim-code-at-point) key) 91 | (not (looking-at reg))) 92 | (forward-line 1)) 93 | (while (looking-at reg) 94 | (setq line (eim-line-content)) 95 | (mapc (lambda (c) 96 | (when (or (>= len (eim-get-option 'all-completion-limit)) 97 | (= (length c) 1)) 98 | (push (cons c (substring 99 | (car line) 100 | len)) 101 | completion))) 102 | (cdr line)) 103 | (forward-line 1)))) 104 | (setq completion (sort (delete-dups (nreverse completion)) 105 | (lambda (a b) 106 | (< (length (cdr a)) (length (cdr b)))))) 107 | ;; (message "%s, %s" eim-current-choices completion) 108 | (setcar eim-current-choices (append (car eim-current-choices) 109 | completion)) 110 | ;; (message "%s, %s" eim-current-choices completion)) 111 | t))) 112 | 113 | (defun eim-table-stop-function () 114 | (if (memq (aref eim-current-key 0) (eim-get-option 'translate-chars)) 115 | nil 116 | (> (length eim-current-key) (eim-get-option 'max-length)))) 117 | 118 | (defun eim-table-active-function () 119 | (setq eim-add-completion-function 'eim-table-add-completion 120 | eim-translate-function 'eim-table-translate 121 | eim-format-function 'eim-table-format 122 | eim-stop-function 'eim-table-stop-function)) 123 | 124 | ;; user file and history file 125 | ;;;_. eim-wb-add-user-file 126 | (defun eim-table-add-user-file (file) 127 | (when file 128 | (let* ((buflist (eim-buffer-list)) 129 | (ufile (expand-file-name file)) 130 | user-buffer) 131 | (or (file-exists-p ufile) 132 | (setq ufile (locate-file file load-path))) 133 | (when (and ufile (file-exists-p ufile)) 134 | ;; make sure the file not load again 135 | (mapc (lambda (buf) 136 | (if (string= (expand-file-name (cdr (assoc "file" buf))) 137 | ufile) 138 | (setq user-buffer (cdr (assoc "buffer" buf))))) 139 | buflist) 140 | (unless user-buffer 141 | (save-excursion 142 | (setq file (eim-read-file ufile (format eim-buffer-name-format 143 | (eim-package-name))))) 144 | (eim-table-add-user-char) 145 | (nconc buflist (list file)) 146 | (eim-set-option 'table-user-file (cons ufile (cdar file)))))))) 147 | 148 | (defun eim-table-add-user-char () 149 | "Add user characters. Currently eim-wb may not contain all 150 | chinese characters, so if you want more characters to input, you 151 | can add here." 152 | (let (line chars) 153 | (save-excursion 154 | (goto-char (point-min)) 155 | (while (not (eobp)) 156 | (setq line (eim-line-content)) 157 | (forward-line 1) 158 | (if (and (= (length (cadr line)) 1) 159 | (> (length (car line)) 2)) 160 | (push line chars))) 161 | (eim-make-char-table chars (eim-get-option 'char-table))))) 162 | 163 | (defun eim-table-load-history (his-file) 164 | (when (and his-file (file-exists-p his-file)) 165 | (ignore-errors 166 | (eim-load-history his-file eim-current-package) 167 | (eim-set-option 'record-position t) 168 | (eim-set-option 'table-history-file his-file)))) 169 | 170 | (defun eim-table-save-history () 171 | "Save history and user files." 172 | (dolist (package eim-package-list) 173 | (let* ((eim-current-package (cdr package)) 174 | (his-file (eim-get-option 'table-history-file)) 175 | (user-file (eim-get-option 'table-user-file))) 176 | (when (and his-file 177 | (file-exists-p his-file) 178 | (file-writable-p his-file)) 179 | (eim-save-history his-file eim-current-package)) 180 | (when (and user-file 181 | (file-exists-p (car user-file)) 182 | (file-writable-p (car user-file))) 183 | (with-current-buffer (cdr user-file) 184 | (save-restriction 185 | (widen) 186 | (write-region (point-min) (point-max) (car user-file)))))))) 187 | ;; 按 TAB 显示补全 188 | (defun eim-table-show-completion () 189 | (interactive) 190 | (if (eq last-command 'eim-table-show-completion) 191 | (ignore-errors 192 | (with-selected-window (get-buffer-window "*Completions*") 193 | (scroll-up))) 194 | (if (or (= (length eim-current-key) 1) (= (aref eim-current-key 0) ?z)) 195 | nil 196 | (while (not (eim-add-completion))) 197 | (let ((choices (car eim-current-choices)) 198 | completion) 199 | (dolist (c choices) 200 | (if (listp c) 201 | (push (list (format "%-4s %s" 202 | (concat eim-current-key (cdr c)) 203 | (car c))) 204 | completion))) 205 | (with-output-to-temp-buffer "*Completions*" 206 | (display-completion-list 207 | (all-completions eim-current-key (nreverse completion)) 208 | eim-current-key))))) 209 | (funcall eim-handle-function)) 210 | 211 | ;; 增加新词 212 | (defvar eim-table-minibuffer-map nil) 213 | (defvar eim-table-save-always nil) 214 | (when (null eim-table-minibuffer-map) 215 | (setq eim-table-minibuffer-map 216 | (let ((map (make-sparse-keymap))) 217 | (set-keymap-parent map minibuffer-local-map) 218 | (define-key map "\C-e" 'eim-table-minibuffer-forward-char) 219 | (define-key map "\C-a" 'eim-table-minibuffer-backward-char) 220 | map))) 221 | ;;;_. 增加新词 222 | (defun eim-table-minibuffer-forward-char () 223 | (interactive) 224 | (end-of-line) 225 | (let ((char (save-excursion 226 | (set-buffer buffer) 227 | (char-after end)))) 228 | (when char 229 | (insert char) 230 | (incf end)))) 231 | 232 | (defun eim-table-minibuffer-backward-char () 233 | (interactive) 234 | (beginning-of-line) 235 | (let ((char (save-excursion 236 | (set-buffer buffer) 237 | (when (>= start (point-min)) 238 | (decf start) 239 | (char-after start))))) 240 | (when char 241 | (insert char)))) 242 | 243 | (defun eim-table-add-word () 244 | "Create a map for word. The default word is the two characters 245 | before cursor. You can use C-a and C-e to add character at the 246 | begining or end of the word. 247 | 248 | 默认新词为光标前的两个字,通过两个按键延长这个词: 249 | C-e 在头部加入一个字 250 | C-a 在尾部加入一个字 251 | " 252 | (interactive) 253 | (let* ((buffer (current-buffer)) 254 | (end (point)) 255 | (start (- (point) 2)) 256 | (word (buffer-substring-no-properties 257 | start end)) 258 | (user-file (eim-get-option 'table-user-file)) 259 | (func (eim-get-option 'table-create-word-function)) 260 | choice code words) 261 | (when func 262 | (setq word (read-from-minibuffer "加入新词: " word 263 | eim-table-minibuffer-map) 264 | code (funcall func word)) 265 | (setq choice (eim-get code)) 266 | (unless (member word (car choice)) 267 | (if (buffer-live-p (cdr user-file)) 268 | (save-excursion 269 | (set-buffer (cdr user-file)) 270 | (if (string-match "^\\s-$" (buffer-string)) 271 | (insert "\n" code " " word) 272 | (eim-bisearch-word code (point-min) (point-max)) 273 | (let ((words (eim-line-content))) 274 | (goto-char (line-end-position)) 275 | (if (string= (car words) code) 276 | (insert " " word) 277 | (insert "\n" code " " word)))) 278 | (setcar choice (append (car choice) (list word))) 279 | (if eim-table-save-always 280 | (save-restriction 281 | (widen) 282 | (write-region (point-min) (point-max) (car user-file))))) 283 | (error "the user buffer is closed!"))))) 284 | (message nil)) 285 | 286 | (add-hook 'kill-emacs-hook 'eim-table-save-history) 287 | 288 | (provide 'eim-table) 289 | ;;; eim-table.el ends here 290 | -------------------------------------------------------------------------------- /eim-wb.el: -------------------------------------------------------------------------------- 1 | ;; -*- coding: utf-8 -*- 2 | ;;; eim-wb.el --- emacs chinese wubi input method for eim 3 | 4 | ;; Copyright 2006 Ye Wenbin 5 | ;; 6 | ;; Author: wenbinye@163.com 7 | ;; Version: $Id: eim-wb.el,v 1.3 2007/01/14 02:01:48 ywb Exp $ 8 | ;; Keywords: 9 | ;; X-URL: not distributed yet 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Features: 26 | ;; 1. 能导入输入历史 27 | ;; 2. 提供造词的命令 28 | ;; 3. 提供候选的单字 29 | ;; 4. 拼音输入,提示五笔字根 30 | ;; 5. 处理标点 31 | ;; 6. 使用 ; ' 快速选择 32 | 33 | ;;; Commentary: 34 | 35 | ;;;_* Code: 36 | 37 | (eval-when-compile 38 | (require 'cl)) 39 | 40 | (require 'eim-table) 41 | 42 | (defgroup eim-wb nil 43 | "eim wubi input method" 44 | :group 'eim) 45 | 46 | (defcustom eim-wb-history-file "~/.emacs.d/wbx-history" 47 | "保存选择的历史记录" 48 | :type 'file 49 | :group 'eim-wb) 50 | 51 | (defcustom eim-wb-user-file "mywb.txt" 52 | "保存用户自造词" 53 | :type 'file 54 | :group 'eim-wb) 55 | 56 | (defcustom eim-wb-save-always nil 57 | "是否每次加入新词都要保存。 58 | 当然设置为 nil,也会在退出 emacs 里保存一下的。" 59 | :type 'boolean 60 | :group 'eim-wb) 61 | 62 | (defcustom eim-wb-add-all-completion-limit 3 63 | "在超过输入字符串超过这个长度时会添加所有补全。" 64 | :type 'integer 65 | :group 'eim-wb) 66 | 67 | (defvar eim-wb-load-hook nil) 68 | (defvar eim-wb-package nil) 69 | (defvar eim-wb-char-table (make-vector 1511 0)) 70 | (defvar eim-wb-punctuation-list nil) 71 | (defvar eim-wb-initialized nil) 72 | 73 | (defun eim-wb-create-word (word) 74 | "Insert word to database and write into user file" 75 | (let ((len (length word)) 76 | code) 77 | (setq code 78 | (cond 79 | ((= len 2) 80 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 2) 81 | (substring (eim-table-get-char-code (aref word 1)) 0 2))) 82 | ((= len 3) 83 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 1) 84 | (substring (eim-table-get-char-code (aref word 1)) 0 1) 85 | (substring (eim-table-get-char-code (aref word 2)) 0 2))) 86 | (t 87 | (concat (substring (eim-table-get-char-code (aref word 0)) 0 1) 88 | (substring (eim-table-get-char-code (aref word 1)) 0 1) 89 | (substring (eim-table-get-char-code (aref word 2)) 0 1) 90 | (substring (eim-table-get-char-code (aref word (1- (length word)))) 0 1))))))) 91 | 92 | ;;;_. load it 93 | (unless eim-wb-initialized 94 | (setq eim-wb-package eim-current-package) 95 | (setq eim-wb-punctuation-list 96 | (eim-read-punctuation eim-wb-package)) 97 | (let ((map (eim-mode-map))) 98 | (define-key map "\t" 'eim-table-show-completion) 99 | (define-key map ";" 'eim-quick-select-1) 100 | (define-key map "'" 'eim-quick-select-2)) 101 | (defvar eim-wb-use-gbk nil) 102 | (let ((path (file-name-directory load-file-name))) 103 | (load (concat path 104 | (if (and (boundp 'eim-wb-use-gbk) 105 | eim-wb-use-gbk) 106 | "eim-wb-gbk" "eim-wb-gb2312")))) 107 | 108 | (eim-table-add-user-file eim-wb-user-file) 109 | (eim-table-load-history eim-wb-history-file) 110 | (run-hooks 'eim-wb-load-hook) 111 | (eim-set-option 'table-create-word-function 'eim-wb-create-word) 112 | (eim-set-option 'punctuation-list 'eim-wb-punctuation-list) 113 | (eim-set-option 'max-length 4) 114 | (eim-set-option 'translate-chars '(?z)) 115 | (eim-set-option 'all-completion-limit eim-wb-add-all-completion-limit) 116 | (eim-set-option 'char-table eim-wb-char-table) 117 | (eim-set-active-function 'eim-table-active-function) 118 | (setq eim-wb-initialized t)) 119 | 120 | (provide 'eim-wb) 121 | ;;; eim-wb.el ends here 122 | -------------------------------------------------------------------------------- /eim.el: -------------------------------------------------------------------------------- 1 | ;;; -*- coding: utf-8 -*- 2 | ;;; eim.el --- Emacs Input method 3 | 4 | ;; Copyright 2006 Ye Wenbin 5 | ;; 6 | ;; Author: wenbinye@163.com 7 | ;; Version: $Id: eim.el,v 1.5 2007/01/14 01:50:15 ywb Exp $ 8 | ;; Keywords: 9 | ;; X-URL: not distributed yet 10 | 11 | ;; This program is free software; you can redistribute it and/or modify 12 | ;; it under the terms of the GNU General Public License as published by 13 | ;; the Free Software Foundation; either version 2, or (at your option) 14 | ;; any later version. 15 | ;; 16 | ;; This program is distributed in the hope that it will be useful, 17 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of 18 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 | ;; GNU General Public License for more details. 20 | ;; 21 | ;; You should have received a copy of the GNU General Public License 22 | ;; along with this program; if not, write to the Free Software 23 | ;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 24 | 25 | ;;; Commentary: 26 | 27 | ;; 28 | 29 | ;; Put this file into your load-path and the following into your ~/.emacs: 30 | ;; (add-to-list 'load-path "~/.emacs.d/site-lisp/eim") 31 | ;; (autoload 'eim-use-package "eim" "Another emacs input method") 32 | 33 | ;; (register-input-method 34 | ;; "eim-wb" "euc-cn" 'eim-use-package 35 | ;; "五笔" "汉字五笔输入法" "wb.txt") 36 | ;; (register-input-method 37 | ;; "eim-py" "euc-cn" 'eim-use-package 38 | ;; "拼音" "汉字拼音输入法" "py.txt") 39 | 40 | ;;; Code: 41 | 42 | (provide 'eim) 43 | (eval-when-compile 44 | (require 'cl)) 45 | (require 'help-mode) 46 | 47 | (defvar eim-version "2.4") 48 | 49 | ;;;_. emacs21 compatible 50 | (when (not (fboundp 'number-sequence)) 51 | (defun number-sequence (from &optional to inc) 52 | (if (and to (<= from to)) 53 | (cons from 54 | (number-sequence (+ from (or inc 1)) to inc))))) 55 | 56 | (when (not (fboundp 'delete-dups)) 57 | (defun delete-dups (list) 58 | "Destructively remove `equal' duplicates from LIST. 59 | Store the result in LIST and return it. LIST must be a proper list. 60 | Of several `equal' occurrences of an element in LIST, the first 61 | one is kept." 62 | (let ((tail list)) 63 | (while tail 64 | (setcdr tail (delete (car tail) (cdr tail))) 65 | (setq tail (cdr tail)))) 66 | list)) 67 | 68 | ;;;_. customize varable 69 | (defgroup eim nil 70 | "eim: emacs input method" 71 | :group 'leim) 72 | (defvar eim-page-length 7 "每页显示的词条数目") 73 | 74 | (defface eim-string-face '((t (:underline t))) 75 | "Face to show current string" 76 | :group 'eim) 77 | 78 | ;;;_. variable declare 79 | (defvar eim-package-list nil "所有正在使用的输入法") 80 | (defvar eim-current-package (make-vector 5 nil) 81 | "当前使用的输入法,一个 vector,有五个部分: package-name, 82 | buffer-list,history, keymap, active-function. 83 | 84 | buffer-list 中的每个 buffer 是这样的一个 Association List: 85 | ---------------------------------------- 86 | buffer 对应的 buffer 87 | param Parameter 部分的参数 88 | file 对应的文件名 89 | ") 90 | (defvar eim-first-char (number-sequence ?a ?z) "Table 中所有首字母列表") 91 | (defvar eim-total-char (number-sequence ?a ?z) "所有可能的字符") 92 | (defvar eim-do-completion t "是否读入可能的补全") 93 | 94 | (defvar eim-current-key "" "已经输入的代码") 95 | (defvar eim-current-str "" "当前选择的词条") 96 | (defvar eim-current-choices nil "所有可选的词条。 97 | 98 | 这个 list 的 CAR 是可选的词条,一般是一个字符串列表,但是也可以含有 99 | list。但是这个 list 的第一个元素必须是将要插入的字符串。 100 | 101 | CDR 部分是一个 Association list。通常含有这样的内容: 102 | --------------------------- 103 | pos 上次选择的位置 104 | completion 下一个可能的字母(如果 eim-do-completion 为 t) 105 | ") 106 | (defvar eim-current-pos nil "当前选择的词条在 eim-current-choices 中的位置") 107 | (defvar eim-guidance-str "" "显示可选词条的字符串") 108 | (defvar eim-translating nil "记录是否在转换状态") 109 | (defvar eim-overlay nil "显示当前选择词条的 overlay") 110 | (defvar eim-guidance-frame nil) 111 | (defvar eim-guidance-buf nil) 112 | 113 | (defvar eim-load-hook nil) 114 | (defvar eim-active-hook nil) 115 | 116 | (defvar eim-stop-function nil) 117 | (defvar eim-translate-function nil) 118 | (defvar eim-add-completion-function nil) 119 | (defvar eim-format-function 'eim-format) 120 | (defvar eim-handle-function 'eim-handle-string) 121 | 122 | (defvar eim-use-tooltip (not (or noninteractive 123 | emacs-basic-display 124 | (not (display-graphic-p)) 125 | (not (fboundp 'x-show-tip))))) 126 | (defvar eim-tooltip-timeout 15) 127 | 128 | (defvar eim-buffer-name-format " *%s*" 129 | "buffer 的名字格式,%s 对应 package name") 130 | 131 | (defvar eim-mode-map 132 | (let ((map (make-sparse-keymap)) 133 | (i ?\ )) 134 | (while (< i 127) 135 | (define-key map (char-to-string i) 'eim-self-insert-command) 136 | (setq i (1+ i))) 137 | (setq i 128) 138 | (while (< i 256) 139 | (define-key map (vector i) 'eim-self-insert-command) 140 | (setq i (1+ i))) 141 | (dolist (i (number-sequence ?1 ?9)) 142 | (define-key map (char-to-string i) 'eim-number-select)) 143 | (define-key map " " 'eim-select-current) 144 | (define-key map [backspace] 'eim-delete-last-char) 145 | (define-key map [delete] 'eim-delete-last-char) 146 | (define-key map "\177" 'eim-delete-last-char) 147 | (define-key map "\C-n" 'eim-next-page) 148 | (define-key map "\C-p" 'eim-previous-page) 149 | (define-key map "\C-m" 'eim-quit-no-clear) 150 | (define-key map "\C-c" 'eim-quit-clear) 151 | (define-key map "\C-g" 'eim-quit-clear) 152 | map) 153 | "Keymap") 154 | 155 | (defvar eim-local-variable-list 156 | '(eim-current-package 157 | 158 | eim-page-length 159 | eim-first-char 160 | eim-total-char 161 | eim-do-completion 162 | 163 | eim-current-key 164 | eim-current-str 165 | eim-current-choices 166 | eim-current-pos 167 | eim-guidance-str 168 | eim-translating 169 | eim-overlay 170 | eim-guidance-frame 171 | eim-guidance-buf 172 | 173 | eim-load-hook 174 | eim-active-hook 175 | 176 | eim-translate-function 177 | eim-format-function 178 | eim-handle-function 179 | eim-add-completion-function 180 | eim-stop-function 181 | 182 | input-method-function 183 | inactivate-current-input-method-function 184 | describe-current-input-method-function) 185 | "A list of buffer local variable") 186 | 187 | (dolist (var eim-local-variable-list) 188 | (make-variable-buffer-local var) 189 | (put var 'permanent-local t)) 190 | 191 | ;;;_ , package contents 192 | (defsubst eim-package-name () 193 | (aref eim-current-package 0)) 194 | 195 | (defsubst eim-buffer-list () 196 | (aref eim-current-package 1)) 197 | 198 | (defsubst eim-history () 199 | "保存输入过的词的选择,另一方面加快搜索。另外在这里来处理标点。 200 | 这个散列中的每个元素都有这样的格式: 201 | ((list WORDS) other-properties) 202 | OTHER-PROPERTIES 是一些其它的属性,比如,上次的位置,用来输入标点等。" 203 | (aref eim-current-package 2)) 204 | 205 | (defsubst eim-mode-map () 206 | (aref eim-current-package 3)) 207 | 208 | (defsubst eim-options () 209 | (aref eim-current-package 4)) 210 | 211 | (defsubst eim-active-function () 212 | (aref eim-current-package 5)) 213 | 214 | (defsubst eim-set-package-name (name) 215 | (aset eim-current-package 0 name)) 216 | 217 | (defsubst eim-set-buffer-list (list) 218 | (aset eim-current-package 1 list)) 219 | 220 | (defsubst eim-set-history (history) 221 | (aset eim-current-package 2 history)) 222 | 223 | (defsubst eim-set-mode-map (map) 224 | (aset eim-current-package 3 map)) 225 | 226 | (defsubst eim-set-options (options) 227 | (aset eim-current-package 4 options)) 228 | 229 | (defsubst eim-set-active-function (func) 230 | (aset eim-current-package 5 func)) 231 | 232 | (defun eim-get-option (option) 233 | (cdr (assoc option (eim-options)))) 234 | (defun eim-set-option (option flag) 235 | (let ((options (eim-options)) 236 | opt) 237 | (if (setq opt (assoc option options)) 238 | (setcdr opt flag) 239 | (push (cons option flag) options) 240 | (eim-set-options options)))) 241 | 242 | ;;;_. read file functions 243 | (defun eim-load-file (file) 244 | (let ((bufname (format eim-buffer-name-format (eim-package-name))) 245 | buflist buf param files) 246 | (save-excursion 247 | (setq buf (eim-read-file file bufname t)) 248 | (setq param (cdr (assoc "param" buf))) 249 | (setq buflist (append buflist (list buf))) 250 | (when (setq files (assoc "other-files" param)) 251 | (setq files (split-string (cadr files) ";")) 252 | (dolist (f files) 253 | (if (file-exists-p (expand-file-name f)) 254 | (setq f (expand-file-name f)) 255 | (setq f (locate-file f load-path))) 256 | (setq buflist (append buflist (list (eim-read-file f bufname)))))) 257 | buflist))) 258 | 259 | (defun eim-read-file (file name &optional read-param) 260 | (let* (param region) 261 | (set-buffer (generate-new-buffer name)) 262 | (insert-file-contents file) 263 | (if read-param 264 | (setq param (eim-read-parameters))) 265 | (setq region (eim-section-region "Table")) 266 | (narrow-to-region (car region) (cdr region)) 267 | `(("buffer" . ,(current-buffer)) 268 | ("param" . ,param) 269 | ("file" . ,file)))) 270 | 271 | (defun eim-section-region (sec) 272 | "得到一个部分的起点和终点位置,忽略最后的空行" 273 | (let ((reg (concat "^\\[" sec "\\]\n"))) 274 | (save-excursion 275 | (if (not (re-search-forward reg nil t)) 276 | (if (re-search-backward reg nil t) 277 | (forward-line 1) 278 | (error "文件类型错误!没有 %s 部分!" sec))) 279 | (cons (point) (progn 280 | (if (re-search-forward "^\\[\\sw+\\]\n" nil t) 281 | (forward-line -1) 282 | (goto-char (point-max))) 283 | (re-search-backward "[^ \t\n]" nil t) 284 | (1+ (point))))))) 285 | 286 | (defun eim-read-parameters () 287 | "得到 [Parameter] 部分的参数,以 assoc list 的形式返回" 288 | (let* ((r (eim-section-region "Parameter")) 289 | param pair) 290 | (goto-char (car r)) 291 | (while (< (point) (cdr r)) 292 | (when (setq pair (eim-line-content "=" t)) 293 | (add-to-list 'param pair)) 294 | (forward-line 1)) 295 | param)) 296 | 297 | ;;;_. common functions 298 | 299 | (defsubst eim-delete-region () 300 | "Delete the text in the current translation region of E+." 301 | (if (overlay-start eim-overlay) 302 | (delete-region (overlay-start eim-overlay) 303 | (overlay-end eim-overlay)))) 304 | 305 | ;;; steal from emms-compat.el. Is this a good idea? 306 | (when (not (fboundp 'emms-delete-if)) 307 | (defun emms-delete-if (predicate seq) 308 | "Remove all items satisfying PREDICATE in SEQ. 309 | This is a destructive function: it reuses the storage of SEQ 310 | whenever possible." 311 | ;; remove from car 312 | (while (when (funcall predicate (car seq)) 313 | (setq seq (cdr seq)))) 314 | ;; remove from cdr 315 | (let ((ptr seq) 316 | (next (cdr seq))) 317 | (while next 318 | (when (funcall predicate (car next)) 319 | (setcdr ptr (if (consp next) 320 | (cdr next) 321 | nil))) 322 | (setq ptr (cdr ptr)) 323 | (setq next (cdr ptr)))) 324 | seq)) 325 | 326 | (defun eim-subseq (list from &optional to) 327 | (if (null to) (nthcdr from list) 328 | (butlast (nthcdr from list) (- (length list) to)))) 329 | 330 | (defun eim-mod (x y) 331 | "like `mod', but when result is 0, return Y" 332 | (let ((base (mod x y))) 333 | (if (= base 0) 334 | y 335 | base))) 336 | 337 | (defun eim-string-emptyp (str) 338 | (not (string< "" str))) 339 | 340 | (defun eim-line-content (&optional seperaters omit-nulls) 341 | "用 SEPERATERS 分解当前行,所有参数传递给 split-string 函数" 342 | (let ((items (split-string 343 | (buffer-substring-no-properties 344 | (line-beginning-position) 345 | (line-end-position)) seperaters))) 346 | (if omit-nulls 347 | (emms-delete-if 'eim-string-emptyp items) 348 | items))) 349 | 350 | (defsubst eim-delete-line () 351 | (delete-region (line-beginning-position) (min (+ (line-end-position) 1) 352 | (point-max)))) 353 | 354 | (defsubst eim-append-string (str) 355 | "append STR to eim-current-str" 356 | (setq eim-current-str (concat eim-current-str str))) 357 | 358 | ;;;_. code search 359 | (defun eim-get (code) 360 | (when (and (stringp code) (not (eim-string-emptyp code))) 361 | (let ((history (gethash code (eim-history))) 362 | pos words completions) 363 | (if (and (car history) (assoc "completions" (cdr history))) 364 | history 365 | (dolist (buf (eim-buffer-list)) 366 | (with-current-buffer (cdr (assoc "buffer" buf)) 367 | (setq words (append words 368 | (cdr 369 | (eim-bisearch-word code 370 | (point-min) 371 | (point-max))))) 372 | (if eim-do-completion 373 | (setq completions (eim-completions code completions))))) 374 | (setq words (delete-dups words)) 375 | (puthash code (list words 376 | (cons "pos" (or (cdr (assoc "pos" (cdr history))) 1)) 377 | (cons "completions" completions)) 378 | (eim-history)))))) 379 | 380 | (defun eim-completions (code completions) 381 | (let ((maxln 200) 382 | (cnt 0) 383 | (len (length code)) 384 | (reg (concat "^" (regexp-quote code)))) 385 | (save-excursion 386 | (forward-line 1) 387 | (while (and (looking-at reg) 388 | (< cnt maxln)) 389 | (add-to-list 'completions (buffer-substring-no-properties 390 | (+ (point) len) 391 | (+ (point) len 1))) 392 | (forward-line 1) 393 | (setq cnt (1+ cnt))) 394 | completions))) 395 | 396 | (defun eim-bisearch-word (code start end) 397 | (let ((mid (/ (+ start end) 2)) 398 | ccode) 399 | (goto-char mid) 400 | (beginning-of-line) 401 | (setq ccode (eim-code-at-point)) 402 | ;; (message "%d, %d, %d: %s" start mid end ccode) 403 | (if (string= ccode code) 404 | (eim-line-content) 405 | (if (> mid start) 406 | (if (string< ccode code) 407 | (eim-bisearch-word code mid end) 408 | (eim-bisearch-word code start mid)))))) 409 | 410 | (defun eim-code-at-point () 411 | "Before calling this function, be sure that the point is at the 412 | beginning of line" 413 | (save-excursion 414 | (if (re-search-forward "[ \t]" (line-end-position) t) 415 | (buffer-substring-no-properties (line-beginning-position) (1- (point))) 416 | (error "文件类型错误!%s 的第 %d 行没有词条!" (buffer-name) (line-number-at-pos))))) 417 | 418 | ;;;_. interface 419 | (defun eim-check-buffers () 420 | "检查所有的 buffer 是否还存在,如果不存在,重新打开文件,如果文件不 421 | 存在,从 buffer-list 中删除这个 buffer" 422 | (let ((buflist (eim-buffer-list)) 423 | (bufname (eim-package-name)) 424 | buffer file) 425 | (dolist (buf buflist) 426 | (unless (buffer-live-p (cdr (setq buffer (assoc "buffer" buf)))) 427 | (if (file-exists-p (setq file (cdr (assoc "file" buf)))) 428 | (with-current-buffer (format "*%s*" (generate-new-buffer bufname)) 429 | (insert-file-contents file) 430 | (setcdr buffer (current-buffer))) 431 | (message "%s for %s is not exists!" file bufname) 432 | (setq buflist (remove buf buflist))))) 433 | t)) 434 | 435 | (defun eim-install-variable () 436 | (let ((param (cdr (assoc "param" (car (eim-buffer-list)))))) 437 | (mapc (lambda (p) 438 | (let ((sym (intern-soft (concat "eim-" (car p))))) 439 | (if sym 440 | (set sym (mapconcat 'identity (cdr p) "="))))) 441 | param) 442 | (if (stringp eim-page-length) 443 | (setq eim-page-length (string-to-number eim-page-length))) 444 | (setq eim-first-char (append eim-first-char nil) 445 | eim-total-char (append eim-total-char nil)))) 446 | 447 | ;;;_ , eim-use-package 448 | (defun eim-use-package (package-name &optional word-file active-func) 449 | (interactive) 450 | (mapc 'kill-local-variable eim-local-variable-list) 451 | (mapc 'make-local-variable eim-local-variable-list) 452 | (if (assoc package-name eim-package-list) 453 | (setq eim-current-package (cdr (assoc package-name 454 | eim-package-list))) 455 | ;; make more room for extension 456 | (setq eim-current-package (make-vector 9 nil))) 457 | (if (functionp active-func) 458 | (funcall active-func)) 459 | (unless (and (eim-package-name) 460 | (eim-check-buffers)) 461 | (if (and word-file 462 | (if (file-exists-p (expand-file-name word-file)) 463 | (setq word-file (expand-file-name word-file)) 464 | (setq word-file (locate-file word-file load-path)))) 465 | (progn 466 | (eim-set-package-name package-name) 467 | (eim-set-buffer-list (eim-load-file word-file)) 468 | (eim-set-history (make-hash-table :test 'equal)) 469 | (eim-set-mode-map (let ((map (make-sparse-keymap))) 470 | (set-keymap-parent map eim-mode-map) 471 | map)) 472 | (add-to-list 'eim-package-list (cons package-name eim-current-package)) 473 | (let ((param (cdr (assoc "param" (car (eim-buffer-list)))))) 474 | (if (assoc "lib" param) 475 | (load (cadr (assoc "lib" param))))) 476 | (run-hooks 'eim-load-hook) 477 | (message nil)) 478 | (error "没有这个文件: %s" word-file))) 479 | (eim-install-variable) 480 | (setq input-method-function 'eim-input-method) 481 | (setq inactivate-current-input-method-function 'eim-inactivate) 482 | (setq describe-current-input-method-function 'eim-help) 483 | ;; If we are in minibuffer, turn off the current input method 484 | ;; before exiting. 485 | (when (eq (selected-window) (minibuffer-window)) 486 | (add-hook 'minibuffer-exit-hook 'eim-exit-from-minibuffer)) 487 | (run-hooks 'eim-active-hook) 488 | (if (functionp (eim-active-function)) 489 | (funcall (eim-active-function)))) 490 | 491 | (defun eim-inactivate () 492 | (interactive) 493 | (mapc 'kill-local-variable eim-local-variable-list)) 494 | 495 | (defun eim-help (&optional package) 496 | "Show input method docstring" 497 | (save-excursion 498 | (let ((map (eim-mode-map)) 499 | (elt (assoc (eim-package-name) input-method-alist)) 500 | reg desc docstr buf) 501 | (setq buf (cdr (assoc "buffer" (car (eim-buffer-list))))) 502 | (set-buffer buf) 503 | (save-restriction 504 | (widen) 505 | (setq reg (condition-case err 506 | (eim-section-region "Description") 507 | (error nil)) 508 | desc (if reg 509 | (buffer-substring-no-properties (car reg) (cdr reg)) 510 | "") 511 | docstr (format "Input method: %s (`%s' in mode line) for %s\n %s\n%s\n\n%s\n" 512 | (nth 0 elt) (nth 3 elt) (nth 1 elt) (nth 4 elt) 513 | desc 514 | (substitute-command-keys "\\{map}"))) 515 | (help-setup-xref (list #'describe-input-method (nth 0 elt)) 516 | (interactive-p)) 517 | (with-output-to-temp-buffer (help-buffer) 518 | (princ docstr)))))) 519 | 520 | ;;;_ , page format 521 | (defsubst eim-choice (choice) 522 | (if (consp choice) 523 | (car choice) 524 | choice)) 525 | 526 | (defun eim-add-completion () 527 | "注意, eim-add-completion-function 在没有完补全之前返回 nil, 在加完所 528 | 有补全之后一定要返回一个 t" 529 | (if (functionp eim-add-completion-function) 530 | (funcall eim-add-completion-function) 531 | t)) 532 | 533 | (defun eim-format (key cp tp choice) 534 | (let ((i 0)) 535 | (format "%s[%d/%d]: %s" 536 | key cp tp 537 | (mapconcat 'identity 538 | (mapcar 539 | (lambda (c) 540 | (format "%d.%s " (setq i (1+ i)) c)) 541 | choice) " ")))) 542 | 543 | (defun eim-format-page () 544 | "按当前位置,生成候选词条" 545 | (let ((end (eim-page-end))) 546 | (if (car eim-current-choices) 547 | (let* ((start (1- (eim-page-start))) 548 | (choices (car eim-current-choices)) 549 | (choice (eim-subseq choices start end)) 550 | (pos (1- (min eim-current-pos (length choices)))) 551 | (i 0)) 552 | (setq eim-current-str (eim-choice (nth pos choices))) 553 | (setq eim-guidance-str 554 | (funcall eim-format-function eim-current-key (eim-current-page) 555 | (eim-total-page) choice)) 556 | ;; (message "%d, %s, %s" pos eim-current-str eim-guidance-str) 557 | (eim-show)) 558 | (setq eim-current-str eim-current-key) 559 | (setq eim-guidance-str 560 | (concat eim-current-key 561 | (if (cdr (assoc "completions" (cdr eim-current-choices))) 562 | (format "[%s]: " 563 | (mapconcat 'identity 564 | (cdr (assoc 565 | "completions" 566 | (cdr eim-current-choices))) 567 | ""))))) 568 | (eim-show)))) 569 | 570 | (defun eim-current-page () 571 | (1+ (/ (1- eim-current-pos) eim-page-length))) 572 | 573 | (defun eim-total-page () 574 | (1+ (/ (1- (length (car eim-current-choices))) eim-page-length))) 575 | 576 | (defun eim-page-start () 577 | "计算当前所在页的第一个词条的位置" 578 | (let ((pos (min (length (car eim-current-choices)) eim-current-pos))) 579 | (1+ (- pos (eim-mod pos eim-page-length))))) 580 | 581 | (defun eim-page-end (&optional finish) 582 | "计算当前所在页的最后一个词条的位置,如果 eim-current-choices 用 583 | 完,则检查是否有补全。如果 FINISH 为 non-nil,说明,补全已经用完了" 584 | (let* ((whole (length (car eim-current-choices))) 585 | (len eim-page-length) 586 | (pos eim-current-pos) 587 | (last (+ (- pos (eim-mod pos len)) len))) 588 | (if (< last whole) 589 | last 590 | (if finish 591 | whole 592 | (eim-page-end (eim-add-completion)))))) 593 | 594 | ;;;_ , commands 595 | (defun eim-next-page (arg) 596 | (interactive "p") 597 | (if (> (length eim-current-key) 0) 598 | (let ((new (+ eim-current-pos (* eim-page-length arg) 1))) 599 | (setq eim-current-pos (if (> new 0) new 1) 600 | eim-current-pos (eim-page-start)) 601 | (eim-format-page)) 602 | (message "%c" last-command-event) 603 | (eim-append-string (eim-translate last-command-event)) 604 | (eim-terminate-translation))) 605 | 606 | (defun eim-previous-page (arg) 607 | (interactive "p") 608 | (eim-next-page (- arg))) 609 | 610 | (defun eim-delete-last-char () 611 | (interactive) 612 | (if (> (length eim-current-key) 1) 613 | (progn 614 | (setq eim-current-key (substring eim-current-key 0 -1)) 615 | (funcall eim-handle-function)) 616 | (setq eim-current-str "") 617 | (eim-terminate-translation))) 618 | 619 | (defun eim-self-insert-command () 620 | "如果在 eim-first-char 列表中,则查找相应的词条,否则停止转换,插入对应的字符" 621 | (interactive "*") 622 | ;; (message "%s" (current-buffer)) 623 | (if (if (eim-string-emptyp eim-current-key) 624 | (member last-command-event eim-first-char) 625 | (member last-command-event eim-total-char)) 626 | (progn 627 | (setq eim-current-key (concat eim-current-key (char-to-string last-command-event))) 628 | (funcall eim-handle-function)) 629 | (eim-append-string (eim-translate last-command-event)) 630 | (eim-terminate-translation))) 631 | 632 | (defun eim-select-current () 633 | "如果没有可选项,而且是用空格来绑定这个键,就插入空格,否则选择第一 634 | 个词条" 635 | (interactive) 636 | (if (null (car eim-current-choices)) 637 | (setq eim-current-str 638 | (if (> (length eim-current-str) 0) 639 | "" 640 | (eim-translate last-command-event))) 641 | (eim-remember-select)) 642 | (eim-terminate-translation)) 643 | 644 | (defun eim-remember-select (&optional pos) 645 | (let ((rest (emms-delete-if (lambda (p) (string= (car p) "pos")) 646 | (cdr eim-current-choices)))) 647 | (setq rest (append rest (list (cons "pos" (or pos 648 | eim-current-pos))))) 649 | (puthash eim-current-key (cons (car eim-current-choices) 650 | rest) (eim-history)))) 651 | 652 | (defun eim-number-select () 653 | "如果没有可选项,插入数字,否则选择对应的词条" 654 | (interactive) 655 | (if (car eim-current-choices) 656 | (let ((index (+ (eim-page-start) (- last-command-event ?2))) 657 | (end (eim-page-end))) 658 | (if (>= index end) 659 | (eim-show) 660 | (eim-remember-select (1+ index)) 661 | (setq eim-current-str (eim-choice (nth index (car eim-current-choices)))) 662 | (eim-terminate-translation))) 663 | (eim-append-string (char-to-string last-command-event)) 664 | (eim-terminate-translation))) 665 | 666 | (defun eim-quit-clear () 667 | (interactive) 668 | (setq eim-current-str "") 669 | (eim-terminate-translation)) 670 | 671 | (defun eim-quit-no-clear () 672 | (interactive) 673 | (setq eim-current-str eim-current-key) 674 | (eim-terminate-translation)) 675 | 676 | (defun eim-terminate-translation () 677 | "Terminate the translation of the current key." 678 | (setq eim-translating nil) 679 | (eim-delete-region) 680 | (setq eim-current-choices nil) 681 | (setq eim-guidance-str "") 682 | (when eim-use-tooltip 683 | (x-hide-tip))) 684 | 685 | ;;;_ , eim-handle-string 686 | (defun eim-handle-string () 687 | (if (and (functionp eim-stop-function) 688 | (funcall eim-stop-function)) 689 | (progn 690 | (setq unread-command-events 691 | (list (aref eim-current-key (1- (length eim-current-key))))) 692 | (eim-terminate-translation)) 693 | (setq eim-current-choices (eim-get eim-current-key) 694 | eim-current-pos 695 | (if (eim-get-option 'record-position) 696 | (cdr (assoc "pos" (cdr eim-current-choices))) 697 | 1)) 698 | (eim-format-page))) 699 | 700 | (defun eim-translate (char) 701 | (if (functionp eim-translate-function) 702 | (funcall eim-translate-function char) 703 | (char-to-string char))) 704 | 705 | ;;;_ , Core function of input method (stole from quail) 706 | (defun eim-exit-from-minibuffer () 707 | (inactivate-input-method) 708 | (if (<= (minibuffer-depth) 1) 709 | (remove-hook 'minibuffer-exit-hook 'quail-exit-from-minibuffer))) 710 | 711 | (defun eim-setup-overlays () 712 | (let ((pos (point))) 713 | (if (overlayp eim-overlay) 714 | (move-overlay eim-overlay pos pos) 715 | (setq eim-overlay (make-overlay pos pos)) 716 | (if input-method-highlight-flag 717 | (overlay-put eim-overlay 'face 'eim-string-face))))) 718 | 719 | (defun eim-delete-overlays () 720 | (if (and (overlayp eim-overlay) (overlay-start eim-overlay)) 721 | (delete-overlay eim-overlay))) 722 | 723 | (defun eim-show () 724 | (unless enable-multibyte-characters 725 | (setq eim-current-key nil 726 | eim-current-str nil) 727 | (error "Can't input characters in current unibyte buffer")) 728 | (eim-delete-region) 729 | (insert eim-current-str) 730 | (move-overlay eim-overlay (overlay-start eim-overlay) (point)) 731 | ;; Then, show the guidance. 732 | (when (and (not input-method-use-echo-area) 733 | (null unread-command-events) 734 | (null unread-post-input-method-events)) 735 | (if (eq (selected-window) (minibuffer-window)) 736 | ;; Show the guidance in the next line of the currrent 737 | ;; minibuffer. 738 | (eim-minibuffer-message 739 | (format " [%s]\n%s" 740 | current-input-method-title eim-guidance-str)) 741 | ;; Show the guidance in echo area without logging. 742 | (let ((message-log-max nil)) 743 | (if eim-use-tooltip 744 | (let ((pos (string-match ": " eim-guidance-str))) 745 | (if pos 746 | (setq eim-guidance-str 747 | (concat (substring eim-guidance-str 0 pos) 748 | "\n" 749 | (make-string (/ (- (string-width eim-guidance-str) pos) 2) (decode-char 'ucs #x2501)) 750 | "\n" 751 | (substring eim-guidance-str (+ pos 2))))) 752 | (eim-show-tooltip eim-guidance-str)) 753 | (message "%s" eim-guidance-str)))))) 754 | 755 | (defun eim-make-guidance-frame () 756 | "Make a new one-line frame for Quail guidance." 757 | (let* ((fparam (frame-parameters)) 758 | (top (cdr (assq 'top fparam))) 759 | (border (cdr (assq 'border-width fparam))) 760 | (internal-border (cdr (assq 'internal-border-width fparam))) 761 | (newtop (- top 762 | (frame-char-height) (* internal-border 2) (* border 2)))) 763 | (if (< newtop 0) 764 | (setq newtop (+ top (frame-pixel-height) internal-border border))) 765 | (make-frame (append '((user-position . t) (height . 1) 766 | (minibuffer) 767 | (menu-bar-lines . 0) (tool-bar-lines . 0)) 768 | (cons (cons 'top newtop) fparam))))) 769 | 770 | (defun eim-minibuffer-message (string) 771 | (message nil) 772 | (let ((point-max (point-max)) 773 | (inhibit-quit t)) 774 | (save-excursion 775 | (goto-char point-max) 776 | (insert string)) 777 | (sit-for 1000000) 778 | (delete-region point-max (point-max)) 779 | (when quit-flag 780 | (setq quit-flag nil 781 | unread-command-events '(7))))) 782 | 783 | (defun eim-input-method (key) 784 | (if (or buffer-read-only 785 | overriding-terminal-local-map 786 | overriding-local-map) 787 | (list key) 788 | ;; (message "call with key: %c" key) 789 | (eim-setup-overlays) 790 | (let ((modified-p (buffer-modified-p)) 791 | (buffer-undo-list t) 792 | (inhibit-modification-hooks t)) 793 | (unwind-protect 794 | (let ((input-string (eim-start-translation key))) 795 | ;; (message "input-string: %s" input-string) 796 | (setq eim-guidance-str "") 797 | (when (and (stringp input-string) 798 | (> (length input-string) 0)) 799 | (if input-method-exit-on-first-char 800 | (list (aref input-string 0)) 801 | (eim-input-string-to-events input-string)))) 802 | (eim-delete-overlays) 803 | (set-buffer-modified-p modified-p) 804 | ;; Run this hook only when the current input method doesn't 805 | ;; require conversion. When conversion is required, the 806 | ;; conversion function should run this hook at a proper 807 | ;; timing. 808 | (run-hooks 'input-method-after-insert-chunk-hook))))) 809 | 810 | (defun eim-start-translation (key) 811 | "Start translation of the typed character KEY by the current Quail package. 812 | Return the input string." 813 | ;; Check the possibility of translating KEY. 814 | ;; If KEY is nil, we can anyway start translation. 815 | (if (or (integerp key) (null key)) 816 | ;; OK, we can start translation. 817 | (let* ((echo-keystrokes 0) 818 | (help-char nil) 819 | (overriding-terminal-local-map (eim-mode-map)) 820 | (generated-events nil) 821 | (input-method-function nil) 822 | (modified-p (buffer-modified-p)) 823 | last-command-event last-command this-command) 824 | (setq eim-current-str "" 825 | eim-current-key "" 826 | eim-translating t) 827 | (if key 828 | (setq unread-command-events 829 | (cons key unread-command-events))) 830 | (while eim-translating 831 | (set-buffer-modified-p modified-p) 832 | (let* ((prompt (if input-method-use-echo-area 833 | (format "%s%s %s" 834 | (or input-method-previous-message "") 835 | eim-current-key 836 | eim-guidance-str))) 837 | (keyseq (read-key-sequence prompt nil nil t)) 838 | (cmd (lookup-key (eim-mode-map) keyseq))) 839 | ;; (message "key: %s, cmd:%s\nlcmd: %s, lcmdv: %s, tcmd: %s" 840 | ;; key cmd last-command last-command-event this-command) 841 | (if (if key 842 | (commandp cmd) 843 | (eq cmd 'eim-self-insert-command)) 844 | (progn 845 | ;; (message "keyseq: %s" keyseq) 846 | (setq last-command-event (aref keyseq (1- (length keyseq))) 847 | last-command this-command 848 | this-command cmd) 849 | (setq key t) 850 | (condition-case err 851 | (call-interactively cmd) 852 | (error (message "%s" (cdr err)) (beep)))) 853 | ;; KEYSEQ is not defined in the translation keymap. 854 | ;; Let's return the event(s) to the caller. 855 | (setq unread-command-events 856 | (string-to-list (this-single-command-raw-keys))) 857 | ;; (message "unread-command-events: %s" unread-command-events) 858 | (eim-terminate-translation)))) 859 | ;; (1message "return: %s" eim-current-str) 860 | eim-current-str) 861 | ;; Since KEY doesn't start any translation, just return it. 862 | ;; But translate KEY if necessary. 863 | (char-to-string key))) 864 | 865 | (defun eim-input-string-to-events (str) 866 | (let ((events (mapcar 867 | (lambda (c) 868 | ;; This gives us the chance to unify on input 869 | ;; (e.g. using ucs-tables.el). 870 | (or (and translation-table-for-input 871 | (aref translation-table-for-input c)) 872 | c)) 873 | str))) 874 | (if (or (get-text-property 0 'advice str) 875 | (next-single-property-change 0 'advice str)) 876 | (setq events 877 | (nconc events (list (list 'eim-advice str))))) 878 | events)) 879 | 880 | (defun eim-advice (args) 881 | (interactive "e") 882 | (let* ((string (nth 1 args)) 883 | (func (get-text-property 0 'advice string))) 884 | (if (functionp func) 885 | (funcall func string)))) 886 | 887 | (global-set-key [eim-advice] 'eim-advice) 888 | 889 | ;;; borrow from completion-ui 890 | (defun eim-frame-posn-at-point (&optional position window) 891 | "Return pixel position of top left corner of glyph at POSITION, 892 | relative to top left corner of frame containing WINDOW. Defaults 893 | to the position of point in the selected window." 894 | (unless window (setq window (selected-window))) 895 | (unless position (setq position (window-point window))) 896 | (let ((x-y (posn-x-y (posn-at-point position window))) 897 | (edges (window-inside-pixel-edges window))) 898 | (cons (+ (car x-y) (car edges)) 899 | (+ (cdr x-y) (cadr edges))))) 900 | 901 | (defface eim-tooltip-face '((((class color)) :inherit tooltip)) 902 | "face to display items" 903 | :group 'eim) 904 | 905 | (defun eim-show-tooltip (text) 906 | "Show tooltip text near cursor." 907 | (let ((pos (eim-frame-posn-at-point)) 908 | (fg (face-attribute 'eim-tooltip-face :foreground nil 'tooltip)) 909 | (bg (face-attribute 'eim-tooltip-face :background nil 'tooltip)) 910 | (params tooltip-frame-parameters) 911 | ;; seem the top position should add 65 pixel to make 912 | ;; the text display under the baseline of cursor 913 | (top-adjust 65) 914 | (frame-height (frame-pixel-height)) 915 | (frame-width (frame-pixel-width)) 916 | (lines (split-string text "\n")) 917 | width height left top) 918 | (setq width (* (frame-char-width) (apply 'max (mapcar 'string-width lines))) 919 | height (* (frame-char-height) (length lines))) 920 | (setq left (frame-parameter nil 'left) 921 | top (frame-parameter nil 'top)) 922 | ;; if the cursor is at near the right frame fringe or at bottom 923 | ;; of the bottom fringe, move the frame to 924 | ;; -frame-width or -frame-height from right or bottom 925 | (if (< (- frame-width (car pos)) width) 926 | (setq left (+ left (max 0 (- frame-width width)))) 927 | (setq left (+ left (car pos)))) 928 | (if (< (- frame-height (cdr pos)) (+ height top-adjust)) 929 | (setq top (+ top (max 0 (- frame-height height)))) 930 | (setq top (+ top (cdr pos)))) 931 | (setq top (+ top top-adjust)) 932 | (when (stringp fg) 933 | (setq params (append params `((foreground-color . ,fg) 934 | (border-color . ,fg))))) 935 | (when (stringp bg) 936 | (setq params (append params `((background-color . ,bg))))) 937 | (setq params (append params `((left . ,left) (top . ,top)))) 938 | (x-show-tip (propertize text 'face 'eim-tooltip-face) 939 | nil params eim-tooltip-timeout))) 940 | 941 | ;;;_. utils 942 | ;;;###autoload 943 | (defun eim-create-word-file () 944 | "创建一个能用于 eim 的新文件,按说明填入相应的内容就能生成对应的输入法" 945 | (interactive) 946 | (let ((buffer (generate-new-buffer "eim-word"))) 947 | (switch-to-buffer buffer) 948 | (insert 949 | "[Comment]\n" 950 | "要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表\n" 951 | "就行了。更多的设置如下:\n" 952 | "# 控制是否进入转换。一般设置成所有词库中的首字母\n" 953 | "first-char=\n" 954 | "# 控制是否退出转换,一般设置成所有词库中的字母\n" 955 | "total-char=\n" 956 | "# 在启动时 load 的 elisp 文件\n" 957 | "lib=\n" 958 | "# 其它词库文件,用 ; 隔开\n" 959 | "other-files=\n" 960 | "# 每页显示的词条数目\n" 961 | "page-length=\n\n" 962 | "如果需要加入标点,加入一个 Punctuation 部分。然后设置 eim-translate-fuction。\n" 963 | "如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x eim-build-table。\n" 964 | "如果有需要,可能还要修改 first-char 和 total-char\n\n" 965 | "[Parameter]\n" 966 | "first-char=abcdefghijklmnopqrstuvwxyz\n" 967 | "total-char=abcdefghijklmnopqrstuvwxyz\n\n" 968 | "[Description]\n" 969 | "\n\n" 970 | "[Table]\n" 971 | ) 972 | (local-set-key "\C-c\C-c" 'eim-build-table))) 973 | 974 | ;;;###autoload 975 | (defun eim-build-table () 976 | (interactive) 977 | (save-restriction 978 | (let ((table (eim-section-region "Table")) 979 | (param (eim-section-region "Parameter")) 980 | (lastw "") 981 | first-char total-char currw) 982 | (narrow-to-region (car table) (cdr table)) 983 | (perform-replace "[ \t]+$" "" nil t nil nil nil (point-min) (point-max)) 984 | (sort-lines nil (point-min) (point-max)) 985 | (goto-char (point-min)) 986 | (while (not (eobp)) 987 | (if (looking-at "^[ \t]*$") ; 如果有空行,删除 988 | (eim-delete-line) 989 | (setq currw (eim-code-at-point)) 990 | (add-to-list 'first-char (aref currw 0)) 991 | (mapc (lambda (c) (add-to-list 'total-char c)) (append currw nil)) 992 | (if (string= currw lastw) 993 | (delete-region (1- (point)) (+ (point) (length currw)))) 994 | (setq lastw currw) 995 | (forward-line 1))) 996 | (narrow-to-region (car param) (cdr param)) 997 | (goto-char (point-min)) 998 | (insert "first-char=" (concat first-char) "\n" 999 | "total-char=" (concat total-char) "\n") 1000 | (while (not (eobp)) 1001 | (if (or (looking-at "^first-char=") 1002 | (looking-at "^total-char=")) 1003 | (eim-delete-line) 1004 | (forward-line 1))) 1005 | (if (looking-at "^$") 1006 | (delete-backward-char 1))))) 1007 | 1008 | ;;;_* eim.el ends here 1009 | -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- 1 | ################################### 2 | # user customized variables 3 | EMACS = emacs 4 | PREFIX = $$HOME/local 5 | ################################### 6 | 7 | ################################### 8 | ELISPDIR = $(PREFIX)/share/emacs/site-lisp/eim 9 | EL = eim.el eim-extra.el eim-py.el \ 10 | eim-wb-gb2312.el eim-wb-gbk.el eim-wb.el eim-cj.el \ 11 | eim-cj-chars.el eim-eb.el eim-eb-map.el eim-table.el 12 | ELC = eim.elc eim-extra.elc eim-py.elc \ 13 | eim-wb-gb2312.elc eim-wb-gbk.elc eim-wb.elc eim-cj.elc \ 14 | eim-eb.elc eim-eb-map.elc eim-cj-chars.elc eim-table.elc 15 | EXTRAFILES = wb.txt mywb.txt wbpy.txt otherpy.txt py.txt cj.txt \ 16 | cjeb.txt ebpy.txt 17 | DISTFILES = ChangeLog ChangeLog.1 Readme makefile \ 18 | $(EL) $(EXTRAFILES) \ 19 | pychr.txt sanguo.txt charpy.st pyword2tbl.pl mergepy.pl \ 20 | table2chartbl.pl 21 | 22 | all: $(ELC) 23 | 24 | install: all 25 | install -d $(ELISPDIR) 26 | install -m 0644 $(EL) $(ELC) $(ELISPDIR) 27 | install -m 0666 $(EXTRAFILES) $(ELISPDIR) 28 | cd $(ELISPDIR) && gzip -qf *.el 29 | 30 | uninstall: 31 | if [ -d "$(ELISPDIR)" ]; then rm -rf $(ELISPDIR); fi 32 | 33 | dist: $(DISTFILES) 34 | version=`grep "eim-version" eim.el`; \ 35 | version=`echo $$version | perl -ne '/[0-9.]+/; print $$&'`; \ 36 | rm -rf "eim-$$version"; \ 37 | mkdir "eim-$$version"; \ 38 | cp $(DISTFILES) "eim-$$version"; \ 39 | tar -zcvf "eim-$$version.tar.gz" "eim-$$version"; \ 40 | rm -rf "eim-$$version" 41 | 42 | %.elc: %.el 43 | $(EMACS) -q -batch --no-site-file --eval="(add-to-list 'load-path \".\")" \ 44 | -f batch-byte-compile $< 45 | 46 | clean: 47 | -rm -f *.elc *~ 48 | -------------------------------------------------------------------------------- /mergepy.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # mergepy.pl --- Merge two eim-py table 3 | # Last modify Time-stamp: 4 | # Version: v 0.0 2007/07/12 11:39:17 5 | # Author: Ye Wenbin 6 | 7 | use strict; 8 | use warnings; 9 | use Pod::Usage; 10 | use Getopt::Long qw(:config no_ignore_case auto_help); 11 | 12 | my ($outfile); 13 | 14 | GetOptions( 15 | 'output=s' => \$outfile, 16 | ); 17 | 18 | my ($prime_table, $added_table) = @ARGV; 19 | my $max_index = 10000; 20 | my %table; 21 | my $outfh = \*STDOUT; 22 | 23 | if ( $outfile ) { 24 | open(OUT, ">", $outfile) or die "Can't open file $outfile: $!"; 25 | $outfh = \*OUT; 26 | } 27 | 28 | open(FH1, $prime_table) or die "Can't open file $prime_table: $!"; 29 | open(FH2, $added_table) or die "Can't open file $added_table: $!"; 30 | 31 | # read prime table 32 | while ( ) { 33 | print $outfh $_; 34 | last if /^\[Table\]$/; 35 | } 36 | 37 | while ( ) { 38 | next if /^\s*$/; 39 | next if /^[^a-z]/; # not right format 40 | chomp; 41 | my @r = split /\s+/; 42 | $table{$r[0]} = { 43 | map { $r[$_] => $_ } 1..$#r 44 | }; 45 | } 46 | 47 | close FH1; 48 | 49 | # add all items in $add_table to the end of the prime table 50 | while ( ) { 51 | last if /^\[Table\]$/; 52 | } 53 | while ( ) { 54 | next if /^$/; 55 | next if /^[^a-z]/; # not right format 56 | chomp; 57 | my @r = split /\s+/; 58 | my $item = $table{$r[0]}; 59 | if ( defined $item ) { 60 | foreach ( 1..$#r ) { 61 | next if exists $item->{$r[$_]}; 62 | $item->{$r[$_]} = $max_index + $_; 63 | } 64 | } else { 65 | $table{$r[0]} = { 66 | map { $r[$_] => $_ } 1..$#r 67 | }; 68 | } 69 | } 70 | close FH2; 71 | foreach ( sort keys %table ) { 72 | my $item = $table{$_}; 73 | print $outfh join(' ', $_, sort {$item->{$a} <=> $item->{$b}} keys %$item), "\n"; 74 | } 75 | 76 | if ( $outfile ) { 77 | close $outfh; 78 | } 79 | 80 | __END__ 81 | 82 | =head1 NAME 83 | 84 | mergepy.pl - A utility to merge two eim-py table file 85 | 86 | =head1 SYNOPSIS 87 | 88 | mergepy.pl prime-table added-table [-o new_table] 89 | 90 | Add all items in added-table to the prime-table. The duplicate items 91 | will ignore and new items in added-table will append to prime-table 92 | with the same order. 93 | 94 | You may use this utility to update or enlarge your eim-py table file 95 | without lose your own table. 96 | -------------------------------------------------------------------------------- /mywb.txt: -------------------------------------------------------------------------------- 1 | ;; -*- coding:utf-8 -*- 2 | [Comment] 3 | 要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表 4 | 就行了。更多的设置如下: 5 | 6 | 如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x e+-build-table。 7 | 8 | [Parameter] 9 | first-char=abcdefghijklmnopqrstuvwxyz 10 | 11 | [Punctuation] 12 | 13 | [Table] 14 | akxe 巨噬细胞 15 | alxe 基因组 16 | btqe 降解 17 | btqi 孟德尔 18 | bwtu 孙公科 19 | cstw 通配符 20 | ddad 碱基 21 | dhwn 夏侯 22 | dibu 耦联 23 | dihk 耙点 24 | dosg 磷酸 25 | dqbt 克隆 26 | drtt 大手笔 27 | egnr 肌球蛋白 28 | egpn 县官 29 | enrr 朊蛋白 膜蛋白 30 | epws 受体 31 | fgyo 博弈 32 | fqxe 元组 33 | fsxe 真核细胞 34 | ft 都 35 | ghru 下拉 36 | ghse 正极 37 | gmga 正则表达式 38 | gqud 残差 39 | hxqh 紫外 40 | ipgm 常瑞 41 | irsg 激酶 42 | itgx 泛素 43 | itwx 活化 44 | iuqi 波普尔 45 | jbli 量子力学 46 | khlf 跳转 47 | kkge 吕青 48 | kyss 叶文彬 49 | kyvk 叶文娟 50 | mfdd 周磊 51 | mggw 周惠珍 52 | mgid 同源 53 | nrsg 蛋白酶 54 | puh 被 55 | pwtf 空行 56 | rfou 质粒 57 | rgtw 制表符 58 | rhfa 卸载 59 | rnsg 氨酸 60 | rnwg 拟合 61 | rrtf 折行 62 | rtsm 手机 63 | rvqv 热键 64 | rwit 失活 65 | sctg 权重 66 | sgws 配体 67 | sipl 李治寰 68 | skip 可溶 69 | soss 核糖核酸 70 | sqqj 构象 71 | ssit 林浩 72 | tfkh 选中 73 | tuny 乘以 74 | uews 前体 75 | umd 端 76 | umyn 凋亡 77 | vklt 如图 78 | wbyy 仓廪 79 | wdyj 佐剂 80 | wffh 付超 81 | wf 值 82 | wffh 付超 83 | wg 使 84 | wuhk 位点 85 | wvwf 分值 86 | xaaq 张雅鸥 87 | xdyy 张郁文 88 | xjcn 费马 89 | xsfa 结构域 90 | ymyp 高亮 91 | yy 该 92 | yyud 方差 93 | -------------------------------------------------------------------------------- /otherpy.txt: -------------------------------------------------------------------------------- 1 | ;; -*- coding: utf-8 -*- 2 | [Comment] 3 | 要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表 4 | 就行了。更多的设置如下: 5 | 6 | 如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x eim-build-table。 7 | 如果有需要,可能还要修改 first-char 和 total-char 8 | 9 | [Parameter] 10 | first-char=yxwrokjhgea 11 | total-char=mdpwrlbkfctqozyxsjgeiunh-a 12 | 13 | [Table] 14 | a-h-n 阿会喃 15 | a-hui-nan 阿会喃 16 | e-h 鄂焕 17 | e-huan 鄂焕 18 | g-h 郭淮 管亥 19 | g-j 郭嘉 20 | g-s 关索 21 | g-sh 郭石 22 | g-x 关兴 23 | g-y 郭奕 关彝 关羽 24 | g-y-zh 郭攸之 25 | guan-hai 管亥 26 | guan-suo 关索 27 | guan-xing 关兴 28 | guan-yi 关彝 29 | guan-yu 关羽 30 | guo-huai 郭淮 31 | guo-jia 郭嘉 32 | guo-shi 郭石 33 | guo-yi 郭奕 34 | guo-you-zhi 郭攸之 35 | h-h 华核 韩浩 36 | h-j 何进 霍峻 37 | h-q 贺齐 38 | h-s 韩嵩 韩遂 39 | h-t 华佗 40 | h-t-h 何太后 41 | h-x 韩暹 华雄 韩玄 华歆 42 | h-y 何仪 何晏 霍弋 43 | h-zh 郝昭 44 | han-hao 韩浩 45 | han-song 韩嵩 46 | han-sui 韩遂 47 | han-xian 韩暹 48 | han-xuan 韩玄 49 | hao-zhao 郝昭 50 | he-jin 何进 51 | he-qi 贺齐 52 | he-tai-hou 何太后 53 | he-yan 何晏 54 | he-yi 何仪 55 | hua-he 华核 56 | hua-tuo 华佗 57 | hua-xin 华歆 58 | hua-xiong 华雄 59 | huo-jun 霍峻 60 | huo-yi 霍弋 61 | j-ch 贾充 62 | j-f 贾范 63 | j-k 贾逵 64 | j-y 贾余 65 | jia-chong 贾充 66 | jia-fan 贾范 67 | jia-kui 贾逵 68 | jia-yu 贾余 69 | k-b-n 轲比能 70 | k-l 蒯良 71 | k-y 蒯越 72 | ke-bi-neng 轲比能 73 | kuai-liang 蒯良 74 | kuai-yue 蒯越 75 | o-x 区星 76 | ou-xing 区星 77 | rong 镕 78 | w-c 王粲 79 | w-ch 王昶 80 | w-f 王甫 81 | w-h 王浑 82 | w-j 王浚 王基 83 | w-k 王伉 王匡 84 | w-l 王朗 王累 85 | w-p 王平 86 | w-r 王戎 87 | w-sh 王双 88 | w-w 王威 89 | w-x 王欣 王修 90 | w-y 王允 91 | w-zh 王忠 韦昭 92 | wang-can 王粲 93 | wang-chang 王昶 94 | wang-fu 王甫 95 | wang-hun 王浑 96 | wang-ji 王基 97 | wang-jun 王浚 98 | wang-kang 王伉 99 | wang-kuang 王匡 100 | wang-lang 王朗 101 | wang-lei 王累 102 | wang-ping 王平 103 | wang-rong 王戎 104 | wang-shuang 王双 105 | wang-wei 王威 106 | wang-xin 王欣 107 | wang-xiu 王修 108 | wang-yun 王允 109 | wang-zhong 王忠 110 | wei-zhao 韦昭 111 | x-h-b 夏侯覇 112 | x-h-d 夏侯惇 113 | x-h-e 夏侯恩 114 | x-h-h 夏侯和 115 | x-h-m 夏侯楙 116 | x-h-sh 夏侯尚 117 | x-h-w 夏侯威 118 | x-h-x 夏侯玄 119 | x-h-y 夏侯渊 120 | xia-hou-ba 夏侯覇 121 | xia-hou-dun 夏侯惇 122 | xia-hou-en 夏侯恩 123 | xia-hou-he 夏侯和 124 | xia-hou-mao 夏侯楙 125 | xia-hou-shang 夏侯尚 126 | xia-hou-wei 夏侯威 127 | xia-hou-xuan 夏侯玄 128 | xia-hou-yuan 夏侯渊 129 | y-d 雅丹 130 | y-d-m 尹大目 131 | y-f-l 于夫罗 132 | y-j 乐进 伊籍 于禁 越吉 于吉 133 | y-l 云玲 134 | y-m 尹黙 135 | y-m-z 异民族 136 | y-p 阎圃 137 | y-q 于诠 138 | y-r 阎柔 139 | y-sh 尹赏 袁尚 袁术 袁绍 140 | y-t 袁谭 141 | y-x 袁煕 阎象 142 | y-y 袁遗 袁胤 阎宇 袁耀 143 | ya-dan 雅丹 144 | yan-pu 阎圃 145 | yan-rou 阎柔 146 | yan-xiang 阎象 147 | yan-yu 阎宇 148 | ye 葉 149 | yi-ji 伊籍 150 | yi-min-zu 异民族 151 | yi-mo 尹黙 152 | yin-da-mu 尹大目 153 | yin-shang 尹赏 154 | yu-fu-luo 于夫罗 155 | yu-ji 于吉 156 | yu-jin 于禁 157 | yu-quan 于诠 158 | yuan-shang 袁尚 159 | yuan-shao 袁绍 160 | yuan-shu 袁术 161 | yuan-tan 袁谭 162 | yuan-xi 袁煕 163 | yuan-yao 袁耀 164 | yuan-yi 袁遗 165 | yuan-yin 袁胤 166 | yue-ji 越吉 167 | yue-jin 乐进 168 | yun-ling 云玲 169 | -------------------------------------------------------------------------------- /pychr.txt: -------------------------------------------------------------------------------- 1 | [Comment] 2 | 要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表 3 | 就行了。更多的设置如下: 4 | # 控制是否进入转换。一般设置成所有词库中的首字母 5 | first-char= 6 | # 控制是否退出转换,一般设置成所有词库中的字母 7 | total-char= 8 | # 在启动时 load 的 elisp 文件 9 | lib= 10 | # 其它词库文件,用 ; 隔开 11 | other-files= 12 | # 每页显示的词条数目 13 | page-length= 14 | 15 | 如果需要加入标点,加入一个 Punctuation 部分。然后设置 eim-translate-fuction。 16 | 如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x eim-build-table。 17 | 如果有需要,可能还要修改 first-char 和 total-char 18 | 19 | [Parameter] 20 | first-char=zyxwtsrqponmlkjhgfedcba 21 | total-char=zyxwtsqpmvlkjfrdhcuebognia 22 | 23 | [Description] 24 | 25 | 26 | [Table] 27 | a 阿 啊 呵 腌 嗄 锕 吖 28 | ai 爱 哀 挨 碍 埃 癌 艾 唉 矮 哎 皑 蔼 隘 暧 霭 捱 嗳 瑷 嫒 锿 嗌 砹 29 | an 安 案 按 暗 岸 俺 谙 黯 鞍 氨 庵 桉 鹌 胺 铵 揞 犴 埯 30 | ang 昂 肮 盎 31 | ao 奥 澳 傲 熬 敖 凹 袄 懊 坳 嗷 拗 鏖 骜 鳌 翱 岙 廒 遨 獒 聱 媪 螯 鏊 32 | ba 把 八 吧 巴 爸 罢 拔 叭 芭 霸 靶 扒 疤 跋 坝 笆 耙 粑 灞 茇 菝 魃 岜 捌 钯 鲅 33 | bai 百 白 败 摆 伯 拜 柏 呗 掰 捭 佰 稗 34 | ban 办 半 版 般 班 板 伴 搬 扮 斑 颁 瓣 拌 扳 绊 阪 坂 瘢 钣 舨 癍 35 | bang 帮 邦 棒 膀 榜 傍 绑 磅 谤 浜 梆 镑 蚌 蒡 36 | bao 报 保 包 暴 宝 抱 薄 胞 爆 鲍 饱 堡 曝 刨 褒 豹 雹 苞 葆 褓 孢 煲 鸨 龅 趵 37 | bei 被 北 备 背 悲 辈 杯 倍 贝 碑 卑 蓓 惫 悖 狈 呗 焙 鹎 孛 邶 陂 埤 碚 褙 鐾 鞴 萆 钡 38 | ben 本 奔 笨 苯 夯 畚 贲 锛 坌 39 | beng 崩 甭 绷 蹦 迸 甏 泵 嘣 蚌 40 | bi 比 必 笔 毕 币 避 闭 鼻 彼 逼 壁 臂 弊 碧 鄙 毙 蔽 庇 匕 璧 敝 陛 弼 篦 婢 愎 痹 妣 濞 铋 裨 俾 髀 萆 薜 哔 狴 庳 秕 滗 舭 毖 吡 嬖 蓖 贲 畀 荸 埤 筚 箅 芘 襞 跸 荜 41 | bian 编 便 边 变 遍 辩 辨 贬 鞭 辫 扁 卞 砭 苄 匾 汴 蝙 笾 碥 窆 褊 弁 鳊 忭 煸 缏 42 | biao 表 标 彪 镖 膘 骠 镳 裱 杓 飙 瘭 髟 飚 婊 飑 鳔 43 | bie 别 憋 瘪 蹩 鳖 44 | bin 宾 滨 彬 斌 鬓 缤 殡 濒 槟 摈 膑 傧 玢 豳 髌 镔 45 | bing 并 病 兵 冰 饼 丙 柄 秉 炳 禀 邴 摒 46 | bo 波 播 博 伯 勃 薄 拨 泊 柏 剥 玻 驳 卜 脖 搏 膊 饽 簸 掰 舶 跛 礴 菠 帛 铂 钵 渤 檗 钹 擘 箔 趵 孛 鹁 踣 亳 啵 47 | bu 不 部 布 步 补 捕 怖 卜 簿 哺 埔 卟 埠 钸 逋 醭 晡 瓿 钚 48 | ca 擦 嚓 礤 49 | cai 才 采 菜 财 材 彩 裁 猜 蔡 踩 睬 50 | can 参 餐 残 惨 灿 惭 掺 蚕 璨 孱 骖 黪 粲 51 | cang 藏 苍 仓 沧 舱 伧 52 | cao 草 操 曹 糙 嘈 槽 螬 艚 漕 53 | ce 策 测 侧 厕 册 恻 54 | cen 参 岑 涔 55 | ceng 曾 层 蹭 噌 56 | cha 查 察 差 茶 插 刹 叉 诧 茬 碴 喳 岔 嚓 衩 杈 楂 槎 檫 镲 搽 锸 猹 馇 汊 姹 57 | chai 差 柴 拆 豺 钗 侪 虿 瘥 58 | chan 产 颤 缠 禅 蝉 馋 铲 搀 阐 掺 潺 忏 蟾 婵 谄 谗 廛 孱 澶 冁 躔 蒇 骣 觇 镡 羼 59 | chang 长 场 常 唱 厂 尝 昌 肠 偿 畅 倡 倘 敞 怅 娼 猖 嫦 伥 氅 徜 昶 鲳 阊 菖 苌 鬯 惝 60 | chao 超 朝 潮 炒 吵 抄 嘲 钞 绰 巢 晁 焯 怊 耖 61 | che 车 彻 撤 扯 澈 掣 坼 砗 62 | chen 称 陈 沉 晨 尘 臣 趁 衬 辰 郴 谶 琛 忱 嗔 伧 抻 谌 宸 榇 龀 碜 63 | cheng 成 城 程 称 承 诚 盛 乘 呈 撑 惩 澄 秤 瞠 橙 噌 逞 铛 丞 骋 埕 枨 塍 铖 裎 酲 柽 蛏 64 | chi 吃 持 迟 尺 赤 斥 池 痴 齿 驰 耻 翅 匙 侈 哧 嗤 啻 弛 蚩 炽 笞 敕 叱 饬 踟 鸱 褫 豉 坻 墀 茌 篪 傺 媸 螭 彳 眵 魑 瘛 65 | chong 重 冲 充 崇 虫 宠 憧 忡 艟 茺 舂 铳 66 | chou 抽 愁 仇 丑 筹 臭 酬 绸 踌 瞅 惆 畴 稠 雠 俦 帱 瘳 67 | chu 出 处 除 初 楚 触 储 础 厨 畜 躇 橱 雏 矗 怵 锄 杵 搐 绌 黜 褚 蜍 蹰 刍 滁 楮 憷 亍 樗 68 | chuai 揣 啜 踹 嘬 膪 搋 69 | chuan 传 穿 川 船 串 喘 舛 遄 舡 巛 氚 椽 钏 70 | chuang 创 窗 床 闯 幢 疮 怆 71 | chui 吹 垂 炊 锤 捶 陲 槌 棰 72 | chun 春 纯 唇 蠢 醇 淳 椿 鹑 蝽 莼 73 | chuo 绰 戳 啜 辍 踔 龊 74 | ci 此 次 词 差 刺 辞 慈 磁 赐 瓷 兹 茨 雌 祠 疵 呲 鹚 糍 茈 75 | cong 从 匆 聪 丛 葱 囱 琮 淙 枞 苁 骢 璁 76 | cou 凑 楱 辏 腠 77 | cu 促 粗 簇 醋 卒 猝 蹴 蹙 徂 殂 蔟 酢 78 | cuan 攒 窜 篡 蹿 撺 镩 汆 爨 79 | cui 脆 粹 催 摧 崔 萃 翠 瘁 悴 璀 隹 淬 毳 榱 啐 80 | cun 存 村 寸 忖 皴 81 | cuo 错 措 搓 挫 撮 磋 蹉 矬 嵯 脞 痤 瘥 鹾 厝 锉 82 | da 大 打 达 答 搭 瘩 嗒 沓 耷 褡 鞑 笪 靼 怛 妲 哒 疸 83 | dai 代 带 待 戴 袋 呆 贷 逮 歹 殆 黛 怠 玳 岱 迨 傣 呔 骀 绐 埭 甙 84 | dan 但 单 担 弹 淡 旦 蛋 胆 诞 丹 耽 惮 眈 啖 澹 掸 殚 箪 瘅 赕 疸 聃 氮 萏 郸 儋 85 | dang 当 党 荡 档 挡 裆 铛 宕 凼 菪 谠 砀 86 | dao 到 道 导 倒 岛 刀 悼 盗 蹈 捣 祷 叨 稻 忉 帱 氘 纛 87 | de 的 得 德 锝 88 | deng 等 登 灯 邓 凳 瞪 蹬 噔 磴 戥 镫 簦 嶝 89 | di 地 第 提 底 低 帝 弟 敌 抵 递 滴 迪 蒂 堤 笛 缔 涤 嘀 诋 谛 狄 邸 睇 嫡 翟 砥 娣 棣 荻 羝 坻 柢 觌 骶 氐 绨 镝 碲 籴 90 | dia 嗲 91 | dian 点 电 店 典 颠 甸 淀 垫 殿 滇 奠 惦 掂 碘 癫 巅 踮 佃 玷 簟 阽 坫 靛 钿 癜 丶 92 | diao 调 掉 吊 雕 刁 钓 凋 叼 貂 碉 铫 铞 鲷 93 | die 爹 跌 叠 迭 碟 谍 蝶 喋 佚 踮 牒 耋 蹀 堞 瓞 揲 垤 鲽 94 | ding 定 订 顶 丁 盯 钉 鼎 叮 町 铤 腚 酊 仃 锭 疔 啶 玎 碇 耵 95 | diu 丢 铥 96 | dong 动 东 懂 冬 洞 冻 董 栋 咚 恫 侗 氡 硐 鸫 岽 垌 峒 胨 胴 97 | dou 都 斗 豆 抖 逗 兜 陡 窦 蔸 蚪 篼 痘 98 | du 都 读 度 独 毒 督 渡 肚 杜 睹 堵 赌 妒 嘟 渎 笃 牍 镀 犊 黩 髑 椟 芏 蠹 99 | duan 断 段 短 端 锻 缎 煅 椴 簖 100 | dui 对 队 堆 兑 碓 憝 怼 镦 101 | dun 顿 盾 吨 敦 蹲 钝 炖 遁 盹 沌 囤 墩 趸 镦 礅 砘 102 | duo 多 夺 朵 躲 舵 堕 踱 咄 跺 哆 剁 惰 垛 驮 掇 铎 裰 哚 缍 沲 柁 103 | e 额 俄 恶 饿 哦 鹅 扼 愕 遏 噩 娥 峨 呃 厄 鄂 讹 婀 蛾 轭 颚 鳄 锷 谔 屙 锇 阏 垩 腭 苊 鹗 萼 莪 104 | ei 诶 105 | en 恩 摁 蒽 106 | er 而 二 儿 尔 耳 迩 饵 洱 鸸 珥 铒 鲕 贰 佴 107 | fa 发 法 罚 乏 伐 阀 砝 筏 垡 珐 108 | fan 反 饭 犯 翻 范 凡 烦 返 番 贩 繁 泛 帆 藩 幡 梵 樊 燔 蕃 畈 钒 蘩 矾 蹯 109 | fang 方 放 房 访 防 仿 芳 妨 纺 彷 坊 肪 舫 钫 鲂 邡 枋 110 | fei 非 费 飞 废 肥 啡 沸 菲 肺 匪 诽 腓 扉 吠 霏 绯 妃 斐 翡 蜚 痱 淝 悱 鲱 篚 芾 狒 镄 榧 111 | fen 分 份 纷 奋 愤 粉 氛 芬 坟 焚 粪 忿 吩 汾 棼 鼢 玢 酚 偾 瀵 鲼 112 | feng 风 封 丰 峰 疯 锋 逢 奉 缝 凤 讽 冯 蜂 枫 烽 俸 砜 唪 酆 葑 沣 113 | fo 佛 114 | fou 否 缶 115 | fu 夫 府 服 复 父 负 副 福 富 付 妇 附 佛 幅 伏 符 赴 腐 浮 扶 腹 抚 覆 肤 赋 弗 傅 辅 拂 甫 俯 斧 缚 咐 脯 袱 俘 敷 阜 芙 釜 孚 腑 匐 孵 辐 涪 讣 氟 桴 蜉 芾 苻 茯 莩 菔 幞 怫 拊 滏 黼 艴 麸 绂 绋 趺 祓 砩 黻 罘 蚨 跗 蝠 呋 凫 郛 稃 驸 赙 馥 蝮 鲋 鳆 116 | ga 咖 尬 嘎 噶 轧 伽 旮 钆 尕 尜 117 | gai 改 该 概 盖 丐 钙 赅 溉 垓 陔 戤 118 | gan 感 干 敢 赶 甘 肝 杆 尴 赣 橄 竿 秆 擀 坩 苷 柑 泔 矸 澉 疳 酐 淦 绀 旰 119 | gang 刚 港 钢 岗 纲 缸 扛 杠 冈 肛 罡 戆 筻 120 | gao 高 告 稿 搞 糕 膏 皋 羔 睾 槁 藁 缟 篙 镐 诰 槔 杲 郜 锆 121 | ge 个 革 各 歌 格 哥 戈 隔 葛 割 阁 胳 搁 疙 咯 鸽 嗝 骼 颌 屹 搿 膈 镉 纥 袼 仡 鬲 塥 圪 哿 舸 铬 硌 虼 122 | gei 给 123 | gen 根 跟 亘 艮 哏 茛 124 | geng 更 耿 耕 颈 庚 羹 梗 哽 赓 鲠 埂 绠 125 | gong 工 公 共 供 功 攻 宫 贡 恭 巩 躬 龚 弓 拱 肱 汞 蚣 珙 觥 126 | gou 够 购 构 狗 沟 勾 苟 钩 觏 篝 垢 佝 岣 诟 鞲 笱 枸 遘 媾 缑 彀 127 | gu 故 古 顾 股 鼓 姑 骨 固 孤 谷 估 雇 辜 咕 沽 箍 菇 汩 轱 锢 蛊 梏 鸪 毂 鹄 臌 瞽 罟 钴 觚 鹘 菰 蛄 嘏 诂 崮 酤 牿 牯 痼 鲴 128 | gua 挂 瓜 刮 寡 呱 褂 卦 剐 鸹 栝 胍 诖 129 | guai 怪 乖 拐 掴 130 | guan 关 观 管 官 馆 惯 冠 贯 罐 灌 棺 莞 倌 纶 掼 盥 涫 鳏 鹳 131 | guang 广 光 逛 犷 咣 胱 桄 132 | gui 规 归 贵 鬼 桂 跪 柜 轨 瑰 诡 刽 龟 硅 闺 皈 傀 癸 圭 晷 簋 妫 鲑 匦 庋 宄 炔 刿 桧 炅 鳜 133 | gun 滚 棍 鲧 绲 磙 辊 衮 134 | guo 国 过 果 锅 郭 裹 帼 蝈 聒 馘 掴 埚 虢 呙 崞 猓 椁 蜾 135 | ha 哈 蛤 铪 136 | hai 还 海 孩 害 嘿 咳 亥 骇 骸 嗨 胲 醢 氦 137 | han 汉 喊 含 寒 汗 韩 憾 涵 函 翰 撼 罕 旱 捍 酣 悍 憨 晗 瀚 鼾 顸 阚 焊 蚶 焓 颔 菡 撖 邗 邯 138 | hang 行 航 巷 杭 夯 沆 颃 绗 珩 139 | hao 好 号 毫 豪 浩 耗 皓 嚎 昊 郝 壕 蒿 貉 灏 镐 嗥 嚆 薅 濠 蚝 颢 140 | he 和 何 合 河 喝 赫 核 吓 贺 盒 呵 禾 荷 鹤 壑 阂 褐 诃 涸 阖 嗬 貉 曷 颌 劾 盍 纥 蚵 翮 菏 141 | hei 黑 嘿 嗨 142 | hen 很 恨 狠 痕 143 | heng 横 衡 恒 哼 亨 蘅 珩 桁 144 | hong 红 轰 洪 鸿 哄 宏 虹 弘 烘 泓 闳 薨 讧 蕻 訇 黉 荭 145 | hou 后 候 後 厚 侯 喉 吼 猴 逅 糇 骺 堠 瘊 篌 鲎 146 | hu 乎 护 呼 胡 户 湖 忽 互 糊 虎 壶 狐 沪 惚 浒 唬 葫 弧 蝴 囫 瑚 斛 祜 猢 鹄 醐 戽 扈 唿 笏 琥 滹 鹕 轷 烀 冱 岵 怙 鹘 槲 觳 瓠 鹱 煳 147 | hua 话 华 化 花 划 画 滑 哗 桦 猾 砉 铧 骅 148 | huai 怀 坏 徊 淮 槐 踝 149 | huan 欢 换 还 环 缓 患 幻 唤 宦 焕 痪 寰 鬟 涣 浣 奂 桓 缳 豢 锾 郇 萑 圜 洹 擐 獾 漶 逭 鲩 150 | huang 黄 皇 荒 晃 慌 煌 惶 恍 谎 璜 徨 簧 凰 幌 潢 蝗 蟥 遑 隍 肓 磺 癀 湟 篁 鳇 151 | hui 会 回 汇 挥 辉 灰 惠 毁 悔 恢 慧 绘 徽 讳 贿 徊 晦 秽 诲 诙 晖 彗 麾 烩 荟 卉 茴 喙 蛔 恚 洄 珲 蕙 哕 咴 浍 虺 缋 桧 隳 蟪 152 | hun 婚 混 魂 昏 浑 馄 荤 诨 溷 阍 珲 153 | huo 和 或 活 火 获 货 伙 祸 惑 霍 豁 夥 锪 耠 劐 钬 攉 藿 嚯 镬 蠖 154 | ji 几 给 己 机 记 及 计 即 基 济 辑 级 极 寄 际 技 集 纪 击 奇 急 激 继 既 积 籍 鸡 吉 挤 迹 季 寂 绩 疾 饥 祭 缉 忌 剂 圾 姬 矶 肌 嫉 讥 藉 叽 脊 冀 稽 妓 棘 骥 畸 蓟 汲 悸 岌 伎 笈 跻 瘠 亟 诘 暨 霁 羁 稷 偈 戟 嵇 楫 唧 鲫 髻 荠 箕 觊 蒺 畿 虮 齑 殛 墼 佶 掎 芨 丌 麂 蕺 咭 嵴 芰 笄 哜 洎 乩 戢 屐 剞 跽 玑 鲚 赍 犄 155 | jia 家 加 价 假 架 甲 佳 驾 夹 嫁 嘉 贾 稼 茄 佼 挟 颊 皎 侥 枷 珈 戛 迦 伽 浃 痂 胛 笳 荚 葭 钾 镓 嘏 郏 挢 岬 徼 湫 敫 袈 瘕 恝 铗 袷 蛱 跏 156 | jian 见 间 件 建 简 坚 监 减 渐 检 健 兼 剑 艰 肩 键 荐 尖 鉴 剪 践 奸 捡 箭 舰 拣 贱 溅 煎 俭 槛 碱 歼 缄 茧 笺 柬 谏 蹇 僭 涧 菅 謇 硷 睑 锏 饯 毽 鲣 鞯 蒹 搛 谫 囝 湔 缣 枧 戬 戋 犍 裥 笕 翦 趼 楗 牮 鹣 腱 踺 157 | jiang 将 讲 强 江 奖 降 蒋 疆 酱 姜 浆 僵 匠 犟 缰 绛 桨 耩 礓 洚 豇 茳 糨 158 | jiao 教 交 觉 校 叫 较 角 脚 焦 骄 郊 轿 搅 嚼 胶 缴 绞 饺 椒 矫 娇 佼 狡 浇 跤 姣 窖 剿 侥 皎 蕉 酵 礁 鲛 徼 湫 敫 僬 鹪 峤 蛟 铰 艽 茭 挢 噍 醮 159 | jie 界 解 接 结 节 街 姐 阶 介 借 戒 杰 届 皆 捷 截 洁 揭 劫 竭 藉 睫 诫 嗟 拮 孑 碣 秸 诘 桀 芥 偈 颉 讦 疖 疥 婕 羯 鲒 蚧 骱 喈 160 | jin 进 今 金 近 尽 仅 紧 禁 劲 津 斤 谨 锦 筋 晋 巾 浸 襟 瑾 矜 靳 缙 烬 噤 觐 馑 堇 衿 荩 廑 妗 卺 赆 槿 161 | jing 经 京 精 境 警 竟 静 惊 景 敬 睛 镜 竞 净 井 径 晶 荆 兢 颈 憬 靖 鲸 泾 阱 儆 旌 痉 迳 茎 胫 腈 菁 粳 獍 肼 弪 婧 刭 靓 162 | jiong 窘 炯 迥 扃 炅 163 | jiu 就 九 究 酒 久 旧 救 纠 揪 疚 舅 韭 赳 鸠 灸 咎 啾 臼 鹫 阄 僦 厩 玖 柩 桕 鬏 164 | ju 局 据 居 句 举 具 剧 巨 聚 拒 俱 距 惧 菊 拘 矩 桔 驹 鞠 咀 沮 瞿 锯 炬 飓 趄 掬 踽 踞 遽 橘 倨 疽 龃 屦 犋 裾 钜 苴 雎 鞫 椐 讵 苣 锔 狙 榘 莒 枸 榉 窭 醵 琚 165 | juan 捐 卷 倦 眷 娟 隽 绢 鹃 涓 镌 锩 鄄 狷 桊 蠲 166 | jue 觉 绝 决 脚 嚼 掘 诀 崛 爵 抉 倔 獗 嗟 厥 蹶 攫 谲 矍 撅 噱 孓 橛 噘 珏 桷 劂 爝 镢 蕨 觖 167 | jun 军 均 君 俊 峻 钧 隽 筠 菌 郡 骏 竣 麇 皲 捃 浚 168 | ka 卡 咖 喀 咔 佧 胩 169 | kai 开 慨 凯 铠 揩 楷 恺 垲 蒈 锎 剀 锴 忾 170 | kan 看 刊 侃 堪 砍 坎 槛 勘 瞰 龛 阚 莰 戡 171 | kang 抗 康 慷 扛 炕 亢 糠 伉 闶 钪 172 | kao 考 靠 铐 烤 拷 犒 栲 尻 173 | ke 可 克 科 客 刻 课 颗 渴 柯 呵 棵 恪 咳 苛 磕 壳 坷 嗑 瞌 轲 稞 疴 蝌 溘 髁 钶 窠 颏 珂 岢 骒 缂 氪 锞 蚵 174 | ken 肯 恳 啃 垦 龈 裉 175 | keng 坑 吭 铿 176 | kong 空 恐 控 孔 倥 崆 箜 177 | kou 口 扣 抠 寇 叩 蔻 眍 芤 筘 178 | ku 苦 哭 库 裤 酷 枯 窟 骷 刳 堀 喾 绔 179 | kua 夸 跨 垮 挎 胯 侉 180 | kuai 会 快 块 筷 脍 蒯 哙 侩 狯 浍 郐 181 | kuan 款 宽 髋 182 | kuang 况 狂 矿 框 旷 眶 筐 匡 哐 邝 诓 夼 诳 圹 纩 贶 183 | kui 亏 愧 溃 窥 魁 馈 睽 盔 逵 葵 奎 匮 傀 喟 聩 岿 馗 夔 篑 喹 悝 暌 隗 蒉 蝰 愦 揆 跬 184 | kun 困 昆 捆 坤 鲲 悃 髡 锟 醌 阃 琨 185 | kuo 括 阔 扩 廓 栝 蛞 186 | la 拉 啦 辣 腊 喇 垃 蜡 剌 邋 旯 瘌 砬 187 | lai 来 赖 莱 睐 癞 籁 徕 涞 赉 铼 崃 濑 188 | lan 兰 蓝 栏 烂 懒 览 滥 拦 篮 揽 澜 榄 婪 缆 斓 岚 阑 褴 镧 罱 谰 漤 189 | lang 浪 狼 朗 郎 廊 琅 螂 榔 啷 莨 锒 稂 阆 蒗 190 | lao 老 劳 牢 捞 姥 佬 潦 唠 烙 酪 涝 崂 痨 醪 铹 栳 铑 耢 191 | le 了 乐 勒 肋 叻 泐 鳓 仂 192 | lei 类 泪 累 雷 蕾 垒 磊 擂 肋 儡 羸 诔 镭 嘞 檑 嫘 缧 酹 耒 193 | leng 冷 愣 楞 棱 塄 194 | li 里 理 力 利 立 李 历 离 例 礼 丽 励 黎 厉 璃 莉 哩 笠 粒 俐 漓 栗 狸 梨 隶 吏 沥 篱 厘 犁 雳 罹 莅 戾 鲤 俚 砺 藜 俪 蜊 黧 郦 痢 枥 逦 娌 詈 骊 荔 鳢 喱 鹂 嫠 蠡 鬲 鲡 悝 坜 苈 砾 藓 呖 唳 猁 溧 澧 栎 轹 蓠 傈 缡 疠 疬 蛎 锂 篥 粝 跞 醴 195 | lia 俩 196 | lian 联 连 脸 练 恋 怜 莲 廉 炼 帘 链 敛 涟 镰 殓 琏 楝 裢 裣 蠊 鲢 濂 臁 潋 蔹 奁 197 | liang 两 量 良 亮 辆 梁 俩 凉 粮 谅 粱 晾 踉 莨 墚 魉 椋 靓 198 | liao 了 料 聊 疗 辽 僚 廖 寥 镣 潦 撩 撂 缭 燎 寮 嘹 钌 獠 鹩 蓼 尥 199 | lie 列 烈 裂 劣 猎 咧 趔 冽 洌 捩 埒 躐 鬣 200 | lin 林 临 邻 琳 淋 霖 麟 凛 吝 鳞 磷 躏 赁 嶙 辚 檩 遴 粼 蔺 懔 瞵 啉 膦 廪 201 | ling 领 令 另 灵 零 龄 凌 玲 铃 陵 岭 拎 伶 聆 囹 棱 菱 翎 苓 瓴 棂 绫 呤 柃 鲮 酃 泠 羚 蛉 202 | liu 六 留 流 陆 刘 溜 柳 碌 瘤 榴 浏 硫 琉 遛 馏 镏 骝 绺 锍 旒 熘 鎏 鹨 203 | long 龙 隆 笼 胧 拢 咙 聋 垄 珑 窿 陇 癃 茏 栊 泷 垅 砻 204 | lou 楼 陋 漏 搂 喽 篓 偻 娄 髅 蝼 镂 蒌 嵝 耧 瘘 205 | lu 路 陆 录 卢 露 鲁 炉 鹿 碌 庐 芦 噜 颅 禄 辘 卤 虏 麓 泸 赂 漉 戮 簏 轳 鹭 掳 潞 鲈 撸 栌 垆 胪 蓼 渌 鸬 逯 璐 辂 橹 镥 舻 氇 206 | luan 乱 卵 峦 挛 孪 栾 銮 娈 滦 鸾 脔 207 | lue 略 掠 锊 208 | lun 论 轮 伦 沦 仑 抡 囵 纶 209 | luo 落 罗 络 洛 逻 裸 骆 萝 螺 锣 箩 摞 烙 捋 珞 骡 猡 镙 椤 倮 蠃 荦 瘰 泺 漯 脶 硌 雒 210 | lv 律 旅 绿 率 虑 履 屡 侣 缕 驴 吕 榈 滤 捋 铝 褛 闾 膂 氯 稆 211 | m 呒 212 | ma 马 吗 妈 码 麻 骂 嘛 抹 玛 蚂 蟆 唛 杩 犸 嬷 213 | mai 买 卖 麦 埋 迈 脉 霾 劢 荬 214 | man 满 慢 漫 曼 蛮 馒 瞒 蔓 颟 谩 墁 幔 螨 鞔 鳗 缦 熳 镘 215 | mang 忙 茫 盲 芒 氓 莽 蟒 邙 漭 硭 216 | mao 毛 冒 猫 贸 矛 帽 貌 茅 茂 髦 卯 耄 瑁 锚 懋 袤 铆 峁 牦 蟊 泖 昴 茆 旄 蝥 瞀 217 | me 么 麽 218 | mei 没 美 每 妹 眉 梅 媒 枚 魅 煤 昧 霉 玫 媚 寐 糜 袂 酶 莓 嵋 楣 湄 猸 镅 浼 鹛 镁 219 | men 们 门 闷 扪 懑 焖 钔 220 | meng 梦 蒙 猛 盟 朦 孟 萌 勐 懵 檬 蠓 瞢 甍 礞 蜢 虻 艋 艨 锰 221 | mi 密 米 秘 迷 弥 谜 觅 眯 蜜 靡 咪 谧 泌 糜 汨 宓 麋 醚 弭 敉 芈 祢 脒 幂 縻 嘧 蘼 猕 糸 222 | mian 面 免 棉 眠 缅 绵 勉 腼 冕 娩 湎 沔 眄 黾 渑 223 | miao 妙 描 秒 庙 苗 渺 瞄 藐 缪 淼 缈 喵 眇 邈 鹋 杪 224 | mie 灭 蔑 篾 咩 乜 蠛 225 | min 民 敏 悯 闽 泯 珉 皿 抿 闵 苠 岷 缗 玟 愍 黾 鳘 226 | ming 名 明 命 鸣 铭 冥 茗 溟 酩 瞑 暝 螟 227 | miu 谬 缪 228 | mo 默 莫 模 麽 末 磨 摸 摩 寞 漠 墨 抹 魔 陌 嘿 沫 膜 蓦 蘑 茉 馍 摹 貉 谟 嫫 秣 镆 殁 瘼 耱 貊 貘 229 | mou 某 谋 眸 缪 鍪 哞 侔 蛑 230 | mu 目 母 木 幕 姆 慕 牧 墓 募 暮 牟 亩 穆 睦 拇 沐 牡 仫 坶 苜 毪 钼 231 | n 嗯 唔 232 | na 那 拿 呢 哪 纳 娜 呐 捺 钠 镎 肭 衲 233 | nai 乃 奶 奈 耐 氖 艿 鼐 佴 萘 柰 234 | nan 难 南 男 楠 喃 囡 囝 腩 蝻 赧 235 | nang 囊 囔 馕 攮 曩 236 | nao 脑 闹 恼 挠 瑙 淖 呶 猱 铙 孬 硇 蛲 垴 237 | ne 呢 讷 238 | nei 内 馁 239 | nen 嫩 恁 240 | neng 能 241 | ng 嗯 唔 242 | ni 你 呢 尼 泥 逆 倪 匿 拟 腻 妮 霓 昵 溺 旎 睨 鲵 坭 猊 怩 伲 祢 慝 铌 243 | nian 年 念 廿 粘 碾 捻 蔫 撵 拈 黏 鲶 鲇 辇 埝 244 | niang 娘 酿 245 | niao 鸟 尿 袅 嬲 茑 脲 246 | nie 捏 涅 聂 孽 蹑 嗫 啮 镊 镍 乜 陧 颞 臬 蘖 247 | nin 您 恁 248 | ning 宁 凝 拧 泞 咛 狞 柠 佞 聍 苎 甯 249 | niu 牛 纽 扭 妞 钮 拗 忸 狃 250 | nong 农 弄 浓 侬 哝 脓 251 | nou 耨 252 | nu 怒 努 奴 弩 驽 胬 孥 253 | nuan 暖 254 | nue 虐 疟 255 | nuo 诺 挪 懦 糯 喏 搦 傩 锘 256 | nv 女 钕 恧 衄 257 | o 哦 噢 喔 258 | ou 欧 偶 殴 呕 鸥 讴 瓯 藕 沤 耦 怄 259 | pa 怕 爬 帕 扒 趴 啪 琶 葩 耙 杷 钯 筢 260 | pai 派 排 牌 拍 徘 湃 俳 蒎 哌 261 | pan 判 盘 盼 叛 畔 潘 攀 拚 蹒 磐 爿 蟠 襻 袢 泮 262 | pang 旁 庞 胖 乓 膀 磅 彷 螃 滂 耪 逄 263 | pao 跑 炮 抛 泡 袍 刨 咆 狍 疱 脬 庖 匏 264 | pei 配 陪 培 佩 赔 沛 裴 呸 胚 醅 锫 辔 帔 旆 霈 265 | pen 盆 喷 湓 266 | peng 朋 鹏 碰 彭 捧 棚 蓬 膨 烹 抨 篷 砰 澎 怦 堋 蟛 嘭 硼 267 | pi 批 否 皮 屁 披 疲 辟 啤 脾 匹 僻 劈 譬 坯 痞 癖 琵 毗 霹 噼 媲 郫 裨 纰 丕 鼙 圮 蚍 蜱 貔 陂 陴 砒 仳 埤 擗 吡 庀 邳 疋 芘 枇 罴 淠 铍 甓 睥 268 | pian 便 片 篇 偏 骗 翩 扁 犏 谝 蹁 骈 缏 胼 269 | piao 票 漂 飘 瓢 嫖 瞟 骠 嘌 剽 螵 缥 莩 殍 270 | pie 撇 瞥 氕 丿 苤 271 | pin 品 贫 拼 频 聘 拚 姘 嫔 榀 颦 牝 272 | ping 平 评 瓶 凭 萍 乒 屏 苹 坪 枰 娉 俜 鲆 273 | po 破 迫 颇 婆 坡 泊 泼 魄 粕 珀 叵 攴 钷 笸 钋 陂 泺 鄱 皤 274 | pou 剖 裒 掊 275 | pu 普 铺 扑 朴 谱 浦 葡 蒲 仆 脯 瀑 菩 溥 匍 璞 噗 圃 埔 氆 镨 蹼 镤 濮 莆 276 | qi 起 其 期 气 七 奇 妻 企 器 汽 棋 齐 旗 弃 启 骑 欺 歧 岂 戚 凄 泣 契 琪 乞 祈 漆 迄 脐 栖 沏 祺 崎 祁 琦 蹊 砌 憩 淇 汔 亟 绮 讫 嘁 岐 萋 俟 杞 芪 荠 耆 槭 颀 芑 屺 欹 桤 綮 萁 蛴 蜞 綦 鳍 麒 蕲 柒 亓 骐 葺 畦 圻 碛 277 | qia 恰 洽 掐 伽 袷 葜 髂 278 | qian 前 钱 千 签 欠 牵 浅 潜 迁 谦 遣 歉 纤 嵌 乾 谴 铅 虔 钳 骞 倩 堑 黔 掮 悭 芊 缱 愆 荨 芡 阡 佥 搴 褰 肷 钎 仟 犍 钤 岍 箝 鬈 扦 慊 椠 279 | qiang 枪 墙 抢 腔 呛 锵 跄 羌 蔷 戕 襁 樯 炝 蜣 嫱 锖 戗 羟 镪 280 | qiao 桥 悄 乔 巧 侨 瞧 敲 翘 俏 窍 峭 锹 撬 跷 憔 樵 鞘 橇 诮 愀 谯 荞 峤 缲 硗 鞒 劁 281 | qie 切 且 窃 怯 茄 趄 妾 砌 惬 伽 锲 挈 郄 箧 慊 282 | qin 亲 钦 琴 侵 秦 勤 芹 擒 寝 覃 沁 禽 噙 揿 檎 锓 芩 嗪 螓 衾 廑 溱 吣 283 | qing 情 请 青 清 轻 晴 庆 倾 卿 擎 顷 氢 罄 蜻 磬 謦 苘 圊 檠 黥 鲭 氰 箐 綮 284 | qiong 穷 琼 穹 茕 邛 蛩 筇 跫 銎 285 | qiu 求 球 秋 邱 囚 丘 酋 蚯 裘 俅 虬 鳅 逑 遒 赇 泅 楸 犰 湫 蝤 巯 鼽 糗 286 | qu 去 取 区 曲 趣 屈 趋 驱 渠 躯 娶 觑 瞿 岖 戌 蛐 衢 蛆 癯 麴 阒 祛 磲 鸲 诎 蠼 劬 蕖 蘧 龋 苣 黢 璩 氍 朐 287 | quan 全 权 圈 劝 泉 券 拳 犬 诠 颧 蜷 绻 荃 铨 痊 鬈 辁 悛 畎 醛 筌 288 | que 却 确 缺 雀 瘸 榷 鹊 阕 阙 炔 悫 289 | qun 群 裙 逡 麇 290 | ran 然 染 燃 冉 髯 苒 蚺 291 | rang 让 嚷 攘 壤 瓤 穰 禳 292 | rao 扰 绕 饶 娆 桡 荛 293 | re 热 惹 喏 294 | ren 人 任 认 忍 仁 韧 刃 纫 饪 壬 仞 稔 葚 荏 妊 轫 衽 295 | reng 仍 扔 296 | ri 日 297 | rong 容 荣 融 蓉 溶 绒 熔 榕 戎 嵘 茸 冗 肜 蝾 狨 298 | rou 肉 柔 揉 蹂 鞣 糅 299 | ru 如 入 辱 儒 乳 汝 褥 嚅 茹 濡 蠕 孺 缛 襦 颥 薷 蓐 洳 溽 铷 300 | ruan 软 阮 朊 301 | rui 瑞 锐 芮 睿 蕤 枘 蕊 蚋 302 | run 润 闰 303 | ruo 若 弱 偌 箬 304 | sa 洒 撒 萨 卅 仨 飒 挲 脎 305 | sai 赛 塞 腮 噻 鳃 306 | san 三 散 伞 叁 毵 馓 糁 霰 307 | sang 丧 桑 嗓 搡 磉 颡 308 | sao 扫 骚 嫂 梢 臊 搔 缲 缫 鳋 埽 瘙 309 | se 色 塞 涩 瑟 啬 铯 穑 310 | sen 森 311 | seng 僧 312 | sha 杀 沙 啥 傻 厦 刹 纱 莎 煞 砂 霎 嗄 挲 歃 鲨 唼 痧 裟 铩 313 | shai 晒 筛 酾 314 | shan 山 善 闪 衫 删 煽 扇 陕 珊 杉 擅 掺 膳 栅 讪 跚 汕 姗 赡 潸 缮 嬗 掸 膻 骟 芟 埏 剡 钐 鄯 舢 苫 髟 疝 蟮 鳝 315 | shang 上 商 伤 尚 赏 殇 裳 晌 觞 熵 墒 绱 垧 316 | shao 少 绍 烧 稍 勺 哨 邵 梢 捎 韶 苕 鞘 潲 劭 杓 芍 蛸 筲 艄 317 | she 社 设 舍 涉 射 摄 舌 蛇 奢 赦 慑 佘 赊 麝 畲 厍 滠 歙 猞 318 | shei 谁 319 | shen 什 身 深 神 参 甚 申 审 沈 伸 慎 渗 绅 肾 呻 婶 莘 蜃 葚 娠 渖 矧 诜 砷 糁 谂 椹 胂 哂 320 | sheng 生 声 省 胜 升 圣 盛 剩 牲 绳 甥 笙 渑 眚 嵊 晟 321 | shi 是 时 十 事 实 使 世 市 识 始 士 师 诗 式 失 史 视 示 食 室 势 试 石 释 施 适 氏 驶 饰 尸 拾 逝 湿 誓 狮 嗜 蚀 嘘 屎 侍 匙 峙 仕 恃 柿 轼 矢 噬 拭 虱 弑 蓍 埘 莳 炻 谥 鲥 豕 贳 铈 螫 舐 筮 鲺 酾 322 | shou 手 受 收 首 授 守 售 瘦 寿 兽 狩 绶 艏 323 | shu 书 数 术 属 输 树 述 熟 束 署 殊 舒 叔 鼠 疏 淑 抒 薯 梳 暑 竖 蜀 恕 墅 孰 漱 枢 俞 赎 黍 蔬 曙 倏 庶 戍 塾 澍 姝 纾 秫 毹 殳 疋 菽 丨 沭 摅 腧 324 | shua 刷 耍 唰 325 | shuai 率 衰 摔 甩 帅 蟀 326 | shuan 涮 栓 拴 闩 327 | shuang 双 爽 霜 孀 泷 328 | shui 水 谁 税 睡 329 | shun 顺 舜 瞬 吮 330 | shuo 说 朔 硕 烁 铄 妁 蒴 槊 搠 331 | si 四 死 思 斯 司 似 私 丝 寺 撕 肆 厮 嘶 伺 饲 嗣 祀 巳 驷 鸶 俟 汜 泗 厶 兕 蛳 咝 姒 澌 缌 耜 笥 锶 332 | song 送 松 宋 诵 耸 颂 讼 悚 怂 忪 淞 菘 崧 嵩 凇 竦 333 | sou 搜 艘 嗽 擞 馊 薮 嗾 叟 嗖 溲 飕 锼 瞍 螋 334 | su 苏 诉 速 素 俗 肃 宿 塑 稣 溯 酥 粟 簌 夙 嗉 谡 僳 愫 涑 蔌 觫 335 | suan 算 酸 蒜 狻 336 | sui 岁 随 虽 碎 遂 祟 隧 髓 邃 穗 隋 绥 睢 荽 燧 谇 眭 濉 337 | sun 孙 损 笋 荪 狲 飧 榫 隼 338 | suo 所 索 缩 锁 琐 梭 嗦 唆 挲 娑 睃 唢 嗍 蓑 羧 桫 339 | ta 他 她 它 踏 塔 塌 榻 嗒 蹋 沓 遢 挞 鳎 闼 铊 趿 漯 溻 獭 340 | tai 太 台 态 泰 抬 胎 汰 苔 呔 鲐 邰 薹 酞 骀 炱 跆 肽 钛 341 | tan 谈 探 弹 坦 叹 坛 摊 贪 滩 毯 谭 潭 瘫 炭 覃 痰 忐 坍 袒 碳 澹 檀 昙 镡 郯 锬 钽 342 | tang 堂 唐 汤 躺 糖 趟 倘 烫 淌 膛 塘 棠 搪 溏 螳 瑭 樘 螗 铴 醣 镗 耥 饧 傥 帑 羰 343 | tao 讨 套 逃 涛 掏 陶 桃 淘 滔 萄 焘 啕 韬 饕 洮 绦 鼗 344 | te 特 忑 忒 慝 铽 345 | tei 忒 346 | teng 腾 疼 藤 誊 滕 347 | ti 体 提 题 替 踢 梯 啼 涕 蹄 剔 剃 惕 屉 嚏 悌 醍 缇 鹈 锑 荑 倜 绨 逖 裼 348 | tian 天 田 填 甜 添 腆 舔 恬 钿 阗 畋 忝 殄 掭 349 | tiao 条 调 跳 挑 迢 眺 鲦 佻 苕 窕 髫 粜 笤 龆 祧 蜩 350 | tie 铁 贴 帖 餮 萜 351 | ting 听 停 庭 厅 挺 亭 婷 廷 艇 町 霆 汀 铤 蜓 莛 梃 葶 烃 352 | tong 同 通 统 痛 童 彤 筒 铜 桶 捅 桐 瞳 佟 恸 酮 恫 侗 砼 嗵 仝 垌 茼 峒 潼 353 | tou 头 投 偷 透 钭 骰 354 | tu 土 突 图 途 徒 屠 涂 吐 兔 秃 凸 荼 酴 钍 菟 堍 355 | tuan 团 湍 抟 疃 彖 356 | tui 推 退 腿 褪 颓 蜕 忒 煺 357 | tun 吞 屯 饨 褪 臀 囤 豚 暾 氽 358 | tuo 托 脱 拖 妥 拓 陀 驼 唾 椭 砣 驮 沱 跎 坨 鸵 乇 鼍 橐 佗 庹 铊 酡 柁 柝 箨 359 | wa 瓦 挖 袜 娃 哇 凹 娲 蛙 洼 佤 腽 360 | wai 外 歪 崴 361 | wan 万 完 晚 湾 玩 碗 弯 挽 顽 腕 婉 惋 宛 丸 蜿 莞 畹 剜 豌 皖 纨 琬 脘 烷 芄 菀 绾 362 | wang 望 王 往 网 忘 亡 汪 旺 枉 妄 惘 罔 尢 辋 魍 363 | wei 为 位 未 委 维 味 围 卫 威 微 伟 谓 唯 危 慰 尾 违 魏 玮 蔚 伪 畏 胃 喂 炜 韦 惟 巍 纬 萎 娓 苇 尉 帷 渭 猥 偎 薇 痿 猬 逶 帏 韪 煨 鲔 桅 潍 隈 圩 囗 诿 隗 崴 洧 葳 嵬 闱 沩 涠 艉 軎 364 | wen 文 问 闻 温 稳 吻 纹 蚊 雯 紊 瘟 汶 刎 阌 璺 365 | weng 翁 瓮 嗡 蓊 蕹 366 | wo 我 握 窝 卧 渥 沃 涡 斡 蜗 幄 喔 倭 挝 莴 肟 硪 龌 367 | wu 无 五 物 务 武 午 舞 於 误 恶 吴 屋 伍 悟 吾 污 乌 雾 侮 捂 巫 毋 呜 诬 勿 梧 坞 戊 兀 唔 晤 芜 鹜 钨 妩 痦 鹉 忤 寤 骛 邬 牾 鼯 圬 浯 仵 阢 芴 庑 婺 怃 杌 焐 蜈 迕 鋈 368 | xi 西 系 息 希 喜 席 习 细 戏 吸 洗 惜 稀 悉 析 夕 牺 袭 昔 熙 兮 溪 隙 嘻 锡 晰 媳 樨 熄 膝 郗 犀 禧 曦 奚 羲 蹊 唏 淅 嬉 皙 汐 徙 茜 玺 熹 烯 翕 蟋 屣 檄 浠 僖 穸 蜥 隰 觋 螅 铣 菥 葸 蓰 舾 矽 粞 硒 醯 欷 鼷 歙 饩 阋 禊 舄 369 | xia 下 夏 吓 峡 厦 侠 狭 霞 瞎 暇 虾 唬 辖 遐 匣 黠 瑕 呷 狎 柙 硖 瘕 罅 370 | xian 现 先 显 线 险 限 县 鲜 献 闲 宪 陷 贤 仙 嫌 咸 羡 掀 弦 纤 娴 衔 馅 涎 舷 腺 跣 暹 岘 猃 蚬 筅 跹 莶 锨 鹇 痫 铣 氙 祆 籼 冼 藓 酰 苋 燹 霰 371 | xiang 想 相 向 象 香 乡 像 响 项 享 降 箱 详 祥 巷 厢 湘 橡 翔 镶 飨 襄 饷 骧 葙 庠 鲞 芗 缃 蟓 372 | xiao 小 笑 校 消 效 晓 销 潇 肖 萧 孝 宵 削 嚣 啸 逍 硝 霄 淆 哮 枭 骁 箫 筱 哓 枵 绡 魈 蛸 崤 373 | xie 些 写 谢 协 鞋 携 斜 泄 胁 歇 谐 邪 械 屑 卸 挟 懈 泻 亵 蟹 偕 邂 榭 撷 楔 瀣 蝎 颉 勰 薤 燮 躞 缬 獬 绁 廨 榍 渫 374 | xin 心 新 信 欣 辛 薪 馨 鑫 芯 衅 昕 忻 锌 歆 镡 囟 375 | xing 行 性 形 兴 星 型 姓 幸 刑 醒 腥 杏 悻 惺 邢 猩 荇 擤 荥 饧 硎 陉 376 | xiong 雄 兄 胸 凶 熊 匈 汹 芎 377 | xiu 修 休 秀 袖 宿 臭 羞 绣 朽 锈 嗅 咻 貅 髹 馐 庥 鸺 岫 溴 378 | xu 许 续 需 须 徐 序 虚 绪 吁 蓄 叙 畜 嘘 恤 絮 浒 墟 旭 婿 栩 戌 诩 胥 酗 煦 砉 盱 糈 醑 顼 勖 洫 溆 圩 蓿 379 | xuan 选 宣 旋 悬 券 喧 轩 玄 炫 渲 绚 眩 萱 漩 暄 璇 谖 铉 儇 痃 泫 煊 楦 癣 碹 揎 镟 380 | xue 学 血 雪 削 穴 谑 靴 薛 踅 噱 泶 鳕 381 | xun 寻 询 训 迅 讯 巡 逊 循 旬 熏 勋 驯 荤 殉 醺 巽 徇 埙 荀 峋 洵 薰 汛 郇 曛 窨 恂 獯 浔 鲟 蕈 浚 382 | ya 亚 压 雅 牙 呀 押 涯 讶 鸦 哑 鸭 崖 丫 芽 衙 轧 痖 睚 娅 蚜 伢 疋 岈 琊 垭 揠 迓 桠 氩 砑 383 | yan 眼 言 严 演 研 烟 验 延 沿 掩 颜 厌 炎 燕 阎 宴 盐 咽 岩 雁 焰 艳 焉 淹 衍 阉 奄 谚 俨 檐 蜒 彦 腌 焱 晏 唁 妍 砚 嫣 胭 湮 筵 堰 赝 餍 鼹 芫 偃 魇 闫 崦 厣 剡 恹 阏 兖 郾 琰 罨 鄢 谳 滟 阽 鼽 酽 菸 384 | yang 样 洋 阳 央 杨 养 扬 仰 羊 痒 漾 泱 氧 鸯 秧 殃 恙 疡 烊 佯 鞅 怏 徉 炀 蛘 385 | yao 要 摇 药 耀 遥 邀 腰 姚 咬 尧 谣 瑶 窑 夭 肴 妖 吆 钥 侥 杳 窈 鹞 曜 舀 铫 幺 爻 徭 繇 鳐 珧 轺 崾 386 | ye 也 业 夜 爷 叶 野 页 液 耶 咽 曳 拽 揶 噎 烨 冶 椰 掖 腋 谒 邺 靥 晔 铘 387 | yi 一 以 意 已 义 议 医 易 衣 艺 依 译 移 异 益 亦 亿 疑 遗 忆 宜 椅 伊 仪 谊 抑 翼 矣 役 艾 乙 溢 毅 蛇 裔 逸 姨 夷 轶 怡 蚁 弈 倚 翌 颐 疫 绎 彝 咦 佚 奕 熠 贻 漪 诣 迤 弋 懿 呓 驿 咿 揖 旖 屹 痍 薏 噫 镒 刈 沂 臆 缢 邑 胰 猗 羿 钇 舣 劓 仡 酏 佾 埸 诒 圯 荑 壹 挹 嶷 饴 嗌 峄 怿 悒 铱 欹 殪 黟 苡 肄 镱 瘗 癔 翊 蜴 眙 翳 388 | yin 因 音 引 印 银 隐 饮 阴 姻 瘾 吟 寅 殷 淫 茵 荫 尹 蚓 垠 喑 湮 胤 鄞 氤 霪 圻 铟 狺 吲 夤 堙 龈 洇 茚 窨 389 | ying 应 英 影 营 迎 硬 映 赢 盈 颖 鹰 婴 蝇 樱 莹 荧 膺 萤 萦 莺 罂 瀛 楹 缨 颍 嬴 鹦 瑛 茔 嘤 璎 荥 撄 郢 瘿 蓥 滢 潆 媵 390 | yo 哟 唷 391 | yong 用 永 拥 勇 涌 踊 泳 庸 佣 咏 俑 雍 恿 甬 臃 邕 镛 痈 壅 鳙 饔 喁 墉 蛹 慵 392 | you 有 又 由 友 游 右 油 优 邮 幽 尤 忧 犹 悠 幼 诱 佑 黝 攸 呦 酉 柚 鱿 莠 囿 鼬 铀 卣 猷 牖 铕 疣 蚰 蝣 釉 蝤 繇 莜 侑 莸 宥 蚴 尢 393 | yu 于 与 语 育 余 遇 狱 雨 於 欲 预 予 鱼 玉 愈 域 誉 吁 宇 寓 豫 愚 舆 粥 郁 喻 羽 娱 裕 愉 禹 浴 馀 御 逾 渔 渝 俞 萸 瑜 隅 驭 迂 揄 圄 谕 榆 屿 淤 毓 虞 禺 谀 妪 腴 峪 竽 芋 妤 臾 欤 龉 觎 盂 昱 煜 熨 燠 窬 蝓 嵛 狳 伛 俣 舁 圉 庾 菀 蓣 饫 阈 鬻 瘐 窳 雩 瘀 纡 聿 钰 鹆 鹬 蜮 394 | yuan 员 元 原 院 远 愿 园 源 圆 怨 缘 援 冤 袁 渊 苑 猿 鸳 辕 垣 媛 沅 橼 芫 爰 螈 鼋 眢 圜 鸢 箢 塬 垸 掾 瑗 395 | yue 月 乐 越 约 阅 跃 曰 悦 岳 粤 钥 刖 瀹 栎 樾 龠 钺 396 | yun 运 云 允 韵 晕 孕 匀 蕴 酝 筠 芸 耘 陨 纭 殒 愠 氲 狁 熨 郓 恽 昀 韫 郧 397 | za 杂 扎 砸 咋 咂 匝 拶 398 | zai 在 再 载 灾 仔 宰 哉 栽 崽 甾 399 | zan 咱 赞 暂 攒 簪 糌 瓒 拶 昝 趱 錾 400 | zang 藏 脏 葬 赃 臧 锗 奘 驵 401 | zao 早 造 遭 糟 澡 灶 躁 噪 凿 枣 皂 燥 蚤 藻 缲 唣 402 | ze 则 责 泽 择 咋 啧 仄 迮 笮 箦 舴 帻 赜 昃 403 | zei 贼 404 | zen 怎 谮 405 | zeng 增 赠 憎 缯 罾 甑 锃 406 | zha 炸 扎 咋 诈 乍 眨 渣 札 栅 轧 闸 榨 喳 揸 柞 楂 哳 吒 铡 砟 齄 咤 痄 蚱 407 | zhai 摘 债 宅 窄 斋 寨 翟 砦 瘵 408 | zhan 战 展 站 占 沾 斩 辗 粘 盏 崭 瞻 绽 蘸 湛 詹 毡 栈 谵 搌 旃 409 | zhang 长 张 章 丈 掌 涨 帐 障 账 胀 仗 杖 彰 璋 蟑 樟 瘴 漳 嶂 鄣 獐 仉 幛 嫜 410 | zhao 着 找 照 招 朝 赵 召 罩 兆 昭 肇 沼 诏 钊 啁 棹 笊 411 | zhe 这 着 者 折 哲 浙 遮 辙 辄 谪 蔗 蛰 褶 鹧 锗 磔 摺 蜇 赭 柘 412 | zhen 真 阵 镇 震 针 珍 圳 振 诊 枕 斟 贞 侦 赈 甄 臻 箴 疹 砧 桢 缜 畛 轸 胗 稹 祯 浈 溱 蓁 椹 榛 朕 鸩 413 | zheng 政 正 证 整 争 征 挣 郑 症 睁 徵 蒸 怔 筝 拯 铮 峥 狰 诤 鲭 钲 帧 414 | zhi 之 只 知 至 制 直 治 指 支 志 职 致 值 织 纸 止 质 执 智 置 址 枝 秩 植 旨 滞 徵 帜 稚 挚 汁 掷 殖 芝 吱 肢 脂 峙 侄 窒 蜘 趾 炙 痔 咫 芷 栉 枳 踯 桎 帙 栀 祉 轾 贽 痣 豸 卮 轵 埴 陟 郅 黹 忮 彘 骘 酯 摭 絷 跖 膣 雉 鸷 胝 蛭 踬 祗 觯 415 | zhong 中 种 重 众 终 钟 忠 衷 肿 仲 锺 踵 盅 冢 忪 舯 螽 416 | zhou 周 州 洲 粥 舟 皱 骤 轴 宙 咒 昼 肘 帚 胄 纣 诌 绉 妯 碡 啁 荮 籀 繇 酎 417 | zhu 主 住 注 助 著 逐 诸 朱 驻 珠 祝 猪 筑 竹 煮 嘱 柱 烛 铸 株 瞩 蛛 伫 拄 贮 洙 诛 褚 铢 箸 蛀 茱 炷 躅 竺 杼 翥 渚 潴 麈 槠 橥 苎 侏 瘃 疰 邾 舳 418 | zhua 抓 爪 419 | zhuai 拽 嘬 420 | zhuan 传 专 转 赚 撰 砖 篆 啭 馔 颛 421 | zhuang 装 状 壮 庄 撞 妆 幢 桩 奘 僮 戆 422 | zhui 追 坠 缀 锥 赘 隹 椎 惴 骓 缒 423 | zhun 准 谆 窀 肫 424 | zhuo 着 桌 捉 卓 琢 灼 酌 拙 浊 濯 茁 啄 斫 镯 涿 焯 浞 倬 禚 诼 擢 425 | zi 子 自 字 资 咨 紫 滋 仔 姿 吱 兹 孜 梓 渍 籽 姊 恣 滓 谘 龇 秭 呲 辎 锱 眦 笫 髭 淄 茈 觜 訾 缁 耔 鲻 嵫 赀 孳 粢 趑 426 | zong 总 宗 纵 踪 综 棕 粽 鬃 偬 腙 枞 427 | zou 走 奏 邹 揍 驺 鲰 诹 陬 鄹 428 | zu 组 足 族 祖 租 阻 卒 诅 俎 镞 菹 429 | zuan 赚 钻 攥 纂 躜 缵 430 | zui 最 罪 嘴 醉 咀 觜 蕞 431 | zun 尊 遵 樽 鳟 撙 432 | zuo 作 做 坐 座 左 昨 琢 佐 凿 撮 柞 嘬 怍 胙 唑 笮 阼 祚 酢 433 | -------------------------------------------------------------------------------- /pyword2tbl.pl: -------------------------------------------------------------------------------- 1 | #! /usr/bin/perl -w # -*- coding: utf-8 -*- 2 | # pyword2tbl.pl --- Create a table for eim py input method 3 | # Last modify Time-stamp: 4 | # Version: v 0.0 2006/07/17 06:29:58 5 | # Author: Ye Wenbin 6 | 7 | use strict; 8 | use warnings; 9 | use Encode qw(encode decode from_to); 10 | use Getopt::Long; 11 | use Data::Dump qw(dump); 12 | use Storable; 13 | 14 | my ($type, $file, $coding, $help); 15 | GetOptions("file=s" => \$file, 16 | "type=i" => \$type, 17 | "coding=s" => \$coding, 18 | "help|?" => \$help, 19 | ); 20 | if ($help || !defined($type) || $type <0 || $type>3 || !defined($file) || $file eq "") { 21 | usage(); 22 | exit; 23 | } 24 | 25 | $coding = $coding || 'gbk'; 26 | 27 | my %shenmu =map {$_ => 1 } qw(b p m f d t n l g k h j q x z c s zh ch sh r y w); 28 | my %yumu = map {$_ => 1} qw (a o e i u v ai ei ui ao ou iu 29 | ie ia ua ve er an en in un vn ang iong 30 | eng ing ong uan uang ian iang iao ue 31 | uai uo); 32 | my $charpy = retrieve 'charpy.st'; 33 | if ($type == 1) { 34 | convert1($file); 35 | } elsif ($type == 2) { 36 | convert2($file); 37 | } else { 38 | convert3($file); 39 | } 40 | 41 | sub usage { 42 | print <) { 70 | chomp; 71 | from_to($_, $coding, 'utf8'); 72 | my @r = split /\s+/; 73 | foreach (1..$#r) { 74 | push @{$charpy{$r[$_]}}, $r[0]; 75 | } 76 | } 77 | close FH; 78 | store \%charpy, 'charpy.st'; 79 | } 80 | 81 | ######################################## 82 | # 这个函数是把文件中的拼音合并,排序 83 | ######################################## 84 | sub convert3 { 85 | my $wordfile = shift; 86 | my %wordpy; 87 | open(FH, $wordfile) || die "Can't open file $wordfile: $!"; 88 | while () { 89 | chomp; 90 | my @res = split /\s+/; 91 | foreach (1..$#res) { 92 | $wordpy{$res[0]}{$res[$_]}++; 93 | } 94 | } 95 | close FH; 96 | foreach (sort keys %wordpy) { 97 | print STDOUT join(" ", $_, keys %{$wordpy{$_}}), "\n"; 98 | } 99 | } 100 | 101 | ######################################## 102 | # 这个函数是把这样的文件转换成需要的格式: 103 | # 贾逵 jia-kui 104 | # 贾余 jia-yu 105 | # 乐进 yue-jin 106 | # 郭石 guo-shi 107 | # 108 | ######################################## 109 | sub convert2 { 110 | my $wordfile = shift; 111 | my %wordpy; 112 | open(FH, $wordfile) || die "Can't open file $wordfile: $!"; 113 | while () { 114 | chomp; 115 | my @res = split /\s+/; 116 | my @pys = split '-', $res[1]; 117 | $wordpy{join("-", map {(parseCharpy($_))[0] } @pys)}{$res[0]}++; 118 | $wordpy{$res[1]}{$res[0]}++; 119 | } 120 | close FH; 121 | foreach (sort keys %wordpy) { 122 | print STDOUT join(" ", $_, keys %{$wordpy{$_}}), "\n"; 123 | } 124 | } 125 | 126 | ######################################## 127 | # 这个函数是把这样的文件转换成需要的格式: 128 | # 阿会喃 129 | # 韦昭 130 | # 伊籍 131 | # 异民族 132 | # 尹赏 133 | # 134 | # 多音字会输出到标准错误中,等待进一步的处理。 135 | ######################################## 136 | sub convert1 { 137 | my $wordfile = shift; 138 | open(FH, $wordfile) || die "Can't open file $wordfile: $!"; 139 | my @dup; 140 | my $word; 141 | my $i = 0; 142 | my %wordpy; 143 | while ($word = ) { 144 | chomp($word); 145 | from_to($word, $coding, 'utf8'); 146 | my @char = ($word =~ m/(.{3})/g); 147 | # print join("-", @char), "\n"; 148 | # return; 149 | my @res = (""); 150 | foreach (@char) { 151 | @res = mult_array(\@res, $charpy->{$_}); 152 | } 153 | for (@res) { 154 | $_ = substr($_, 1); 155 | } 156 | if ($#res == 0) { 157 | my @pys = split '-', $res[0]; 158 | $wordpy{join("-", map {(parseCharpy($_))[0] } @pys)}{$word}++; 159 | $wordpy{$res[0]}{$word}++; 160 | } else { 161 | push @dup, [$word, @res]; 162 | } 163 | last if $i++ > 100; 164 | } 165 | close FH; 166 | foreach (sort keys %wordpy) { 167 | print STDOUT join(" ", $_, keys %{$wordpy{$_}}), "\n"; 168 | } 169 | foreach (@dup) { 170 | print STDERR join(" ", @{$_}), "\n"; 171 | } 172 | } 173 | 174 | sub mult_array { 175 | map { 176 | my $s = $_; 177 | map { 178 | "$s-$_"; 179 | } @{$_[1]}; 180 | } @{$_[0]}; 181 | } 182 | 183 | sub parseCharpy { 184 | my $charpy = shift; 185 | my $sm; 186 | if (length($charpy) < 2) { 187 | return ($charpy, ""); 188 | } 189 | else { 190 | $sm = substr($charpy, 0, 2); 191 | if (exists $shenmu{$sm}) { 192 | return ($sm, substr($charpy, 2)); 193 | } 194 | else { 195 | return (substr($charpy, 0, 1), substr($charpy, 1)); 196 | } 197 | } 198 | } 199 | 200 | __END__ 201 | 202 | =head1 NAME 203 | 204 | pyword2tbl --- Create a table for eim py input method 205 | 206 | =head1 DESCRIPTION 207 | 208 | 通常完成一个转换需要这样一个步骤: 209 | 1. 初步转换。这一步生成没有多音字的词组,有多音字的词组输出到标准错误中。 210 | $ pyword2tbl.pl -f sanguo.txt -t 1 1> sanguo_r.txt 2> sanguo_e.txt 211 | 212 | 2. 修改多音字。把有多音字的词组中多余的拼音去掉。然后运行下面的命令。 213 | $ pyword2tbl.pl -f sanguo_e.txt -t 2 >> sanguo_r.txt 214 | 215 | 3. 排序合并表格。 216 | $ pyword2tbl.pl -f sanguo_r.txt -t 3 > sanguo.txt 217 | 218 | 如果输入的词库文件的编码不是 gbk,请在命令行中指定文件的编码。 219 | 220 | =cut 221 | -------------------------------------------------------------------------------- /sanguo.txt: -------------------------------------------------------------------------------- 1 | 阿会喃 2 | 韦昭 3 | 伊籍 4 | 异民族 5 | 尹赏 6 | 尹大目 7 | 尹黙 8 | 于吉 9 | 于禁 10 | 于诠 11 | 云玲 12 | 越吉 13 | 袁遗 14 | 袁胤 15 | 袁胤 16 | 阎宇 17 | 袁煕 18 | 阎柔 19 | 袁术 20 | 袁尚 21 | 袁绍 22 | 阎象 23 | 袁谭 24 | 阎圃 25 | 袁耀 26 | 王威 27 | 王允 28 | 王基 29 | 王欣 30 | 王匡 31 | 王経 32 | 王伉 33 | 王浑 34 | 王粲 35 | 王修 36 | 王戎 37 | 王浚 38 | 王浚 39 | 区星 40 | 王双 41 | 王忠 42 | 王昶 43 | 王平 44 | 王甫 45 | 王累 46 | 王朗 47 | 于夫罗 48 | 何晏 49 | 蒯越 50 | 蒯良 51 | 华核 52 | 俄何焼戈 53 | 贾逵 54 | 何仪 55 | 华歆 56 | 贾余 57 | 郭奕 58 | 郭嘉 59 | 郭嘉 60 | 鄂焕 61 | 郭焏 62 | 霍峻 63 | 郝昭 64 | 乐进 65 | 郭石 66 | 楽林 67 | 郭図 68 | 郭攸之 69 | 霍弋 70 | 郭淮 71 | 夏侯威 72 | 夏侯渊 73 | 夏侯恩 74 | 夏侯和 75 | 夏侯恵 76 | 夏侯玄 77 | 夏侯尚 78 | 夏侯尚 79 | 夏侯徳 80 | 夏侯惇 81 | 夏侯覇 82 | 夏侯楙 83 | 贾充 84 | 何进 85 | 贺齐 86 | 华佗 87 | 何太后 88 | 雅丹 89 | 贾范 90 | 轲比能 91 | 华雄 92 | 关彝 93 | 关羽 94 | 管亥 95 | 母丘倹 96 | 韩玄 97 | 韩浩 98 | 关兴 99 | 关索 100 | 韩遂 101 | 韩嵩 102 | 韩暹 103 | 阚沢 104 | 韩忠 105 | 关定 106 | 关统 107 | 韩当 108 | 甘宁 109 | 桓范 110 | 韩馥 111 | 关平 112 | 简雍 113 | 颜良 114 | 管辂 115 | 魏延 116 | 麹义 117 | 戏志才 118 | 魏続 119 | 魏攸 120 | 牛金 121 | 牛辅 122 | 丘力居 123 | 姜维 124 | 乔国老 125 | 巩志 126 | 龚都 127 | 桥瑁 128 | 许仪 129 | 许贡 130 | 许劭 131 | 许靖 132 | 许诸 133 | 许攸 134 | 纪灵 135 | 金环三结 136 | 金旋 137 | 虞翻 138 | 刑道栄 139 | 郄正 140 | 严颜 141 | 严纲 142 | 严政 143 | 献帝 144 | -------------------------------------------------------------------------------- /table2chartbl.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # table2chartbl.pl --- 3 | # Author: Ye Wenbin 4 | # Created: 27 Apr 2008 5 | # Version: 0.01 6 | 7 | use warnings; 8 | use strict; 9 | use Getopt::Long; 10 | use utf8; 11 | use Pod::Usage; 12 | 13 | my ($filter, $im, $output); 14 | binmode STDOUT, "utf8"; 15 | 16 | GetOptions( 17 | "filter=s" => \$filter, 18 | "im=s" => \$im, 19 | "output=s" => \$output, 20 | ); 21 | if ( !defined $im ) { 22 | pod2usage("Input method name needed!\n"); 23 | } 24 | 25 | unless ( @ARGV ) { 26 | pod2usage("Table files are not given!\n"); 27 | } 28 | 29 | my %table; 30 | foreach my $file ( @ARGV ) { 31 | open(my $fh, "<:utf8", $file) or die "Can't open file $file: $!"; 32 | while ( <$fh> ) { 33 | last if /^\[Table\]/; 34 | } 35 | while ( <$fh> ) { 36 | my @r = split /\s+/; 37 | foreach my $c ( @r[1..$#r] ) { 38 | if ( length($c) == 1 ) { 39 | if ( exists $table{$c} ) { 40 | if ( length($r[0]) > length($table{$c}) ) { 41 | $table{$c} = $r[0]; 42 | } 43 | } 44 | else { 45 | $table{$c} = $r[0]; 46 | } 47 | } 48 | } 49 | } 50 | } 51 | 52 | my %rtable; 53 | foreach ( keys %table ) { 54 | push @{$rtable{$table{$_}}}, $_; 55 | } 56 | 57 | $output ||= "eim-".$im."-chars.el"; 58 | open(my $fh, ">:utf8", $output) or die "Can't create file $output: $!"; 59 | print "Save table to $output...\n"; 60 | 61 | print {$fh} <<'HEADER'; 62 | ;;; -*- coding: utf-8 -*- 63 | ;;;_. 字库 64 | (eim-make-char-table '( 65 | HEADER 66 | 67 | foreach ( sort keys %rtable ) { 68 | s/\\/\\\\/; 69 | s/"/\\"/; 70 | if ( $filter && /$filter/ ) { 71 | next; 72 | } 73 | print {$fh} "(", join(' ', map { qq("$_") } $_, @{$rtable{$_}}), ")\n"; 74 | } 75 | 76 | print {$fh} <<"FOOTER"; 77 | ) eim-$im-char-table) 78 | FOOTER 79 | 80 | print "Done!\n" 81 | 82 | __END__ 83 | 84 | =head1 NAME 85 | 86 | table2chartbl.pl - 从码表中提取汉字到编码的转换表 87 | 88 | =head1 SYNOPSIS 89 | 90 | table2chartbl.pl [-i im -f filter -o output] tables 91 | 92 | -i --im 输入法名称 93 | -f --filter 对码表过滤 94 | -o --output 输出文件 95 | 96 | =head1 DESCRIPTION 97 | 98 | 本程序用于从 eim 的输入法码表中提取汉字的转换表。 99 | 100 | =head1 AUTHOR 101 | 102 | Ye Wenbin, Ewenbinye@gmail.comE 103 | 104 | =head1 COPYRIGHT AND LICENSE 105 | 106 | Copyright (C) 2008 by Ye Wenbin 107 | 108 | This program is free software; you can redistribute it and/or modify 109 | it under the same terms as Perl itself, either Perl version 5.8.2 or, 110 | at your option, any later version of Perl 5 you may have available. 111 | 112 | =head1 BUGS 113 | 114 | None reported... yet. 115 | 116 | =cut 117 | -------------------------------------------------------------------------------- /wbpy.txt: -------------------------------------------------------------------------------- 1 | ;; -*- coding: utf-8 -*- 2 | [Comment] 3 | 要创建一个新的 eim 输入法文件,最简单的方法是只要在 Table 部分填入码表 4 | 就行了。更多的设置如下: 5 | 6 | 如果需要排序,或者合并相同编码的词条,使用 C-c C-c 或者 M-x eim-build-table。 7 | 如果有需要,可能还要修改 first-char 和 extra-char 8 | 9 | [Parameter] 10 | first-char=z 11 | extra-char=yxwtsqpmvlkjfrdhcuebogniaz 12 | 13 | [Table] 14 | za 阿 啊 呵 腌 嗄 锕 吖 15 | zai 爱 哀 挨 碍 埃 癌 艾 唉 矮 哎 皑 蔼 隘 暧 霭 捱 嗳 瑷 嫒 锿 嗌 砹 16 | zan 安 案 按 暗 岸 俺 谙 黯 鞍 氨 庵 桉 鹌 胺 铵 揞 犴 埯 17 | zang 昂 肮 盎 18 | zao 奥 澳 傲 熬 敖 凹 袄 懊 坳 嗷 拗 鏖 骜 鳌 翱 岙 廒 遨 獒 聱 媪 螯 鏊 19 | zba 把 八 吧 巴 爸 罢 拔 叭 芭 霸 靶 扒 疤 跋 坝 笆 耙 粑 灞 茇 菝 魃 岜 捌 钯 鲅 20 | zbai 百 白 败 摆 伯 拜 柏 呗 掰 捭 佰 稗 21 | zban 办 半 版 般 班 板 伴 搬 扮 斑 颁 瓣 拌 扳 绊 阪 坂 瘢 钣 舨 癍 22 | zbang 帮 邦 棒 膀 榜 傍 绑 磅 谤 浜 梆 镑 蚌 蒡 23 | zbao 报 保 包 暴 宝 抱 薄 胞 爆 鲍 饱 堡 曝 刨 褒 豹 雹 苞 葆 褓 孢 煲 鸨 龅 趵 24 | zbei 被 北 备 背 悲 辈 杯 倍 贝 碑 卑 蓓 惫 悖 狈 呗 焙 鹎 孛 邶 陂 埤 碚 褙 鐾 鞴 萆 钡 25 | zben 本 奔 笨 苯 夯 畚 贲 锛 坌 26 | zbeng 崩 甭 绷 蹦 迸 甏 泵 嘣 蚌 27 | zbi 比 必 笔 毕 币 避 闭 鼻 彼 逼 壁 臂 弊 碧 鄙 毙 蔽 庇 匕 璧 敝 陛 弼 篦 婢 愎 痹 妣 濞 铋 裨 俾 髀 萆 薜 哔 狴 庳 秕 滗 舭 毖 吡 嬖 蓖 贲 畀 荸 埤 筚 箅 芘 襞 跸 荜 28 | zbian 编 便 边 变 遍 辩 辨 贬 鞭 辫 扁 卞 砭 苄 匾 汴 蝙 笾 碥 窆 褊 弁 鳊 忭 煸 缏 29 | zbiao 表 标 彪 镖 膘 骠 镳 裱 杓 飙 瘭 髟 飚 婊 飑 鳔 30 | zbie 别 憋 瘪 蹩 鳖 31 | zbin 宾 滨 彬 斌 鬓 缤 殡 濒 槟 摈 膑 傧 玢 豳 髌 镔 32 | zbing 并 病 兵 冰 饼 丙 柄 秉 炳 禀 邴 摒 33 | zbo 波 播 博 伯 勃 薄 拨 泊 柏 剥 玻 驳 卜 脖 搏 膊 饽 簸 掰 舶 跛 礴 菠 帛 铂 钵 渤 檗 钹 擘 箔 趵 孛 鹁 踣 亳 啵 34 | zbu 不 部 布 步 补 捕 怖 卜 簿 哺 埔 卟 埠 钸 逋 醭 晡 瓿 钚 35 | zca 擦 嚓 礤 36 | zcai 才 采 菜 财 材 彩 裁 猜 蔡 踩 睬 37 | zcan 参 餐 残 惨 灿 惭 掺 蚕 璨 孱 骖 黪 粲 38 | zcang 藏 苍 仓 沧 舱 伧 39 | zcao 草 操 曹 糙 嘈 槽 螬 艚 漕 40 | zce 策 测 侧 厕 册 恻 41 | zcen 参 岑 涔 42 | zceng 曾 层 蹭 噌 43 | zcha 查 察 差 茶 插 刹 叉 诧 茬 碴 喳 岔 嚓 衩 杈 楂 槎 檫 镲 搽 锸 猹 馇 汊 姹 44 | zchai 差 柴 拆 豺 钗 侪 虿 瘥 45 | zchan 产 颤 缠 禅 蝉 馋 铲 搀 阐 掺 潺 忏 蟾 婵 谄 谗 廛 孱 澶 冁 躔 蒇 骣 觇 镡 羼 46 | zchang 长 场 常 唱 厂 尝 昌 肠 偿 畅 倡 倘 敞 怅 娼 猖 嫦 伥 氅 徜 昶 鲳 阊 菖 苌 鬯 惝 47 | zchao 超 朝 潮 炒 吵 抄 嘲 钞 绰 巢 晁 焯 怊 耖 48 | zche 车 彻 撤 扯 澈 掣 坼 砗 49 | zchen 称 陈 沉 晨 尘 臣 趁 衬 辰 郴 谶 琛 忱 嗔 伧 抻 谌 宸 榇 龀 碜 50 | zcheng 成 城 程 称 承 诚 盛 乘 呈 撑 惩 澄 秤 瞠 橙 噌 逞 铛 丞 骋 埕 枨 塍 铖 裎 酲 柽 蛏 51 | zchi 吃 持 迟 尺 赤 斥 池 痴 齿 驰 耻 翅 匙 侈 哧 嗤 啻 弛 蚩 炽 笞 敕 叱 饬 踟 鸱 褫 豉 坻 墀 茌 篪 傺 媸 螭 彳 眵 魑 瘛 52 | zchong 重 冲 充 崇 虫 宠 憧 忡 艟 茺 舂 铳 53 | zchou 抽 愁 仇 丑 筹 臭 酬 绸 踌 瞅 惆 畴 稠 雠 俦 帱 瘳 54 | zchu 出 处 除 初 楚 触 储 础 厨 畜 躇 橱 雏 矗 怵 锄 杵 搐 绌 黜 褚 蜍 蹰 刍 滁 楮 憷 亍 樗 55 | zchuai 揣 啜 踹 嘬 膪 搋 56 | zchuan 传 穿 川 船 串 喘 舛 遄 舡 巛 氚 椽 钏 57 | zchuang 创 窗 床 闯 幢 疮 怆 58 | zchui 吹 垂 炊 锤 捶 陲 槌 棰 59 | zchun 春 纯 唇 蠢 醇 淳 椿 鹑 蝽 莼 60 | zchuo 绰 戳 啜 辍 踔 龊 61 | zci 此 次 词 差 刺 辞 慈 磁 赐 瓷 兹 茨 雌 祠 疵 呲 鹚 糍 茈 62 | zcong 从 匆 聪 丛 葱 囱 琮 淙 枞 苁 骢 璁 63 | zcou 凑 楱 辏 腠 64 | zcu 促 粗 簇 醋 卒 猝 蹴 蹙 徂 殂 蔟 酢 65 | zcuan 攒 窜 篡 蹿 撺 镩 汆 爨 66 | zcui 脆 粹 催 摧 崔 萃 翠 瘁 悴 璀 隹 淬 毳 榱 啐 67 | zcun 存 村 寸 忖 皴 68 | zcuo 错 措 搓 挫 撮 磋 蹉 矬 嵯 脞 痤 瘥 鹾 厝 锉 69 | zda 大 打 达 答 搭 瘩 嗒 沓 耷 褡 鞑 笪 靼 怛 妲 哒 疸 70 | zdai 代 带 待 戴 袋 呆 贷 逮 歹 殆 黛 怠 玳 岱 迨 傣 呔 骀 绐 埭 甙 71 | zdan 但 单 担 弹 淡 旦 蛋 胆 诞 丹 耽 惮 眈 啖 澹 掸 殚 箪 瘅 赕 疸 聃 氮 萏 郸 儋 72 | zdang 当 党 荡 档 挡 裆 铛 宕 凼 菪 谠 砀 73 | zdao 到 道 导 倒 岛 刀 悼 盗 蹈 捣 祷 叨 稻 忉 帱 氘 纛 74 | zde 的 得 德 锝 75 | zdeng 等 登 灯 邓 凳 瞪 蹬 噔 磴 戥 镫 簦 嶝 76 | zdi 地 第 提 底 低 帝 弟 敌 抵 递 滴 迪 蒂 堤 笛 缔 涤 嘀 诋 谛 狄 邸 睇 嫡 翟 砥 娣 棣 荻 羝 坻 柢 觌 骶 氐 绨 镝 碲 籴 77 | zdia 嗲 78 | zdian 点 电 店 典 颠 甸 淀 垫 殿 滇 奠 惦 掂 碘 癫 巅 踮 佃 玷 簟 阽 坫 靛 钿 癜 丶 79 | zdiao 调 掉 吊 雕 刁 钓 凋 叼 貂 碉 铫 铞 鲷 80 | zdie 爹 跌 叠 迭 碟 谍 蝶 喋 佚 踮 牒 耋 蹀 堞 瓞 揲 垤 鲽 81 | zding 定 订 顶 丁 盯 钉 鼎 叮 町 铤 腚 酊 仃 锭 疔 啶 玎 碇 耵 82 | zdiu 丢 铥 83 | zdong 动 东 懂 冬 洞 冻 董 栋 咚 恫 侗 氡 硐 鸫 岽 垌 峒 胨 胴 84 | zdou 都 斗 豆 抖 逗 兜 陡 窦 蔸 蚪 篼 痘 85 | zdu 都 读 度 独 毒 督 渡 肚 杜 睹 堵 赌 妒 嘟 渎 笃 牍 镀 犊 黩 髑 椟 芏 蠹 86 | zduan 断 段 短 端 锻 缎 煅 椴 簖 87 | zdui 对 队 堆 兑 碓 憝 怼 镦 88 | zdun 顿 盾 吨 敦 蹲 钝 炖 遁 盹 沌 囤 墩 趸 镦 礅 砘 89 | zduo 多 夺 朵 躲 舵 堕 踱 咄 跺 哆 剁 惰 垛 驮 掇 铎 裰 哚 缍 沲 柁 90 | ze 额 俄 恶 饿 哦 鹅 扼 愕 遏 噩 娥 峨 呃 厄 鄂 讹 婀 蛾 轭 颚 鳄 锷 谔 屙 锇 阏 垩 腭 苊 鹗 萼 莪 91 | zei 诶 92 | zen 恩 摁 蒽 93 | zer 而 二 儿 尔 耳 迩 饵 洱 鸸 珥 铒 鲕 贰 佴 94 | zfa 发 法 罚 乏 伐 阀 砝 筏 垡 珐 95 | zfan 反 饭 犯 翻 范 凡 烦 返 番 贩 繁 泛 帆 藩 幡 梵 樊 燔 蕃 畈 钒 蘩 矾 蹯 96 | zfang 方 放 房 访 防 仿 芳 妨 纺 彷 坊 肪 舫 钫 鲂 邡 枋 97 | zfei 非 费 飞 废 肥 啡 沸 菲 肺 匪 诽 腓 扉 吠 霏 绯 妃 斐 翡 蜚 痱 淝 悱 鲱 篚 芾 狒 镄 榧 98 | zfen 分 份 纷 奋 愤 粉 氛 芬 坟 焚 粪 忿 吩 汾 棼 鼢 玢 酚 偾 瀵 鲼 99 | zfeng 风 封 丰 峰 疯 锋 逢 奉 缝 凤 讽 冯 蜂 枫 烽 俸 砜 唪 酆 葑 沣 100 | zfo 佛 101 | zfou 否 缶 102 | zfu 夫 府 服 复 父 负 副 福 富 付 妇 附 佛 幅 伏 符 赴 腐 浮 扶 腹 抚 覆 肤 赋 弗 傅 辅 拂 甫 俯 斧 缚 咐 脯 袱 俘 敷 阜 芙 釜 孚 腑 匐 孵 辐 涪 讣 氟 桴 蜉 芾 苻 茯 莩 菔 幞 怫 拊 滏 黼 艴 麸 绂 绋 趺 祓 砩 黻 罘 蚨 跗 蝠 呋 凫 郛 稃 驸 赙 馥 蝮 鲋 鳆 103 | zga 咖 尬 嘎 噶 轧 伽 旮 钆 尕 尜 104 | zgai 改 该 概 盖 丐 钙 赅 溉 垓 陔 戤 105 | zgan 感 干 敢 赶 甘 肝 杆 尴 赣 橄 竿 秆 擀 坩 苷 柑 泔 矸 澉 疳 酐 淦 绀 旰 106 | zgang 刚 港 钢 岗 纲 缸 扛 杠 冈 肛 罡 戆 筻 107 | zgao 高 告 稿 搞 糕 膏 皋 羔 睾 槁 藁 缟 篙 镐 诰 槔 杲 郜 锆 108 | zge 个 革 各 歌 格 哥 戈 隔 葛 割 阁 胳 搁 疙 咯 鸽 嗝 骼 颌 屹 搿 膈 镉 纥 袼 仡 鬲 塥 圪 哿 舸 铬 硌 虼 109 | zgei 给 110 | zgen 根 跟 亘 艮 哏 茛 111 | zgeng 更 耿 耕 颈 庚 羹 梗 哽 赓 鲠 埂 绠 112 | zgong 工 公 共 供 功 攻 宫 贡 恭 巩 躬 龚 弓 拱 肱 汞 蚣 珙 觥 113 | zgou 够 购 构 狗 沟 勾 苟 钩 觏 篝 垢 佝 岣 诟 鞲 笱 枸 遘 媾 缑 彀 114 | zgu 故 古 顾 股 鼓 姑 骨 固 孤 谷 估 雇 辜 咕 沽 箍 菇 汩 轱 锢 蛊 梏 鸪 毂 鹄 臌 瞽 罟 钴 觚 鹘 菰 蛄 嘏 诂 崮 酤 牿 牯 痼 鲴 115 | zgua 挂 瓜 刮 寡 呱 褂 卦 剐 鸹 栝 胍 诖 116 | zguai 怪 乖 拐 掴 117 | zguan 关 观 管 官 馆 惯 冠 贯 罐 灌 棺 莞 倌 纶 掼 盥 涫 鳏 鹳 118 | zguang 广 光 逛 犷 咣 胱 桄 119 | zgui 规 归 贵 鬼 桂 跪 柜 轨 瑰 诡 刽 龟 硅 闺 皈 傀 癸 圭 晷 簋 妫 鲑 匦 庋 宄 炔 刿 桧 炅 鳜 120 | zgun 滚 棍 鲧 绲 磙 辊 衮 121 | zguo 国 过 果 锅 郭 裹 帼 蝈 聒 馘 掴 埚 虢 呙 崞 猓 椁 蜾 122 | zha 哈 蛤 铪 123 | zhai 还 海 孩 害 嘿 咳 亥 骇 骸 嗨 胲 醢 氦 124 | zhan 汉 喊 含 寒 汗 韩 憾 涵 函 翰 撼 罕 旱 捍 酣 悍 憨 晗 瀚 鼾 顸 阚 焊 蚶 焓 颔 菡 撖 邗 邯 125 | zhang 行 航 巷 杭 夯 沆 颃 绗 珩 126 | zhao 好 号 毫 豪 浩 耗 皓 嚎 昊 郝 壕 蒿 貉 灏 镐 嗥 嚆 薅 濠 蚝 颢 127 | zhe 和 何 合 河 喝 赫 核 吓 贺 盒 呵 禾 荷 鹤 壑 阂 褐 诃 涸 阖 嗬 貉 曷 颌 劾 盍 纥 蚵 翮 菏 128 | zhei 黑 嘿 嗨 129 | zhen 很 恨 狠 痕 130 | zheng 横 衡 恒 哼 亨 蘅 珩 桁 131 | zhong 红 轰 洪 鸿 哄 宏 虹 弘 烘 泓 闳 薨 讧 蕻 訇 黉 荭 132 | zhou 后 候 後 厚 侯 喉 吼 猴 逅 糇 骺 堠 瘊 篌 鲎 133 | zhu 乎 护 呼 胡 户 湖 忽 互 糊 虎 壶 狐 沪 惚 浒 唬 葫 弧 蝴 囫 瑚 斛 祜 猢 鹄 醐 戽 扈 唿 笏 琥 滹 鹕 轷 烀 冱 岵 怙 鹘 槲 觳 瓠 鹱 煳 134 | zhua 话 华 化 花 划 画 滑 哗 桦 猾 砉 铧 骅 135 | zhuai 怀 坏 徊 淮 槐 踝 136 | zhuan 欢 换 还 环 缓 患 幻 唤 宦 焕 痪 寰 鬟 涣 浣 奂 桓 缳 豢 锾 郇 萑 圜 洹 擐 獾 漶 逭 鲩 137 | zhuang 黄 皇 荒 晃 慌 煌 惶 恍 谎 璜 徨 簧 凰 幌 潢 蝗 蟥 遑 隍 肓 磺 癀 湟 篁 鳇 138 | zhui 会 回 汇 挥 辉 灰 惠 毁 悔 恢 慧 绘 徽 讳 贿 徊 晦 秽 诲 诙 晖 彗 麾 烩 荟 卉 茴 喙 蛔 恚 洄 珲 蕙 哕 咴 浍 虺 缋 桧 隳 蟪 139 | zhun 婚 混 魂 昏 浑 馄 荤 诨 溷 阍 珲 140 | zhuo 和 或 活 火 获 货 伙 祸 惑 霍 豁 夥 锪 耠 劐 钬 攉 藿 嚯 镬 蠖 141 | zji 几 给 己 机 记 及 计 即 基 济 辑 级 极 寄 际 技 集 纪 击 奇 急 激 继 既 积 籍 鸡 吉 挤 迹 季 寂 绩 疾 饥 祭 缉 忌 剂 圾 姬 矶 肌 嫉 讥 藉 叽 脊 冀 稽 妓 棘 骥 畸 蓟 汲 悸 岌 伎 笈 跻 瘠 亟 诘 暨 霁 羁 稷 偈 戟 嵇 楫 唧 鲫 髻 荠 箕 觊 蒺 畿 虮 齑 殛 墼 佶 掎 芨 丌 麂 蕺 咭 嵴 芰 笄 哜 洎 乩 戢 屐 剞 跽 玑 鲚 赍 犄 142 | zjia 家 加 价 假 架 甲 佳 驾 夹 嫁 嘉 贾 稼 茄 佼 挟 颊 皎 侥 枷 珈 戛 迦 伽 浃 痂 胛 笳 荚 葭 钾 镓 嘏 郏 挢 岬 徼 湫 敫 袈 瘕 恝 铗 袷 蛱 跏 143 | zjian 见 间 件 建 简 坚 监 减 渐 检 健 兼 剑 艰 肩 键 荐 尖 鉴 剪 践 奸 捡 箭 舰 拣 贱 溅 煎 俭 槛 碱 歼 缄 茧 笺 柬 谏 蹇 僭 涧 菅 謇 硷 睑 锏 饯 毽 鲣 鞯 蒹 搛 谫 囝 湔 缣 枧 戬 戋 犍 裥 笕 翦 趼 楗 牮 鹣 腱 踺 144 | zjiang 将 讲 强 江 奖 降 蒋 疆 酱 姜 浆 僵 匠 犟 缰 绛 桨 耩 礓 洚 豇 茳 糨 145 | zjiao 教 交 觉 校 叫 较 角 脚 焦 骄 郊 轿 搅 嚼 胶 缴 绞 饺 椒 矫 娇 佼 狡 浇 跤 姣 窖 剿 侥 皎 蕉 酵 礁 鲛 徼 湫 敫 僬 鹪 峤 蛟 铰 艽 茭 挢 噍 醮 146 | zjie 界 解 接 结 节 街 姐 阶 介 借 戒 杰 届 皆 捷 截 洁 揭 劫 竭 藉 睫 诫 嗟 拮 孑 碣 秸 诘 桀 芥 偈 颉 讦 疖 疥 婕 羯 鲒 蚧 骱 喈 147 | zjin 进 今 金 近 尽 仅 紧 禁 劲 津 斤 谨 锦 筋 晋 巾 浸 襟 瑾 矜 靳 缙 烬 噤 觐 馑 堇 衿 荩 廑 妗 卺 赆 槿 148 | zjing 经 京 精 境 警 竟 静 惊 景 敬 睛 镜 竞 净 井 径 晶 荆 兢 颈 憬 靖 鲸 泾 阱 儆 旌 痉 迳 茎 胫 腈 菁 粳 獍 肼 弪 婧 刭 靓 149 | zjiong 窘 炯 迥 扃 炅 150 | zjiu 就 九 究 酒 久 旧 救 纠 揪 疚 舅 韭 赳 鸠 灸 咎 啾 臼 鹫 阄 僦 厩 玖 柩 桕 鬏 151 | zju 局 据 居 句 举 具 剧 巨 聚 拒 俱 距 惧 菊 拘 矩 桔 驹 鞠 咀 沮 瞿 锯 炬 飓 趄 掬 踽 踞 遽 橘 倨 疽 龃 屦 犋 裾 钜 苴 雎 鞫 椐 讵 苣 锔 狙 榘 莒 枸 榉 窭 醵 琚 152 | zjuan 捐 卷 倦 眷 娟 隽 绢 鹃 涓 镌 锩 鄄 狷 桊 蠲 153 | zjue 觉 绝 决 脚 嚼 掘 诀 崛 爵 抉 倔 獗 嗟 厥 蹶 攫 谲 矍 撅 噱 孓 橛 噘 珏 桷 劂 爝 镢 蕨 觖 154 | zjun 军 均 君 俊 峻 钧 隽 筠 菌 郡 骏 竣 麇 皲 捃 浚 155 | zka 卡 咖 喀 咔 佧 胩 156 | zkai 开 慨 凯 铠 揩 楷 恺 垲 蒈 锎 剀 锴 忾 157 | zkan 看 刊 侃 堪 砍 坎 槛 勘 瞰 龛 阚 莰 戡 158 | zkang 抗 康 慷 扛 炕 亢 糠 伉 闶 钪 159 | zkao 考 靠 铐 烤 拷 犒 栲 尻 160 | zke 可 克 科 客 刻 课 颗 渴 柯 呵 棵 恪 咳 苛 磕 壳 坷 嗑 瞌 轲 稞 疴 蝌 溘 髁 钶 窠 颏 珂 岢 骒 缂 氪 锞 蚵 161 | zken 肯 恳 啃 垦 龈 裉 162 | zkeng 坑 吭 铿 163 | zkong 空 恐 控 孔 倥 崆 箜 164 | zkou 口 扣 抠 寇 叩 蔻 眍 芤 筘 165 | zku 苦 哭 库 裤 酷 枯 窟 骷 刳 堀 喾 绔 166 | zkua 夸 跨 垮 挎 胯 侉 167 | zkuai 会 快 块 筷 脍 蒯 哙 侩 狯 浍 郐 168 | zkuan 款 宽 髋 169 | zkuang 况 狂 矿 框 旷 眶 筐 匡 哐 邝 诓 夼 诳 圹 纩 贶 170 | zkui 亏 愧 溃 窥 魁 馈 睽 盔 逵 葵 奎 匮 傀 喟 聩 岿 馗 夔 篑 喹 悝 暌 隗 蒉 蝰 愦 揆 跬 171 | zkun 困 昆 捆 坤 鲲 悃 髡 锟 醌 阃 琨 172 | zkuo 括 阔 扩 廓 栝 蛞 173 | zla 拉 啦 辣 腊 喇 垃 蜡 剌 邋 旯 瘌 砬 174 | zlai 来 赖 莱 睐 癞 籁 徕 涞 赉 铼 崃 濑 175 | zlan 兰 蓝 栏 烂 懒 览 滥 拦 篮 揽 澜 榄 婪 缆 斓 岚 阑 褴 镧 罱 谰 漤 176 | zlang 浪 狼 朗 郎 廊 琅 螂 榔 啷 莨 锒 稂 阆 蒗 177 | zlao 老 劳 牢 捞 姥 佬 潦 唠 烙 酪 涝 崂 痨 醪 铹 栳 铑 耢 178 | zle 了 乐 勒 肋 叻 泐 鳓 仂 179 | zlei 类 泪 累 雷 蕾 垒 磊 擂 肋 儡 羸 诔 镭 嘞 檑 嫘 缧 酹 耒 180 | zleng 冷 愣 楞 棱 塄 181 | zli 里 理 力 利 立 李 历 离 例 礼 丽 励 黎 厉 璃 莉 哩 笠 粒 俐 漓 栗 狸 梨 隶 吏 沥 篱 厘 犁 雳 罹 莅 戾 鲤 俚 砺 藜 俪 蜊 黧 郦 痢 枥 逦 娌 詈 骊 荔 鳢 喱 鹂 嫠 蠡 鬲 鲡 悝 坜 苈 砾 藓 呖 唳 猁 溧 澧 栎 轹 蓠 傈 缡 疠 疬 蛎 锂 篥 粝 跞 醴 182 | zlia 俩 183 | zlian 联 连 脸 练 恋 怜 莲 廉 炼 帘 链 敛 涟 镰 殓 琏 楝 裢 裣 蠊 鲢 濂 臁 潋 蔹 奁 184 | zliang 两 量 良 亮 辆 梁 俩 凉 粮 谅 粱 晾 踉 莨 墚 魉 椋 靓 185 | zliao 了 料 聊 疗 辽 僚 廖 寥 镣 潦 撩 撂 缭 燎 寮 嘹 钌 獠 鹩 蓼 尥 186 | zlie 列 烈 裂 劣 猎 咧 趔 冽 洌 捩 埒 躐 鬣 187 | zlin 林 临 邻 琳 淋 霖 麟 凛 吝 鳞 磷 躏 赁 嶙 辚 檩 遴 粼 蔺 懔 瞵 啉 膦 廪 188 | zling 领 令 另 灵 零 龄 凌 玲 铃 陵 岭 拎 伶 聆 囹 棱 菱 翎 苓 瓴 棂 绫 呤 柃 鲮 酃 泠 羚 蛉 189 | zliu 六 留 流 陆 刘 溜 柳 碌 瘤 榴 浏 硫 琉 遛 馏 镏 骝 绺 锍 旒 熘 鎏 鹨 190 | zlong 龙 隆 笼 胧 拢 咙 聋 垄 珑 窿 陇 癃 茏 栊 泷 垅 砻 191 | zlou 楼 陋 漏 搂 喽 篓 偻 娄 髅 蝼 镂 蒌 嵝 耧 瘘 192 | zlu 路 陆 录 卢 露 鲁 炉 鹿 碌 庐 芦 噜 颅 禄 辘 卤 虏 麓 泸 赂 漉 戮 簏 轳 鹭 掳 潞 鲈 撸 栌 垆 胪 蓼 渌 鸬 逯 璐 辂 橹 镥 舻 氇 193 | zluan 乱 卵 峦 挛 孪 栾 銮 娈 滦 鸾 脔 194 | zlue 略 掠 锊 195 | zlun 论 轮 伦 沦 仑 抡 囵 纶 196 | zluo 落 罗 络 洛 逻 裸 骆 萝 螺 锣 箩 摞 烙 捋 珞 骡 猡 镙 椤 倮 蠃 荦 瘰 泺 漯 脶 硌 雒 197 | zlv 律 旅 绿 率 虑 履 屡 侣 缕 驴 吕 榈 滤 捋 铝 褛 闾 膂 氯 稆 198 | zm 呒 199 | zma 马 吗 妈 码 麻 骂 嘛 抹 玛 蚂 蟆 唛 杩 犸 嬷 200 | zmai 买 卖 麦 埋 迈 脉 霾 劢 荬 201 | zman 满 慢 漫 曼 蛮 馒 瞒 蔓 颟 谩 墁 幔 螨 鞔 鳗 缦 熳 镘 202 | zmang 忙 茫 盲 芒 氓 莽 蟒 邙 漭 硭 203 | zmao 毛 冒 猫 贸 矛 帽 貌 茅 茂 髦 卯 耄 瑁 锚 懋 袤 铆 峁 牦 蟊 泖 昴 茆 旄 蝥 瞀 204 | zme 么 麽 205 | zmei 没 美 每 妹 眉 梅 媒 枚 魅 煤 昧 霉 玫 媚 寐 糜 袂 酶 莓 嵋 楣 湄 猸 镅 浼 鹛 镁 206 | zmen 们 门 闷 扪 懑 焖 钔 207 | zmeng 梦 蒙 猛 盟 朦 孟 萌 勐 懵 檬 蠓 瞢 甍 礞 蜢 虻 艋 艨 锰 208 | zmi 密 米 秘 迷 弥 谜 觅 眯 蜜 靡 咪 谧 泌 糜 汨 宓 麋 醚 弭 敉 芈 祢 脒 幂 縻 嘧 蘼 猕 糸 209 | zmian 面 免 棉 眠 缅 绵 勉 腼 冕 娩 湎 沔 眄 黾 渑 210 | zmiao 妙 描 秒 庙 苗 渺 瞄 藐 缪 淼 缈 喵 眇 邈 鹋 杪 211 | zmie 灭 蔑 篾 咩 乜 蠛 212 | zmin 民 敏 悯 闽 泯 珉 皿 抿 闵 苠 岷 缗 玟 愍 黾 鳘 213 | zming 名 明 命 鸣 铭 冥 茗 溟 酩 瞑 暝 螟 214 | zmiu 谬 缪 215 | zmo 默 莫 模 麽 末 磨 摸 摩 寞 漠 墨 抹 魔 陌 嘿 沫 膜 蓦 蘑 茉 馍 摹 貉 谟 嫫 秣 镆 殁 瘼 耱 貊 貘 216 | zmou 某 谋 眸 缪 鍪 哞 侔 蛑 217 | zmu 目 母 木 幕 姆 慕 牧 墓 募 暮 牟 亩 穆 睦 拇 沐 牡 仫 坶 苜 毪 钼 218 | zn 嗯 唔 219 | zna 那 拿 呢 哪 纳 娜 呐 捺 钠 镎 肭 衲 220 | znai 乃 奶 奈 耐 氖 艿 鼐 佴 萘 柰 221 | znan 难 南 男 楠 喃 囡 囝 腩 蝻 赧 222 | znang 囊 囔 馕 攮 曩 223 | znao 脑 闹 恼 挠 瑙 淖 呶 猱 铙 孬 硇 蛲 垴 224 | zne 呢 讷 225 | znei 内 馁 226 | znen 嫩 恁 227 | zneng 能 228 | zng 嗯 唔 229 | zni 你 呢 尼 泥 逆 倪 匿 拟 腻 妮 霓 昵 溺 旎 睨 鲵 坭 猊 怩 伲 祢 慝 铌 230 | znian 年 念 廿 粘 碾 捻 蔫 撵 拈 黏 鲶 鲇 辇 埝 231 | zniang 娘 酿 232 | zniao 鸟 尿 袅 嬲 茑 脲 233 | znie 捏 涅 聂 孽 蹑 嗫 啮 镊 镍 乜 陧 颞 臬 蘖 234 | znin 您 恁 235 | zning 宁 凝 拧 泞 咛 狞 柠 佞 聍 苎 甯 236 | zniu 牛 纽 扭 妞 钮 拗 忸 狃 237 | znong 农 弄 浓 侬 哝 脓 238 | znou 耨 239 | znu 怒 努 奴 弩 驽 胬 孥 240 | znuan 暖 241 | znue 虐 疟 242 | znuo 诺 挪 懦 糯 喏 搦 傩 锘 243 | znv 女 钕 恧 衄 244 | zo 哦 噢 喔 245 | zou 欧 偶 殴 呕 鸥 讴 瓯 藕 沤 耦 怄 246 | zpa 怕 爬 帕 扒 趴 啪 琶 葩 耙 杷 钯 筢 247 | zpai 派 排 牌 拍 徘 湃 俳 蒎 哌 248 | zpan 判 盘 盼 叛 畔 潘 攀 拚 蹒 磐 爿 蟠 襻 袢 泮 249 | zpang 旁 庞 胖 乓 膀 磅 彷 螃 滂 耪 逄 250 | zpao 跑 炮 抛 泡 袍 刨 咆 狍 疱 脬 庖 匏 251 | zpei 配 陪 培 佩 赔 沛 裴 呸 胚 醅 锫 辔 帔 旆 霈 252 | zpen 盆 喷 湓 253 | zpeng 朋 鹏 碰 彭 捧 棚 蓬 膨 烹 抨 篷 砰 澎 怦 堋 蟛 嘭 硼 254 | zpi 批 否 皮 屁 披 疲 辟 啤 脾 匹 僻 劈 譬 坯 痞 癖 琵 毗 霹 噼 媲 郫 裨 纰 丕 鼙 圮 蚍 蜱 貔 陂 陴 砒 仳 埤 擗 吡 庀 邳 疋 芘 枇 罴 淠 铍 甓 睥 255 | zpian 便 片 篇 偏 骗 翩 扁 犏 谝 蹁 骈 缏 胼 256 | zpiao 票 漂 飘 瓢 嫖 瞟 骠 嘌 剽 螵 缥 莩 殍 257 | zpie 撇 瞥 氕 丿 苤 258 | zpin 品 贫 拼 频 聘 拚 姘 嫔 榀 颦 牝 259 | zping 平 评 瓶 凭 萍 乒 屏 苹 坪 枰 娉 俜 鲆 260 | zpo 破 迫 颇 婆 坡 泊 泼 魄 粕 珀 叵 攴 钷 笸 钋 陂 泺 鄱 皤 261 | zpou 剖 裒 掊 262 | zpu 普 铺 扑 朴 谱 浦 葡 蒲 仆 脯 瀑 菩 溥 匍 璞 噗 圃 埔 氆 镨 蹼 镤 濮 莆 263 | zqi 起 其 期 气 七 奇 妻 企 器 汽 棋 齐 旗 弃 启 骑 欺 歧 岂 戚 凄 泣 契 琪 乞 祈 漆 迄 脐 栖 沏 祺 崎 祁 琦 蹊 砌 憩 淇 汔 亟 绮 讫 嘁 岐 萋 俟 杞 芪 荠 耆 槭 颀 芑 屺 欹 桤 綮 萁 蛴 蜞 綦 鳍 麒 蕲 柒 亓 骐 葺 畦 圻 碛 264 | zqia 恰 洽 掐 伽 袷 葜 髂 265 | zqian 前 钱 千 签 欠 牵 浅 潜 迁 谦 遣 歉 纤 嵌 乾 谴 铅 虔 钳 骞 倩 堑 黔 掮 悭 芊 缱 愆 荨 芡 阡 佥 搴 褰 肷 钎 仟 犍 钤 岍 箝 鬈 扦 慊 椠 266 | zqiang 枪 墙 抢 腔 呛 锵 跄 羌 蔷 戕 襁 樯 炝 蜣 嫱 锖 戗 羟 镪 267 | zqiao 桥 悄 乔 巧 侨 瞧 敲 翘 俏 窍 峭 锹 撬 跷 憔 樵 鞘 橇 诮 愀 谯 荞 峤 缲 硗 鞒 劁 268 | zqie 切 且 窃 怯 茄 趄 妾 砌 惬 伽 锲 挈 郄 箧 慊 269 | zqin 亲 钦 琴 侵 秦 勤 芹 擒 寝 覃 沁 禽 噙 揿 檎 锓 芩 嗪 螓 衾 廑 溱 吣 270 | zqing 情 请 青 清 轻 晴 庆 倾 卿 擎 顷 氢 罄 蜻 磬 謦 苘 圊 檠 黥 鲭 氰 箐 綮 271 | zqiong 穷 琼 穹 茕 邛 蛩 筇 跫 銎 272 | zqiu 求 球 秋 邱 囚 丘 酋 蚯 裘 俅 虬 鳅 逑 遒 赇 泅 楸 犰 湫 蝤 巯 鼽 糗 273 | zqu 去 取 区 曲 趣 屈 趋 驱 渠 躯 娶 觑 瞿 岖 戌 蛐 衢 蛆 癯 麴 阒 祛 磲 鸲 诎 蠼 劬 蕖 蘧 龋 苣 黢 璩 氍 朐 274 | zquan 全 权 圈 劝 泉 券 拳 犬 诠 颧 蜷 绻 荃 铨 痊 鬈 辁 悛 畎 醛 筌 275 | zque 却 确 缺 雀 瘸 榷 鹊 阕 阙 炔 悫 276 | zqun 群 裙 逡 麇 277 | zran 然 染 燃 冉 髯 苒 蚺 278 | zrang 让 嚷 攘 壤 瓤 穰 禳 279 | zrao 扰 绕 饶 娆 桡 荛 280 | zre 热 惹 喏 281 | zren 人 任 认 忍 仁 韧 刃 纫 饪 壬 仞 稔 葚 荏 妊 轫 衽 282 | zreng 仍 扔 283 | zri 日 284 | zrong 容 荣 融 蓉 溶 绒 熔 榕 戎 嵘 茸 冗 肜 蝾 狨 285 | zrou 肉 柔 揉 蹂 鞣 糅 286 | zru 如 入 辱 儒 乳 汝 褥 嚅 茹 濡 蠕 孺 缛 襦 颥 薷 蓐 洳 溽 铷 287 | zruan 软 阮 朊 288 | zrui 瑞 锐 芮 睿 蕤 枘 蕊 蚋 289 | zrun 润 闰 290 | zruo 若 弱 偌 箬 291 | zsa 洒 撒 萨 卅 仨 飒 挲 脎 292 | zsai 赛 塞 腮 噻 鳃 293 | zsan 三 散 伞 叁 毵 馓 糁 霰 294 | zsang 丧 桑 嗓 搡 磉 颡 295 | zsao 扫 骚 嫂 梢 臊 搔 缲 缫 鳋 埽 瘙 296 | zse 色 塞 涩 瑟 啬 铯 穑 297 | zsen 森 298 | zseng 僧 299 | zsha 杀 沙 啥 傻 厦 刹 纱 莎 煞 砂 霎 嗄 挲 歃 鲨 唼 痧 裟 铩 300 | zshai 晒 筛 酾 301 | zshan 山 善 闪 衫 删 煽 扇 陕 珊 杉 擅 掺 膳 栅 讪 跚 汕 姗 赡 潸 缮 嬗 掸 膻 骟 芟 埏 剡 钐 鄯 舢 苫 髟 疝 蟮 鳝 302 | zshang 上 商 伤 尚 赏 殇 裳 晌 觞 熵 墒 绱 垧 303 | zshao 少 绍 烧 稍 勺 哨 邵 梢 捎 韶 苕 鞘 潲 劭 杓 芍 蛸 筲 艄 304 | zshe 社 设 舍 涉 射 摄 舌 蛇 奢 赦 慑 佘 赊 麝 畲 厍 滠 歙 猞 305 | zshei 谁 306 | zshen 什 身 深 神 参 甚 申 审 沈 伸 慎 渗 绅 肾 呻 婶 莘 蜃 葚 娠 渖 矧 诜 砷 糁 谂 椹 胂 哂 307 | zsheng 生 声 省 胜 升 圣 盛 剩 牲 绳 甥 笙 渑 眚 嵊 晟 308 | zshi 是 时 十 事 实 使 世 市 识 始 士 师 诗 式 失 史 视 示 食 室 势 试 石 释 施 适 氏 驶 饰 尸 拾 逝 湿 誓 狮 嗜 蚀 嘘 屎 侍 匙 峙 仕 恃 柿 轼 矢 噬 拭 虱 弑 蓍 埘 莳 炻 谥 鲥 豕 贳 铈 螫 舐 筮 鲺 酾 309 | zshou 手 受 收 首 授 守 售 瘦 寿 兽 狩 绶 艏 310 | zshu 书 数 术 属 输 树 述 熟 束 署 殊 舒 叔 鼠 疏 淑 抒 薯 梳 暑 竖 蜀 恕 墅 孰 漱 枢 俞 赎 黍 蔬 曙 倏 庶 戍 塾 澍 姝 纾 秫 毹 殳 疋 菽 丨 沭 摅 腧 311 | zshua 刷 耍 唰 312 | zshuai 率 衰 摔 甩 帅 蟀 313 | zshuan 涮 栓 拴 闩 314 | zshuang 双 爽 霜 孀 泷 315 | zshui 水 谁 税 睡 316 | zshun 顺 舜 瞬 吮 317 | zshuo 说 朔 硕 烁 铄 妁 蒴 槊 搠 318 | zsi 四 死 思 斯 司 似 私 丝 寺 撕 肆 厮 嘶 伺 饲 嗣 祀 巳 驷 鸶 俟 汜 泗 厶 兕 蛳 咝 姒 澌 缌 耜 笥 锶 319 | zsong 送 松 宋 诵 耸 颂 讼 悚 怂 忪 淞 菘 崧 嵩 凇 竦 320 | zsou 搜 艘 嗽 擞 馊 薮 嗾 叟 嗖 溲 飕 锼 瞍 螋 321 | zsu 苏 诉 速 素 俗 肃 宿 塑 稣 溯 酥 粟 簌 夙 嗉 谡 僳 愫 涑 蔌 觫 322 | zsuan 算 酸 蒜 狻 323 | zsui 岁 随 虽 碎 遂 祟 隧 髓 邃 穗 隋 绥 睢 荽 燧 谇 眭 濉 324 | zsun 孙 损 笋 荪 狲 飧 榫 隼 325 | zsuo 所 索 缩 锁 琐 梭 嗦 唆 挲 娑 睃 唢 嗍 蓑 羧 桫 326 | zta 他 她 它 踏 塔 塌 榻 嗒 蹋 沓 遢 挞 鳎 闼 铊 趿 漯 溻 獭 327 | ztai 太 台 态 泰 抬 胎 汰 苔 呔 鲐 邰 薹 酞 骀 炱 跆 肽 钛 328 | ztan 谈 探 弹 坦 叹 坛 摊 贪 滩 毯 谭 潭 瘫 炭 覃 痰 忐 坍 袒 碳 澹 檀 昙 镡 郯 锬 钽 329 | ztang 堂 唐 汤 躺 糖 趟 倘 烫 淌 膛 塘 棠 搪 溏 螳 瑭 樘 螗 铴 醣 镗 耥 饧 傥 帑 羰 330 | ztao 讨 套 逃 涛 掏 陶 桃 淘 滔 萄 焘 啕 韬 饕 洮 绦 鼗 331 | zte 特 忑 忒 慝 铽 332 | ztei 忒 333 | zteng 腾 疼 藤 誊 滕 334 | zti 体 提 题 替 踢 梯 啼 涕 蹄 剔 剃 惕 屉 嚏 悌 醍 缇 鹈 锑 荑 倜 绨 逖 裼 335 | ztian 天 田 填 甜 添 腆 舔 恬 钿 阗 畋 忝 殄 掭 336 | ztiao 条 调 跳 挑 迢 眺 鲦 佻 苕 窕 髫 粜 笤 龆 祧 蜩 337 | ztie 铁 贴 帖 餮 萜 338 | zting 听 停 庭 厅 挺 亭 婷 廷 艇 町 霆 汀 铤 蜓 莛 梃 葶 烃 339 | ztong 同 通 统 痛 童 彤 筒 铜 桶 捅 桐 瞳 佟 恸 酮 恫 侗 砼 嗵 仝 垌 茼 峒 潼 340 | ztou 头 投 偷 透 钭 骰 341 | ztu 土 突 图 途 徒 屠 涂 吐 兔 秃 凸 荼 酴 钍 菟 堍 342 | ztuan 团 湍 抟 疃 彖 343 | ztui 推 退 腿 褪 颓 蜕 忒 煺 344 | ztun 吞 屯 饨 褪 臀 囤 豚 暾 氽 345 | ztuo 托 脱 拖 妥 拓 陀 驼 唾 椭 砣 驮 沱 跎 坨 鸵 乇 鼍 橐 佗 庹 铊 酡 柁 柝 箨 346 | zwa 瓦 挖 袜 娃 哇 凹 娲 蛙 洼 佤 腽 347 | zwai 外 歪 崴 348 | zwan 万 完 晚 湾 玩 碗 弯 挽 顽 腕 婉 惋 宛 丸 蜿 莞 畹 剜 豌 皖 纨 琬 脘 烷 芄 菀 绾 349 | zwang 望 王 往 网 忘 亡 汪 旺 枉 妄 惘 罔 尢 辋 魍 350 | zwei 为 位 未 委 维 味 围 卫 威 微 伟 谓 唯 危 慰 尾 违 魏 玮 蔚 伪 畏 胃 喂 炜 韦 惟 巍 纬 萎 娓 苇 尉 帷 渭 猥 偎 薇 痿 猬 逶 帏 韪 煨 鲔 桅 潍 隈 圩 囗 诿 隗 崴 洧 葳 嵬 闱 沩 涠 艉 軎 351 | zwen 文 问 闻 温 稳 吻 纹 蚊 雯 紊 瘟 汶 刎 阌 璺 352 | zweng 翁 瓮 嗡 蓊 蕹 353 | zwo 我 握 窝 卧 渥 沃 涡 斡 蜗 幄 喔 倭 挝 莴 肟 硪 龌 354 | zwu 无 五 物 务 武 午 舞 於 误 恶 吴 屋 伍 悟 吾 污 乌 雾 侮 捂 巫 毋 呜 诬 勿 梧 坞 戊 兀 唔 晤 芜 鹜 钨 妩 痦 鹉 忤 寤 骛 邬 牾 鼯 圬 浯 仵 阢 芴 庑 婺 怃 杌 焐 蜈 迕 鋈 355 | zxi 西 系 息 希 喜 席 习 细 戏 吸 洗 惜 稀 悉 析 夕 牺 袭 昔 熙 兮 溪 隙 嘻 锡 晰 媳 樨 熄 膝 郗 犀 禧 曦 奚 羲 蹊 唏 淅 嬉 皙 汐 徙 茜 玺 熹 烯 翕 蟋 屣 檄 浠 僖 穸 蜥 隰 觋 螅 铣 菥 葸 蓰 舾 矽 粞 硒 醯 欷 鼷 歙 饩 阋 禊 舄 356 | zxia 下 夏 吓 峡 厦 侠 狭 霞 瞎 暇 虾 唬 辖 遐 匣 黠 瑕 呷 狎 柙 硖 瘕 罅 357 | zxian 现 先 显 线 险 限 县 鲜 献 闲 宪 陷 贤 仙 嫌 咸 羡 掀 弦 纤 娴 衔 馅 涎 舷 腺 跣 暹 岘 猃 蚬 筅 跹 莶 锨 鹇 痫 铣 氙 祆 籼 冼 藓 酰 苋 燹 霰 358 | zxiang 想 相 向 象 香 乡 像 响 项 享 降 箱 详 祥 巷 厢 湘 橡 翔 镶 飨 襄 饷 骧 葙 庠 鲞 芗 缃 蟓 359 | zxiao 小 笑 校 消 效 晓 销 潇 肖 萧 孝 宵 削 嚣 啸 逍 硝 霄 淆 哮 枭 骁 箫 筱 哓 枵 绡 魈 蛸 崤 360 | zxie 些 写 谢 协 鞋 携 斜 泄 胁 歇 谐 邪 械 屑 卸 挟 懈 泻 亵 蟹 偕 邂 榭 撷 楔 瀣 蝎 颉 勰 薤 燮 躞 缬 獬 绁 廨 榍 渫 361 | zxin 心 新 信 欣 辛 薪 馨 鑫 芯 衅 昕 忻 锌 歆 镡 囟 362 | zxing 行 性 形 兴 星 型 姓 幸 刑 醒 腥 杏 悻 惺 邢 猩 荇 擤 荥 饧 硎 陉 363 | zxiong 雄 兄 胸 凶 熊 匈 汹 芎 364 | zxiu 修 休 秀 袖 宿 臭 羞 绣 朽 锈 嗅 咻 貅 髹 馐 庥 鸺 岫 溴 365 | zxu 许 续 需 须 徐 序 虚 绪 吁 蓄 叙 畜 嘘 恤 絮 浒 墟 旭 婿 栩 戌 诩 胥 酗 煦 砉 盱 糈 醑 顼 勖 洫 溆 圩 蓿 366 | zxuan 选 宣 旋 悬 券 喧 轩 玄 炫 渲 绚 眩 萱 漩 暄 璇 谖 铉 儇 痃 泫 煊 楦 癣 碹 揎 镟 367 | zxue 学 血 雪 削 穴 谑 靴 薛 踅 噱 泶 鳕 368 | zxun 寻 询 训 迅 讯 巡 逊 循 旬 熏 勋 驯 荤 殉 醺 巽 徇 埙 荀 峋 洵 薰 汛 郇 曛 窨 恂 獯 浔 鲟 蕈 浚 369 | zya 亚 压 雅 牙 呀 押 涯 讶 鸦 哑 鸭 崖 丫 芽 衙 轧 痖 睚 娅 蚜 伢 疋 岈 琊 垭 揠 迓 桠 氩 砑 370 | zyan 眼 言 严 演 研 烟 验 延 沿 掩 颜 厌 炎 燕 阎 宴 盐 咽 岩 雁 焰 艳 焉 淹 衍 阉 奄 谚 俨 檐 蜒 彦 腌 焱 晏 唁 妍 砚 嫣 胭 湮 筵 堰 赝 餍 鼹 芫 偃 魇 闫 崦 厣 剡 恹 阏 兖 郾 琰 罨 鄢 谳 滟 阽 鼽 酽 菸 371 | zyang 样 洋 阳 央 杨 养 扬 仰 羊 痒 漾 泱 氧 鸯 秧 殃 恙 疡 烊 佯 鞅 怏 徉 炀 蛘 372 | zyao 要 摇 药 耀 遥 邀 腰 姚 咬 尧 谣 瑶 窑 夭 肴 妖 吆 钥 侥 杳 窈 鹞 曜 舀 铫 幺 爻 徭 繇 鳐 珧 轺 崾 373 | zye 也 业 夜 爷 叶 野 页 液 耶 咽 曳 拽 揶 噎 烨 冶 椰 掖 腋 谒 邺 靥 晔 铘 374 | zyi 一 以 意 已 义 议 医 易 衣 艺 依 译 移 异 益 亦 亿 疑 遗 忆 宜 椅 伊 仪 谊 抑 翼 矣 役 艾 乙 溢 毅 蛇 裔 逸 姨 夷 轶 怡 蚁 弈 倚 翌 颐 疫 绎 彝 咦 佚 奕 熠 贻 漪 诣 迤 弋 懿 呓 驿 咿 揖 旖 屹 痍 薏 噫 镒 刈 沂 臆 缢 邑 胰 猗 羿 钇 舣 劓 仡 酏 佾 埸 诒 圯 荑 壹 挹 嶷 饴 嗌 峄 怿 悒 铱 欹 殪 黟 苡 肄 镱 瘗 癔 翊 蜴 眙 翳 375 | zyin 因 音 引 印 银 隐 饮 阴 姻 瘾 吟 寅 殷 淫 茵 荫 尹 蚓 垠 喑 湮 胤 鄞 氤 霪 圻 铟 狺 吲 夤 堙 龈 洇 茚 窨 376 | zying 应 英 影 营 迎 硬 映 赢 盈 颖 鹰 婴 蝇 樱 莹 荧 膺 萤 萦 莺 罂 瀛 楹 缨 颍 嬴 鹦 瑛 茔 嘤 璎 荥 撄 郢 瘿 蓥 滢 潆 媵 377 | zyo 哟 唷 378 | zyong 用 永 拥 勇 涌 踊 泳 庸 佣 咏 俑 雍 恿 甬 臃 邕 镛 痈 壅 鳙 饔 喁 墉 蛹 慵 379 | zyou 有 又 由 友 游 右 油 优 邮 幽 尤 忧 犹 悠 幼 诱 佑 黝 攸 呦 酉 柚 鱿 莠 囿 鼬 铀 卣 猷 牖 铕 疣 蚰 蝣 釉 蝤 繇 莜 侑 莸 宥 蚴 尢 380 | zyu 于 与 语 育 余 遇 狱 雨 於 欲 预 予 鱼 玉 愈 域 誉 吁 宇 寓 豫 愚 舆 粥 郁 喻 羽 娱 裕 愉 禹 浴 馀 御 逾 渔 渝 俞 萸 瑜 隅 驭 迂 揄 圄 谕 榆 屿 淤 毓 虞 禺 谀 妪 腴 峪 竽 芋 妤 臾 欤 龉 觎 盂 昱 煜 熨 燠 窬 蝓 嵛 狳 伛 俣 舁 圉 庾 菀 蓣 饫 阈 鬻 瘐 窳 雩 瘀 纡 聿 钰 鹆 鹬 蜮 381 | zyuan 员 元 原 院 远 愿 园 源 圆 怨 缘 援 冤 袁 渊 苑 猿 鸳 辕 垣 媛 沅 橼 芫 爰 螈 鼋 眢 圜 鸢 箢 塬 垸 掾 瑗 382 | zyue 月 乐 越 约 阅 跃 曰 悦 岳 粤 钥 刖 瀹 栎 樾 龠 钺 383 | zyun 运 云 允 韵 晕 孕 匀 蕴 酝 筠 芸 耘 陨 纭 殒 愠 氲 狁 熨 郓 恽 昀 韫 郧 384 | zza 杂 扎 砸 咋 咂 匝 拶 385 | zzai 在 再 载 灾 仔 宰 哉 栽 崽 甾 386 | zzan 咱 赞 暂 攒 簪 糌 瓒 拶 昝 趱 錾 387 | zzang 藏 脏 葬 赃 臧 锗 奘 驵 388 | zzao 早 造 遭 糟 澡 灶 躁 噪 凿 枣 皂 燥 蚤 藻 缲 唣 389 | zze 则 责 泽 择 咋 啧 仄 迮 笮 箦 舴 帻 赜 昃 390 | zzei 贼 391 | zzen 怎 谮 392 | zzeng 增 赠 憎 缯 罾 甑 锃 393 | zzha 炸 扎 咋 诈 乍 眨 渣 札 栅 轧 闸 榨 喳 揸 柞 楂 哳 吒 铡 砟 齄 咤 痄 蚱 394 | zzhai 摘 债 宅 窄 斋 寨 翟 砦 瘵 395 | zzhan 战 展 站 占 沾 斩 辗 粘 盏 崭 瞻 绽 蘸 湛 詹 毡 栈 谵 搌 旃 396 | zzhang 长 张 章 丈 掌 涨 帐 障 账 胀 仗 杖 彰 璋 蟑 樟 瘴 漳 嶂 鄣 獐 仉 幛 嫜 397 | zzhao 着 找 照 招 朝 赵 召 罩 兆 昭 肇 沼 诏 钊 啁 棹 笊 398 | zzhe 这 着 者 折 哲 浙 遮 辙 辄 谪 蔗 蛰 褶 鹧 锗 磔 摺 蜇 赭 柘 399 | zzhen 真 阵 镇 震 针 珍 圳 振 诊 枕 斟 贞 侦 赈 甄 臻 箴 疹 砧 桢 缜 畛 轸 胗 稹 祯 浈 溱 蓁 椹 榛 朕 鸩 400 | zzheng 政 正 证 整 争 征 挣 郑 症 睁 徵 蒸 怔 筝 拯 铮 峥 狰 诤 鲭 钲 帧 401 | zzhi 之 只 知 至 制 直 治 指 支 志 职 致 值 织 纸 止 质 执 智 置 址 枝 秩 植 旨 滞 徵 帜 稚 挚 汁 掷 殖 芝 吱 肢 脂 峙 侄 窒 蜘 趾 炙 痔 咫 芷 栉 枳 踯 桎 帙 栀 祉 轾 贽 痣 豸 卮 轵 埴 陟 郅 黹 忮 彘 骘 酯 摭 絷 跖 膣 雉 鸷 胝 蛭 踬 祗 觯 402 | zzhong 中 种 重 众 终 钟 忠 衷 肿 仲 锺 踵 盅 冢 忪 舯 螽 403 | zzhou 周 州 洲 粥 舟 皱 骤 轴 宙 咒 昼 肘 帚 胄 纣 诌 绉 妯 碡 啁 荮 籀 繇 酎 404 | zzhu 主 住 注 助 著 逐 诸 朱 驻 珠 祝 猪 筑 竹 煮 嘱 柱 烛 铸 株 瞩 蛛 伫 拄 贮 洙 诛 褚 铢 箸 蛀 茱 炷 躅 竺 杼 翥 渚 潴 麈 槠 橥 苎 侏 瘃 疰 邾 舳 405 | zzhua 抓 爪 406 | zzhuai 拽 嘬 407 | zzhuan 传 专 转 赚 撰 砖 篆 啭 馔 颛 408 | zzhuang 装 状 壮 庄 撞 妆 幢 桩 奘 僮 戆 409 | zzhui 追 坠 缀 锥 赘 隹 椎 惴 骓 缒 410 | zzhun 准 谆 窀 肫 411 | zzhuo 着 桌 捉 卓 琢 灼 酌 拙 浊 濯 茁 啄 斫 镯 涿 焯 浞 倬 禚 诼 擢 412 | zzi 子 自 字 资 咨 紫 滋 仔 姿 吱 兹 孜 梓 渍 籽 姊 恣 滓 谘 龇 秭 呲 辎 锱 眦 笫 髭 淄 茈 觜 訾 缁 耔 鲻 嵫 赀 孳 粢 趑 413 | zzong 总 宗 纵 踪 综 棕 粽 鬃 偬 腙 枞 414 | zzou 走 奏 邹 揍 驺 鲰 诹 陬 鄹 415 | zzu 组 足 族 祖 租 阻 卒 诅 俎 镞 菹 416 | zzuan 赚 钻 攥 纂 躜 缵 417 | zzui 最 罪 嘴 醉 咀 觜 蕞 418 | zzun 尊 遵 樽 鳟 撙 419 | zzuo 作 做 坐 座 左 昨 琢 佐 凿 撮 柞 嘬 怍 胙 唑 笮 阼 祚 酢 420 | --------------------------------------------------------------------------------