Ubuntu 傳送阿拉伯語連字字形作為單一字形。例如,Laa+Alif 連字「??」(U+0644、U+0627) 將作為「ﻻ」(U+FEFB) 發送,對於 (ﻷ? ﻵ? ﻹ) 也類似。
重現步驟
- 設定 > 鍵盤 > 新增預設阿拉伯語佈局
- 輸入「ﻻ」(即:QWERTY 鍵盤中的「b」)
觀察結果
輸出為 ﻻ (U+FEFB)
預期結果
輸出為 ä (U+0644, U+0627)。
為了讓說英語的人澄清,這就像有一個鍵可以輸入連字。假設您想按“b”鍵輸入兩個字元:fi
但您得到的fi
是單一字元。這正是這個問題所發生的情況。
答案1
X 鍵盤佈局傳送阿拉伯語連字字形作為單一字形。例如,Laa+Alif 連字「ä」(U+0644、U+0627) 將作為「ﻻ」(U+FEFB) 發送,對於 (ﻷ、 ﻵ、ﻹ) 也類似。這是由於一個已知的限制在 xkb 中,它不允許將一個鍵對應到多個字元。
X compose 的解決方法
以下解決方案需要重新啟動 X 伺服器。如果已經im-config
安裝了,就可以使用了im-config -n xim
。或者,將以下內容新增至您的環境變數:
XIM=none
XIM_PROGRAM=/bin/true
XIM_ARGS=
GTK_IM_MODULE=xim
QT_IM_MODULE=xim
SHORT_DESC="X compose table"
不過,由於大多數基於QT的程式沒有這個問題,所以添加export GTK_IM_MODULE=xim
到~/.xsessionrc
or就足夠了~/.xprofile
。
ibus 的解決方法
透過運行將 ibus 設定為輸入法
im-chooser
或透過設定環境變數:
GTK_IM_MODULE=ibus; QT_IM_MODULE=ibus; XMODIFIERS=@im=ibus
如果 ibus 未設置,則運行
ibus-daemon
或。ibus-setup
使用 ar-kbd-m17n 作為 ibus 輸入法。