Tato stránka je návodem pro nastavení českého a slovenského prostředí pro Emacs 20 v ISO-8859-2 prostředí. Netýká se XEmacsu 20, neboť již nemám čas se tomuto produktu věnovat. Pokud někdo něco k XEmacsu 20 napíše, přidám to sem. Co se týče Emacsu 19 v ISO-8859-2 nebo M$ prostředí a XEmacsu 19, jejich počeštění/poslovenštění řeší balík emacs-czech verze 3.
Upozornění: Pokud snad používáte linuxovskou distribuci Red Hat, neinstalujte Emacs 20 z distribuce, na tom byste češtinu/slovenštinu podle tohoto návodu nerozjeli. Místo toho použijte RPM balíky Jaroslava Honsy, které obsahují již počeštěný/poslovenštěný Emacs 20. Případně si můžete sami zkompilovat Emacs 20 z oficiální distribuce a provést počeštění/poslovenštění podle následujícího návodu.
Jedná se o návod typu co kam napsat, který se nesnaží zodpovědět žádné otázky typu proč a který se nezabývá pokročilými technikami. K těmto účelům slouží příslušné manuály.
Počešťování Emacsu 20 je realizováno jako projekt České nadace pro podporu free softwaru. Koordinátorem projektu je Milan Zamazal, na kterého se můžete obracet se svými dotazy ohledně tohoto projektu. Cílem tentokrát není vytvořit kompaktní a snadno instalovatelný balík, jako tomu bylo v případě emacs-czech pro Emacs 19. Snahou je dosáhnout počeštění především v upstream verzi Emacsu a níže zmíněné utility by tedy měly být chápány jako dočasná (s předem neomezenou délkou trvání této dočasnosti, jak už v našich krajích bývá zvykem) nouzová pomůcka.
Předpokládá se, že:
Následující postup poskytuje návod, kterým lze Emacs v rámci jeho možností více či méně počeštit.
Nainstalujte si soubory emacs/czech.el a hacks/hack-quil.el někam, kde je Emacs najde a soubor emacs/leim/czech.el někam jinam, kde ho Emacs nenajde. Druhou možností je umístit druhý soubor czech.el do adresáře leim před kompilací Emacsu, ale to je pouze pro zkušenější. Je možné, že oba soubory czech.el se stanou součástí standardní distribuce Emacsu, každopádně v Emacsu 20.2 nejsou. Instalace souboru hack-quail.el je volitelná, avšak bez ní pravděpodobně budete pociťovat určité problémy.
Pokud jste soubory instalovali podle předchozího odstavce, přidejte do svého .emacs jejich zavedení a nastavení českého prostředí:
(load "/cesta-k-druhému/czech.el") (require 'hack-quail) (require 'czech) (set-language-environment "czech")
Do adresáře obsahujícímu soubor TUTORIAL (.../etc/) zkopírujte soubor emacs/TUTORIAL.cz. Na to patrně budete potřebovat administrátorská práva. Pokud je nemáte, nevadí, čeština vám v Emacsu bude fungovat i bez českého tutoriálu.
Po příštím startu Emacsu byste měli mít prostředí inicializováno pro češtinu a měli byste mít k dispozici standardní českou klávesnici prostřednictvím přepínadla C-\.
Pokud používáte ISO-8859-2 fonty na linuxovské konzole nebo nějakém jiném terminálu schopném zobrazení ISO-8859-2 znaků a/nebo máte nastaveno ISO-8859-2 prostředí v Xech, měli byste přidat toto nastavení:
(if window-system (setq clipboard-coding-system 'latin-2) (set-terminal-coding-system 'latin-2))
V případě linuxovské konzoly nebo znakového terminálu navíc musíte opravit obsah souboru .../lisp/term/linux.el z distribuce Emacsu správným
(or (terminal-coding-system) (set-terminal-coding-system 'iso-latin-1))
Standardní klávesnici qwerty získáte přidáním
(setq default-input-method "czech-qwerty")
Preferujete-li programátorskou klávesnici před klávesnicí standardní, přidejte místo toho
(setq default-input-method "czech-prog-N")
kde N
značí některou z číslic 1
,
2
, 3
pro jednu ze tří programátorských
klávesnic. Jejich popis naleznete v souboru
emacs/leim/czech.el.
Chcete-li mít mrtvou klávesu jinde než na +, řekněme že na klávese Print, přidejte
(setq hack-quail-dead-key [print])
před zavedení hack-quail. To funguje efektivně pochopitelně pouze pro klávesnice s jedinou mrtvou klávesou.
Chcete-li se přepínat mezi klávesnicemi jinak než pomocí standardní kombinace C-\, řekněme že pomocí klávesy Pause, přidejte
(global-set-key [pause] 'toggle-input-method) (define-key isearch-mode-map [pause] 'isearch-toggle-input-method)
Nastavení českých kalendářových zvyklostí dosáhnete umístěním souboru util/czech-calendar.el někam do cest Emacsu a přidáním
(require 'czech-calendar)
do .emacs.
Protože v Emacsu 20 jsou v souvislosti s kalendářem určité chyby, budete možná chtít nahradit soubory z distribuce jejich opravenými verzemi hacks/diary-lib.el a hacks/cal-tex.el. Pozor, tyto opravy jsou neoficiální, ne se všemi opravami v diary-lib.el jejich maintainer souhlasil.
Umístěte soubor cz-print.el do nějakého elispovského adresáře a do svého .emacs přidejte řádek:
(require 'cz-print)
Po restartu Emacsu pak můžete aplikovat obvyklé funkce pro postscriptový tisk i na buffery s českými texty.
Beta verze ispell.el obsahuje podporu i pro češtinu. Instalace vyžaduje rekompilaci Emacsu. Aplikujte následující postup:
$ emacs -batch -f batch-byte-compile ispell.el $ make autoloads
Používáte-li Rmail bez instalované podpory MIME, nainstalujte si podporu MIME. Pokud tak nemůžete učinit, přidejte si do svého ~/.emacs následující řádky:
(setq rmail-file-coding-system 'iso-8859-2) (setq process-coding-system '(("movemail" . 'iso-8859-2))) (add-hook 'mail-setup-hook 'my-insert-headers) (defun my-insert-headers () (goto-char (point-min)) (if (re-search-forward "--text follows this line--" nil t) (beginning-of-line) (goto-char (point-max))) (insert "MIME-Version: 1.0\nContent-Type: text/plain; charset=ISO-8859-2\nContent-Transfer-Encoding: 8bit\n") (goto-char (point-max)))
W3-el zobrazuje místo českých znaků oktalové escape sekvence. Soubor hacks/w3-el.patch toto opravuje v tom smyslu, že v případě detekce ISO-8859-2 v HTTP hlavičkách provede odpovídající konverzi kódování. Patch navíc obsahuje změnu implicitní prohlížečky z xv na display.
Soubor zenirc-czech.el obsahuje něco, co lze velmi vzdáleně nazvat českým překladem hlášení Zenirc. Pokud se obsahu zhrozíte, můžete mi poslat vylepšení.
Pro slovenštinu platí totéž co pro češtinu, pouze je potřeba na odpovídajících místech nahradit czech za slovak.
Program tildify.el doplňuje zapomenuté vlnky v TeXovských souborech či tvrdé mezery v HTML dokumentech. Můžete si dodefinovat i vlastní vzory pro další módy.
Program string-recode.el umožňuje provádět speciální konverze víceznakových řetězců jako například obousměrné převody mezi normálním textem a
Program czech-message.el umožňuje zprávy zasílané z Gnus a Rmailu automaticky konvertovat do MIME, ASCII a spřežek na základě adres příjemců a informací uložených v BBDB.
Na svoji realizaci či dokončení čekají následující věci:
Na linuxovské konzole Emacs nemůže sám nastavit ISO 8859-2 fonty. Musíte je nastavit ručně prostředky systému.
Soubory je dobré zkompilovat (viz M-x byte-compile-file), některé funkce pak mohou běžet výrazně rychleji.
Na češtině a slovenštině pro Emacs 20 se přímo či nepřímo podíleli zejména tito lidé:
Existuje i seznam zásluh o češtinu pro Emacs 19.