Textov² editor Ted

16. 4. 1999on-line novΘ okno dom∙ p°edchozφ Φlßnek nßsledujφcφ Φlßnek

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]_slovnφ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


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 soubor_win.rtf

Konverze z CP1250 na ISO-8859-2:
rtfconv.pl iso soubor_iso.rtf

Autor: Michal Krause (jinΘ Φlßnky tohoto autora)
Sekce: Software
Souvisejφcφ Φlßnky:


on-line novΘ okno dom∙ p°edchozφ Φlßnek nßsledujφcφ Φlßnek