Hlavní navigace

České klávesy ve StarOffice?

Michal Krause

Většina uživatelů Linuxu, potažmo XFree86, asi ví, že některé aplikace mají problémy se vstupem českých kláves i při správně nastavených locales. Důvodem bývá to, že program je špatně napsaný a pak nastávají problémy. Stalo se nechvalnou tradicí, že tím trpí snad všechny komerční kancelářské balíky.

Jedním z nejoblíbenějších je StarOffice – snad ani ne tak pro své kvality, jako spíš proto, že je pro osobní použití zdarma. Nicméně svému účelu poslouží a tak určitě nejednoho našince zamrzely potíže, které StarOffice s českými znaky má. Nicméně nic není zcela ztraceno, se svým postupem, jak SO verze 5.1 donutit k poslušnosti, se nám svěřil Lubomír Čevela:


Linux RedHat 6.0 Cz se s češtinou kamarádí daleko lépe než jeho předchůdci. Mně stačilo do souboru XF86Config doplnit odkaz na správnou klávesnici, tedy:


XkbKeymap „xfree86(us_cz_qw­ertz)“
 

a většina aplikací, které používám (gEdit,gnumeric …) začala fungovat v češtině. Podrobněji je o teto problematice napsáno v Czech-Howto, které najdete např. na www.penguin.cz.
Bohužel moje oblíbená aplikace StarOffice 5.1 akceptovala z českých znaků pouze „áíéúý“ a znaky „ěščřž“ nebrala z klávesnice vůbec. Nebudu problém popisovat teoreticky, ale v podstatě se jedná o vnitřní problém StarOffice samotné, která nepracuje korektně s „mrtvými klávesami“.
Řešení poskytuje knihovna LibI18Nforce od Zdeňka Kabeláče. Stačí tuto knihovnu stáhnout z některého ftp serveru, rozbalit pomocí tar xvfz, nakopírovat do adresáře knihoven (cp libI18force.so.0.0 /lib) a nalinkovat příkazem ldconfig. StarOffice se pak spouští přes jednoduchý skript. Např.:

#!/bin/sh
LD_PRELOAD=/lib/li­bI18Nforce.so­.0.0
export LD_PRELOAD
soffice $*

Tento skript samozřejmě funguje jen za předpokladu, že máte adresář se StarOffice přidaný do proměnné PATH např.:

PATH=$PATH:$HO­ME/bin:/opt/Of­fice51/bin

Jedná se sice o hack, ale přesto je toto řešení celkem spolehlivé. Koneckonců tento text byl vytvořen ve StarOffice 5.1 na RedHatu 6.0Cz. Jako každá věc má i toto řešení své čertovo kopýtko. V tomto případě mi StarOffice po startu výše uvedeným skriptem odmítá tisknout přes Ghostscript. Přesněji řečeno, postscriptové soubory vytvořené takto spuštěnou StarOffice jsou pro Ghostscript nečitelné. Problém jsem zatím vyřešil tak, že pokud chci ze StarOffice tisknout spustím ji bez preloadu knihovny. Pokud někdo přijde na lepší řešení, uvítám je.


Já již jenom podotknu, že zmiňovaná knihovna funguje opravdu celkem spolehlivě a dokáže přesvědčit většinu vzdorujících programů. Přesto je nejlepší cestou apelovat na autory programů, aby věnovali problematice národní podpory větší pozornost – to však většinou funguje pouze u open source projektů.

Našli jste v článku chybu?