Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

最新版本的错音错字提示强制显示拼音,可能影响输入体验 #431

Closed
ZeroAurora opened this issue Aug 6, 2023 · 31 comments

Comments

@ZeroAurora
Copy link

3ce582e 引入的错音错字提示会在 comment 中强制显示文字的拼音,对我个人来说体验较差,同时也并没有感知到错字提示的效果。
个人对这一 commit 新增的配置项进行了注释处理之后可以恢复无 comment 的样式。
不知是有意如此还是未开发完成所导致的问题,故开启 issue,希望得到解答。感谢。

@iDvel
Copy link
Owner

iDvel commented Aug 6, 2023

这个效果是这样的:

2023-08-07-001215.mp4
2023-08-07-001216 2023-08-07-001217

实现原理是这样的:

  1. 先将拼音显示在 comment 中
translator:
  spelling_hints: 8
  always_show_comments: true
  1. 如果打的是「给予」且拼音为 gei yu,则提示一个 ji yu,否则清空 comment。
if cand.comment == "gei yu" and cand.text == "给予":
    cand.comment = "ji yu"
else:
    cand.comment = ""

如果你的正常候选项的 comment 里也都是拼音,那可能是没启用这个 Lua。
也有可能和你用的其他处理 comment 的 Lua 发生了冲突,你试试把 corrector 放到第一个位置。

@ZeroAurora
Copy link
Author

ZeroAurora commented Aug 7, 2023

本人使用的是 ibus-rime,实际的观感非常差(如图所示)
图片
同时也没有实际的纠错功能(例如按捺不住)
图片
怀疑是平台差异……毕竟其实 ibus-rime 的相关资料一向较少,可能作者也未测试过。
上述现象全部发生在新安装的默认设置下。
ibus-rime 版本:

已安装的软件包
名称         : ibus-rime
版本         : 1.5.0
发布         : 5.fc38

@tamhaywoo
Copy link

tamhaywoo commented Aug 7, 2023

为大家拼音发音正确操碎了心。哈哈哈……
我会基于我输入拼音错误提示来改正我后续的输入单词。多谢

@ZeroAurora
Copy link
Author

我大概理解了,查询了一下 logfile,发现确实如作者所言,是 lua 脚本没有正确加载(cc @iDvel ):

E0807 12:45:23.304879  3401 engine.cc:313] error creating processor: 'lua_processor'
E0807 12:45:23.340911  3401 engine.cc:347] error creating translator: 'lua_translator'
E0807 12:45:23.341954  3401 engine.cc:347] error creating translator: 'lua_translator'
E0807 12:45:23.341980  3401 engine.cc:347] error creating translator: 'lua_translator'
E0807 12:45:23.342028  3401 engine.cc:364] error creating filter: 'lua_filter'
E0807 12:45:23.342048  3401 engine.cc:364] error creating filter: 'lua_filter'
E0807 12:45:23.342065  3401 engine.cc:364] error creating filter: 'lua_filter'

还有其他使用 ibus-rime 的同学可以帮忙测试一下吗?

@iDvel
Copy link
Owner

iDvel commented Aug 7, 2023

我只测试了鼠须管、小狼毫、仓输入法,你这样似乎所有的 Lua 都没有加载成功。
你的「以词定字、日期时间、Unicode、数字大写、英文大写」等等功能是不是都无法使用?
应该是 librime 版本不够,我也不知道是哪行代码导致失效的。

这个功能我觉得挺好的,想默认启用。。。
如果 librime 版本不够导致失效了,可以删除 spelling_hints(将拼音显示在 comment 中的功能):

translator:
  dictionary: rime_ice
  spelling_hints: 8          # 删除这行
  always_show_comments: true # 删除这行

补丁可以这样打:

# rime_ice.custom.yaml
patch:
  translator/spelling_hints: 0

@ZeroAurora
Copy link
Author

ZeroAurora commented Aug 8, 2023

你的「以词定字、日期时间、Unicode、数字大写、英文大写」等等功能是不是都无法使用?

还真是,惨了
随附 librime 的版本信息:

已安装的软件包
名称         : librime
版本         : 1.8.4
发布         : 1.fc38
架构         : x86_64

那如果是极端个例的话姑且就先 close 了,辛苦了

@ZeroAurora ZeroAurora closed this as not planned Won't fix, can't repro, duplicate, stale Aug 8, 2023
@ZeroAurora
Copy link
Author

看了一下,rime 的 lua 支持是通过 librime-lua 实现的,而 Fedora 并没有打包此包。
破案了(

@disloot
Copy link

disloot commented Dec 31, 2023

看了一下,rime 的 lua 支持是通过 librime-lua 实现的,而 Fedora 并没有打包此包。 破案了(

那请问要怎么解决

@ZeroAurora
Copy link
Author

看了一下,rime 的 lua 支持是通过 librime-lua 实现的,而 Fedora 并没有打包此包。 破案了(

那请问要怎么解决

不幸的是没有解决方案,把lua脚本相关关了勉强用吧
如果有办法联系到 Fedora rime 的维护者的话可以问问能不能打包一份

@cloudwindy
Copy link

看了一下,rime 的 lua 支持是通过 librime-lua 实现的,而 Fedora 并没有打包此包。 破案了(

感谢!被这个问题困扰好久,太感谢了

@ghost
Copy link

ghost commented Apr 22, 2024

那完蛋,我是windows 昨天没有,今天出现了- -。

@akfc58
Copy link

akfc58 commented Apr 23, 2024

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

@ghost
Copy link

ghost commented Apr 23, 2024

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

这是方法,我就这样了。#431 (comment)

@shelken
Copy link

shelken commented Apr 23, 2024

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

这是方法,我就这样了。#431 (comment)

为什么今天开始出现了?我看commit记录好像没什么变化啊

@ghost
Copy link

ghost commented Apr 23, 2024

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

这是方法,我就这样了。#431 (comment)

为什么今天开始出现了?我看commit记录好像没什么变化啊

不知道,时隔一个月更新了词库,cn en opencc后就出现了。

@iDvel
Copy link
Owner

iDvel commented Apr 23, 2024

那完蛋,我是windows 昨天没有,今天出现了- -。

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

为什么今天开始出现了?我看commit记录好像没什么变化啊

🤔🤔🤔 没复现出来,你们有打过任何补丁啥的吗,完全用默认配置也有这个问题吗?

@ghost
Copy link

ghost commented Apr 23, 2024

那完蛋,我是windows 昨天没有,今天出现了- -。

macOS,我也是刚刚出现,更新了一下,现在所有字都有拼音了……

为什么今天开始出现了?我看commit记录好像没什么变化啊

🤔🤔🤔 没复现出来,你们有打过任何补丁啥的吗,完全用默认配置也有这个问题吗?

木有,我昨天到今天的变动就是词库文件夹,不过你上面的贴文已经有了解决方法,我也加上了,所以也没纠结= =(主要是调试挺费时间的,哈哈哈)

@mirtlecn
Copy link
Collaborator

mirtlecn commented Apr 23, 2024

用的不是原版方案,贴下 build 下所用的方案文件 schema.yaml,比如 rime.ice.schema.yaml 或者 double_pinyin.schema.yaml

@shelken @frankilla1987

#819

@shelken
Copy link

shelken commented Apr 23, 2024

用的不是原版方案,贴下 build 下所用的方案文件 schema.yaml,比如 rime.ice.schema.yaml 或者 double_pinyin.schema.yaml

@shelken @frankilla1987

#819

https://github.com/shelken/rime-auto-deploy/tree/main/custom

我的自定义配置
个人仅使用mac的squirrel,和小鹤双拼。
除了这几个custom之外,其他都与该项目的主分支保持一致

@ghost
Copy link

ghost commented Apr 24, 2024

用的不是原版方案,贴下 build 下所用的方案文件 schema.yaml,比如 rime.ice.schema.yaml 或者 double_pinyin.schema.yaml
@shelken @frankilla1987
#819

https://github.com/shelken/rime-auto-deploy/tree/main/custom

我的自定义配置 个人仅使用mac的squirrel,和小鹤双拼。 除了这几个custom之外,其他都与该项目的主分支保持一致

也不知道我哪里搞错了?我昨天晚上重新安装后删除了 translator/spelling_hints: 0 也没有复现了,应该就是我的问题。谢谢。
不过可否问个问题呢,就是我平常打字的词组是保存在哪个文件呢,我如果遇到问题就重新安装,那我平常输入的词组语句就都没了-。-然后就是我电脑里有「苹方 中等」字体,但是我只要加上中等俩字,字体就失效,我换成 medium 也一样不管用,这个方面我应该怎么填写的,我也是搜了好久没搜出个明白。谢谢!

@shelken
Copy link

shelken commented Apr 24, 2024

用的不是原版方案,贴下 build 下所用的方案文件 schema.yaml,比如 rime.ice.schema.yaml 或者 double_pinyin.schema.yaml
@shelken @frankilla1987
#819

https://github.com/shelken/rime-auto-deploy/tree/main/custom
我的自定义配置 个人仅使用mac的squirrel,和小鹤双拼。 除了这几个custom之外,其他都与该项目的主分支保持一致

也不知道我哪里搞错了?我昨天晚上重新安装后删除了 translator/spelling_hints: 0 也没有复现了,应该就是我的问题。谢谢。 不过可否问个问题呢,就是我平常打字的词组是保存在哪个文件呢,我如果遇到问题就重新安装,那我平常输入的词组语句就都没了-。-然后就是我电脑里有「苹方 中等」字体,但是我只要加上中等俩字,字体就失效,我换成 medium 也一样不管用,这个方面我应该怎么填写的,我也是搜了好久没搜出个明白。谢谢!

保留自己的打字词组:不要删除你目录中含有 userdb 名字的文件和文件夹。
或者,你学会配置 installation.yaml 这个文件,同步自己的配置和输入数据(自己搜索看下教程)

尝试使用「字体名-字体宽度」的形式试下
PingFangSC-Regular 正常
PingFangSC-Light 更细
PingFangSC-Bold 更粗
具体还有其他宽度,可以打开mac的字体册去看
参考下这个:

label_font_face: "STHeitiSC-Light" #候选词编号字体

@ghost
Copy link

ghost commented Apr 24, 2024

怪不得,我当userdb是缓存文件夹,看到了就删了- -我说怎么自己的词组又重置一次。晕死~
不好意思,我是win平台,我下载的苹方-family ,里面有个「苹方 中等」,打开字体里面的名字是「PingFang SC Medium」
image 反正不管用,只有用「苹方」才会起作用。是否有可能是mac和win的差异呢-。-不过苹方就苹方了,中不中等也还好,就是中等能稍微粗一点点罢了。weasel.custom.yaml 这个文件有研究过,就是有些没捣鼓出来,哎。谢谢啦!😄

@shelken
Copy link

shelken commented Apr 24, 2024

怪不得,我当userdb是缓存文件夹,看到了就删了- -我说怎么自己的词组又重置一次。晕死~ 不好意思,我是win平台,我下载的苹方-family ,里面有个「苹方 中等」,打开字体里面的名字是「PingFang SC Medium」 image 反正不管用,只有用「苹方」才会起作用。是否有可能是mac和win的差异呢-。-不过苹方就苹方了,中不中等也还好,就是中等能稍微粗一点点罢了。weasel.custom.yaml 这个文件有研究过,就是有些没捣鼓出来,哎。谢谢啦!😄

试下这个:
冒号+字体宽度
https://github.com/TypeDuck-HK/schema/blob/fd91ec37306b3c9f5ec1ddaa7b2dc5031701f71a/weasel.yaml#L69

@frankwuzp
Copy link

那完蛋,我是windows 昨天没有,今天出现了- -。

同 Windows 10 系统(22H2),更新后发现出现了这个问题,没有加载其他多余的配置,引入了自己的一个词库,试了楼上的方法 #431 (comment) ,没起作用与,依旧是打的字后面跟了一串拼音

@ghost
Copy link

ghost commented May 2, 2024

#431 这个方法我是管用的。但是我重新安装后就没这个问题了。你也可以备份你的配置和userdb文件夹后重新安装。

@mirtlecn
Copy link
Collaborator

mirtlecn commented May 3, 2024

你们有什么文件没有更新,比如更新了配置但没更新 lua,或者想法,拉所有配置就行了

@frankwuzp
Copy link

你们有什么文件没有更新,比如更新了配置但没更新 lua,或者想法,拉所有配置就行了

把原来的内容删了重新拉取仓库,现在可以了,thx

@Ruomenger
Copy link

Ruomenger commented May 20, 2024

我在 fedora40 上也遇到了这个问题,fedora上的librime是不带lua插件的,也没有单独的librime-lua包可以安装, 看https://src.fedoraproject.org/rpms/librime/blob/f40/f/librime.spec 的构建规则可以看到。

有两个办法解决:

  1. 不显示拼音可以参考上面提到的修改配置文件在patch下新增配置,默认位置是在~/.local/share/fcitx5/rime/rime_ice.custom.yaml
# rime_ice.custom.yaml
patch:
  translator/spelling_hints: 0
  1. 如果想要使用lua插件, 就得自己动手编译一份目前fedora40是1.9.0的librime
# 参考连接: https://github.com/hchunhui/librime-lua/wiki
mkdir -p ~/build/rime && cd ~/build/rime
git clone --depth 1  --branch 1.9.0 https://github.com/rime/librime
git clone --depth 1  --branch master https://github.com/hchunhui/librime-lua librime/plugins/lua
cd librime
# 安装依赖,如果缺少别的东西就根据报错再安装
sudo dnf install -y cmake gcc make marisa-devel leveldb-devel yaml-cpp-devel glog-devel opencc-devel lua-devel
cmake . -Bbuild -DCMAKE_BUILD_TYPE=Release -DBUILD_MERGED_PLUGINS=ON -DENABLE_EXTERNAL_PLUGINS=OFF
cmake --build build --parallel 8

# 备份原有的 librime 之后有问题可以在切换回去 sudo mv /usr/lib64/librime.so.1.9.0.bak /usr/lib64/librime.so.1.9.0
sudo mv /usr/lib64/librime.so.1.9.0 /usr/lib64/librime.so.1.9.0.bak
# 把编译好的带有lua插件的librime复制过去
sudo cp build/lib/librime.so.1.9.0 /usr/lib64
# 如果想减少下大小可以用下strip
sudo strip /usr/lib64/librime.so.1.9.0

替换后需要重启下fcitx5

@ghost
Copy link

ghost commented May 31, 2024

看了一下,rime 的 lua 支持是通过 librime-lua 实现的,而 Fedora 并没有打包此包。 破案了(

在 Fedora 最新的 librime 中已经打包了librime-lua subpackage,可以通过安装llibrime-lua来安装 lua 插件(librime版本librime-1.11.2-2.fc40.src.rpm)

@intzaaa
Copy link

intzaaa commented Aug 29, 2024

openSUSE 风滚草也遇到了...

不过有 librime-lua 包可以安装

@yuzujr
Copy link

yuzujr commented Jan 31, 2025

Fedora 41,与楼主的问题相同,是lua插件未安装导致的。
通过包管理器安装librime-lua解决

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

13 participants