Hlavní navigace

Xmodmap: rýchla cesta k hieroglyfom

14. 10. 2010
Doba čtení: 12 minut

Sdílet

Študentov orientalistiky na vysokých školách neubúda. Východné kultúry sú i budú pre nás stále zaujímavé a nejeden človek, ktorý sa chce naučiť exotický jazyk, si zamenením jedného písmenka, napríklad k za क, môže vytvoriť samovzdelávací systém a naučiť sa, ako sa zapisuje hindština, arabčina, gréčtina, esperanto atď.

Pre študentov kultúr ďalekých krajín je zároveň ťažké zistiť, ako sa zapisujú exotické znaky ako Čandrabindu, čo je sanskritský polmesiačik s bodkou nad písmenkom: ̐, alebo egyptské hieroglyfy – návod k používaniu je tu uvedený. Tento článok chce teda poslúžiť ako odrazový mostík ľuďom, ktorí sa chcú naučiť používať klávesnicu pre zápis veľmi neštandardných druhov písma. Nosným pilierom textu je vzorová klávesnicová mapa (Xmodmap) pre transliteráciu sanskritu a používanie skriptu dévanágarí (užívateľ tak bude vedieť, ako si nastaviť klávesnicu podľa vlastných potrieb).

XKB a Xmodmap

Najprv treba povedať, že Linux (Unix) pre nastavenie klávesnice (t. j. rozloženie písmen k určitým klávesom) používa dva (od seba nezávislé) spôsoby: XKB a Xmodmap. XKB je štandardná extenzia X a mnohí vravia, že je lepšia, len robustná a možno menej zrozumiteľná pre začiatočníkov. Xmodmap je zase jeden z najstarších spôsobov pre nakonfigurovanie si písmen pre vašu klávesnicu – o čosi jednoduchší, vhodný najmä pre experimentovanie, a nielen to.

XKB pravdaže tiež umožňuje rôzne riešenia, ale ak sa pozrieme na stovky distribúcií vrátane platformy BSD, riešenie Xmodmap je v zásade všade rovnaké – PC-BSD, SuSE Linux, Debian Linux, Slackware Linux atď. Rovnaké je pravdaže aj v Linuxe, avšak iba zo systémového pohľadu, nie užívateľského. V pohodlí prostredia KDE si ľahučko nastavíte klávesnicu, ale v prostredí iných X Window manažérov to už tí menej skúsení nebudú mať také jednoduché.

Ale nechajme technické diskusie o tom, ako sa tieto dva prístupy od seba líšia – dôležité je vedieť, že Xmodmap si nevyžaduje nijakú dodatočnú editáciu súboru /etc/X11/xorg.conf, iba ho stačí načítať z prostredia X príkazom xmodmap /home/user/xmodmap.mapa a mať vedomosť o tom, že to bude fungovať na každom X serveri. Podmienkou je pravdaže používanie UTF.

Xmodmap je utilita X – príkaz, pomocou ktorého si (po načítaní Xmodmap mapy) akokoľvek zmeníte klávesnicu a hocijako si nastavíte používanie neštandardných spôsobov zobrazovania písma za predpokladu, že používate UTF, kódovanie pre Unicode znaky. Po reštarte X budete zase môcť kedykoľvek používať XKB, alebo pokiaľ nechcete reštartovať X, načítate si inú Xmodmap mapu.

Xmodmap

Klávesnicová mapa Xmodmap je textový súbor, ktorý obsahuje informácie o tom, ako treba mapovať klávesnicu, a xmodmap je príkaz, pomocou ktorého túto mapu načítate. Xmodmap prístup je azda o čosi jednoduchší – najmä ak hovoríme globálne o Unixe, pretože ak by ste sa chceli učiť dévanágarí (či esperanto), stačí mať súbor .Xmodmap v domovskom adresári s týmto obsahom:  keysym k = U0915 k

Linux by súbor .Xmodmap mal načítať automaticky a vy by ste po stlačení klávesu „k“ mali v prostredí X vidieť písmenko „क“. „U0915 k“ znamená, že po stlačení klávesu s touto definíciou sa zobrazí najprv znak क (UTF kód U0915) a po aplikovaní klávesu shift zase naše latinské „k“. Pokiaľ chcete veľké písmeno, treba ho tak aj do Xmodmap mapy zapísať („U0915 K“).

Chcete si teda premapovať nejaké písmenko (i viac) na klávesnici? Akýkoľvek kód umiestnite do súboru .Xmodmap, budete ho môcť po štarte systému X Window používať. Klávesnicovú mapu môžete aj dodatočne načítať po nabehnutí X príkazom z terminálového okna ( xmodmap /home/user/xmodmap.mapa).

Transliterácia – čo to je a prečo sa používa?

Je to konverzia zápisu textu z jedného systému písma do druhého, často aj pod termínom transkripcia. V našom prostredí je jedným systémom zápisu latinka (romanizácia), kedy akademickí pracovníci (vo vedných odboroch ako lexikografia atď.) napríklad použijú systém zápisu Rōmaji pre romanizáciu japončiny alebo IAST pre sanskrit (staroindický jazyk). A aj keď máme do činenia s latinkou, systémov pre transliteráciu je veľa. Systém IAST (International Alphabet of Sanskrit Transliteration) je medzinárodný štandard pre zápis sanskritu, ale i pre zápis skriptu dévanágarí.

Aby systém transkripcie ako IAST alebo Rōmaji a mnohé iné mohli zodpovedne zachytiť aj fonetiku jazyka, musia používať špeciálne znaky ako ā Ā ṝ Ṝ ṇ Ṇ ṣ Ṣ ṁ, takže naša klasická latinka tu už nepostačuje a je nutné použiť špeciálne znaky, pretože rôzne nám exotické jazyky obsahujú výslovnosť, akú u nás vôbec nepoznáme.

Ďalej je dôležité povedať, že sanskrit je iný jazyk ako hindština, hoci oba jazyky možno zapísať do skriptu dévanágarí. V Indii je veľa jazykov a okrem hindštiny a ešte niekoľkých jazykov na indickom subkontinente sa dévanágarí používa aj v Nepále. Aby tomu čitateľ rozumel, treba rozlíšiť samotný jazyk od spôsobu jeho zápisu (skriptu). To znamená, že sanskrit ako jazyk možno zapísať i do tibetského skriptu, ale i do tamilského, či dokonca aj do skriptu Siddhaṃ, ktorý sa doposiaľ používa v budhistickej škole Šingon v Japonsku.

Jeden systém transliterácie tibetského skriptu je napríklad Wilie, a v zozname jazykov by sme mohli dlho pokračovať.

Bádatelia pracujú často s transliteráciou (sú i nástroje, ktoré zautomatizujú proces konverzie do latinky) – majú na to rôzne dôvody. Na jednej strane je to pre mnohých pohodlnejšie, ale svoje miesto tu určite má aj kultúrna podmienenosť (zvyk). A ak už neovládate nejaký exotický jazyk, môžete ho aspoň čítať a hľadať spojitosti. V prípade, že sa nejaký výskumný projekt zameria na zmapovanie podobných slov medzi indickými jazykmi a slovanskými, nikto nemôže poprieť význam transliterácie a ani nikto nemusí strácať čas učením sa zložitých „hieroglyfických“ písiem.

Klávesnicová mapa pre transliteráciu (sanskrit) a zápis dévanágarí

Na základe tejto Xmodmap mapy si hocijaký výskumník či študent môže vybudovať akúkoľvek klávesnicu; táto Xmodmap mapa ich povoľuje štyri a prepínanie medzi nimi sa realizuje pomocou klávesu CapsLock: 1) Štandardná (anglická) klávesnica; 2) klávesnica IAST pre transliteráciu sanskritu; 3) užívateľská klávesnica, ktorú si každý môže prispôsobiť; 4) dévanágarí – skript pre zápis sanskritu a iných jazykov v Indii vrátane hindštiny.

Z poslednej klávesnice – dévanágarí, ak stisnete kláves CapsLock, sa zase vrátite do prvej (štandardnej anglickej) klávesnice.

O UTF kódoch ku klávesnicovej mape

Pokiaľ však budete potrebovať iné alternatívy (jazyky ako čínština, telugština, urdština, baltí atď.) rovnako pre zápis pôvodného i romanizovaného písma (pre účely transkripcie), potrebné je povedať si aspoň zjednodušene niekoľko slov o kódoch UTF, ktoré treba do klávesnicovej mapy pre jednotlivé znaky napísať.

Na obrázku vidieť znaky dévanágarí, ich zobrazenia pre transliteráciu (v troch systémoch, z ktorých IAST najdokonalejšie zachycuje fonetiku) a UTF kódy pre zobrazenie znakov dévanágarí.

Na tejto stránke napríklad vidieť vyššie spomenutý sanskritský polmesiačik Čandrabindu (nad písmenkom L); jeho UTF kód je U+0310

Na nasledovnej stránke zase vidieť písmenko ā (s vodorovnou čiarkou na vrchu).

Kód do Xmodmap mapy treba zapísať (U+012B) bez znaku „+“, t. j. nasledovne: keycode 0x1F = i I U012B U012A p p U0917 U0918

UTF kódy pre zápis rôznych špeciálnych znakov možno ľahko nájsť i vo Wikipédii (pozri odkazy). Určite nebudete mať ani najmenší problém si vedieť UTF kódy vyhľadať. Ale nájdete ich i v súbore /usr/include/X11/ke­ysymdef.h (vo FreeBSD /usr/local/in­clude/X11/key­symdef.h), kde sa nachádza napríklad aj vyššie spomenuté písmenko ā definované takto: #define XK_amacron 0x03e0 /* U+0101 LATIN SMALL LETTER A

Jeho Unicode ekvivalent je U+0101 (U₊0100 pre veľké Ā), ktorý zapíšete do Xmodmap mapy: keycode 0x26 = a A U0101 U0100

Klávesnicovú mapu treba načítať (pokiaľ sa nenačítava automaticky): xmodmap /home/user/xmodmap.map a pokiaľ v nej budete mať zadefinovaný riadok: keycode 0x1F = i I U012B U012A p p U0917 U0918 i s kódom pre prepínanie klávesnice, tak hneď budete môcť prejsť zo štandardnej klávesnice (i I) do ďalšej (U012B U012A – môžete si sem uviesť pravdaže čokoľvek); ďalším stlačením CapsLock budete po stisku kláves vidieť „p p“, ktoré je zadefinované takmer všade pre celú tretiu klávesnicu (ako miesto pre experimentovanie) a záverom (ešte raz stlačíte CapsLock) sa dostanete do klávesnice dévanágarí, kde po stlačení nášho klávesu – získate odpovedajúci znak dévanágarí, napríklad u písmenka „i“ uvidíte znak ग.

Písmenká špeciálnej latinky využijete aj v Esperante: Eĥoŝanĝo ĉiuĵaŭde

Akékoľvek existujúce UTF kódy použijete, tak po načítaní Xmodmap mapy ich budete mať k dispozícii (pravdaže, ak budú potrebné aj fonty, tie treba tiež doinštalovať). To znamená, že ak ste už raz zadali príkaz: xmodmap /home/user/xmodmap.map, nič vám nebráni kedykoľvek opäť načítať inú klávesnicovú mapu: xmodmap /home/user/xmodmap.map2; tá predchádzajúca sa deaktivuje a vy budete pracovať s tou, ktorú ste práve načítali zo súboru.

O Xmodmap trochu v technickom svetle

Skôr, ako sa dostaneme ku klávesnicovej mape, ktorá je súčasťou tohto článku, treba povedať niekoľko slov k tomu, aby si ju užívatelia vedeli modifikovať. V tejto mape má každý najpoužívanejší kláves zadefinovaný kód – na jeden kláves je ich spolu osem, čo znamená, že každá klávesnica povoľuje (v tejto konfigurácii) priradiť dve písmenká jednému klávesu – t. j. napríklad:  keycode 0x1A = e E f F p p U093e U0906

keycode 0x1A je štandardne kláves „e“, ale navoliť si pravdaže môžete aj iný.

Po načítaní Xmodmap mapy s vyššie uvedeným kódom a s možnosťou prepínať klávesnice sa teda nič nezmení. Až po stisku klávesu CapsLock namiesto „e“ uvidíte „f“ (a po aplikácii klávesu shift pravdaže veľké písmeno F – iba príklad, ako si premapujete klávesnicu). Ak znovu stlačíte CapsLock, kláves „e“ vám zobrazí „p“ (môžete si sem dať hocičo). Ak tretíkrát stlačíte CapsLock, uvidíte ekvivalent „e“ v skripte dévanágarí: ा a po aplikácii shift zase znak: आ (pozri tieto stránky).

Treba povedať, že na Ubuntu a ani FreeBSD (hoci to neplatí už o ľahších Window manažéroch ako IceWM pod FreeBSD) mi tretia klávesnica s touto mapou („p P“) nefungovala zrejme z dôvodu prostredia GNOME. Po odinštalovaní slovenskej klávesnice (GNOME > Preferences > Keyboard) sa po načítaní vyššie uvedenej Xmodmap mapy na mojom systéme Debian korektne aktivovali všetky štyri klávesnice. Na OpenBSD fungovali tiež všetky štyri, ale tam, kde nefungovala tretia klávesnica, štvrtá bola dostupná vždy (dévanágarí).

V tom horšom prípade CapsLock bolo potrebné stlačiť iba dvakrát (pre transliteráciu a potom pre skript dévanágarí) a tretíkrát pre návrat do pôvodnej anglickej klávesnice. Treba dávať pozor na to, že KDE/GNOME majú vlastné prostredie. Táto Xmodmap mapa však bola úspešne odskúšaná na OpenBSD, FreeBSD, Ubuntu a Debiane.

Klávesnicová mapa Xmodmap

Poznámky ku klávesnici pre transliteráciu IAST

Táto Xmodmap mapa je vzorová a slúži najmä potrebám užívateľov s predpokladom, že si ju upravia podľa vlastných potrieb. Klávesnicová mapa pre IAST (po načítaní mapy jedenkrát stlačíte CapsLock) zodpovedá anglickej klávesnici (označenej ako prvá), len sa budú zobrazovať trochu iné latinské písmenká:

Prvá: a A d D r R t T u U i I s S h H l L n N

IAST: ā Ā ḍ Ḍ ṛ Ṛ ṭ Ṭ ū Ū ī Ī ṣ Ṣ ḥ Ḥ ḷ Ḷ ñ Ñ 

V mape pre IAST sú ešte viaceré inštancie písmena „n N“ (ṅ Ṅ ñ Ñ), preto som ich musel umiestniť inde – tam, kde na štandardnej klávesnici začínajú čísla spolu s apostrofom/vlnov­kou:

Apostrof/vlnovka (`~) korešponduje so znakom ṇ Ṇ
číslo 1 korešponduje so znakom znakom ṅ Ṅ
číslo 2 korešponduje so znakom znakom ṝ Ṝ
číslo 3 korešponduje so znakom ś Ś
číslo 4 korešponduje korešponduje so znakom ḹ Ḹ

Znak Čandrabindu možno napísať v klavesnici IAST pomocou klávesu 0×15 (kde na anglickej klávesnici je znak =/+): ̐. Viac informácii o tomto znaku je na týchto stránkach.

Niektoré riadky v tejto Xmodmap mape, ako napríklad keycode 0x15 = equal plus U0310 plus, obsahujú iba štyri položky, ale ak za ne dopíšete ďalšie štyri, aj tie sa budú zobrazovať.

Čínština a staroegyptské hieroglyfy

Pokiaľ do Xmodmap mapy zapíšete UTF kódy pre čínske znaky z tejto stránky, môžete ich používať tak, ako ich vidíte na obrázku.

Tu predpokladáme, že máte celkom inú Xmodmap mapu iba s týmito kódmi pre čínske znaky (tie však pravdaže môžete zapísať i do Xmodmap mapy prezentovanej v tomto článku):

keysym k = k U5000 
keysym l = l U5001 
keysym j = j U5002 

Linux (Unix) podporuje slušný rozsah zobrazovania znakov, ale ak budete chcieť ísť aj do dávnej minulosti, budete potrebovať fonty, pretože nijaký distribútor Linuxu neráta s používaním staroegyptských hieroglyfov.

V akademickej komunite je záujem nielen o sanskrit, ale aj o egyptológiu, preto aspoň stručne uvediem, ako používať egyptské hieroglyfy.

tohto webu je možné stiahnuť si fonty, ktoré však treba skonvertovať do TTF pomocou programu FontForge, keby sa vám ich náhodou nepodarilo dostať do prostredia OpenOffice.org.

Hneď ako sa FontForge spusti, zobrazí okno, v ktorom si načítate font.

Po načítaní fontu, v našom prípade OTF fontu Aegyptus, potom z menu File (v prostredí FontForge) vyberte Generate Fonts a zvoľte Truetype.

Získate tak TTF font, ktorý si nainštalujete do OpenOffice.org. Po reštarte OpenOffice.org sa font Aegyptus zobrazí v OOo, v ktorého prostredí potom otvoríte priložený súbor Hieroglyphs.txt, kde sú UTF kódy pre hieroglyfy. Tie stačí zadať do Xmodmap mapy (tu v pozícii shift):

keysym k = k UF3006 
keysym l = l UF3001 
keysym m = m UF3002 
keysym r = r UF3003 
keysym t = t UF3004 
keysym v = v UF3023 
keysym w = w UF3054 

Po načítaní Xmodmap mapy sa v OpenOffice.org naučíte písať v staroegyptských hieroglyfoch.

Xkeycaps

Pokiaľ si však chcete úplne po svojom prispôsobiť klávesnicu, najlepšie je vychádzať z nejakej existujúcej, teda aj z tej, ktorú prezentuje tento článok.

Pre informácie ku klávesom a ich kódom je najlepšie použiť program xkeycaps (v Debiane/Ubuntu ho stiahnete pomocou Synaptic manažéra).

Keď sa myšou posuniete na nejaký kláves, uvidíte jeho kód.

Pokiaľ si chcete pozrieť rôzne vzorové Xmodmap mapy, navštívte túto stránku.

Záver

Iba pred nedávnom som hovoril s človekom, ktorý počul slovo Linux odo mňa prvýkrát. Možno téma tohto článku nebude taká zaujímavá pre „ľudí od fachu“, ale pokiaľ chceme, aby sa Linux šíril, treba poskytovať i vedomosti tohto druhu, pretože Linux je operačný systém, ktorý nemôže ostať ani bez informácií o výuke/zápise exotických jazykov. O používanie tých exotickejších rečí sa zaujímajú skupiny ľudí rovnako ako o grafiku či hudobné riešenia.

Na česko-slovenských weboch je síce možné nájsť nejaké všeobecné informácie o sanskrite a jeho transliterácii, to však akademickej komunite, ktorá potrebuje konkrétne nástroje pre transliteráciu či iné projekty, bohužiaľ nepostačuje. Rovnako to platí i pre študentov, ktorí sa zaujímajú o čosi neštandardné. Verím, že informácie v tomto článku budú užitočné, pretože dávajú konkrétny návod, ako si spraviť vlastnú Xmodmap mapu pre akúkoľvek transkripciu, alebo ako pomocou týchto informácií budú môcť študenti používať rôzne exotické znaky.

Odkazy

Opačná transliterácia – z latinky (angličtiny) do tamilčiny

Rôzne iné kódy Unicode (aj s obrázkom)

Latinka

Špeciálna latinka

Zaujímavé nástroje, aj pre konverziu do transliterovaného sanskritu a naopak vrátane Perl skriptu

Stránka pre transliteráciu ruštiny aj s podporou zobrazenia latinky

root_podpora

Online klávesnica pre skript dévanágarí vrátane mnohých iných jazykov

O sanskrite, aj o skriptoch dávnej civilizácie Tibetu – Zhang Zhung

Byl pro vás článek přínosný?

Autor článku