Hlavní navigace

Textový editor Ted

16. 4. 1999
Doba čtení: 4 minuty

Sdílet

Když jsem nedávno psal na Roota článek o výměně elektronických dokumentů mezi Windows, potažmo M$ Office a Linuxem, objevil jsem textový editor Ted. Po testování mnoha různých jiných pokusů o WYSIWYG word procesor jsem byl mile překvapen.

Podle slov autora (Holanďan Marc de Does) je Ted textový editor pro X Windows, funkčně srovnatelný s WordPadem z Windows (snad i o ždibíček lepší). Jedním z požadavků byla vzájemná kompatibilita s populárními windowsovskými aplikacemi. Proto padla při výběru datového formátu volba na RTF. Jak jsem už psal, jde o celkem jednoduchý, ale rozhodně ne chudý formát, jehož výhoda pro vývojáře spočívá mimo jiné i v tom, že nejde o binární formát. Osobně se domnívám, že šlo o volbu velmi šťastnou.
Ted používá komerční knihovnu Motif, ale funguje i s free implementací Lesstif. Sám jsem použil předkompilovanou binárku, což bych asi doporučil i vám, protože kompilace je spíš z těch obtížnějších a navíc mi ručně kompilovaný Ted dost padal a vůbec se choval divně. Oproti tomu binární distribuce šlape k plné spokojenosti.

Když jsem Teda nainstaloval, nestačil jsem se divit. Po předchozích pokusech se StarOffice 4.0 a 5.0, Corel WordPerfectem 8.0 a několika dalšími produkty jsem byl mírně řečeno skeptický. První, co jsem vyzkoušel byl vstup českých kláves a hlavně obávaných mrtváků (mrtvé klávesy jsou ty, co ovlivňují až výsledek následujícího stisku jiné klávesy, tedy například háček a čárka). A hele, ono to funguje! Podotýkám, že nepoužívám hacknutou X11 knihovnu od Stana Meduny, ale „čisté“ počeštění pomocí locales dle Kabiho návodu.
Klávesnice byla tedy v pohodě a tak jsem se směle vrhnul na tisk. Ted tiskne postscriptově a světe div se, bez problémů a česky! Český tisk samozřejmě předpokládá počeštěný GhostScript nebo (asi) dobře česky tisknoucí postscriptovou tiskárnu.
V tuto chvíli jsem již zbystřil, neboť mě hladkost, s jakou jsem Teda „ohnul“ k obrazu svému docela ohromila. Namlsaně jsem se začal pídit, jestli by náhodou nešlo Teda donutit ke kontrole českého pravopisu. Tady jsem se sice už bez zdrojáků neobešel, ale přesto jsem celkem bez problémů dosáhl svého: Ted kontroluje český pravopis a to za pomoci slovní databáze z ispellu. Pokud se chcete vyhnout manipulaci se zdrojovými kódy Teda, tak zde je iindex konvertor ispellovské databáze slov do jeho interního slovníku (kompilován pro glibc) a zde pak přímo výsledek konverze (z poslední verze české databáze pro ispell). Oba soubory jsou komprimované programem bzip. Soubor Czech.ind stačí za normálních okolností umístit do adresáře /usr/local/ind/ a Ted si jej už sám najde. Pokud se rozhodnete pro konverzi vlastní databáze, stačí k tomu mít výše zmiňovaný program iindex, zdrojový kód ispellovské databáze a odpovídající affix soubor (*.aff). Konverze se provede takto:

iindex vystupni_soubor affix_soubor zdroj[e]_slov­níku[ů]

Pokud byste náhodou chtěli pokračovat v lokalizaci, můžete snadno pomocí resource souboru počeštit celé prostředí. Co víc si přát?

Vlastního editor disponuje běžnými funkcemi, jako je kopírování a vkládání bloků, nastavení velikosti a typu písma (Ted používá fonty AFM a standardně je distribuován s fonty Helvetica, Courier, Times a Symbol, které by měla umět vytisknout každá postscriptová tiskárna), nastavení odstavců, vkládání obrázků a tabulek, hledání, nahrazování apod. Navíc je zde funkce pro přímé odeslání textu z editoru emailem. Pro některé funkce, jako například nastavení fontu jsou k dispozici plovoucí dialogy, které průběžně reagují na pozici kurzoru v textu.

Ted screenshot
Tisková zpráva společnosti Inprise v Tedu

Cloud23



Nic není ideální, takže i Ted má několik nepříjemností, které bych mu vytknul. Asi nejvíce mě trápí absence funkce Undo/Redo. Bohužel i v kontrole pravopisu se objevují drobné chybičky, kdy se slovo nelogicky považuje za dvě různá slova. Zřejmě to mají na svědomí výskyty znaků, které jsou v RTF vyjádřeny hexadecimálním kódem. Někomu by také mohla chybět možnost definovat barvu textu.

I přes uvedené výhrady je Ted dobrý a použitelný editor. Navíc je sympaticky nenáročný na hardware. Necelých pět megabajtů použité paměti (při jednom otevřeném dokumentu s vloženým obrázkem) je, alespoň ve srovnání např. s WordPerfectem (o StarOffice raději ani nemluvím), celkem příjemná hodnota. Práce s ním je svižná a solidní je import/export RTF formátu, kdy jsem během testování nenarazil na výraznější problémy. Autor přesto upozorňuje na možnost, že některé formátovací prvky nemusí být korektně zpracovány. Neznámé prvky jsou při importu ignorovány. Kromě zmiňovaného RTF umí Ted importovat obyčejný text a exportovat text a HTML.

Na závěr ještě jeden praktický tip. Následující perlový skript dokáže konvertovat RTF dokumenty, kde jsou české znaky vyjádřeny hexadecimálními kódy, z kódování CP1250 na ISO-8859–2 a naopak:

#!/usr/bin/perl

if ($ARGV[0] eq 'win')
{
    while (<STDIN>)
    {
        s/\'9e/\'be/gi;
        s/\'9d/\'bb/gi;
        s/\'9a/\'b9/gi;
        s/\'8e/\'ae/gi;
        s/\'8a/\'a9/gi;
        s/\'8d/\'ab/gi;
        print;
    }
}
else
{
    while (<STDIN>)
    {
        s/\'be/\'9e/gi;
        s/\'bb/\'9d/gi;
        s/\'b9/\'9a/gi;
        s/\'ae/\'8e/gi;
        s/\'a9/\'8a/gi;
        s/\'ab/\'8d/gi;
        print;
    }
}

Použití tohoto primitivního skriptu je snadné:

Konverze z ISO-8859–2 na CP1250:
rtfconv.pl win &glt;soubor_iso.rtf >soubor_win.rtf

Konverze z CP1250 na ISO-8859–2:
rtfconv.pl iso <soubor_iso.win >soubor_iso.rtf

Autor článku