[教程]Lazarus 在 Linux 下中文输入法问题的临时解决办法

这个真的很临时,Lazarus 中文输入法的本质问题是其代码编辑窗口使用的SynEdit控件在 Linux 操作系统下的处理逻辑问题。目前可以通过以下步骤解决不能输入的问题:

1、进入工具菜单中的配置构建 Lazarus 选项。

2、在弹出的对话框中,选择目标操作系统 Linux,目标 CPU x86_64。

3、选择编辑定义,添加定义:WITH_GTK2_IM 和 Gtk2_IME。然后选中这两个定义。

4、选择构建重新编译IDE。

5、重启IDE就可能以输入中文了。默认的字体可能中文显示不太理想,自己调整下。

存在的问题:

  • 只能单字输入,输入词组时,只有首个字符输入,后面的全被丢了。
  • 自带的 SynEdit 组件仍然输入不了中文的,应该需要相应的条件重新编译,不过大家还是算了,毕竟不用它也没啥大不了。TMemo 一类的控件中文输入是没有问题的。

因为上述原因,我们只能认为这块是个半成品。如果真正解决问题,还是得人修改 SynEdit 的源码。

这个解决方案参考秋雨的博客,只是这样就不用修改源码文件。

实际测试在 DeepinLinux 20.4+Lazarus 2.2.0 上完成。希望早日听到这个问题完美解决。

分享到: