Gaim 中的拼写检查

只要安装了 libgtkspell 和 libaspell 库,编译 gaim 的时候会自动启用这个功能,但是,在中文 locale 下这个功能不起作用(这是连 MS Office 也没做出来的功能)。我在 gaim 中用 Fcitx 输入中文,必须要使用中文 locale,也有很多时候是要输入英文,比如最近和小鼠练习英文,有个拼写检查工具能帮我纠正很多容易拼错的词,鱼与熊掌如何兼得呢?

答案当然在代码中,开源就是好。在 gaim 的源码中搜索,发现在文件 gtk/gtkutils.c 里调用 gtkspell_new_attach() 的时候把 locale 设成 NULL 了,这样 gtkspell 会取当前环境变量 LANG 的值,这自然是没有错,但是方块汉字进行拼写检查几乎是不可能任务 @_@,改成 en_US 就可以了。

其实鱼和熊掌还是没有兼得,敲完汉字打个标点,也会被标上波浪线 :(

svn diff:

Index: gtk/gtkutils.c
===================================================================
--- gtk/gtkutils.c (revision 17746)
+++ gtk/gtkutils.c (working copy)
@@ -831,7 +831,7 @@
{
#ifdef USE_GTKSPELL
GError *error = NULL;
- char *locale = NULL;
+ char *locale = "en_US";

g_return_if_fail(textview != NULL);
g_return_if_fail(GTK_IS_TEXT_VIEW(textview));

0 Comments so far

  1. There are currently no comments.
Leave a Comment?


« Java Open Source Announcement  —  好无趣 »

Tags

Blogroll

Fairy World | STUPiD | 阅微草堂 | ShelleX | 流浪五天