符号数据改用 rime-wanxiang 的符号表与 typst/codex 符号名,源数据放在 msime-dictionary 的 sources/symbols/,替换原来的 piliapp 符号表。 - 建库:新增 symbols_db.py,生成表情面板用的 symbol_catalog(中文分类)和 S 模式、符号混输用的 symbol_code;剔除 wanxiang-unrenderable.txt 列出的 Windows 自带字体显示不了的符号,以及与 ① ❶ 看不出区别的 Dingbats 带圈数字 - 新增 scripts/check-symbol-rendering.py,用 Windows 字体生成上面的剔除清单 - Shift+S 进入符号模式,按万象分组码(xl、sx、szq)、数字读音(yi → 一 ① ⑴) 或符号名(alpha、infinity)检索 - 符号混输:整串精确等于编码时混入,首个紧跟首选;读得成拼音的编码只混数字 序号写法;双拼先按方案换算成全拼再查(小鹤 sj → san → ③) - 表情面板符号页:中文分类,搜索把整词命中的符号列在「最佳匹配」 - 配置:utility.symbol_mode(默认开)、general.symbol_mixed_input(默认关) Refs #795
19 lines
935 B
C++
19 lines
935 B
C++
#pragma once
|
|
|
|
#include "local_query_result.h"
|
|
|
|
#include <filesystem>
|
|
#include <string>
|
|
|
|
namespace metasequoia::local_modes
|
|
{
|
|
// Shift+S 符号模式:按 others.db 的 symbol_code 查编码(万象分组码 xl、sx、szq,或 typst/codex 的符号名
|
|
// alpha、arrowr),整串等于编码的排最前,其余按编码前缀、短编码在前。编码只认字母,不分大小写。
|
|
LocalQueryResult query_symbols(const std::string &code, int limit = 200);
|
|
LocalQueryResult query_symbols(const std::string &code, const std::filesystem::path &database_path, int limit = 200);
|
|
|
|
// 符号混输:只认整串精确等于编码、且建库时标了可混输的行(编码读不成拼音,或数字读音下的 ① ⑴ ⒈)。
|
|
LocalQueryResult query_mixed_symbols(const std::string &code, const std::filesystem::path &database_path,
|
|
int limit = 3);
|
|
} // namespace metasequoia::local_modes
|