* feat(engine,server,windows,ui-html,installer): U 模式重构为部件拆字反查 (#971) 把 U 模式从 Unicode 十六进制码位输入改成部件拆字反查:Shift+U 后输入各 组成部分的拼音连写(晶 = ririri)即可出字,候选上反显注音。 - 引擎:新增 local_modes/radical_query(前缀匹配、字频降序),数据表 engine/radical/decomposition.txt 与生成脚本;LocalInputMode::Unicode 改为 Radical;删除 unicode_query。 - Server:g_radical_mode_triggered + IsRadicalCompositionActive + 候选分发, 用 cpp-pinyin 反显注音;删除 Unicode 码位路径。 - 前端 TSF:删除 U 模式的十六进制/数字特例与影子预判,按普通组合处理。 - 配置:utility.unicode_mode 改为 utility.radical_mode。 - 部署:assets 登记 radical_decomposition,安装器与 CI 拷表。 数据来源 mirtlecn/rime-radical-pinyin (GPL-3.0),授权见 engine/radical/NOTICE.md。 * feat(server): U 模式反显拼音改为带调风格(jīng) * fix(server,installer): 修复 U 模式 CI(拆字表打包夹具与 clang-format) * fix(engine,server): 修正 U 模式按键错位、重复候选与配置迁移 - Server 在 U 模式不再吞掉撇号、分号、斜杠、大写字母等键:TSF 已把它们记进按键缓冲, 吞掉又不重同步会让两侧串和光标错位。照常插入,含非 a-z 的码查不出候选 - 拆字查询全码命中排在仅前缀命中之前,同一个字的几种拆法只出一次 - 升级合并把旧键 utility.unicode_mode 的值带到 utility.radical_mode,读取时也兜底旧键 - 生成脚本只收汉字,重建拆字表去掉 abc 码下的 51 行数字、字母与符号 - 开着 U 模式时在后台预热拆字表与 cpp-pinyin 词典,避开首个按键的冷加载 - Server 按会话的 RuntimePaths 查拆字表,删掉走全局数据目录的便捷重载 - cpp-pinyin 初始化合并到 utils/hanzi_pinyin,设置页导入注音共用;U 模式与快捷短语的收键分支合并 --------- Co-authored-by: fanlusky <1730976608@qq.com>
44 lines
2.4 KiB
C++
44 lines
2.4 KiB
C++
// Generated by contracts/assets/generate.py; edit assets.json instead.
|
|
#pragma once
|
|
#include <array>
|
|
#include <string_view>
|
|
namespace metasequoia::assets {
|
|
inline constexpr int contract_version = 2;
|
|
inline constexpr char main_dictionary[] = "msime.db";
|
|
inline constexpr char english_dictionary[] = "english.db";
|
|
inline constexpr char other_dictionary[] = "others.db";
|
|
inline constexpr char japanese_model[] = "dict_japanese.dat";
|
|
inline constexpr char japanese_notice[] = "mozc_dictionary_oss_README.txt";
|
|
inline constexpr char dictionary_manifest[] = "dictionary-manifest.json";
|
|
inline constexpr char language_model[] = "sc.lm";
|
|
inline constexpr char neural_model_desktop[] = "sentence-model-desktop.safetensors";
|
|
inline constexpr char neural_model_keyboard[] = "sentence-model.safetensors";
|
|
inline constexpr char notice_19[] = "licenses/chinese-ime-lm-NOTICE.md";
|
|
inline constexpr char pinyin_model[] = "dict_pinyin.dat";
|
|
inline constexpr char translations[] = "custom_translations.txt";
|
|
inline constexpr char helpcode_lantian[] = "helpcodes/helpcode.txt";
|
|
inline constexpr char helpcode_ziranma[] = "helpcodes/zrm_helpcode_big_unique.txt";
|
|
inline constexpr char helpcode_shouyou2_0[] = "helpcodes/shouyou2_0_helpcode.txt";
|
|
inline constexpr char helpcode_shouyouplus[] = "helpcodes/shouyouplus_helpcode.txt";
|
|
inline constexpr char helpcode_xiaohe[] = "helpcodes/xiaohe_helpcode.txt";
|
|
inline constexpr char helpcode_jiajia[] = "helpcodes/jiajia_helpcode.txt";
|
|
inline constexpr char notice_13[] = "licenses/googlepinyinime-LICENSE";
|
|
inline constexpr char notice_14[] = "licenses/helpcode-NOTICE.md";
|
|
inline constexpr char notice_15[] = "licenses/dictionary-NOTICE.md";
|
|
inline constexpr char notice_16[] = "licenses/Engine-NOTICE.md";
|
|
inline constexpr char notice_17[] = "licenses/Engine-LICENSE";
|
|
inline constexpr char notice_18[] = "licenses/libime-lm-NOTICE.md";
|
|
inline constexpr char radical_decomposition[] = "radical/decomposition.txt";
|
|
inline constexpr char user_journal[] = "msime_user.db";
|
|
inline constexpr char pinyin_user_dictionary[] = "user_dict.dat";
|
|
struct Helpcode { std::string_view schema; const char *path; };
|
|
inline constexpr std::array<Helpcode, 6> helpcodes = {{
|
|
{"lantian", helpcode_lantian},
|
|
{"ziranma", helpcode_ziranma},
|
|
{"shouyou2_0", helpcode_shouyou2_0},
|
|
{"shouyouplus", helpcode_shouyouplus},
|
|
{"xiaohe", helpcode_xiaohe},
|
|
{"jiajia", helpcode_jiajia},
|
|
}};
|
|
} // namespace metasequoia::assets
|