阿拉伯語鍵盤佈局將連字作為一個字元發送(Laa 問題)

阿拉伯語鍵盤佈局將連字作為一個字元發送(Laa 問題)

Ubuntu 傳送阿拉伯語連字字形作為單一字形。例如,Laa+Alif 連字「??」(U+0644、U+0627) 將作為「ﻻ」(U+FEFB) 發送,對於 (ﻷ? ﻵ? ﻹ) 也類似。

重現步驟

  1. 設定 > 鍵盤 > 新增預設阿拉伯語佈局
  2. 輸入「ﻻ」(即:QWERTY 鍵盤中的「b」)

觀察結果
輸出為 ﻻ (U+FEFB)

預期結果
輸出為 ä (U+0644, U+0627)。

為了讓說英語的人澄清,這就像有一個鍵可以輸入連字。假設您想按“b”鍵輸入兩個字元: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~/.xsessionrcor就足夠了~/.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 輸入法。

相關內容