# Invoermethode

Een invoermethode (Engels input method) is een programma dat de invoer van tekens mogelijk maakt die zich niet op het toetsenbord bevinden.
Invoermethodes worden bijvoorbeeld gebruikt om Chinese karakters en Japanse Kanji in te voeren door middel van een toetsenbord met het Latijns alfabet. Invoermethodes kunnen in het besturingssysteem geïnstalleerd worden, als extensie voor een kantoorsoftwarepakket geïnstalleerd worden of als webapplicatie beschikbaar staan (bijvoorbeeld InputKing).

## Werking

Een invoermethode vangt de toetsenbordinvoer van de gebruiker op alvorens een ander programma deze invoer kan gebruiken. De invoermethode zit dus tussen de toetsenbordinvoer en het programma waar de gewenste tekens uiteindelijk in terechtkomen. De invoer werkt typisch in twee stappen:
* De ruwe toetsenbordinvoer door de gebruiker wordt ingelezen en omgezet naar een lijst van een of meer "kandidaten" die met de ingevoerde tekens overeenkomen. Bijvoorbeeld, wanneer de gebruiker in pinyin "han" ingeeft, wordt deze lettergreep omgezet in een lijst van vereenvoudigde Chinese karakters waaronder 汉， 韩 en 喊.
* De gebruiker kiest een kandidaat uit de lijst of vraagt meer kandidaten. (Het kiezen van een kandidaat kan op verschillende manieren gebeuren, b.v. door middel van de spatiebalk of de Enter-toets indien de eerste kandidaat het gewenste karakter is, door middel van het nummer van de kandidaat indien de lijst genummerd is, of door middel van de pijltjestoetsen.)
De aard van de ruwe toetsenbordinvoer hangt af van de voorkeur van de gebruiker en het soort toetsenbord: bijvoorbeeld een op het Latijns alfabet gebaseerd transliteratiesysteem zoals pinyin, of een lokaal schriftsysteem zoals zhuyin voor Chinees in Taiwan of hiragana voor Japanse kanji.
De eerste invoermethodes voor Chinese karakters vereisen dat de karakters een voor een ingegeven werden. Dit is niet langer nodig; men kan eveneens woorden, uitdrukkingen of gehele zinnen ineens invoeren. Wanneer men grotere eenheden dan individuele karakters invoert wordt de lijst met kandidaten korter.

## Chinees

Invoermethodes voor het Chinees kunnen gebaseerd zijn op verschillende soorten input, bijvoorbeeld op transliteratiesystemen zoals pinyin, zhuyin fuhao (bopomofo) en Gwoyeu Romatzyh, of op andere systemen zoals Cangjie, de wubi-invoermethode en de vier-hoekenmethode.
Invoermethodes gebaseerd op uitspraak (bijvoorbeeld pinyin en zhuyin) zijn gemakkelijker te leren maar zijn doorgaans trager in gebruik dan invoermethodes gebaseerd op karakterstructuur. Invoermethodes gebaseerd op karakterstructuur hebben het voordeel dat men de uitspraak van een karakter niet hoeft te kennen om het te kunnen invoeren maar zijn moeilijker in gebruik.
Voor Microsoft Windows bestaan er meerdere invoermethodes die pinyin ondersteunen, zoals die van Microsoft, Google, Sogou, Baidu en Davepy.
Andere invoermethodes voor Chinese karakters zijn:
* Rime IME (中州韻輸入法引擎) is een open source invoermethode met versies voor Windows (onder de naam Weasel), Mac OS (onder de naam Squirrel) en Linux (onder de naam ibus-rime)
* NJStar Communicator voor Windows: ondersteunt verschillende methodes voor zowel vereenvoudigde als traditionele Chinese karakters, Japans en Koreaans
* Twinbridge voor Windows
* ChewingOSX voor Mac OS X
* OpenVanilla voor Mac OS X
* gcin (Gtk Chinese INput application in X) voor Linux ondersteunt vooral de Taiwanese Big5-standaard
* HIME INPUT METHOD EDITOR (HIME, 姫) voor Linux is een fork van gcin
* Google Pinyin Input voor Android
* Google Zhuyin Input voor de invoer van traditionele karakters met behulp van zhuyin fuhao op Android
* Google Cantonese Input voor Android: voor de invoer van zowel vereenvoudigde als traditionele karakters voor Kantonees met behulp van onder andere Pinyin, Cangjie en Jyutping
* Sogou Mobile Input Method (SMIM / 搜狗手机输入法) voor Android
* IQQI (Pro-versie: 專業版) voor Android ondersteunt onder andere Pinyin and Cangjie
* Simplified Chinese Keyboard (van Linpus Technologies) voor Android
* het East Asian Language Pack voor BlackBerry ondersteunt naast verschillende invoermethodes voor Chinees ook nog Japans, Koreaans en Thai
* Cantonese Phonetic IME voor Windows en Android ondersteunt de transliteratiemethodes Cantonees Pinyin (教院式/教育學院拼音方案), Yale, Jyutping (粵拼) en 劉錫祥 (Sidney Lau) voor de invoer van in het Kantonees gebruikte karakters
* CantoInput voor Java: ondersteunt Yale en Jyutping voor de invoer van Kantonees
* Neoe IME voor Java
* CJKV VBA IME for MS Word: een set van VBA-macro's voor Microsoft Word voor de invoer van Chinees, Japans, Koreaans en Vietnamees
De volgende programma's zijn eigenlijk frameworks voor invoermethodes, die naast Chinees ook Japans en Koreaans ondersteunen:
* Fcitx (小企鹅输入法) voor Linux en Unix
* IBus (Intelligent Input Bus for Linux / Unix OS) voor Linux en Unix
* SCIM (Smart Common Input Method platform) voor Linux
* uim voor Linux/Unix-systemen en Mac OS X
Er bestaan ook invoermethodes voor pinyin zelf, zowel als uitbreiding voor kantoorsoftware (bijvoorbeeld voor OpenOffice en LibreOffice) en als programma's die in het besturingssysteem geïnstalleerd worden:
* Pinyinput voor Microsoft Windows
* PinyinTones voor Microsoft Windows
Opmerking: de invoermethode van Microsoft Windows (en heel wat andere invoermethodes voor Windows) gaan uit van een QWERTY-toetsenbord in plaats van het in Frankrijk en België gebruikelijke AZERTY-toetsenbord. Het Franse discussieforum Chine Informations stelde een patch beschikbaar die enkele sleutels in het Windows Registry wijzigt zodat Chinese invoermethodes ook met AZERTY gebruikt kunnen worden.

## Japans

Invoermethodes voor het Japans kunnen aan de invoerzijde meerdere soorten transliteraties ondersteunen (zoals nihon-shiki, kunrei-shiki en het Hepburnsysteem), en aan de uitvoerzijde de keuze geven tussen Kanji, hiragana en katakana. Enkele systemen voor Microsoft Windows zijn Microsofts eigen invoermethode en die van Google.
Andere invoermethodes voor het Japans zijn:
* ATOK voor Windows, Mac OS en Linux
* Kotoeri voor MacOS
* Simeji voor Android
* im-ja voor Linux (GTK2)
* Mozc voor Chromium OS, Android, Windows, Mac en Linux; gebaseerd op Googles invoermethode

## Koreaans

Invoermethodes voor het Koreaans kunnen Hangul en eventueel ook Hanja uitvoeren. De uitvoer van Hanja kan daarbij gebaseerd zijn op een conversie van reeds getypte Hangul.
Enkele invoermethodes voor het Koreaans zijn:
* de Hangeul Windows IME van Microsoft
* nabi voor Unix en Linux
* een JavaScript-versie van Nabi
* imhangul: een invoermethode voor Hangul op Unix en Linux
* qimhangul: een invoermethode voor Hangul op Linux (gebaseerd op het grafisch toolkit Qt)
* de webgebaseerde invoermethode van SayJack
SCIM en IBus (zie de sectie over Chinees) ondersteunen eveneens Koreaans.

## Vietnamees

Het Vietnamese schrift Quốc ngữ is weliswaar gebaseerd op het Latijnse alfabet, maar de invoer van tonen en van niet-Latijnse letters vereist een invoermethode. Hiervoor bestaan verschillende methodes, bijvoorbeeld::
* de Telex-methode gebruikt enkel letters, b.v. "Tieesng Vieejt" om "Tiếng Việt" in te voeren;
* de VNI-methode gebruikt cijfers, b.v. "tie6ng1 Vie6t5" om "tiếng Việt" in te voeren;
* de VIQR-methode (van VIetnamese Quoted Readable) gebruikt diakritische tekens, b.v. "Tie^'ng Vie^.t" om "Tiếng Việt" in te voeren.
Enkele voorbeelden van invoermethodes voor Vietnamees zijn:
* UniKey voor Windows en Linux
* TinyMCE Vietnamese Input Method voor Windows, Mac OS en Linux
* WinVNKey voor Windows, een programma waarmee men eveneens Chữ Nôm en chữ Hán kan invoeren. Naast Vietnamees ondersteunt het ook Chinees (door middel van pinyin), Japans en enkele andere talen.
* VietIME: een invoermethode gebaseerd op Java
* VietPad: een Vietnamese Unicode-teksteditor ontwikkeld op basis van .NET en Java
* xvnkb: een invoermethode voor X-Windows
* Vietnamese Input Method (van Doan Ly) voor Android
* Vietnam Telex Keyboard (van Qik Math) voor Android
* Mareike Hadels webgebaseerd invoermethode