SCIM

From OLPC
Jump to: navigation, search
This article is a stub. You can help the OLPC project by expanding it.

The SCIM platform (Smart Common Input Method) provides methods for entering writing systems that are too complex for the usual Unix keyboard handling mechanisms.

Supported Writing Systems

SCIM supports the following IMEs on Linux and other forms of Unix. Although IMEs are not essential for entering text in most alphabets, they add capabilities that cannot be provided on simple one-character-per-key layouts. Among other benefits, this makes it possible to enter accented letters that have no Unicode code points, where it is necessary to provide a sequence of Unicode code points to an application in order to represent a single letter. Accented letters are encoded in Unicode only if they were in some previous standard.

English/European

Adds combining characters to any ASCII keyboard layout, including Dvorak. IMEs are provided for English, Croatian, Slovak, Sampa, and Swedish.

Arabic

Includes Arabic, M17N-ar-kbd, UIM-m17n-ar-kbd keyboard layouts for Egyptian Arabic.

Ethiopic/Amharic

Amharic and other languages of Ethiopia are written in a syllabary with too many symbols to fit on a simple keyboard. However, it can be typed in an IME. One types a base syllable, then a vowel, to get the syllable with the consonant from the base syllable plus the specified vowel.

This is the basic keyboard layout.

` 1 2 3 4 5 6 7 8 9 0 [ ]
   ቅ ው እ ር ት ይ ኡ ኢ ኦ ፕ [ ] \
    አ ስ ድ ፍ ግ ህ ጅ ክ ል ፤   
     ዝ ሽ ች ቭ ብ ን ም ፣ . /

The syllable and vowel letters combine as in the following example.

For   Type
ታ     ት አ
ቶ     ት ኦ
ተ     ት እ
ቱ     ት ኡ
ቲ     ት ኢ

Cyrillic

This is called a phonetic layout, where the letter on most keys is the closest Cyrillic letter in sound to the Latin letter on the same key in QWERTY. But it is not simply a keyboard layout. Letters not on the keyboard can be typed as combinations. For example, the sequence 'ыо' results in 'ё', and similarly 'ыу' results in 'ю'.

` 1 2 3 4 5 6 7 8 9 0 [ ]
   я в е р т ы у и о п [ ] \
    а с д ф г х й к л ; 
     з х ц в б н м , . 

SCIM includes six other Cyrillic layouts for Russian, and others for Serbian.

Alphabets and Languages of India

Inscript and other keyboard layouts for nine writing systems of India, used for hundreds of languages.

Nepali

Written in Devanagari. Traditional and Romanized input is supported.

Greek

Two IMEs provided.

Iranian

aka Persian or Farsi. Two IMEs provided.

Tibetan

Two IMEs provided.

Hebrew

Two IMEs provided.


Laotian

Four IMEs provided.

Thai

Four IMEs provided.

Inuktitut

Again, a base keyboard layout with combining rules.

` 1 2 3 4 5 6 7 8 9 0 - =
   ᖅ  w e ᕐ ᑦ ᔾ ᐅ ᐃ ᐅ ᑉ [ ] \
    ᐊ ᔅ d ᕝ ᒡ ᔅ ᔾ ᒃ ᓪ ; 
     z x ᒡ ᕝ b ᓐ ᒻ , . /

Example: ᔾ ᐅ results in ᔪ.

IPA

Keyboard layout with combining rules.

` 1 2 ʒ 4 5 6 7 8 9 0 - =
   q w e r t y u i o p [ ] \
    a s d f g h j k l ; '
     z x c v b n m , . /

Note that the character 'ʒ' on the 3 key is not a 3, but U+0292 LATIN SMALL LETTER EZH.

Example: 'sh' results in 'ʃ'.

Vietnamese

` 1 2 3 4 5 6 7 8 9 0 - =
   q w e r t y u i o p [ ] 
    a s d f g h j k l ; 
     z x c v b n m , . /

Examples:

  • 'dd' results in 'đ'
  • 'DD' results in 'Đ'

Vowel plus character(s) at left results in accented vowel.

  • ' áéíóúý
  • ` àèìòùỳ
  • ^ âêô
  • ^? ẩổ
  • ^' ấếố
  • ^` ầềồ
  •  ? ảẻỉỏủỷ

Japanese

  • Hiragana (romaji-hiragana conversion)

Typing a consonant key produces the syllable with that consonant plus a. Typing a consonant followed by a different vowel in most cases produces the syllable with the consant-vowel combination indicated. Some syllables are spelled in other ways, in an attempt to simplify things for the English-speaking user.

` 1 2 3 4 5 6 7 8 9 0 [ ]
    q わ え ら た や う い お ぱ [ ] 、
     あ さ だ ふ が は じ か l  ;  ' 
      ざ x  ち v  ば ん ん ,  。  /

Examples: kkikukeko produces かきくけこ; tctsteto produces たちつてと

  • Katakana (romaji-katakana conversion)
` 1 2 3 4 5 6 7 8 9 0 ー=
   q ワ エ ラ タ ヤ ウ イ オ パ [ ] 、
    ア サ ダ フ ガ ハ ジ カ l  ;  '
     ザ x チ v バ ン ン , 。 /

Example: kkikukeko produces カキクケコ; tctsteto produces タチツテト

  • Nippon (romaji-kanji conversion)

Type a syllable in romaji. A menu appears, offering characters to be chosen by number. It is essential to know the readings expected by the software, such as naka1kawa1 to get the name read Nakagawa 中川. This IME does not recognizes the modifications to readings that occur when characters are combined.

Example: ni1hon1 produces 日本.

Korean

  • 2bul
  • 3bul (five variants)
  • Hangul
  • Hangul Romaja
  • Hanja
  • M17N (two variants)
  • UIM (six variants)

and many others

Simplified Chinese

  • Cangjie (two variants)
  • Erbi
  • Erbi-QS
  • Pinyin (many variants)
  • Quick (two variants)
  • Wubi
  • Ziranma

Traditional Chinese

  • Wu
  • Array30
  • CNS11643
  • Cangjie
1 2 3 4 5 6 7 8 9 0
手 田 水 口 廿 卜 山 戈 人 心 
 日 尸 木 火 土 竹 十 大 中 片
  重 難 金 女 月 弓 一 ,  . /
  • Cangjie 3
  • Cangjie 5
  • Canton HK
  • Cantonese Pinyin
  • Chewing
  • Dayi3
  • EasyBig
  • Jyutping
  • Quick
  • Simplex
  • Stroke 5
  • ZhuYin
ㄅ ㄉ ˇ ˋ ㄓ ˊ ˙ ㄚ ㄞ ㄢ ㄦ =
 ㄆ ㄊ ㄍ ㄐ ㄔ ㄗ ㄧ ㄛ ㄟ ㄣ [
  ㄇ ㄋ ㄎ ㄑ ㄕ ㄘ ㄨ ㄜ ㄠ ㄤ ;
   ㄈ ㄌ ㄏ ㄒ ㄖ ㄙ ㄩ ㄝ ㄡ ㄥ
  • ZhuYin Big

SCIM on the XO

In some builds, XO software includes SCIM. Open a Write session, then right-click in the text area to get a menu that includes SCIM IMEs. More recently, as is the case with G1G1 XO's, you have to install SCIM manually.

SCIM takes about 16MB of space, of which 10.5MB is taken by perl and perl-libs. The IME's occupy additional space. SCIM-anthy, for instance, is about 6.9MB.

You will also need to install fonts.

Installing SCIM

SCIM is in the Fedora 7 repository on which XO is based; it is not necessary to further configure yum to recognize another repository.

As root in a terminal, simply type:

yum install scim scim-gtk

Alternatively, one can grab a customized RPM to fit on OLPC. The dependency of im-chooser is removed as unusable for OLPC. This will greatly save the disk space needed for dependent packages. The post-install script also modifies .xsession file automatically.

wget http://hep1.phys.ntu.edu.tw/~john/olpc/scim-1.4.7-23.olpc.i386.rpm
wget http://hep1.phys.ntu.edu.tw/~john/olpc/scim-libs-1.4.7-23.olpc.i386.rpm
wget http://hep1.phys.ntu.edu.tw/~john/olpc/scim-gtk-1.4.7-23.olpc.i386.rpm
sudo rpm -ihv scim-*.rpm

The source RPM is also available here: http://hep1.phys.ntu.edu.tw/~john/olpc/scim-1.4.7-23.olpc.src.rpm

Installing SCIM IMEs

Similarly for the desired IME packages. For example, as root in a Terminal activity type:

yum install scim-anthy
  • Japanese
scim-anthy
scim-canna
scim-skk
scim-prime
scim-tables-ja
  • Chinese
scim-chewing
scim-pinyin
scim-tables-zh
  • Korean
scim-hangul
scim-tables-ko
  • Hebrew
scim
scim-gtk
scim-m17n
scim-tables
m17n-db-hebrew.noarch
  • Other
scim-m17n
scim-tables
scim-tables-additional  
scim-tables-amharic
scim-tables-arabic
scim-tables-nepali
scim-tables-russian
scim-tables-thai
scim-tables-vietnamese

Activation

The configuration scripts in the SCIM package do not work on XO. One can copy ~olpc/.xsession-example to ~olpc/.xsession and put the following line into it. SCIM will then be activated during Sugar start-up. (~olpc/.xinitrc is obsoleted for system image beyond Build 650.)

export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE=scim
export USE_XOPENIM=t
scim -d

Since there's no system tray in Sugar, SCIM can be invoked by pressing the Ctrl+Space hot-key. The SCIM bar will appear at the bottom right of the screen. Different keyboard layouts can be chosen from the SCIM bar. One can also switch between different IM's from the context menu by right-clicking in the text area.

If using the alternative packages built for OLPC, the modifications on .xsession are not needed.

SCIM in action

External Links