Emacs, čeština, slovenština

Tato stránka je návodem pro nastavení českého a slovenského prostředí pro Emacs 20.3 v ISO-8859-2 prostředí. Počeštění Emacsu 20.2 je komplikovanější a řeší je balík emacs-cs-utils verze 4.1. Toto počeštění se netýká 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. Podle dostupných zpráv emacs-cs-utils 4.1 s XEmacsem 20 fungují. 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.

Základní předpoklady

Předpokládá se, že:

Zavedení českého prostředí

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.

Emacs 20.3 obsahuje podporu ISO-8859-2 kódování, pět českých klávesnic, český tutoriál a podporu českého ispellu.

Nastavení českého prostředí

Do svého .emacs vložte řádek

  (set-language-environment "czech")

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-\.

Obvyklá vylepšení

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))
    

Obvykle bývá záhodno uvést také řádek

  (setq process-coding-system-alist '((".*" . iso-8859-2)))

Ten říká, že všechny procesy mají dostávat a budou vracet znaky v ISO-8859-2 kódování.

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 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)
    

Kalendář

Nastavení českých kalendářových zvyklostí dosáhnete umístěním souboru util/czech-calendar.el někam do elispovských cest Emacsu (můžete je zjistit například tak, že se přepnete se do bufferu *scratch*, napíšete load-path a stisknete C-j) a přidáním

  (require 'czech-calendar)

do .emacs.

ps-print česky

Umístěte soubor cz-print.el do někam do elispovských cest Emacsu 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.

MIME pro Gnus

Na ftp://ftp.jaist.ac.jp/pub/GNU/elisp/ naleznete balíky apel, flim, semi a semi-gnus. Tyto balíky nainstalujte podle návodů v nich obsažených ve zde uvedeném pořadí. Do svého ~/.emacs přidejte řádek

  (require 'mime-setup)

semi-gnus jsou Gnus obohacené o podporu MIME, jsou tedy kompletní náhradou za Gnus. Všechny uvedené balíky se velmi rychle mění a ne všechny verze fungují. Možná budete muset vyzkoušet nějakolik starších verzí nebo naopak počkat na verzi novější (záleží na vašem vkusu), než narazíte na skutečně funkční verzi.

Rmail

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

Nainstalujte poslední beta verzi w3 a čeština vám bude na ISO-8859-2 stránkách fungovat. Na českých stránkách v CP 1250 a na "ISO-8859-2" stránkách obsahujících znaky mimo tuto znakovou sadu vám čeština ve W3 fungovat nebude -- v takových případech se prosím obracejte na autory oněch chybných WWW stránek.

Zenirc

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í.

Slovenština

Pro slovenštinu platí většinou totéž co pro češtinu, pouze je potřeba na odpovídajících místech nahradit czech za slovak. Neexistuje však slovenský tutoriál a neexistuje podpora slovenštiny v ispellu.

Další utility

Vlnkování

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.

Speciální víceznakové konverze

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

Můžete si dodefinovat další konverze.

Autokonverze zpráv

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.

Novinky verze 4.2

Ještě zbývá udělat

Další konkrétní cíle zatím stanoveny nejsou. Lze říci, že první etapa přizpůsobení Emacsu češtině je završena. Další postup bude záviset na celkové podpoře internacionalizace Emacsu. V tuto chvíli nezbývá než čekat nebo iniciovat další internacionalizační kroky Emacsu.

Doplňující poznámky

Na linuxovské konzole Emacs nemůže sám nastavit ISO 8859-2 fonty. Musíte je nastavit ručně prostředky systému.

Pokud se vám v Xech místo českých znaků objevují čtverečky, je to tím, že Emacs nemůže nalézt odpovídající Latin 2 font. Napravit to lze zadáním českého fontu v .Xdefaults nebo na příkazové řádce při spuštění Emacsu volbou -fn.

Doplňující .el soubory instalované z emacs-cs-utils je dobré zkompilovat (viz M-x byte-compile-file), některé funkce pak mohou běžet výrazně rychleji.

Poděkování

Na češtině a slovenštině pro Emacs 20 se přímo či nepřímo podíleli zejména tito lidé:

Aleš Čepek
Významně přispěl ke korekci tutoriálu.
Pavel Hanák
Velmi významně přispěl ke korekci tutoriálu.
Jaroslav Honsa
Vyrobil RPM balíky s počeštěným Emacsem 20.2.
Jan Přikryl
Vyrobil a dále vylepšuje podporu pro český postscriptový tisk.
David Šauer
Zasloužil se o počeštění kalendáře a svátků.
Tibor Šimko
Má na svědomí podporu pro slovenštinu.

Existuje i seznam zásluh o češtinu pro Emacs 19.


Milan Zamazal <pdm@fi.muni.cz>
Poslední modifikace: 18. 8. 1998 v čase 19:30:39.