emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/pyim 5218d48: 导入词条的时候,允许用户提供拼音。


From: ELPA Syncer
Subject: [elpa] externals/pyim 5218d48: 导入词条的时候,允许用户提供拼音。
Date: Mon, 6 Dec 2021 19:57:38 -0500 (EST)

branch: externals/pyim
commit 5218d489d3ff4ea2f93cd576cdf784bcd610c2d4
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    导入词条的时候,允许用户提供拼音。
    
        * pyim-process.el (pyim-process-create-word): 添加 criteria 选项。
    
        * pyim.el (pyim-import-words-and-counts): 支持用户提供拼音。
---
 pyim-process.el |  9 +++++++--
 pyim.el         | 15 +++++++++------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/pyim-process.el b/pyim-process.el
index 70c0f6e..227b8bf 100644
--- a/pyim-process.el
+++ b/pyim-process.el
@@ -518,7 +518,7 @@ alist 列表。"
               pyim-cstring-to-code-criteria
             str))))
 
-(defun pyim-process-create-word (word &optional prepend wordcount-handler)
+(defun pyim-process-create-word (word &optional prepend wordcount-handler 
criteria)
   "将中文词条 WORD 添加编码后,保存到用户选择过的词生成的缓存中。
 
 词条 WORD 默认会追加到已有词条的后面,如果 PREPEND 设置为 t,
@@ -531,6 +531,9 @@ WORDCOUNT-HANDLER 也可以是一个函数,其返回值将设置为 WORD 的
 而这个函数的参数则表示 WORD 当前词频,这个功能用于:`pyim-dcache-import',
 如果 WORDCOUNT-HANDLER 设置为其他, 则表示让 WORD 当前词频加1.
 
+如果 CRITERIA 是一个字符串,在多音字矫正时,将使用这个字符串来矫
+正多音字。
+
 BUG:拼音无法有效地处理多音字。"
   (when (and (> (length word) 0)
              ;; NOTE: 十二个汉字及以上的词条,加到个人词库里面用处不大,这是很主
@@ -541,7 +544,9 @@ BUG:拼音无法有效地处理多音字。"
     (setq pyim-process-last-created-word word)
     (let* ((scheme-name (pyim-scheme-name))
            (code-prefix (pyim-scheme-get-option scheme-name :code-prefix))
-           (codes (pyim-cstring-to-codes word scheme-name 
pyim-cstring-to-code-criteria)))
+           (codes (pyim-cstring-to-codes
+                   word scheme-name
+                   (or criteria pyim-cstring-to-code-criteria))))
       ;; 保存对应词条的词频
       (when (> (length word) 0)
         (pyim-dcache-update-iword2count word prepend wordcount-handler))
diff --git a/pyim.el b/pyim.el
index b7de253..339e87d 100644
--- a/pyim.el
+++ b/pyim.el
@@ -376,6 +376,7 @@ SILENT 设置为 t 是,不显示提醒信息。"
 导入的文件结构类似:
 
   ;;; -*- coding: utf-8-unix -*-
+  ;; 词条 计数 拼音(可选)
   你好 247
   这是 312
 
@@ -387,10 +388,10 @@ MERGE-METHOD 是一个函数,这个函数需要两个数字参数,代表词
   (when (or silent
             (yes-or-no-p "PYIM 词条导入注意事项:
 
-导入词条的时候会自动添加拼音,由于多音字不好处理,所以这个命令会
-在个人词库缓存中添加一些不合理的词条信息,比如:ying-xing 银行,
-这些词条的文本属性 :noexport 会设置为 t, 等用户再次输入这个词条的
-时候,通过用户的输入进行多音字矫正,对应的 :noexport 就会删除。
+如果文件没有提供拼音,导入词条时会自动添加,这时个人词库缓存中会
+添加一些不合理的词条信息,比如:ying-xing 银行,这些词条的文本属
+性 :noexport 会设置为 t, 等用户再次输入这个词条的时候,通过用户的
+输入进行多音字矫正,对应的 :noexport 就会删除。
 
 => 确定继续导入吗?"))
     (pyim-process-init-dcaches)
@@ -404,13 +405,15 @@ MERGE-METHOD 是一个函数,这个函数需要两个数字参数,代表词
                (content (pyim-dline-parse))
                (word (car content))
                (count (string-to-number
-                       (or (car (cdr content)) "0"))))
+                       (or (car (car content)) "0")))
+               (criteria (car (car car content))))
           (pyim-process-create-word
            word nil
            (lambda (x)
              (funcall (or merge-method #'max)
                       (or x 0)
-                      count))))
+                      count))
+           criteria))
         (forward-line 1)))
     ;; 保存一下用户选择过的词生成的缓存和词频缓存,
     ;; 因为使用 async 机制更新 dcache 时,需要从 dcache 文件



reply via email to

[Prev in Thread] Current Thread [Next in Thread]