之前一直用 rime 中的小鹤双拼,刚刚升级到 fcitx5,因为还没迁移配置就试着用了下 app-i18n/fcitx5-chinese-addons 中的,发现无法输入 “昂” 字 。
小鹤双拼的零声母方案为 :
以韵母首字母为零声母,即把韵母的首字母当作声母
-
单字母韵母,零声母 + 韵母所在键,如: 啊=aa 哦=oo 额=ee
-
双字母韵母,零声母 + 韵母末字母(表现形式同全拼),如: 爱=ai 恩=en 欧=ou
-
三字母韵母,零声母 + 韵母所在键,如: 昂=ah
之前一直用 rime 中的小鹤双拼,刚刚升级到 fcitx5,因为还没迁移配置就试着用了下 app-i18n/fcitx5-chinese-addons 中的,发现无法输入 “昂” 字 。
小鹤双拼的零声母方案为 :
以韵母首字母为零声母,即把韵母的首字母当作声母
单字母韵母,零声母 + 韵母所在键,如: 啊=aa 哦=oo 额=ee
双字母韵母,零声母 + 韵母末字母(表现形式同全拼),如: 爱=ai 恩=en 欧=ou
三字母韵母,零声母 + 韵母所在键,如: 昂=ah
我还没用过 fcitx5 呢,问题报到 GitLab 上试试。
我想知道楼主的fcitx5主题是什么……阴影是怎么做的?
这是 kimpanel,KDE 默认的输入法面板 widget
@OwenJia fcitx5-chinese-addons 没有小鹤拼音的吧?你的意思是说那里的拼音应该是小鹤?
@wsxy162 暂时注册不了 gitlab,不过还是谢谢。
@xzhao 是 KDE 的 Kimpanel。
@marguerite 是小鹤双拼,不是小鹤拼音,不好意思没讲清楚。
虽然对 cpp 不熟,但还是看了眼源码,
尝试在 fcitx5-chinese-addons 搜索关键字 xiaohe,得到:
libime::ShuangpinBuiltinProfile profile;
#define TRANS_SP_PROFILE(PROFILE) \
case ShuangpinProfileEnum::PROFILE: \
profile = libime::ShuangpinBuiltinProfile::PROFILE; \
break;
switch (*config_.shuangpinProfile) {
TRANS_SP_PROFILE(Ziranma)
TRANS_SP_PROFILE(MS)
TRANS_SP_PROFILE(Ziguang)
TRANS_SP_PROFILE(ABC)
TRANS_SP_PROFILE(Zhongwenzhixing)
TRANS_SP_PROFILE(PinyinJiajia)
TRANS_SP_PROFILE(Xiaohe)
default:
profile = libime::ShuangpinBuiltinProfile::Ziranma;
break;
}
ime_->setShuangpinProfile(
std::make_shared<libime::ShuangpinProfile>(profile));
所以 fcitx5-chinese-addons 中是有小鹤双拼的。
去 libime 中搜索 xiaohe 关键字,找到 src/libime/pinyin/shuangpinprofile.cpp 文件似乎是具体实现,刚刚粗略看了眼,似乎没看到专门对这种情况的处理(无 cpp 项目背景,错了请纠正)。
目前状态就是这样。
你看下这里的 SPMap_C_XIAOHE[]:
我看到了 ang -> h 的 map,但我不知道什么意思
IMHO, 这里应该是码表,把韵母映射到 qwerty 键位上。
主要的问题(猜测)应该是出在零声母的处理上,搜索 zeroS_ 能看得到相关的内容,
不过这几天事情有点多,加上 rime 中的可以正常使用,具体实现就还没有仔细去看……
@OwenJia 我是用全拼的,刚才我试验了一下双拼,输入 “hh” 出来的是“昂”。
那应该就是实现有误了吧?按照小鹤的规则, hh => hang 才对……
感觉是吧,fcitx5/libime 特意设置了一下 Xiaohe 的 ZeroS_ 为 *,然后一堆处理 * 的东西,你去问问老 K 吧,gitlab 报 issue 也行,telegram 也行,感觉这里 @csslayer 不一定能看见了
可能是 oh=ang。
本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。