Není to tak dávno, co jsme se potýkali s češtinou pod operačním systémem MS-DOS. Nejrůznější drivery a jiné podpory nejrůznějších firem, které na jedné grafické kartě či tiskárně fungovaly s problémy, na druhé vůbec ne. Tyto problémy se časem podařilo do jisté míry odstranit jednak kvalitnější a hlavně univerzálnější podporou (např. na MU používané CSDrive a CSPRes), jednak tím, že řada programů je již dodávána s podporou češtiny, která vcelku s temito programy alespoň koresponduje.
Ovšem teď řada z nás pracuje pod operačním systémem UNIX a všechny problémy jsou tu znovu. Navíc komplikovanější o různé varianty UNIXu a různé terminály a emulátory. Následující článek nepodává vyčerpávající řešení celého problému, spíše si klade za cíl uvést uživatele do problematiky češtiny pod UNIXem a nastínit základní možnosti.
Dříve než přistoupíme k vlastnímu popisu jednotlivých částí české podpory, je potřeba se několika slovy zmínit o kódování českých znaků. O tom, že v tomto důležitém bodě nepanuje shoda, již bylo napsáno víc než dost a řada z vás se o tom již mnohdy nemile přesvědčila. Pro ty, kteří dosud slyšeli pouze o kódování PC Latin-2 a Kamenickém, mám uklidňující informaci. Pod UNIXem se zcela jistě setkáte s dalším kódováním ISO Latin-2, a jak číslo na konci naznačuje, je kódování typu ISO Latin více. Vezměme tedy postupně kódování, se kterými se můžete v současnosti setkat:
Tím jsme ještě zdaleka nevyčerpali všechny možnosti v oblasti kódů. Aplikace pod MS-Windows úspěšně používají zcela odlišné kódování označované jako Windows EE neboli CP 1250. A vzhledem k tomu, že se občas vyskytnou i texty původně pořízené na počítačích Apple Macintosh, dá se narazit i na české kódování používané v operačním systému System-7, označované jako Macintosh CE.
Co tedy taková podpora češtiny v operačním systému UNIX obnáší? Především je potřeba mít možnost vyloudit na klávesnici český znak a tento znak správně uvidět na obrazovce. Pokud je potřeba tisknout textové soubory bez toho, že by bylo nutno je nejprve přenést pod operační systém MS-DOS a pak teprve některým osvědčeným způsobem vytisknout, musíme počítat s podporou českých tisků.
Konečně je také možno přímo na úrovni operačního systému nastavit tabulky pro převod malých písmem na velká a naopak, nebo tabulky pro třídění. Pak např. systémový program sort je schopen třídit soubor podle českého řazení, bohužel až na to nešťastné ch.
Než se pustíme do přehledu jednotlivých částí, je potřeba si uvědomit následující skutečnosti:
V tomto případě se to různými nesourodými možnostmi jen hemží. Vezmeme je tedy postupně podle typu vstupního zařízení:
Výše uvedené možnosti nejsou ovšem jediné. SCO UNIX nabízí univerzální prostředek pro přemapování klávesnice ať už konzoly, terminálu nebo emulace terminálu. Tento program se nazývá mapchan a umožňuje definovat mapování znak na znak. Např. řeknete, že místo znaku 4 se má dát znak č, místo znaku 5 znak ř atd. Také je možno definovat tzv. mrtvé klávesy a určit, že např. kombinace znaků = a E má dát znak É.
Mohlo by se zdát, že toto řešení je nejlepší, ale má také své "ale". Předefinováním číslic se předefinují čísla jak na hlavní, tak na vedlejší (numerické) klávesnici. A to může být nepříjemné. Proto je vhodné výše uvedené prostředky vhodně kombinovat.
Nesmí se to ovšem přehnat. V případě, že máte pod UNIXem nastaveno přemapování vstupu pomocí programu mapchan a před tím, než se přihlásíte z PC, si "pro jistotu" nastavíte češtinu pod operačním systémem MS-DOS, asi s výsledkem moc spokojeni nebudete. Také je potřeba dát pozor na to, jaké kódování používáte v MS-DOSu a jaké pod UNIXem. Program mapchan pak může sloužit pro překódování mezi dvěma různými kódy.
Ale vraťme se raději k něčemu srozumitelnějšímu. Některé aplikace (patří k nim editory Wonder Word a Wonder Edit) totiž umožňují buď využít klávesnici nastavenou na úrovni operačního systému anebo použít vlastní prostředky pro mapování klávesnice. Pak lze snadno překlenout ten nedostatek, že pod některými implementacemi UNIXu není mapování klávesnice řešeno. Současně lze klávesnice snadno přepínat i během editace.
I v tomto případě hodně závisí na typu vstupně/výstupního zařízení:
Program mapchan pod systémem SCO UNIX lze použít i pro přemapování výstupu na obrazovku. Tak lze poměrně elegantně vyřešit ten problém, že na PC máte font např. v kódování PC Latin-2 a v UNIXu potřebujete psát v kódu ISO Latin-2. Jisté prostředky pro změnu kódu na obrazovku však může mít i používaná aplikace.
Na tomto místě je ještě potřeba zmínit grafická uživatelská rozhraní. Kompletní vybavení takového systému češtinou znamená vytvořit ke všem fontům odpovídající ekvivalenty s českými znaky. Pokud se však omezíme pouze na emulaci terminálu, rozsah potřebných úprav se zredukuje na úpravu několika fontů, které se obvykle při emulaci používají. Aby to ovšem nebylo tak jednoduché, různá rozhraní používají různé formáty fontů. Tím se však nyní nebudeme zabývat.
V Unixu rozlišujeme až tři různé varianty tisku:
Pokud používaná aplikace sama řeší problém tisku na různých tiskárnách (TeX, Wonder Word), není potřeba nic dalšího doplňovat. V opačném případě je nutno použít filtr, který zajistí potřebnou transformaci souboru (tiskového výstupu) do podoby použitelné k tisku na konkrétním typu tiskárny. Dále je potřeba rozhodnout, na kterou úroveň systému tento filtr zařadit.
V případě transparentního tisku přichází v úvahu pouze jediná varianta. Zavolat postupně (nejlépe přes "rouru") filtr pro ošetření českého tisku a filtr, který realizuje lokální tisk. V dalších dvou případech buď použijeme analogický postup (nejprve filtr, pak program pro tisk), nebo filtr zařadíme přímo do tiskového rozhraní. V případě vzdáleného tisku je vhodné zařadit filtr do rozhraní pouze na tiskovém serveru, protože případná změna typu tiskárny se pak projeví jen na tomto počítači.
Lokální tisk popsaný pro alfanumerický terminál je možné použít i v případě emulace terminálu na PC. V tomto případě ovšem velmi záleží na schopnostech používaného emulátoru.
Na závěr jsme si nechali možnosti nastavení prostředí. Jedná se o následující informace:
Jednotlivé aplikace by pak tyto informace měly využívat. Např. správné nastavení kategorizace znaků je potřebné již pro funkci "skok po slovech" v editoru vi.
Všechny uvedené informace jsou uloženy v určitých souborech, jejichž jméno, umístění ve struktuře adresářů a formát jsou ovšem pro různé systémy různé. Takto můžete mít připraveno prostředí pro více jazyků nebo i více kódování jednoho jazyka. Mezi nimi pak lze volit nastavením proměnné shellu LANG.
Předchozí popis možností realizace českého prostředí v žádném případě neznamená, že by každý uživatel musel tuto problematiku nastudovat a ve vlastní režii plně řešit. Existují již hotové produkty, které zahrnují programy, definiční soubory a fonty pro vkládání českých znaků, jejich zobrazení a tisk pod operačním systémem UNIX. Součástí takové podpory jsou obvykle i další doplňkové programy pro překódování souborů, lokální tisk apod. Každý správce systému však musí rozhodnout, která kódování je nutno uvažovat, jakým způsobem sladit češtinu v operačním systému MS-DOS s češtinou pod UNIXem, jaký emulátor terminálu použít a na které úrovni řešit tisky.
1 | viz také následující článek Luďka Matysky
... zpět do textu |