SCIM
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.
- Assamese
- Bengali
- Gujarati
- Hindi (Devanagari alphabet)
- Kannada
- Malayalam
- Oriya
- Punjabi (Gurmukhi alphabet)
- Tamil
- Telugu
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.
External Links
- Red Hat documentation for SCIM
- Korean on XO in Korean
- Chinese on XO in English
- Japanese on XO in Japanese
- SCIM-anthy: getting started
- Official Cangjie Home Page
- Cangjie Method book in English
- SCIM at Freedesktop
- How to create an IME in scim
- GCIN