🔣 字符集过滤 (Charset Filter):精准把控生僻字的边界
告别一刀切的生僻字屏蔽。让输入法在保持日常纯净的同时,精准联动繁体与特殊字符集。
在日常打字中,绝大多数人只需要用到几千个常用汉字。如果输入法的字库太大,经常会在翻页时看到满屏的生僻字(甚至乱码框),严重干扰选词效率。
万象拼音默认开启了字符集过滤,将日常显示的范围极其精准地锁定在“8105 个通用规范汉字 + 𰻞𰻞(biáng biáng)”等常用字内。
⚡ 核心交互:一键切换字集状态
当你偶尔需要打出极其生僻的古文或特殊扩展汉字时,无需去修改繁琐的配置,只需通过快捷键一键放行:
大/小字集快捷切换
在打字状态下按下 Ctrl + g,即可在【小字集(日常过滤模式)】与【大字集(全量生僻字模式)】之间瞬间切换。
🔬 底层降维打击:二进制滤镜与编码级标记
万象的字符集过滤,绝不仅是写死一个 charset.dict.yaml 字表那么简单。
我们在底层挂载了一个强大的二进制滤镜数据库 charset_reverse.bin。它深入到了文字的编码层,给字库中的每一个汉字都打上了极其精细的“身份标签”。
汉字身份标签 (Tag) 释义
万象内部将汉字划分为了十余种维度,你可以通过这些英文字母来极度精细地控制字集:
-
规范与常用:
a(通用规范汉字表 8105字)、b(GB2312)、g(GBK) -
繁体与港台:
T(Big5 台港澳常用)、j(OpenCC 简体)、f(OpenCC 通用繁体)、h(OpenCC 香港繁体)、t(OpenCC 台湾繁体) -
Unicode 扩展区:
u(基本区 U+4E00-U+9FFF)、A-I(各扩展区,支持至 Ext-I)、c(兼容区)
🧠 终极黑科技:多状态联动与智能“求并集”
传统过滤方案最大的痛点是:当你开启繁体输出(如香港繁体)时,如果不关掉过滤,很多香港专属繁体字就会被生僻字词典“误杀”导致打不出来。
万象设计了一套跨开关联动与智能求并集的逻辑:
当你在菜单中切换到 s2hk(香港繁体)模式时,底层引擎会自动将基础字表(8105字)与香港繁体专属字表(标签 h)进行求并集。这意味着:通用汉字 + 香港繁体字全都能完美显示,而毫不相关的生僻字依然被死死挡在门外!
🛠️ 如何通过 Patch 微调你的专属字集?
如果你发现某个你常用的字(比如“囧”)不在 8105 规范字表中,导致开启过滤时打不出来;或者你想自定义简繁转换时的过滤范围,可以在 wanxiang.custom.yaml 中进行极客级调优。
参数释义:Base、Addlist 与 Blacklist
-
base: 调用的底层标签集(支持多选,如aj代表 8105字 + 简体)。 -
addlist(白名单): 强制放行的字。即使它不在 base 里,只要写在这里,就能通过过滤。 -
blacklist(黑名单): 强制拦截的字。即使它在 base 里,只要写在这里,就绝对不显示。
配置示例 (Patch 战术):
patch:
# 注意:这里会覆盖原有的 charset 列表,请确保包含你需要的联动开关
charset:
# 1. 主控开关:日常小字集模式
- option: charset_filter
base: a # 调用标签 a (通用规范汉字表)
addlist: # 💡 白名单:把常用的非 8105 字强行加入
- "诶濛硷氽尛躝〇冇吔咗囧屌鲶芶咲畑垅𰻝𰻞龍朙"
blacklist: [] # 黑名单为空
# 2. 联动开关:通用繁体模式
- option: s2t
base: af # 开启 s2t 时,自动并入标签 f (通用繁体)
addlist: []
blacklist: []
# 3. 联动开关:香港繁体模式
- option: s2hk
base: ah # 开启 s2hk 时,自动并入标签 h (香港繁体)
addlist: []
blacklist: []
# 4. 联动开关:台湾繁体模式
- option: s2tw
base: at # 开启 s2tw 时,自动并入标签 t (台湾繁体)
addlist: []
blacklist: []