\chyph
\def\fontprefix{cs}
\input texinfo
@comment %**start of header
@setfilename speechd-el.cs.info
@documentlanguage cs
@documentencoding ISO-8859-2
@set VERSION 0.1
@settitle speechd-el @value{VERSION}
@syncodeindex fn cp
@syncodeindex ky cp
@syncodeindex vr cp
@comment %**end of header
@copying
Český překlad manuálu programu speechd-el, @value{VERSION}.

Copyright @copyright{} 2003 Brailcom, o.p.s.

@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts and no Back-Cover Texts.
A copy of the license is included in the section entitled ``GNU Free
Documentation License.''
@end quotation
@end copying

@dircategory Sound
@dircategory Emacs
@direntry
* speechd-el cs: (speechd-el.cs).  Emacsové rozhraní ke Speech Dispatcher.
@end direntry

@titlepage
@title speechd-el
@subtitle pro verzi @value{VERSION}
@author Milan Zamazal
@author Brailcom, o.p.s.
@page
@vskip 0pt plus 1filll
@insertcopying
@end titlepage

@contents

@ifnottex
@node Top, Úvodem, (dir), (dir)
@top speechd-el

@insertcopying
@end ifnottex

@menu
* Úvodem::                      K@tie{}čemu je speechd-el a tento manuál?
* Uživatelská příručka::        Používání řečového výstupu Emacsu.
* Elispová knihovna::           Používání speechd-el v elispových programech.
* Kontaktní informace::         Jak se s námi o něčem pobavit.

* Kopírování tohoto manuálu::   GNU Free Documentation License.
* Index::                       Všeobjímající index.
@end menu

@c ****************************************************************************

@node Úvodem, Uživatelská příručka, Top, Top
@chapter Úvodem
@cindex Speech Dispatcher

speechd-el je emacsový klient ke Speech Dispatcher.  Poskytuje
následující funkce:

@itemize @bullet
@item
@cindex SSIP
Elispovou knihovnu pro přístup ke Speech Dispatcher s@tie{}využitím
soketové komunikace založené na jeho komunikačním protokolu (SSIP).

@item
Podporu pro řečový výstup Emacsu, zaměřený zejména na prostředky
potřebné pro využívání Emacsu slepými a těžce zrakově postiženými
uživateli.
@end itemize

Klíčové rysy speechd-el jsou:
@cindex rysy

@itemize @bullet
@item
Podporu pro automatické mluvení, bez nutnosti úprav každé emacsové
funkce, kterou je potřeba rozmluvit.  Většina emacsových programů
z@tie{}distribuce Emacsu i@tie{}mimo ni získává řečový výstup okamžitě, bez
jakékoliv speciální podpory.

@item
Nejsou prováděny téměř žádné změny standardního chování Emacsu a
nedochází ke konfliktům s@tie{}uživatelskými nastaveními.

@item
Plná spolupráce se Speech Dispatcher.

@item
Malý rozsah kódu.
@end itemize

Manuál popisuje řečové uživatelské rozhraní, jak si toto rozhraní
přizpůsobit a rozšířit a elispovou knihovnu.  Doporučujeme, aby
uživatel byl částečně obeznámen se Speech Dispatcher na uživatelské
úrovni, ale není to nezbytné.

@c ****************************************************************************

@node Uživatelská příručka, Elispová knihovna, Úvodem, Top
@chapter Uživatelská příručka speechd-el

speechd-el umožňuje používat Emacs bez zobrazení na monitoru, pouze
jen s@tie{}řečovým výstupem.  Hlavní oblast využití je mezi slepci a
zrakově postiženými lidmi, nicméně řečový výstup může být užitečný
i@tie{}pro celou řadu dalších věcí, podle toho co kdo potřebuje.

Nejnovější verzi speechd-el si můžete stáhnout na
@url{http://www.freebsoft.org/pub/projects/speechd-el/}.

speechd-el používá pro řečový výstup Speech Dispatcher, takže abyste
vůbec nějaký řečový výstup slyšeli, potřebujete mít funkční instalaci
Speech Dispatcher.  Všechny informace o@tie{}Speech Dispatcher naleznete na
@url{http://www.freebsoft.org/speechd}.

@menu
* Instalace::                   Jak speechd-el nainstalovat.
* Spuštění řečového výstupu::   Jak jej rozmluvit.
* Příkazy::                     Jak jej používat.
* Konfigurace::                 Základní konfigurace.
* Pokročilá konfigurace::       Psaní vlastních reakcí na příkazy.
* Potíže::                      Když se speechd-el chová podivně.
@end menu

@node Instalace, Spuštění řečového výstupu, Uživatelská příručka, Uživatelská příručka
@section Instalace

Pro instalaci Speech Dispatcher potřebujete knihovnu Elib.  Můžete si
ji stáhnout na @url{ftp://ftp.debian.org/debian/pool/main/e/elib/}.

Máte-li knihovnu Elib nainstalovánu, můžete si nainstalovat speechd-el
v@tie{}následujících krocích:

@enumerate
@item
Zkopírujte všechny @file{*.el} soubory z@tie{}distribučního balíku někam do
emacsových adresářů obsažených v@tie{}cestě vašeho Emacsu.

@item
Chcete-li, můžete si @file{*.el} soubory zkompilovat.  To
doporučujeme, protože speechd-el běží se zkompilovanými soubory
podstatně rychleji.  Kompilaci můžete provést příkazem

@example
make compile
@end example

Poté přiinstalujte zkompilované soubory do emacsové cesty ke zdrojovým
souborům speechd-el.

@item
Do svého @file{~/.emacs} si přidejte následující řádek:

@lisp
(autoload 'speechd-speak "speechd-speak" nil t)
@end lisp
@end enumerate

@node Spuštění řečového výstupu, Příkazy, Instalace, Uživatelská příručka
@section Spuštění řečového výstupu

Po instalaci @file{*.el} souborů a restartu Emacsu můžete
inicializovat řečový výstup prostřednictvím příkazu @kbd{M-x
speechd-speak}.  Chcete-li, aby se tak dělo automaticky při každém
startu Emacsu, přidejte si do svého @file{~/.emacs} následující
řádek, za dříve vložený řádek s@tie{}@code{autoload}:

@lisp
(speechd-speak)
@end lisp

@table @kbd
@item M-x speechd-speak
@findex speechd-speak
@kindex C-e C-s
Inicializuj Emacs pro řečový výstup a začni mluvit.

Prosím nezapomeňte, že abyste něco slyšeli, musíte mít korektně
nainstalováno Speech Dispatcher!

Po počátečním nastavení může být tento příkaz použit znovu, v@tie{}případě
potřeby restartu řečové podpory.  Zejména jej musíte spustit pokaždé,
když je restartováno Speech Dispatcher.

Je-li příkaz zavolán s@tie{}prefixovým argumentem, jsou před jeho
provedením nejprve uzavřena všechna spojení na Speech Dispatcher.  To
je užitečné v@tie{}případě, kdy potřebujete zresetovat parametry všech
spojení, viz @ref{Parametry spojení}.

Po svém prvním zavolání se příkaz stane dostupným pod klávesou
@kbd{C-e C-s}.
@end table

@cindex vedlejší módy
Poté, co jsou provedena úvodní nastavení, je zapínání a vypínání
řečového výstupu řízeno vedlejšími módy speechd-speak a
global-speechd-speak.  Příkazy pro přepínání módů obvykle nejsou
používány přímo, můžete místo nich používat příkaz
@code{speechd-speak-toggle-speaking} (@pxref{Řídící příkazy}), ale
pokud je potřebujete, jsou k@tie{}dispozici.

@table @kbd
@item M-x speechd-speak-mode
@findex speechd-speak-mode
Zapni nebo vypni mluvení v@tie{}aktuálním bufferu.  Je-li příkaz zavolán
bez prefixového argumentu, přepne mluvící mód.  Nenulový prefixový
argument zapne mluvení, nulový prefixový argument jej vypne.

@item M-x global-speechd-speak-mode
@findex global-speechd-speak-mode
Zapni nebo vypni mluvení globálně.  Je-li příkaz zavolán
bez prefixového argumentu, přepne mluvící mód.  S@tie{}prefixovým
argumentem zapne mluvení právě v@tie{}případě, kdy je tento argument kladný.
@end table

@node Příkazy, Konfigurace, Spuštění řečového výstupu, Uživatelská příručka
@section Příkazy

Všechny základní příkazy speechd-el jsou dostupné pod společnou
prefixovou klávesou, kterou je implicitně @kbd{C-e} (tuto prefixovou
klávesu lze změnit, @pxref{Konfigurace}).  Jestliže je prefixová
klávesa v@tie{}konfliktu s@tie{}některým globálním příkazem Emacsu, původní
příkaz je dostupný dvojím stiskem prefixové klávesy.  Například
v@tie{}případě implicitního prefixu lze příkaz @code{end-of-line}, normálně
dostupný pod klávesou @kbd{C-e}, vyvolat klávesovou kombinací @kbd{C-e
C-e}.

@menu
* Příkazy pro čtení::             Čtení částí textu.
* Řídící příkazy::                Přerušení, nastavení rychlosti, apod.
* Příkazy nastavující parametry:: Modifikace řečového výstupu.
* Ostatní příkazy::               Pomocné příkazy.
@end menu

@node Příkazy pro čtení, Řídící příkazy, Příkazy, Příkazy
@subsection Příkazy pro čtení

@table @kbd
@item C-e l
@kindex C-e l
@findex speechd-speak-read-line
Přečti aktuální řádek (@code{speechd-speak-read-line}).

@item C-e b
@kindex C-e b
@findex speechd-speak-read-buffer
Přečti aktuální buffer (@code{speechd-speak-read-buffer}).

@item C-e >
@kindex C-e >
@findex speechd-speak-read-rest-of-buffer
Přečti aktuální buffer od pozice kurzoru do konce bufferu
(@code{speechd-speak-read-rest-of-buffer}).

@item C-e o
@kindex C-e o
@findex speechd-speak-read-other-window
Přečti buffer v@tie{}jiném okně, je-li nějaké jiné okno otevřené
(@code{speechd-speak-read-other-window}).

@item C-e r
@kindex C-e r
@findex speechd-speak-read-region
Přečti aktuální oblast (@code{speechd-speak-read-region}).

@item C-e w
@kindex C-e w
@findex speechd-speak-read-word
Přečti nejbližší slovo za kurzorem (@code{speechd-speak-read-word}).

@item C-e @{
@kindex C-e @{
@findex speechd-speak-read-paragraph
Přečti nejbližší odstavec za kurzorem (@code{speechd-speak-read-paragraph}).

@item C-e [
@kindex C-e [
@findex speechd-speak-read-page
Přečti nejbližší stránku za kurzorem (@code{speechd-speak-read-page}).

@item C-e '
@kindex C-e '
@findex speechd-speak-read-sexp
Přečti nejbližší symbolický výraz za kurzorem
(@code{speechd-speak-read-sexp}).

@item C-e c
@kindex C-e c
@findex speechd-speak-read-char
Přečti znak na pozici kurzoru (@code{speechd-speak-read-char}).

@item C-e C-n
@kindex C-e C-n
@findex speechd-speak-read-next-line
Přečti následující řádek (@code{speechd-speak-read-next-line}).

@item C-e C-p
@kindex C-e C-p
@findex speechd-speak-read-previous-line
Přečti předchozí řádek (@code{speechd-speak-read-previous-line}).

@item C-e m
@kindex C-e m
@findex speechd-speak-last-message
Přečti poslední zobrazené hlášení Emacsu (@code{speechd-speak-last-message}).
@end table

@node Řídící příkazy, Příkazy nastavující parametry, Příkazy pro čtení, Příkazy
@subsection Řídící příkazy

@table @kbd
@item C-e q
@kindex C-e q
@findex speechd-speak-toggle-speaking
@cindex ztišení
Globálně přepni mluvení (@code{speechd-speak-toggle-speaking}).  Při
vyvolání s@tie{}prefixovým argumentem přepni mluvení pouze v@tie{}aktuálním
bufferu.

@item C-e s
@kindex C-e s
@findex speechd-stop
@cindex zastavení
Zastav mluvení aktuální zprávy (@code{speechd-stop}).  Ostatní zprávy
ve frontě Speech Dispatcher budou normálně přemluveny.

@item C-e x
@kindex C-e x
@findex speechd-cancel
@cindex zastavení
Zastav mluvení všech zpráv ve frontě Speech Dispatcher.

@item C-e p
@kindex C-e p
@findex speechd-pause
@cindex přerušení
Přeruš mluvení --- prozatím ztichni a odlož mluvení aktuální zprávy až
do vyvolání příkazu pokračování v@tie{}mluvení (@code{speechd-pause}).

@item C-e SPC
@kindex C-e SPC
@findex speechd-resume
@cindex pokračování
Pokračuj v@tie{}pozastaveném mluvení (@code{speechd-resume}).

@item C-e 1
@itemx C-e 2
@itemx C-e 3
@itemx C-e 4
@itemx C-e 5
@itemx C-e 6
@itemx C-e 7
@itemx C-e 8
@itemx C-e 9
@kindex C-e 1
@kindex C-e 2
@kindex C-e 3
@kindex C-e 4
@kindex C-e 5
@kindex C-e 6
@kindex C-e 7
@kindex C-e 8
@kindex C-e 9
@findex speechd-speak-key-set-predefined-rate
@cindex rychlost
Nastav jednu z@tie{}přednastavených rychlostí mluvení
(@code{speechd-speak-key-set-predefined-rate}).  @kbd{C-e 1} nastaví
nejnižší rychlost, @kbd{C-e 5} nastaví střední rychlost a @kbd{C-e 9}
nastaví nejvyšší rychlost.
@end table

@node Příkazy nastavující parametry, Ostatní příkazy, Řídící příkazy, Příkazy
@subsection Příkazy pro nastavení parametrů
@cindex parametry

Tyto příkazy nastavují různé vlastnosti řečového výstupu.  Všechny
jsou aplikovány pouze na aktuální spojení do Speech Dispatcher (více
informací o@tie{}spojeních do Speech Dispatcher naleznete
v@tie{}@pxref{Parametry spojení}).

Chcete-li si pro konkrétní buffer vytvořit zvláštní spojení, můžete
tak učinit následujícím příkazem:

@table @kbd
@item C-e C-c
@kindex C-e C-c
@findex speechd-speak-new-connection
@cindex spojení
Nastav pro aktuální buffer dané spojení
(@code{speechd-speak-new-connection}).  Příkaz se zeptá na jméno
spojení, můžete zadat buď nové jméno, nebo jméno již existujícího
spojení.  Při obyčejném vyvolání příkazu je vám nabídnuto nově
vygenerované jméno spojení, zatímco při vyvolání příkazu s@tie{}prefixovým
argumentem si můžete vybrat z@tie{}nabídnutých jmen existujících spojení.
@end table

Příkazy ovlivňující základní parametry převodu textu na řeč:

@table @kbd
@item C-e d l
@kindex C-e d l
@findex speechd-speak-set-language
@cindex jazyk
Nastav jazyk spojení.  Zadejte jej jako kód jazyka dle ISO 639.

@item C-e d .
@kindex C-e d .
@findex speechd-speak-set-punctuation-mode
@cindex interpunkce
Urči, jak zpracovávat interpunkci, zda ji číst či ignorovat.
@code{all} znamená číst všechny interpunkční znaky, @code{none} je
všechny přeskakuje a @code{some} čte zadanou podmnožinu interpunkčních
znaků zadaných v@tie{}konfiguraci Speech Dispatcher.

@item C-e d c
@kindex C-e d c
@findex speechd-speak-set-capital-character-mode
@cindex velká písmena
Nastav mód signalizace velkých písmen.  @code{icon} znamená
signalizaci zvukovou ikonou, @code{spell} znamená jejich hláskování
prostřednictvím speciální hláskovací tabulky a @code{none} znamená, že
velká písmena nejsou nijak zvlášť signalizována.
@end table

Příkazy ovlivňující vlastnosti řečového výstupu:

@table @kbd
@item C-e d v
@kindex C-e d v
@findex speechd-speak-set-voice
@cindex hlas
Nastav implicitní hlas, který má syntetizér používat
(@code{speechd-speak-set-voice}).  Můžete si vybrat některý z@tie{}množiny
hlasů nabízených ve vaší instalaci Speech Dispatcher.

@item C-e d r
@kindex C-e d r
@findex speechd-speak-set-rate
@cindex rychlost
Nastav rychlost čtení, v@tie{}rozmezí od -100 (nejpomalejší) po 100
(nejrychlejší) (@code{speechd-speak-set-rate}).  Často asi budete
raději používat příkaz @code{speechd-speak-key-set-predefined-rate},
dostupný na klávese @kbd{C-e @var{number}}, viz @ref{Řídící příkazy}.

@item C-e d p
@kindex C-e d p
@findex speechd-speak-set-pitch
@cindex výška
Nastav výšku hlasu, v@tie{}rozmezí od -100 (nejnižší) po 100 (nejvyšší)
(@code{speechd-speak-set-pitch}).
@end table

Příkazy ovlivňující řečový syntetizér:

@table @kbd
@item C-e d o
@kindex C-e d o
@findex speechd-speak-set-output-module
@cindex výstupní modul
Přepni Speech Dispatcher na zadaný výstupní modul
(@code{speechd-speak-set-output-module}).  Příkaz se dotazuje na jméno
žádaného výstupního modulu.
@end table

Následující příkazy nastavují různé tabulky pro transformaci textu.
Každý z@tie{}nich se ptá na jméno tabulky, které musí být dostupné ve vaší
instalaci Speech Dispatcher.  Více informací o@tie{}konkrétních druzích
tabulek naleznete v@tie{}dokumentaci Speech Dispatcher.

@table @kbd
@item C-e d t s
@kindex C-e d t s
@findex speechd-speak-set-spelling-table
@cindex hláskovací tabulka
Nastav hláskovací tabulku (@code{speechd-speak-set-spelling-table}).

@item C-e d t =
@kindex C-e d t =
@findex speechd-speak-set-character-table
@cindex znaková tabulka
Nastav znakovou tabulku (@code{speechd-speak-set-character-table}).

@item C-e d t c
@kindex C-e d t c
@findex speechd-speak-set-capital-character-table
@cindex tabulka velkých písmen
Nastav tabulku velkých písmen
(@code{speechd-speak-set-capital-character-table}).

@item C-e d t k
@kindex C-e d t k
@findex speechd-speak-set-key-table
@cindex klávesová tabulka
Nastav klávesovou tabulku (@code{speechd-speak-set-key-table}).

@item C-e d t .
@kindex C-e d t .
@findex speechd-speak-set-punctuation-table
@cindex interpunkční tabulka
Nastav interpunkční tabulku (@code{speechd-speak-set-punctuation-table}).

@item C-e d t t
@kindex C-e d t t
@findex speechd-speak-set-text-table
@cindex tabulka textů
Nastav tabulku textů (@code{speechd-speak-set-text-table}).

@item C-e d t i
@kindex C-e d t i
@findex speechd-speak-set-sound-table
@cindex tabulka zvuků
Nastav tabulku zvuků (@code{speechd-speak-set-sound-table}).
@end table

@node Ostatní příkazy,  , Příkazy nastavující parametry, Příkazy
@subsection Ostatní příkazy

@kindex C-x C-c
V@tie{}případě, že se Emacs úplně zblázní a odmítá kvůli chybě speechd-el
nebo uživatelské definici související s@tie{}řečovým výstupem provádět
jakékoliv příkazy včetně @kbd{C-x C-c}, můžete jako poslední pokus
o@tie{}pomoc vyzkoušet následující příkaz:

@table @kbd
@item C-e C-x
@kindex C-e C-x
@findex speechd-unspeak
@cindex vzpamatování se
Pokus se deaktivovat všechny módy, háčky a obálky instalované příkazem
@code{speechd-speak} (@code{speechd-unspeak}).
@end table

Následující příkazy jsou používány jen velmi zřídka, povětšinou pro
ladící účely:

@table @kbd
@item C-e C-r
@kindex C-e C-r
@findex speechd-repeat
Zopakuj poslední text odeslaný do Speech Dispatcher
(@code{speechd-repeat}).

@item M-x speechd-say-text
@findex speechd-say-text
Zeptej se na text a přemluv jej.
@end table

@node Konfigurace, Pokročilá konfigurace, Příkazy, Uživatelská příručka
@section Konfigurace

@menu
* Konfigurace serveru::         Kam se připojit.
* Implicitní priority::         Priority různých druhů zpráv.
* Základní mluvení::            Jednoduché volby.
* Automatické mluvení bufferů:: Jak některé buffery rozmluvit ihned.
* Signalizace::                 Signalizace prázdných zpráv, apod.
* Vlastnosti textu::            Podpora faces a zvláštních částí textu.
* Parametry spojení::           Nastavování parametrů Speech Dispatcher.
* Více spojení::                Odlišné parametry pro některé módy a buffery.
* Klávesy::                     Přizpůsobení příkazových kláves.
* Módy::                        Háčky vedlejších módů.
@end menu

@node Konfigurace serveru, Implicitní priority, Konfigurace, Konfigurace
@subsection Konfigurace spojení na Speech Dispatcher server

Nastavení těchto proměnných umožňuje se připojit na Speech Dispatcher
běžící na vzdáleném stroji nebo nestandardním portu.

@vtable @code
@item speechd-host
@cindex server
Jméno serveru, na kterém běží Speech Dispatcher, ke kterému se chcete
připojit, zadané jako řetězec.  Implicitní je localhost.

@item speechd-port
@cindex port
Číslo portu, na který se chcete připojit.  Implicitní je obvyklé
číslo portu Speech Dispatcher.

@item speechd-timeout
@cindex timeout
Maximální počet sekund, po které se má čekat na odpověď od Speech
Dispatcher.  Je-li tento čas překročen, speechd-el uzavře příslušné
spojení.  Za normálních okolností by Speech Dispatcher mělo odpovídat
na příkazu protokolu okamžitě, avšak pokud se připojujete na Speech
Dispatcher nějakým zvláštním způsobem po pomalé síti, můžete
potřebovat tento limit zvýšit.
@end vtable

@node Implicitní priority, Základní mluvení, Konfigurace serveru, Konfigurace
@subsection Implicitní priority
@cindex priority

Pošle-li nějaká funkce speechd-el na Speech Dispatcher zprávu bez
explicitně specifikované priority dané zprávy, přiřadí se zprávě
priorita dle obsahu níže uvedených proměnných.  Změnou jejich hodnot
můžete dosáhnout zajímavých efektů.  Například změnou hodnoty proměnné
@code{speechd-default-key-priority} z@tie{}@code{notification} na
@code{message} zařídíte, že všechny napsané znaky budou řečeny a budou
přerušovat obvyklé čtení textů.

Všechny tyto proměnné mohou nabývat některé z@tie{}následujících hodnot:
@code{important}, @code{message}, @code{text}, @code{notification},
@code{progress}.  Tyto hodnoty odpovídají prioritám Speech Dispatcher,
více podrobností naleznete v@tie{}manuálu Speech Dispatcher.

@vtable @code
@item speechd-default-text-priority
Implicitní priorita většiny textových zpráv.

@item speechd-default-sound-priority
Implicitní priorita zvukových ikon.

@item speechd-default-char-priority
Implicitní priorita hláskovaných znaků.

@item speechd-default-key-priority
Implicitní priorita znaků napsaných na klávesnici.
@end vtable

@node Základní mluvení, Automatické mluvení bufferů, Implicitní priority, Konfigurace
@subsection Základní konfigurace mluvení

@vtable @code
@item speechd-speak-deleted-char
@cindex mazání
Určuje, který znak má být přečten při mazání znaku.  Je-li hodnotou
něco jiného než @code{nil}, přečti smazaný znak, jinak přečti sousední
znak.

@item speechd-speak-buffer-name
@cindex buffery
Přepínáte-li se do jiného bufferu a hodnotou této proměnné je něco
jiného než @code{nil}, je přečteno jméno bufferu.  Jinak je obvyklým
způsobem přečten text v@tie{}novém bufferu na pozici kurzoru.
@end vtable

@node Automatické mluvení bufferů, Signalizace, Základní mluvení, Konfigurace
@subsection Automatické mluvení bufferů
@cindex buffery
@cindex vkládaný text

Někdy je užitečné začít přemlouvat obsah bufferu i@tie{}bez explicitního
požadavku uživatele.  Například je-li vyvolán příkaz nápovědy,
uživatel si obvykle chce ihned poté přečíst její text.  Následující
proměnné definují seznam jmen bufferů, které mají být automaticky
přemluveny, jestliže jsou viditelné v@tie{}některém z@tie{}oken aktuálního rámce
a jejich obsah byl během posledního uživatelského příkazu změněn.

@vtable @code
@item speechd-speak-auto-speak-buffers
Obsah těchto bufferů je přemluven za výše uvedených podmínek po
provedení příkazu, jestliže není k@tie{}přemluvení nic jiného (například
pod kurzorem při přesunu kurzoru na jinou pozici).

@item speechd-speak-force-auto-speak-buffers
Stejné jako @code{speechd-speak-auto-speak-buffers} až na to, že obsah
bufferu je přemluven vynuceně, i@tie{}když by mohlo být přemluveno něco
jiného.
@end vtable

Následující proměnné určují, jak nakládat s@tie{}texty vloženými během
provádění uživatelských příkazů.  Týkají se pouze nově vložených
textů, neovlivňují zpracování smazaných textů.  Navíc tyto volby
neovlivňují texty vložené během provádění příkazů, které speechd-el
anebo uživatelské definice zpracovávají speciálním způsobem, jako je
například případ příkazu @code{self-insert-command}.

@vtable @code
@item speechd-speak-buffer-insertions
Určuje, zda má být automaticky čten text vkládaný v@tie{}aktuálním bufferu.
Hodnotou proměnné může být některý z@tie{}následujících symbolů:

@table @code
@item nil
Nečti žádné vložené texty.

@item t
Čti všechny vložené texty.

@item one-line
Čti pouze ty vložené texty, které nepřesahují hranice řádku.
@end table

@item speechd-speak-insertions-in-buffers
Seznam jmen bufferů, ve kterých jsou vkládané texty čteny automaticky,
bez ohledu na to, zda jde o@tie{}aktuální buffer a bez ohledu na hodnotu
proměnné @code{speechd-speak-buffer-insertions}.

@item speechd-speak-priority-insertions-in-buffers
Seznam jmen bufferů, ve kterých jsou vkládané texty čteny automaticky
okamžitě po svém vložení, ne až po dokončení prováděného příkazu, jako
je tomu v@tie{}případě proměnné @code{speechd-speak-insertions-in-buffers}.
Tato vlastnost je typicky užitečná v@tie{}comint bufferech.

@item speechd-speak-align-buffer-insertions
Je-li hodnotou proměnné něco jiného než @code{nil}, je vkládaný text
před svým přečtením rozšířen k@tie{}začátku prvního slova, které je alespoň
zčásti obsaženo ve vloženém textu.  To je užitečné zejména v@tie{}případě
doplňovacích funkcí.
@end vtable

@node Signalizace, Vlastnosti textu, Automatické mluvení bufferů, Konfigurace
@subsection Signalizace

Některé situace mohou být signalizovány zvukovými ikonami.
Následující příznaky zapínají nebo vypínají předdefinované
signalizace.  O@tie{}tom, jak si definovat vlastní signalizace, se můžete
dočíst v@tie{}@ref{Pokročilá konfigurace}.

@vtable @code
@item speechd-speak-signal-empty
@cindex prázdný text
Je-li hodnotou proměnné něco jiného než @code{nil}, upozorňuj
v@tie{}různých situacích na prázdný text.

@item speechd-speak-signal-beginning-of-line
@cindex řádek
@cindex začátek řádku
Je-li hodnotou proměnné něco jiného než @code{nil}, signalizuj
dosažení začátku řádku při pohybu pomocí příkazů
@code{forward-char} a @code{backward-char}.

@item speechd-speak-signal-end-of-line
@cindex konec řádku
Je-li hodnotou proměnné něco jiného než @code{nil}, signalizuj
dosažení konce řádku při pohybu pomocí příkazů
@code{forward-char} a @code{backward-char}.
@end vtable

@node Vlastnosti textu, Parametry spojení, Signalizace, Konfigurace
@subsection Vlastnosti textu
@cindex vlastnosti textu
@cindex faces
@cindex kurzor
@cindex pohyb

Implicitní chování speechd-el je takové, že po příkazu, který způsobí
přesun kurzoru na jinou pozici, přečte aktuální řádek.  Pokud je však
pozice kurzoru obklopena textem, který má nějaké vlastnosti (text
properties), typicky face, ale může jít o@tie{}jakékoliv jiné vlastnosti,
speechd-el dovede přečíst pouze tu část textu pod kurzorem, která má
shodné vlastnosti.

Pokud je navíc zapnut font lock mód, faces mohou být mapovány na různé
hlasy.

@vtable @code
@item speechd-speak-by-properties-on-movement
Metoda výběru části textu, která má být přečtena po přesunu kurzoru.
Proměnná může nabývat některé z@tie{}následujících hodnot:

@table @asis
@item @code{nil}
Vlastnosti textu (text properties) nejsou nijak zohledňovány.

@item @code{t}
Jsou zohledňovány všechny vlastnosti textu.

@item seznam faces
Z@tie{}vlastností textu jsou zohledňována pouze daná faces.
@end table

@item speechd-speak-by-properties-always
Seznam příkazů, které vždy zohledňují vlastnosti textu, a@tie{}to
i@tie{}v@tie{}případě že hodnota proměnné
@code{speechd-speak-by-properties-on-movement} je @code{nil}.

@item speechd-speak-by-properties-never
Seznam příkazů, které nikdy nezohledňují vlastnosti textu, a@tie{}to ani
v@tie{}případě že hodnota proměnné
@code{speechd-speak-by-properties-on-movement} není @code{nil}.

@item speechd-speak-faces
Tato proměnná umožňuje zajistit vyvolání akcí v@tie{}případě, kdy kurzor po
provedení uživatelského příkazu skončí na určitém face.  Hodnotou
proměnné je asociativní seznam s@tie{}prvky tvaru @code{(@var{face}
. @var{akce})}.

Jestliže příkaz přesouvající kurzor zanechá kurzor na @var{face} a na
příkaz není explicitně navěšeno žádné mluvení, je vyvolána
@var{akce}.  Je-li @code{akce} řetězcem, je tento řetězec přemluven.
Je-li @code{akce} funkcí, je tato funkce zavolána, bez argumentů.

@item speechd-face-voices
Mapování faces na hlasy.  Hodnotou proměnné je asociativní seznam
s@tie{}prvky tvaru @code{(@var{face} . @var{hlas})}, kde @var{face} je face
a @var{hlas} je jméno hlasu, jako řetězec.  Každé face je přemluveno
odpovídajícím hlasem.  Pokud pro nějaké face není hlas v@tie{}této proměnné
definovat, je toto face přemluveno aktuálním hlasem.

Pozor, toto mapování se uplatní jen tehdy, je-li zapnut font lock mód.
@end vtable

@node Parametry spojení, Více spojení, Vlastnosti textu, Konfigurace
@subsection Parametry spojení
@cindex parametry

S@tie{}pomocí následující proměnné si můžete nechat automaticky nastavit
různé parametry spojení, jako rychlost řeči, jazyk, atd.  speechd-el
může mít na Speech Dispatcher otevřeno více spojení, definovaných dle
různých kritérií (@pxref{Více spojení}).  Různým spojením pak můžete
nastavit různé parametry, v@tie{}závislosti na jménu spojení, a@tie{}můžete také
nastavit implicitní parametry společné pro všechna spojení.

@vtable @code
@item speechd-connection-parameters
Asociativní seznam jmen spojení a odpovídajících parametrů.  Každý
prvek seznamu je tvaru @code{(@var{jméno-spojení} . @var{parametry})},
kde @var{jméno-spojení} je jméno spojení zadané jako řetězec a
@var{parameters} je property list s@tie{}dvojicemi složenými
z@tie{}identifikátoru parametru a hodnoty parametru.

Jestliže namístě @code{jméno-spojení} uvedete místo řetězce symbol
@code{t}, odpovídající prvek definuje parametry společné pro všechna
spojení.  Každý z@tie{}parametrů v@tie{}tomto prvku platí pro všechna spojení,
která pro tento parametr nedefinují svoji vlastní hodnotu.  V@tie{}celém
asociativním seznamu smí být symbol @code{t} místo jména spojení
použit nejvýše jednou.

Identifikátoru parametrů mohou být následující symboly:
@code{language}, @code{message-priority}, @code{punctuation-mode},
@code{important-punctuation}, @code{punctuation-table},
@code{spelling-table}, @code{text-table}, @code{character-table},
@code{key-table}, @code{sound-table}, @code{capital-character-table},
@code{capital-character-mode}, @code{voice}, @code{rate},
@code{pitch}, @code{output-module}.  Popis povolených hodnot parametrů
naleznete v@tie{}dokumentačních řetězcích odpovídajících
@code{speechd-set-*} funkcí.

Speciální význam má parametr @code{message-priority}: přenastavuje
prioritu všech zpráv zaslaných prostřednictvím daného spojení.  Pokud
jej pro nějaké spojení uvedete, všechny zprávy zaslané tímto spojením
budou mít zadanou prioritu, a@tie{}to i@tie{}v@tie{}případě, kdy funkce zasílající
zprávu zprávě explicitně nastaví prioritu jinou.
@end vtable

Aby se nastavení hodnoty této proměnné plně projevilo, musí být
otevřená spojení znovuotevřena.  Nepoužíváte-li konfigurační rozhraní
Emacsu (customize), musíte pro zajištění znovuotevření spojení zavolat
příkaz @kbd{C-u M-x speechd-speak}.

Pro malou pomoc s@tie{}nastavováním této proměnné je definován tento
příkaz:

@table @kbd
@item C-e C-a
@kindex C-e C-a
@findex speechd-add-connection-parameters
Přidej jméno a parametry aktuálního spojení do proměnné
@code{speechd-connection-parameters}
(@code{speechd-add-connection-parameters}).  Nezapomeňte prosím, že
chcete-li uchovat hodnotu této proměnné i@tie{}pro příští spuštění Emacsu,
musíte si ji sami uložit.
@end table

@node Více spojení, Klávesy, Parametry spojení, Konfigurace
@subsection Více spojení
@cindex spojení

speechd-el můžete říct, aby pro určité buffery nebo hlavní módy
používalo oddělená spojení na Speech Dispatcher.  To v@tie{}zásadě umožňuje
nezávislé nastavení různých parametrů řečového výstupu pro tyto
buffery a hlavní módy, jak ruční, tak prostřednictvím konfigurace
(@pxref{Parametry spojení}).

Každé spojení na Speech Dispatcher má své vlastní jedinečné jméno.
speechd-el implicitně používá spojení nazvané @code{"default"}.  Pro
vytvoření odděleného spojení stačí pouze nechat v@tie{}určitých situacích
speechd-el vybrat jiné jméno spojení.  Způsob výběru spojení je
definován proměnnou @code{speechd-speak-connections}.

@vtable @code
@item speechd-speak-connections
Asociativní seznam mapující hlavní módy a buffery na spojení.  Každý
prvek seznamu je tvaru @code{(@var{mód-nebo-buffer}
. @var{jméno-spojení})}.

Když chce speechd-el poslat zprávu, porovnává momentální prostředí
s@tie{}@var{mód-nebo-buffer}.  @var{mód-nebo-buffer} smí být jedním
z@tie{}následujících objektů, od nejvyšší priority po nejnižší:

@itemize @bullet
@item
seznam, reprezentující volání funkce, která musí vrátit jinou hodnotu
než @code{nil}, právě když má být použit příslušný prvek asociativního
seznamu

@item
jméno bufferu

@item
symbol @code{:minibuffer}, reprezentující minibuffer

@item
symbol hlavního módu

@item
@code{nil}, reprezentující nebufferové objekty, např. echo area

@item
@code{t}, reprezentující implicitní hodnotu, když není aplikovatelný
žádný jiný prvek
@end itemize

Jestliže určité situaci odpovídá více prvků, je použit prvek
s@tie{}nejvyšší prioritou.

@var{jméno-spojení} je libovolný neprázdný řetězec určující jméno
požadovaného spojení.  Není-li otevřeno žádné spojení daného jména, je
automaticky vytvořeno v@tie{}okamžiku, kdy do něj má být něco zasláno.
@end vtable

@node Klávesy, Módy, Více spojení, Konfigurace
@subsection Klávesy
@cindex klávesy
@cindex prefixová klávesa
@cindex klávesová mapa

Příkazové klávesy speechd-el jsou definovány proměnnou
@code{speechd-speak-prefix} a klávesovou mapou
@code{speechd-speak-mode-map}.

@vtable @code
@item speechd-speak-prefix
Tato proměnná definuje prefixovou klávesu příkazů speechd-el, kterou
je implicitně @kbd{C-e}.  Jestliže tuto proměnnou změníte až po
nastartování mluvení prostřednictvím příkazu @code{speechd-speak} a
nenastavujete ji prostřednictvím konfiguračního rozhraní Emacsu
(customize), musíte, aby se změna projevila, příkaz
@code{speechd-speak} spustit znovu.

@item speechd-speak-mode-map
Tato klávesová mapa určuje mapování kláves speechd-el následujících za
prefixovou klávesou.  Můžete v@tie{}ní klávesy nastavovat obvyklým
způsobem, např.

@lisp
(define-key speechd-speak-mode-map "t" 'speechd-say-text)
@end lisp

přiřadí příkaz @code{'speechd-say-text} klávese @code{C-e t} (je-li
prefixovou klávesou @code{C-e}).
@end vtable

@node Módy,  , Klávesy, Konfigurace
@subsection Háčky ve vedlejších módech
@cindex vedlejší módy
@cindex háčky

speechd-el poskytuje vedlejší mód, který zapíná a vypíná mluvení,
@xref{Spuštění řečového výstupu}.  Prostřednictvím následujícího háčku
si můžete nechat provést vlastní akce při vstupu do tohoto módu:

@vtable @code
@item speechd-speak-mode-hook
Háček spuštěný při zapnutí vedlejšího módu speechd-speak.
@end vtable

@node Pokročilá konfigurace, Potíže, Konfigurace, Uživatelská příručka
@section Definice vlastních reakcí na příkazy
@cindex rozšíření

Psaní vlastních reakcí na příkazy obecně vyžaduje znalost programování
v@tie{}Elispu.  Nemusíte se však děsit, základní věci si můžete nastavit
i@tie{}bez toho, stačí se řídit zde uvedenými instrukcemi.

speechd-el umožňuje říct text, přehrát zvukovou ikonu nebo zavolat
libovolný elispový výraz před nebo po provedení příkazu nebo funkce.
Pro tyto účely jsou k@tie{}dispozici dvě makra, která zajistí, že se kromě
vlastní akce provede vše, co je nutno:

@ftable @code
@item speechd-speak-command-feedback @var{příkaz} @var{pozice} @var{reakce}
Definuj reakci na @var{příkaz}.  @var{příkaz} je jméno interaktivní
funkce (použijte @kbd{C-h C-c} pro zjištění jména příkazu navázaného
na určitou klávesu).

@var{pozice} může být jeden ze symbolů @code{before} nebo @code{after}
pro vyvolání reakce před (@code{before}) nebo poté (@code{after}), co
je příkaz proveden.

@code{reakce} může být řetězec nebo jakýkoliv elispový výraz.
Jedná-li se o@tie{}řetězec (text uzavřený v@tie{}uvozovkách), definuje text
k@tie{}přeříkání nebo zvukovou ikonu k@tie{}přehrání.  Jestliže řetězec začíná
hvězdičkou (@code{*}), určuje jméno zvukové ikony (hvězdička není
součástí jména), jinak se jedná o@tie{}normální text.

Příklad:
@cindex @code{suspend-emacs}

@lisp
(speechd-speak-command-feedback suspend-emacs before "Suspenduji Emacs!")
@end lisp

Tento řádek elispového kódu můžete vložit do svého @file{~/.emacs},
čímž si zajistíte upozornění o@tie{}vyvolání příkazu @code{suspend-emacs}
(obvykle navázaného @kbd{C-z}).

@item speechd-speak-function-feedback @var{funkce} @var{pozice} @var{reakce}
Toto je stejné jako @code{speechd-speak-command-feedback} až na to, že
@var{reakce} je vyvolána kdykoliv je vyvolána @code{funkce}, ať už
interaktivně či nikoliv.  Navíc @code{funkce} může být jakákoliv
funkce, nejen interaktivní příkaz.
@end ftable

@emph{Prosím pozor:}

@itemize @bullet
@item
Kvůli určitému nedostatku Emacsu nemusí popsaný mechanismus reakcí
správně fungovat pro vestavěné funkce.

@item
Pokud si definujete vlastní reakce na funkce bez použití uvedených
maker, buďte opatrní.  Uvedená makra definují kód zajišťující, že se
nic neříká v@tie{}případě vypnutého @code{speechd-speak-mode}, a@tie{}podobná
opatření.  Pokud tato makra nepoužíváte, musíte si tato opatření
zajistit sami.
@end itemize

@node Potíže,  , Pokročilá konfigurace, Uživatelská příručka
@section Potíže, se kterými se můžete setkat
@cindex potíže

@itemize @bullet
@item
@cindex prodlevy
@cindex garbage collection
@cindex @code{gc-cons-threshold}
@emph{Předtím, než se po příkazu něco řekne, se občas objevuje malá
prodleva (přibližně jednosekundová).}

Možná, že Emacs během prodlevy provádí garbage collection.  Zkuste
zvýšit hodnotu proměnné @code{gc-cons-threshold}, třeba na 4000000.
Může to celkový výkon zvýšit nebo snížit, v@tie{}závislosti na vašem
prostředí a konkrétních požadavcích.

Jste-li zkušeným elispovým hackerem a dokážete zjistit, proč
speechd-el produkuje významné množství dat způsobujících zvýšení
frekvence provádění garbage collection a jak něco v@tie{}tomto směru
vylepšit, vaše pomoc je vítána!

@item
@emph{Při přidržení klávesy @kbd{C-n} obrazovka na chvíli zamrzne a
kurzor se nepohybuje.}

Je-li Emacs zaměstnaný nějakou činností, není obecně prováděna
aktualizace obrazovku.  speechd-el je v@tie{}kombinaci s@tie{}vyšší rychlostí
automatického opakování kláves schopno dosáhnout takového stavu
poměrně snadno.  Představuje-li to pro vás skutečný problém, můžete si
snížit rychlost autorepeatu nebo pořídit rychlejší počítač.

Samozřejmě jsou vítány jakékoliv tipy, jak zvýšit rychlost speechd-el.
@end itemize

@c ****************************************************************************

@node Elispová knihovna, Kontaktní informace, Uživatelská příručka, Top
@chapter Elispová knihovna speechd-el

Momentálně není ke knihovně k@tie{}dispozici žádný skutečný programátorský
manuál.  Podívejte se tedy prosím na dokumentační řetězce dostupných
proměnných, funkcí a maker.

Nicméně se můžete (a@tie{}měli byste) řídit následujícími radami:

@itemize @bullet
@item
Nepoužívejte žádné funkce, proměnné nebo jiné lispové objekty, jejichž
jména začínají prefixem @code{speechd--} nebo @code{speechd-speak--}.
Tyto objekty jsou považovány za privátní a mohou se kdykoliv bez
upozornění změnit nebo být zrušeny.

@item
@vindex speechd-client-name
Jestliže chcete vybrat nebo vytvořit konkrétní spojení, udělejte to
prostřednictvím nastavení hodnoty proměnné @code{speechd-client-name}:

@lisp
(let ((speechd-client-name "něco"))
  ... kód používající spojení "něco" ... )
@end lisp

Mějte prosím na paměti, že obvykle není dobrým nápadem otevřít
současně dvě spojení na Speech Dispatcher se shodným klientským
jménem.

@item
@findex speechd-protect
Píšete-li kód produkující řečový výstup a tento kód je určen k@tie{}použití
v@tie{}asynchronním volání, jako například ve filtrech procesů nebo
časovačích, vždy jej obalte makrem @code{speechd-protect}.

@item
Jinak by na vás neměly číhat žádná zvláštní překvapení a jakýkoliv
rozumný kód by měl být bezproblémový.
@end itemize

Možná vás ještě může zajímat @ref{Pokročilá konfigurace}.

@c ****************************************************************************

@node Kontaktní informace, Kopírování tohoto manuálu, Elispová knihovna, Top
@chapter Kontaktní informace
@cindex autoři
@cindex kontakty

Máte-li jakékoliv otázky, oznámení chyb, náměty, záplaty nebo cokoliv
jiného, co nám chcete sdělit, neváhejte se obrátit na adresu
@email{speechd-devel@@freebsoft.org}.

@c ****************************************************************************

@node Kopírování tohoto manuálu, Index, Kontaktní informace, Top
@appendix GNU Free Documentation License

@cindex FDL, GNU Free Documentation License
@center Version 1.2, November 2002

@include fdl.texi

@c ****************************************************************************

@node Index,  , Kopírování tohoto manuálu, Top
@unnumbered Index

@printindex cp

@bye

@c  LocalWords:  chyph def ntprefix cs input comment of header documentlanguage
@c  LocalWords:  documentencoding VERSION el value end copying quotation is and
@c  LocalWords:  Permission granted distribute or modify this document under gc
@c  LocalWords:  the terms Documentation License Version any later version with
@c  LocalWords:  published Foundation Sections Cover Texts Back license section
@c  LocalWords:  included entitled Sound Emacsové Dispatcher title subtitle tie
@c  LocalWords:  author page contents node Elispová elispových chapter emacsový
@c  LocalWords:  itemize bullet Elispovou emacsové emacsových elispovou file
@c  LocalWords:  enumerate example make compile lisp speak nil code table ref
@c  LocalWords:  global toggle speaking subsection read other window word char
@c  LocalWords:  paragraph next previous last message cancel resume key rate
@c  LocalWords:  predefined connection language punctuation all none some icon
@c  LocalWords:  capital character spell voice number pitch output spelling say
@c  LocalWords:  sound repeat faces localhost timeout default notification name
@c  LocalWords:  important progress deleted buffers force self insert command
@c  LocalWords:  insertions one comint align signal empty beginning backward
@c  LocalWords:  properties face lock movement always never voices parameters
@c  LocalWords:  property customize add connections minibuffer area define hook
@c  LocalWords:  elispový feedback before after suspend emacs function garbage
@c  LocalWords:  collection cons threshold elispovým autorepeatu client protect
@c  LocalWords:  appendix November include unnumbered bye
