From a7c5fac2e401503b368b4823021c21a4b3eea972 Mon Sep 17 00:00:00 2001 From: Dvel Date: Sun, 11 Feb 2024 00:06:31 +0800 Subject: [PATCH] =?UTF-8?q?conf:=20=E8=B0=83=E6=95=B4=20filters=20?= =?UTF-8?q?=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- double_pinyin.schema.yaml | 6 +++--- double_pinyin_abc.schema.yaml | 6 +++--- double_pinyin_flypy.schema.yaml | 6 +++--- double_pinyin_mspy.schema.yaml | 6 +++--- double_pinyin_sogou.schema.yaml | 6 +++--- double_pinyin_ziguang.schema.yaml | 6 +++--- lua/long_word_filter.lua | 35 +++---------------------------- rime_ice.schema.yaml | 12 +++++------ 8 files changed, 27 insertions(+), 56 deletions(-) diff --git a/double_pinyin.schema.yaml b/double_pinyin.schema.yaml index f97d083..55db86b 100644 --- a/double_pinyin.schema.yaml +++ b/double_pinyin.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/double_pinyin_abc.schema.yaml b/double_pinyin_abc.schema.yaml index ce5813b..04ee480 100644 --- a/double_pinyin_abc.schema.yaml +++ b/double_pinyin_abc.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/double_pinyin_flypy.schema.yaml b/double_pinyin_flypy.schema.yaml index fa7abe7..9554ffa 100644 --- a/double_pinyin_flypy.schema.yaml +++ b/double_pinyin_flypy.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/double_pinyin_mspy.schema.yaml b/double_pinyin_mspy.schema.yaml index 63358d2..bcf6f6b 100644 --- a/double_pinyin_mspy.schema.yaml +++ b/double_pinyin_mspy.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/double_pinyin_sogou.schema.yaml b/double_pinyin_sogou.schema.yaml index 8576e5b..2cccacc 100644 --- a/double_pinyin_sogou.schema.yaml +++ b/double_pinyin_sogou.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/double_pinyin_ziguang.schema.yaml b/double_pinyin_ziguang.schema.yaml index 75454c3..a12644f 100644 --- a/double_pinyin_ziguang.schema.yaml +++ b/double_pinyin_ziguang.schema.yaml @@ -83,12 +83,12 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项 - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - uniquifier # 去重 diff --git a/lua/long_word_filter.lua b/lua/long_word_filter.lua index 0a55200..74927ca 100644 --- a/lua/long_word_filter.lua +++ b/lua/long_word_filter.lua @@ -1,36 +1,7 @@ -- 长词优先(提升「西安」「提案」「图案」「饥饿」等词汇的优先级) -- 感谢&参考于: https://github.com/tumuyan/rime-melt --- 不提升包含英文、数字、emoji、假名的候选项 - -local function isEmoji(text) - for _, char in utf8.codes(text) do - if (char >= 0x1F600 and char <= 0x1F64F) or -- Emoticons - (char >= 0x1F300 and char <= 0x1F5FF) or -- Misc Symbols and Pictographs - (char >= 0x1F680 and char <= 0x1F6FF) or -- Transport and Map - (char >= 0x2600 and char <= 0x26FF) or -- Misc symbols - (char >= 0x2700 and char <= 0x27BF) or -- Dingbats - (char >= 0xFE00 and char <= 0xFE0F) or -- Variation Selectors - (char >= 0x1F900 and char <= 0x1F9FF) or -- Supplemental Symbols and Pictographs - (char >= 0x1F1E6 and char <= 0x1F1FF) then -- Flags (iOS) - return true - end - end - return false -end - -local function containsJapaneseKana(str) - for _, code in utf8.codes(str) do - -- 检查平假名的 Unicode 范围(0x3040 至 0x309F) - if code >= 0x3040 and code <= 0x309F then - return true - end - -- 检查片假名的 Unicode 范围(0x30A0 至 0x30FF) - if code >= 0x30A0 and code <= 0x30FF then - return true - end - end - return false -end +-- 不提升包含英文、数字的候选项 +-- 不提升包含 emoji、假名的候选项(通过将此 Lua 放到 simplifier@emoji 前面来实现) local M = {} @@ -58,7 +29,7 @@ function M.func(input) i = i + 1 yield(cand) -- 长词直接 yield,其余的放到 l 里 - elseif leng <= firstWordLength or cand.text:find("[%a%d]") or containsJapaneseKana(cand.text) or isEmoji(cand.text) then + elseif leng <= firstWordLength or cand.text:find("[%a%d]") then table.insert(l, cand) else yield(cand) diff --git a/rime_ice.schema.yaml b/rime_ice.schema.yaml index bfbdb3b..5a70457 100644 --- a/rime_ice.schema.yaml +++ b/rime_ice.schema.yaml @@ -6,7 +6,7 @@ schema: schema_id: rime_ice name: 雾凇拼音 - version: "2024-02-09" + version: "2024-02-11" author: - Dvel description: | @@ -72,15 +72,15 @@ engine: - lua_translator@force_gc # 暴力 GC filters: - lua_filter@corrector # 错音错字提示 - - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) - - simplifier@emoji # Emoji - - simplifier@traditionalize # 简繁切换 - reverse_lookup_filter@radical_reverse_lookup # 部件拆字滤镜 - lua_filter@search@radical_pinyin # 部件拆字辅码 - - lua_filter@v_filter # v 模式 symbols 优先(否则是英文优先) - lua_filter@autocap_filter # 英文自动大写 + - lua_filter@v_filter # v 模式 symbols 优先 + - lua_filter@pin_cand_filter # 置顶候选项(顺序要求:置顶候选项 > Emoji > 简繁切换) + - lua_filter@long_word_filter # 长词优先(顺序要求:长词优先 > Emoji) + - simplifier@emoji # Emoji + - simplifier@traditionalize # 简繁切换 - lua_filter@reduce_english_filter # 降低部分英语单词在候选项的位置 - - lua_filter@long_word_filter # 长词优先 - uniquifier # 去重