Language Input

Design page for text entry for different languages. Other elements for this are covered by the region & language settings design page and the input language menu design page.

Notes

Existing methods to enter additional characters that aren't on your keyboard with GNOME:

  • Compose key
  • Third character modifier
  • Characters app or similar
  • Input methods
  • On-screen keyboard

Other platforms have additional methods, like drawing characters on a touchpad or speech-to-text.

Input methods

Input methods are mostly relevant to CJK input. These work through substitution: the user types using a latin keyboard, and their input is converted into non-latin characters.

GNOME uses the IBUS input method framework. It allows different Input Method Engines (IMEs) to be used, each of which provides its own logic for how text input is interpreted. Each engine can support multiple languages.

There are often multiple different input methods for each language. The most popular input methods are well-established and are cross-platform, and might well be taught in schools and so on. Mathieu Bridon has written an excellent overview of Chinese input methods, and their presence in different areas. This is extremely useful for getting an idea of how input methods relate to locale.

Input methods generally co-exist with keyboard layouts - the same mechanism is used for switching between a keyboard layout and an input method. Collectively, the term for keyboard layouts and input methods is "input sources". In addition to allowing people to switch between input methods and keyboard layouts, this approach is also based on the idea that people go to the settings wanting to input a language.

The concept of "input sources" can break down, sinceļ¼š

  1. There is clearly a technical difference between using a keyboard layout and an input method
  2. There are multiple input methods and keyboard layouts for each language
  3. Your keyboard has a layout even when you're using an input method (TODO: how is this determined?)

Candidate windows

When inputting CJK languages, a "candidate window" shows characters that can be entered based on what has been inputted:

https://mdn.mozillademos.org/files/8709/candidatewindow.png

In some cases, the candidate window is shown as you type (Pinyin, for example). In others, it is necessary to press a key to see the list (such as down in Kana Kanji, or space in Cangjie).

Relevant Art

Windows 10

Windows has an "IME pad"; this allows drawing characters with the pointer, as well as browsing them based on different characteristics:

https://files.tofugu.com/articles/japanese/2016-04-18-how-to-install-japanese-keyboard/windows10-ime-pad-handwriting.jpg

https://files.tofugu.com/articles/japanese/2016-04-18-how-to-install-japanese-keyboard/windows10-bad-character-ime-pad.jpg

https://files.tofugu.com/articles/japanese/2016-04-18-how-to-install-japanese-keyboard/windows10-ime-pad-strokes.jpg

Mac

Candidate windows:

Candidate window

Candidate window - Japanese

You can also draw characters with the touchpad:

Draw characters

GNOME 3.32

Candidate window for Pinyin:

GNOME Pinyin

Candidate window for Kana Kanji:

GNOME Kana Kanji

Discussion

Tentative Design

https://gitlab.gnome.org/Teams/Design/os-mockups/raw/master/text-entry/candidate-windows.png

Relevant issue:

See Also

Comments

Design/OS/LanguageInput (last edited 2019-06-14 16:08:44 by AllanDay)