branch: externals/pyim commit 9ee1c56930408ea485dafc66e761970b81804a88 Author: Feng Shu <tuma...@163.com> Commit: Feng Shu <tuma...@163.com>
Add pyim-cstring-to-codes. * pyim.el (pyim-create-pyim-word): Use pyim-cstring-to-codes. * pyim-liberime.el (pyim-create-rime-word): Use pyim-cstring-to-codes. * pyim-cstring.el (pyim-cstring-to-codes): New function. --- pyim-cstring.el | 8 ++++++++ pyim-liberime.el | 2 +- pyim.el | 8 ++------ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pyim-cstring.el b/pyim-cstring.el index 590d944..73a3880 100644 --- a/pyim-cstring.el +++ b/pyim-cstring.el @@ -350,6 +350,14 @@ code-prefix)。当RETURN-LIST 设置为 t 时,返回一个 code list。" (substring s4 0 1)))))) (t nil)))) +(defun pyim-cstring-to-codes (string scheme-name) + "将 STRING 转换为 SCHEME-NAME 对应的 codes." + (let ((class (pyim-scheme-get-option scheme-name :class))) + (cond ((eq class 'xingma) + (pyim-cstring-to-xingma string scheme-name t)) + ;;拼音使用了多音字校正 + (t (pyim-cstring-to-pinyin string nil "-" t nil t))))) + ;; ** 获取光标处中文字符串或者中文词条的功能 (defun pyim-cstring-at-point (&optional number) "获取光标一个中文字符串,字符数量为:NUMBER." diff --git a/pyim-liberime.el b/pyim-liberime.el index b6a2123..cdefbba 100644 --- a/pyim-liberime.el +++ b/pyim-liberime.el @@ -230,7 +230,7 @@ ONlY works with quanpin." ;; 判断当前 rime 环境是否支持全拼,如果支持,就添加词条。 (ignore-errors - (let ((codes (pyim-cstring-to-pinyin word nil "-" t nil t))) + (let ((codes (pyim-cstring-to-codes word 'quanpin))) (when (member "你好" (liberime-search "nihao" 10)) (dolist (code codes) (unless (pyim-string-match-p "[^ a-z-]" code) diff --git a/pyim.el b/pyim.el index c43cb2f..d140d5e 100644 --- a/pyim.el +++ b/pyim.el @@ -450,8 +450,7 @@ REFRESH-COMMON-DCACHE 已经废弃,不要再使用了。" 词条 WORD 默认会追加到已有词条的后面,如果 PREPEND 设置为 t, 词条就会放到已有词条的最前面。 -根据当前输入法,决定是调用 `pyim-cstring-to-pinyin' 还是 -`pyim-cstring-to-xingma' 来获取中文词条的编码。 +这是函数会调用 `pyim-cstring-to-codes' 来获取中文词条对应的编码。 WORDCOUNT-HANDLER 可以是一个数字,代表将此数字设置为 WORD 的新词频, WORDCOUNT-HANDLER 也可以是一个函数,其返回值将设置为 WORD 的新词频, @@ -467,10 +466,7 @@ BUG:拼音无法有效地处理多音字。" (let* ((scheme-name (pyim-scheme-name)) (class (pyim-scheme-get-option scheme-name :class)) (code-prefix (pyim-scheme-get-option scheme-name :code-prefix)) - (codes (cond ((eq class 'xingma) - (pyim-cstring-to-xingma word scheme-name t)) - ;;拼音使用了多音字校正 - (t (pyim-cstring-to-pinyin word nil "-" t nil t))))) + (codes (pyim-cstring-to-codes word scheme-name))) ;; 保存对应词条的词频 (when (> (length word) 0) (pyim-dcache-update-iword2count word prepend wordcount-handler))