# 求教： scim 和 fontforge 的键盘冲突

## akar

情況是這樣的：

akar正在主持   開源香港常用中文字體計劃， 需要經常使用 fontforge 這一 中文外框字／全真字（TrueType)的修改工具。

但如果我同時啟用 scim 的中文輸入法程式 和 fontforge， 便 不可以用 鍵盘捷鍵（hotkey)， 例如，如果我把要做的中文字編號由 文字處理程式(gedit)下 複制 <control>+C（沒問題） 到 fontforge的 view->goto窗口時 用 <control>+V時便不行  :Crying or Very sad:  ， （這時用 mouse右鍵menu選擇貼上反而可以！）。 

現時我的解決方法是：

1。 預設不啟動 scim， 那fontforge 使用便沒有問題。

2。 在要用中文輸入時， 在 console下用 scim -d 人手啟動， 不用了， 就用kill 關閉 scim 背景程式。

這個情況(scim 1.01, 1.0.2)同時出現在 Gentoo 和 GNU/Debian 下不管是 xfce4.2 或 Gnome 2.8， 造成 我和中文字體計劃各成員 極大的不方便！！

所以在這請大家幫一幫忙！

 *~/.xinitrc wrote:*   

> 
> 
> export LANG=zh_TW.UTF-8
> 
> export XMODIFIERS=@im=SCIM
> ...

 

謝謝!

----------

## liuspider

this is probably a bug in fontforge. Please try to report it to them

----------

## akar

 *liuspider wrote:*   

> this is probably a bug in fontforge. Please try to report it to them

 

謝謝 liuspider 的回覆。

請問我要如何有效地向 fontforge 提供錯誤報告呢？

對了，我在 fontforge的 開發論譠上找來相關的報錯，有一條說可能是

```
XMODIFIERS="@im=SCIM" 
```

的問題， 等會兒我試下。

另外我看到George Williams有嘗試下重現這個錯誤， 但他不懂安裝 scim

 *George Williams wrote:*   

> 
> 
> $  LC_CTYPE=zh_TW.UTF-8
> 
>  $  scim &
> ...

 

 :Smile: 

----------

## liuspider

as stated here:

http://fontforge.sourceforge.net/#bugs

if seems you have to post the bug in their mailing list. However I think it is sufficiant for you to send a email directly to the primary author.

May I know what it is based on? Gtk+? or pure Xlib?

----------

## liuspider

please also try scim latest releases, although I do not think it's a bug in libscim.

----------

## akar

當我弄清楚問題， 我會提出錯誤／改善報告。  :Smile: 

fontforge 不是用gtk的，（至少現在不是）應該是xlibs吧？ 甚至可以在 文字模式下使用。 :Cool: 

另外我試了一下

 *~/.xinitrc wrote:*   

> 
> 
> export LANG=zh_TW.UTF-8
> 
> #export XMODIFIERS=@im=SCIM
> ...

 

注釋掉 XMODIFIERS, 果然 fontforge的問題就消失了！！

但其它的“正常”的軟件就不能使用 scim中文輸入法了。

但用這樣啟動的話 就可以， 比如：

```

$ XMODIFIERS=@im=SCIM firefox &

$ XMODIFIERS=@im=SCIM leafpad &

$ XMODIFIERS=@im=SCIM /opt/openoffice.org1.9.79/program/soffice.bin &

```

對我來說是可以了， 但不够優雅。  :Wink: 

如果要向fontforge項目提出 改善的意見，請問該如何說呢？

---

edit: 剛想到另一個方式， 就是保持 環境變量 XMODIFIERS=@im=SCIM 的設定， 再在 fontforge的啟動指令內加入清除 XMODIFIERS環境變量，這樣：

```
$ XMODIFIERS='' fontforge &
```

下午回來就試一下。

----------

## liuspider

without that environment variable, you can not input chinese under fontforge, can you?

the problem is that fontforge can not work with SCIM (via XIM)

Your alternative approach is better, I think.

----------

## akar

不就是！ 第二個方法行得通！

現在到目前為止我認為最好的解決方案：

環境配置參數：

 *~/.xinitrc wrote:*   

> 
> 
> export LANG=zh_TW.UTF-8
> 
> export XMODIFIERS=@im=SCIM
> ...

 

在 ~/.bashrc內加一條 alias

 *加這條到 ~/.bashrc wrote:*   

> 
> 
> alias fontforge="XMODIFIERS='' fontforge "
> 
> 

 

看來都解決了。

對了，還有一件事，  請問如果我要告訴 George Williams先生關於這個問題，就這樣告訴他嗎？

 *liuspider wrote:*   

> fontforge can not work with SCIM (via XIM) 

 

----------

## liuspider

of course not: that's not enough information for him to work on it

you should also state the details of the problem, as in the toppest post in this thread.

----------

## akar

 *George Williams wrote:*   

>  ...I am able to get kinput2 to run, and I have no problems using it in the  goto dlg...

 

來自 fontforge的項目開發人說，他沒辦法重現我的問題，而他使用 kinput2。

請問liuspider，這 scim 和 kinput2 是否在架構上有根本性的分別呢？

或者縮細到 對 XMODIFIERS環境值的處理及攔截是是否有不同？

謝謝！

----------

## liuspider

对于 fontforge 来说，这两个都是通过XIM机制来进行输入的，但是，他们在一些细微地方的处理上的差别就会造成这类问题的

如果他可以用 kinput2 的话，为什么不能用 SCIM 呢？

----------

## akar

 *liuspider wrote:*   

> 对于 fontforge 来说，这两个都是通过XIM机制来进行输入的，但是，他们在一些细微地方的处理上的差别就会造成这类问题的
> 
> 如果他可以用 kinput2 的话，为什么不能用 SCIM 呢？

 

這個問題我也有問過他。 但，

請看當時他的說法 http://sourceforge.net/mailarchive/message.php?msg_id=9930516

----------

## akar

liuspider 好：

來至 fontforge開發者 George Williams先生對以上問題的探索：

 *George Williams wrote:*   

> 
> 
> Ok, I've installed a new version of scim (1.2.1 w/ chinese-0.4.2). It
> 
> pops up a little window when I type Control-space in gedit.
> ...

 

----------

## liuspider

thanks. We will look into it.

----------

## liuspider

could you try this patch?

http://scim-im.org/scim_xim.patch

----------

## akar

 *liuspider wrote:*   

> could you try this patch?
> 
> http://scim-im.org/scim_xim.patch

 

謝謝你的幫忙！

測試安裝 Gentoo的 scim 1.2.1, 現在正在用 scim倉頡打字。

但未能解決 fontforge的問題：

不論是：

```
fontforge -new&
```

還是：

```
XMODIFIERS='' fontforge -new&
```

以前一直可以的的 熱鍵，現在都有時靈，有時不行， 例： control+shift+ > 

----------

## JamesSu

I can't reproduce this issue on SUSE Linux 9.3 with scim 1.2.1. At least I can use ctrl+c and ctrl+v in View->Goto box.

----------

## akar

JameSu 好：

經過你這嗎一說，那我只有再仔細試一下，看來有點眉目了！

請看以下這兩次實驗的背景程式執行的情況：

這種情況下fontforge的鍵盘組合鍵正常！！

~/.xinitrc 內的 scim -d是注釋掉的；

但任何的程式一執行，便會有輸入法的圖示在工作條上出現，關掉時即時消失；

請看背景程式的的scim的執行情況

 *ps aux|grep scim (without scim -d  in .xinitrc) wrote:*   

> 
> 
> ac        9709  0.0  0.5  10124  2576 ?        Ss   15:07   0:00 /usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay
> 
> ac        9716  0.0  0.3   5792  1912 ?        Ss   15:07   0:00 /usr/lib/scim-1.0/scim-helper-manager
> ...

 

這種情況下fontforge的鍵盘組合鍵不正常！！

~/.xinitrc 內有scim -d；

輸入法的圖示在工作條上永遠出現，就算我在Terminal下kill，之後也會再次出現；

請看背景程式的的scim的執行情況

 *ps aux|grep scim (with scim -d in .xinitrc) wrote:*   

> 
> 
> ac        9483  0.0  0.5  10268  2600 ?        Ss   15:21   0:00 /usr/lib/scim-1.0/scim-launcher -d -c simple -e all -f socket --no-stay
> 
> ac        9485  0.0  0.5  11504  3080 ?        Ss   15:21   0:00 /usr/lib/scim-1.0/scim-launcher -d -c socket -e socket -f x11
> ...

 

這些是在scim 1.2.1下才發現的情況。

Now i am under GNU/Debian same XFCE 4.2, when i comment out the scim -d in ~/.xinitrc,  firefox is show up with not scim(1.0.2) at the same time.

 :Sad: 

----------

## JamesSu

I can't reproduct this issue for both situations. Maybe there is something wrong in your environment settings. Could you please give me some detailed information of your system? eg.:

locale settings

env settings

fontforge version

etc.

 *akar wrote:*   

> JameSu 好：
> 
> 經過你這嗎一說，那我只有再仔細試一下，看來有點眉目了！
> 
> 請看以下這兩次實驗的背景程式執行的情況：
> ...

 

----------

## akar

locale settings & env settings

please refer to my first post, and  i enter  the Desktop Environment  [X.org 6.8.1,  XFCE4.2]  via startx

fontforge version:

it is the bleeding edge 20050310 version, but the problem reproduced nomatter the version.

etc. :

I will produce  more the system information, such as gcc and its flags later i return home.

 *Akar C 	to George, Arne  ---	 Mar 22 wrote:*   

> 
> 
> I have debug the fontforge under Gentoo, with scim 1.0.1 installed and running.
> 
> I found when  C^V pressed, the gdb screen show me NOthing changes,
> ...

 

thank you.  :Smile: 

----------

