Portál AbcLinuxu, 14. května 2024 10:41

Vstupní metody aneb Japoncům ASCII nestačí

19. 1. 2010 | Stanislav Vrána
Články - Vstupní metody aneb Japoncům ASCII nestačí  

Úvod do problematiky vstupních metod. Jak do počítače zadávat znaky, které nejsou na klávesnici. Jak fungují vstupní metody, jaký software existuje pro Linux, pro které jazyky jsou vstupní metody k dispozici, jaké jsou možnosti konfigurace, využití v programech a integrace do desktopových prostředí.

Obsah

Důvodem, proč tento článek (možná seriál) vzniká, je nedostatek informací, ať už se to týká nastavování, nebo využití vstupních metod. Informace o vstupních metodách sice dostupné jsou, ale je potřeba hledat, hledat a hledat. Navíc, protože je problematika vstupních metod zajímavá především pro národy píšící jinými znaky než latinkou, jsou informace pro neznalé těchto jazyků prakticky nedostupné. Jedno z mála míst na internetu, kde lze nějaké informace získat, je wiki distribuce Mandriva, ovšem část týkající se vstupních metod je pouze ve francouzštině.

Vysvětelní názvů metod:

Co je to vstupní metoda

link

Pokud píšeme na klávesnici text, funguje to asi následujícím způsobem: Na klávesnici stiskneme klávesu, operační systém vyhodnotí, která klávesa je stisknutá, a znak příslušný pro danou klávesu je poslán programu. A program na základě přijetí tohoto znaku provede nějakou akci. Pokud například píšeme text, tak se znak odpovídající stisknuté klávese objeví na místě kurzoru. Celkem jednoduché. Pokud píšeme anglicky, je to dostatečné řešení, pokud píšeme česky, neplatí to až tak úplně. Často používaná písmena s diakritikou mají samostatnou klávesu, ale jsou písmena, která samostatnou klávesu nemají, jako třeba písmena ó nebo ň. K jejich napsání je nutné stisknout klávesu pro vložení háčku nebo čárky a následně stisknout klávesu O nebo N.

Samotná klávesa pro vložení háčku nebo čárky neprovede žádný úkon, ale následný stisk jiné klávesy provede jiný úkon než stisk této klávesy bez předcházejícího stisknutí klávesy pro vložení háčku nebo čárky. Toto má na svědomí právě vstupní metoda. Úkolem vstupní metody je tedy transformace posloupnosti stisknutých kláves na znaky. Vstupní metoda vyhodnotí, zda má tento znak poslat programu nebo počkat na přijetí dalšího znaku a po přijetí dalšího znaku je na základě posloupností přijatých znaků vyslán znak, který odpovídá této posloupnosti. Například posloupnosti znaků ˇn odpovídá znak ň, posloupnosti znaků ´o odpovídá znak ó nebo posloupnosti znaků ˇr odpovídá znak ř.

Zde si dovolím drobnou odbočku. Není vždy nutné, aby pro vkládání znaků byla použita vstupní metoda jako samostatný program. Takto jednoduchá vstupní metoda může být součástí ovladače klávesnice; v linuxových systémech se k vkládání znaků v latince s diakritickými znaménky v současné době používá vstupní metoda XIM. Pokud používáte třeba vstupní metodu GCIN, nejspíše jste si všimli, že i při nastavené české klávesnici a stisknutí posloupnosti kláves ˇn, se nezobrazí znak ň, ale posloupnost znaků ˇn. Zřejmě také není nemožné vstupní metody zřetězit, to je nastavit systém tak, aby vstupní metoda nepředávala znaky programům, ale následující vstupní metodě, která provede další zpracování.

Příklady vstupních metod

link

Ve světě linuxových systémů je používáno mnoho vstupních metod, některé jsou jednoúčelové, například pouze pro zápis vietnamské abecedy (vietnamská abeceda se skládá z písmen a, ă, â, b, c, d, đ, e, ê, g, h, i, k, l, m, n, o, ô, ơ, p, q, r, s, t, u, ư, v, x, y a používá diakritická znaménka pro vyznačení tónů. Takže znaky pro samohlásky s diakritickými znaménky mohou vypadat například jako ằ, ẳ, ổ, ĩ, ỗ, ứ nebo ỵ), jako je metoda VIQR. Jiné jsou univerzální, umožňující vkládání znaků různých jazyků, jako je metoda SCIM.

Kromě vstupní metody SCIM existují ještě univerzální metody UIM a IBUS. IBUS je metoda nová, která má nahradit SCIM, a v současné době je obsažena v distribuci Ubuntu od verze 9.10 a v distribuci Fedora od verze 11. V Mandrivě 2010 je v základní instalaci varianty Free stále metoda SCIM. Jelikož metoda SCIM nemá dobrou podporu tradiční čínštiny, je v Mandrivě obsažena metoda GCIN, která podporuje především tradiční čínštinu. Dále jsou zde k dispozici například vstupní metody amharština (EZ+), Cédille, cyrilice (transliterovaná), Inuktitut (transliterovaný), IPA, Multipress, TamilVP (TSCI), TamilVP (UNICODE), thajština-laoština, Tigriňa-Eritrea (EZ+), Tigriňa-Etiopie (EZ+), vietnamština (TELEX), vietnamština (VIQR) nebo vietnamština VNI. Dále je zde k dispozici ještě vstupní metoda SCIM-BRIDGE. Další známé vstupní metody jsou metody XCIN, IM-JA nebo IIIMF.

Volba jednoúčelové vstupní metody se obvykle projeví pouze při psaní, volba univerzální vstupní metody nebo metody, která umožňuje více režimů vkládání znaků, má obvykle za následek zobrazení ikony v panelu grafického prostředí.

input methods 01
Obr. 1 – SCIM a GCIN v panelu KDE4

Volba režimu vkládání znaků je obvykle možná pouze v případě, kdy se očekává vkládání textů (bliká textový kurzor). Na univerzálních vstupních metodách, které mají svoji ikonu v panelu, je také vidět, kdy je vstupní metoda spuštěna. Vstupní metoda může být spuštěna jednorázově, když se objeví první požadavek na její použití, a může běžet až do odhlášení uživatele od počítače nebo může být metoda spuštěna po dobu, kdy ji nějaký program využívá, a pokud je tento program ukončen nebo pokud je pro vstup znaků vybrána jiná vstupní metoda, je původní vstupní metoda ukončena.

Většina vstupních metod podporuje GTK+ (všechny výše uvedené), několik metod i Qt (z výše uvedených pouze XIM, GCIN a SCIM-BRIDGE), takže pokud chcete psát v jazyce, který používá jiné písmo než latinku, máte větší šanci při používání programů založených na GTK+ (OpenOffice.org nebo Firefox jsou aplikace založené na GTK+).

Další text se bude týkat především vstupních metod SCIM (včetně SCIM-BRIDGE) a GCIN v distribuci Mandriva 2010 (a také 2009).

Instalujeme a konfigurujeme SCIM, SCIM-BRIDGE

link

Pokud SCIM ještě není v systému, je potřeba jej nainstalovat. Pokud pracujete v prostředí Gnome, stačí nainstalovat balíček scim-gtk nebo balíček scim-bridge-gtk, je možné nainstalovat i oba. Pokud pracujete v KDE4, je nutné nainstalovat balíček scim-bridge-qt4. Protože vstupní metoda SCIM je univerzální vstupní metoda, sama o sobě nemá žádný tzv. IMEnginge (vlastní konvertor sekvence stisknutých kláves na znaky) a je nutné také nějaký nainstalovat. Pro naše účely vyzkoušení funkcí SCIMu nezáleží na tom, který to bude, takže jako příklad si vybereme IMEngine Anthy, který je určen pro japonštinu. Jeho balíček se jmenuje scim-anthy. Také můžeme nainstalovat balíček scim-input-pad, což je virtuální klávesnice, umožňující zadat všechny znaky Unicode (kromě některých speciálních znaků).

Pokud nemáme nainstalované fonty (v mém případě to nehrozí, protože při čisté instalaci Mandriva Linuxu vždy volím podporu všech jazyků), je nutné je nainstalovat také (měl by stačit balíček fonts-ttf-japanese). Tím bychom měli mít vše potřebné v počítači. Pokud tedy zadáme v příkazové řádce příkaz scim, měla by se v systémové části lišty objevit ikona klávesnice (viz obr. 1). Pokud na tuto ikonu klávesnice klikneme levým tlačítkem myši, zatím se nic nestane, pokud na ni klikneme pravým tlačítkem myši, objeví se následující menu:

input methods 02
Obr. 2 – Menu SCIMu po kliknutí pravým tlačítkem myši na ikonu SCIMu

input methods 03 1 input methods 03 2
Obr. 3 – Ukázka Input padu (virtuální klávesnice), zde tlačítka umožňující
vkládání znaků dvou japonských slabičných abeced: hiragany a katakany

Pokud v tomto menu zvolíme možnost Input Pad, zobrazí se virtuální klávesnice jako na obr. 3, kde si můžeme vybrat, jaké znaky můžeme vkládat do textu. Ovšem po kliknutí na jakoukoliv virtuální klávesu se stále nic neděje, i když máme třeba spuštěný textový editor.

input methods 04
Obr. 4 – Volba vstupní metody v programu Gedit (GTK+ aplikace)

input methods 05
Obr. 5 – Volba vstupní metody v programu Kontact (Qt aplikace)

Abychom pomocí metody SCIM mohli psát, musíme tuto metodu vybrat jako aktivní. Například v programu Gedit jako zástupce GTK+ aplikací. To můžeme provést stisknutím pravého tlačítka na pracovní ploše programu a zvolením možnosti Vstupní metody a výběrem buď SCIM Input Method (pokud máme nainstalován balíček scim-gtk) nebo SCIM Bridge Input Method (pokud máme nainstalován balíček scim-bridge-gtk), viz obr. 4. Protože program Kwrite jako zástupce Qt aplikací neumožňuje volbu vstupní metody, je jako ukázka použit program Kontact. Postup výběru vstupní metody je zde stejný, pravým tlačítkem klikneme na pracovní ploše programu, zvolíme možnost Vybrat vstupní metodu a výběrem možnosti scim-bridge (viz obr. 5).

input methods 06
Obr. 6 – Menu SCIMu po kliknutí levým tlačítkem myši na ikonu SCIMu

Pokud jsme si vybrali jako aktivní vstupní metodu SCIM a tento program je aktivní, můžeme na ikonu SCIMu kliknout levým tlačítkem a objeví se podobný seznam jako na obr. 6 (pokud máme nainstalovaný pouze IMEngine Anthy, nabídka nebude tak bohatá jako na obr. 6 a volba Anthy nebude vnořená do nabídky japonština). Vybráním Anthy se změní ikona SCIMu v liště z klávesnice na korunku a na obrazovce se objeví panel tohoto IMEnginu.

input methods 07
Obr. 7 – Ikona IMEngine Anthy

input methods 08
Obr. 8 – Panel IMEnginu Anthy

Jako ukázku si napíšeme japonskou větu: Watashi wa genki desu. Tato věta znamená: Mám se dobře. Musíme jí ale napsat jako: Watashi ha genki desu, protože druhá slabika se čtením wa se píše znakem ha. V japonštině nejsou mezery mezi slovy. Při psaní je text, který je aktuálně psán, ale ještě není vložen do textu, podtržen.

input methods 09
Obr. 9 – Anthy – napsány jsou znaky watashi wa genk (slabiky, odpovídají slabikám v japonštině jsou převedy do hiragany)

Během psaní se napsané slabiky budou měnit ve znaky hiragany (jedna ze dvou japonských slabičných abeced).

input methods 10
Obr. 10 – Napsána je celá věta, zobrazuje se v hiraganě

Když dopíšeme větu, stiskneme mezerník, který způsobí, že se slova, která mají jednoznačný zápis, převedou na znaky kanji (čínské znaky používané v japonštině), nebo zůstanou zapsány hiraganou nebo se převedou na znaky katakany (druhá japonská slabičná abeceda).

input methods 11
Obr. 11 – Po stisknutí mezerníku se zobrazí nabídka, jak převést text do kanji případně katakany

Pokud má nějaká část věty víc než jeden způsob zápisu, vyznačí se a pomocí šipky nahoru a šipky dolů můžeme pro vybranou část zvolit zápis. V našem případě vybereme první možnost (možnosti jsou seřazeny podle četnosti jejich výskytu v japonštině).

input methods 12
Obr. 12 – Stiskem klávesy Enter se napsaný text vloží do dokumentu, podtržení zmizí

Máme-li vybraný správný zápis, stiskneme klávesu Enter a japonská věta je dokončena.

Pokud dále nechceme psát v japonštině, klikneme levým tlačítkem na ikonu vstupní metody SCIM a vybereme z nabídky možnost Angličtina/klávesnice (obvykle bývá jako poslední nabídka úplně dole). Nebo můžeme použít kombinaci kláves Ctrl+Mezerník, která přepíná mezi psaním prostřednictvím posledního zvoleného IMEnginu a prostřednictvím klávesnice.

Nastavení SCIMu jako standardní vstupní metody

link

Ne všechny programy nabízejí možnost volby vstupní metody. Už byl zmíněn program Kwrite. Dalšími jsou třeba Mozilla Firefox nebo OpenOffice.org. Pokud chceme psát pomocí SCIMu přímo v těchto programech, je nutné nastavit SCIM nebo SCIM-BRIDGE jako standardní metodu. V distribuci Mandriva 2009 se toto provedlo přidáním

GTK_IM_MODULE=scim
QT_IM_MODULE=scim
XIM_PROGRAM="scim -d"
XMODIFIERS=@im=SCIM

do souboru /etc/sysconfig/i18n. Tento postup v Mandrivě 2010 nefunguje, a je proto nutné zvolit postup mírně odlišný. V Mandrivě 2010 funguje pouze úprava souboru ~/i18n. Po přidání těchto řádků, odhlášení a opětném přihlášení zjistíme, že se nezobrazila ikona SCIMu. Nicméně po stisku Ctrl+Mezerník se objeví panel vstupní metody (jak už bylo napsáno, toto ale funguje pouze pokud stiskneme Ctrl+Mezerník v případě, kdy je očekáváno vkládání textu).

Druhá věc, kterou zjistíme, je, že vstupní metoda je nastavena pouze pro GTK+ aplikace. Pro Qt aplikace nastavena není, protože Qt vstupní metodu SCIM nevidí, Qt vidí pouze metodu SCIM-BRIDGE, proto musíme proměnné QT_IM_MODULE přiřadit hodnotu scim-bridge (Tuto hodnotu je možné přidat i proměnné GTK_IM_MODULE, pokud jste nenainstalovali balíček scim-gtk, ale pouze scim-bridge-gtk). Dále není nutný řádek XIM_PROGRAM="scim -d". Jeho odstraněním zajistíme, že u GTK+ aplikací se najednou začne objevovat ikona SCIMu v některých případech. Protože používám kromě SCIMu ještě GCIN a SCIM potřebuji především v OpenOffice.org a Firefoxu a v ostatních programech je příliš nepoužívám, do souboru ~/i18n jsem přidal pouze řádek

GTK_IM_MODULE=scim

a vše funguje podle mých představ (GTK+ aplikace mají jako standardní vstupní metodu SCIM, Qt aplikace mají jako standardní vstupní metodu XIM). Co se týká rozdílů mezi SCIM a SCIM-BRIDGE, tak se jedná o stejné vstupní metody, pouze podle mých zkušeností se aplikace SCIM pro GTK+ chová líp než SCIM-BRIDGE, proto ho preferuji.

Používáme GCIN

link

GCIN jsem nainstaloval společně s instalací celého systému, takže o instalaci pouze stručně. Na instalačním médiu jsou balíčky gcin a gcin-qt4. Balíček gcin je vlastní vstupní metoda a obsahuje rozhraní pro GTK+, balíček gcin-qt4 je rozhraní mezi GCINem a Qt.

Konfigurace vstupní metody je celá v čínštině, takže se zde příliš neorientuji. Zde popsané funkce jsem zjistil pomocí experimentů.

input methods 13
Obr. 13 – Konfigurace vstupní metody GCIN

Důležité je čtvrté tlačítko shora, které vyvolá konfiguraci ovládání, a je zde také seznam režimů práce GCINu.

input methods 14
Obr. 14 – Seznam režimů vstupní metody GCIN (Okno není kompletní, dole jsou ještě tlačítka BudižZrušit)

V prvním sloupci je název vstupního režimu, ve druhém je zobrazena ikona režimu, která se po jeho aktivaci zobrazí místo ikony GCINu s písmeny EN. Ve třetím sloupci je uvedena klávesová zkratka, která v případě, kdy je GCIN aktivní, přepne do konkrétního režimu (například kombinace Ctrl+Alt+[ přepne do režimu vkládání znaků latinky s diakritickými znaménky – vkládání funguje podobně jako převod hiragany na kanji v případě SCIMu. V pátém sloupci je možné vybrat, zda má být metodou procházeno při postupném stisknutí kombinace kláves Ctrl+Shift, a v šestém sloupci je možné vybrat, který vstupní režim metody má být aktivován jako první. V prvním řádku pod touto tabulkou je možné nastavit, kterou klávesou nebo kombinací kláves se přepíná mezi klasickou klávesnicí a vstupní metodou GCIN (standardně je to opět kombinace kláves Ctrl+Mezerník).

input methods 15
Obr. 15 – Ukázka vkládání znaků latinky s diakritikou pomocí GCINu, právě je stisknuto písmeno a, čeká se na výběr varianty.

Závěr

link

Cílem tohoto článku je ukázat možnosti psaní jiných znaků, než jsou znaky latinky, a uvést zájemce do problematiky vstupních metod. Na příkladech je ukázáno použití vstupních metod SCIM, SCIM-BRIDGE a GCIN. Také je ukázáno, jak nastavit zvolenou metodu jako standardní vstupní metodu.

Související články

Snadné vkládání Unicode znaků pod X
„Typografické“ rozložení klávesnice

Odkazy a zdroje

2010.0 – scim not working (anglicky)
Mandriva 2010 et skim-scim-anthy (francouzsky)
Scim et skim (francouzsky)
Japonština/japonská klávesnice (česky)
System Configuration / Mandriva Linux (formerly Mandrakelinux) (anglicky)

Další články z této rubriky

VDR a DVB-T2, část 2.
VDR a DVB-T2, část 1.
Šifrovaný Proxmox VE 6: ZFS, LUKS, systemd_boot a Dropbear
MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.