在Ubuntu中分配未使用的Unicode字符

时间:2011-08-02 00:51:56

标签: linux bash unicode ubuntu

我有一段旧代码试图将两个unicode字符分配给一个未使用的Unicode字符(抱歉,我没有使用正确的术语,但希望它能解决问题)。所以U17ff映射到“ាំ”等。

这是bash脚本:

for folder in /usr/X11R6/lib/X11/locale/*UTF-8
do
  file="$folder/Compose"
  if [ -f "$file" ]   # is there a compose file?
  then
    if grep -q "<U17ff>" "$file"   # is there Khmer in the file already
    then
      echo "Warning: $file includes Khmer already!"
    else
      cp --backup=t --force -v "$file" "$file"   # create a backup file
      cat Compose >>"$file"                      # append Khmer
      echo "$file Khmer added"
    fi
  fi 
done

Compose文件是这样的:

# Khmer digraphs

<U17ff> :   "ាំ"
<U17fe> :   "ោះ"
<U17fd> :   "េះ"
<U17fc> :   "ុំ"
<U17fb> :   "ុះ"

我认为该目录不适合此代码,因此它尝试安装的键盘不起作用,因为它调用的unicode字符仍然是空白的(我使用了Ubuntu附带的默认高棉键盘,并且它无法正常工作,所以我试图修复它。)

任何人都可以告诉我我应该使用的目录而不是/ usr / X11R6 / lib / X11 / locale / * UTF-8 对于Ubuntu 11.x?

谢谢, 森

1 个答案:

答案 0 :(得分:1)

事实证明这是一个比我想象的更大的问题(这是一个错误),但有一种解决方法:

  1. 类型 sudo gedit / etc / environment
  2. 添加一行 GTK_IM_MODULE = XIM
  3. 保存并关闭。
  4. 4.然后在终端类型: sudo gedit /usr/share/X11/locale/en_US.UTF-8/Compose

    1. Gedit应该打开,搜索高棉并确保存在以下内容(如果没有,请将其复制并粘贴):
    2. #
      # Khmer digraphs
      #
      <U17ff> : "ាំ"
      <U17fe> : "ោះ"
      <U17fd> : "េះ"
      <U17fc> : "ុំ"
      <U17fb> : "ុះ"
      
      1. 保存并重新启动。
      2. 一切正常。