1.0	This source is a modification of daisy-player.
1.1	Display the number of phrases in an item.
	When an item is playing, display the number of the currently
	spoken phrase and the number of the phrases not read yet.
1.2	Previous versions of eBook-speaker ran  too ropy.
	While running, the eBook file was constantly reread.
	From this version on, the eBook is first read into a struct
	and the struct is read while running. this makes it react
	much smoother on keyboard commands.
	Remove bookmark when reading is finished.
2.0	Added support for Microsoft Reader eBook (lit) books.
2.1	I dropped the use of libzip. .epub will be unzipped using
	the unzip utility.
2.2	Removed my own xml parser in favour of libxml2.
	XML toolkit from the GNOME project
	Copyright (C) 1998-2002 Daniel Veillard.  All Rights Reserved.

	The following files are not needed anymore:
	   UCkd.h
	   UCkd.txt
	   entities.h
	   entities.txt

	eBook-speaker uses calibre, lowriter, pandoc, pdftohtml,
	scanimage, html2, 2html and ocrfeeder internally
	Added the 't' command to popup a TTS-selector.
2.3	Re-organizes the texts. eBook-speaker puts a break after each
	'.', ',', '!', '?', ':' or ';'. The result is, that there
	will be much more phrases, so that reading is smoother.
2.3.1
	The file .eBook-speaker.rc is not needed anymore.
	Little bugs fixed
2.3.3	The function realname() is not needed anymore
2.4	ocrfeeder is replaced by tesseract
	error.wav is not longer used.
	An argument now is optional.
	When no argument is given on the command-line, a file-manager
	will appear..
2.4.1	'B' in file-manager to move cursor to last file/item.
	'T' in file-manager to move cursor to first file/item.
	The file-manager will first fill an array with filenames and
	their magic info, so that it reacts smoother.
2.5	Memory bug solved - eBook speaker took increasingly more memory.
	View total phrases on the status-line.
	Bookmarks written when killed with "killall". (SIGTERM)
	Switch hidden files displaying on/off in directory listing.
2.5.1	help-screen in directory listing.
	With the 'd' key, current item will be written to disk as a
	WAV-file.
	When option -s is used, the bookmark is  ignored.
2.5.2	When in file manager viewing hidden files is switch on/off, cursor
	will resides on same filename.
2.6	Added option "-d ALSA_sound_device".
	Better testing for audio device.
2.6.1	-   setlocale (LC_ALL, getenv ("LC_ALL"));
	-   setlocale (LC_ALL, getenv ("LANGUAGE"));
	-   setlocale (LC_ALL, getenv ("LANG"));
	+   setlocale (LC_ALL, "");
	+   setlocale (LC_NUMERIC, "C"); added to force a decimal point
	independently of the used language.
2.7	The spoken phrase will now be displayed on the bottom-line of the
	screen, so one can follow along on a braille-terminal what
	he hears.
	Words with an A-umlaut and those characters are now correctly
	passed on to the TTS used for better speech.
2.7.1	remove items with 0 phrases.
2.7.2	bugfix in manual.
2.7.2.1	Was forgotten to remove debug lines in 2.7.2
2.7.2.2	Added option "-s" to the tempo effect of sox. This causes
	smoother sound by very low tempo.
2.7.3	When a directory was given as argument. eBook-speaker crashed.
	Solved.
	Added support for troff files. (e.g. Linux man-pages). Conversion
	done by man2html.
	unzip dropped in favour of unar.
2.8	Added option "-o" for the OCR language to use.
	Give a 3-character ISO 639-2 language code as argument.
	See 'man tesseract' for codes.
	Added 'r'-command. When a document is placed upsside-down on
	the scanner, tesseract cannot OCR it. this command rotates
	the scanned document.
2.8.2	Better testing for corrupt files.
2.8.3	Memory corruption bug solved in read_daisy_3() function.
	All global variables deleted.
	eBook-speaker now only uses loacal variables
2.9	Command "A" added. This command stores the current item in a file
	in the user's HOME-directory in ASCII-format.
2.10	Introduced new option "-i". when this option is detected,
	the bookmark file will be ignored.
	The daisy_t struct array now only gets the number of needed
	elements. Older versions got staticly 2000 elements.
	Breakpoints in phrases has changed.
	Characters like '.', ',', ';', ':', etc. are not seen as
	breakpoints anymore.
	Only '. ', ', ', '; ', ': ', etc.
2.11	Earlier versions used a static misc->label[] character array.
	Now misc->label is dynamicly allocated with the malloc() function.
	When 'h', 'D', 'U' or HOME is pressed, eBook-speaker will
	play the current phrase.
	When a TTS goes wrong, eBook-speaker will print the TTS before
	exiting.
3.0	Added a Portugese translation.
	Updated the man-page and the online help-screen.
	New command 'b' added. 'b' Set a phrase-break at the end of a line?.
	When  set  to  'y'es, eBook-speaker  will start a new phrase
	after each New-Line character. When set to 'n'o, each New-Line
	character will be seen as a  space,  so  that  two  or  more
	lines are concatenated to one phrase.
	When the ALSA hw:0 card cannot be opened for writing, ALSA "default"
	will be used instead.
	Updated the Spanish translation.
	Updated the French translation.
	The first TTS in the tts-menu will be espeak with option -v
	set according to the current locale.
	There will be no default OCR-language for the tesseract-utility
	anymore. The language now will be determined according to the
	current locale.
	Remove double entries from the TTS-menu.
	Better support for ASCII-files.
	Better support for character-sets like ISO-8859-1. The "iconv"
	utility will be used for conversions to UTF-8.
	The 'r' command now rotates a scanned document 90 degrees.
	Earlier versions stopped when given file didn't contain a
	.ncx file. Now eBook-speaker will continue.
	Added page-numbers.
	View the page-number currently read.
	PDF files now will be read using pdftotext.
	pdftohtml sometimes quits with the message:

	  Permission Error: Copying of text from this document is not allowed.

	While pdftotext has no problems with the same input-file.
	html entities are converted correctly again.
	eBook-speaker now uses the htmlParseFile() function of libxml2.
	Added a Bulgarian translation.
	All files will be treated now as UTF-8.
	Playback volume can be altered with 'v' and 'V'.
	New option '-b' introduced. With this option one can choose what
	the default value for the phrase-break command should be. This value
	will be written to the .eBook-speaker.xml file. But it can be
	overruled with the 'b' command.
	The following formats are now converted using "lowriter txt":
	   "(Corel/WP)"
	   "Composite Document File"
	   "Microsoft Word 2007+"
	   "Microsoft Office Document"
	   "OpenDocument"
	   "Rich Text Format"
3.1	File manager improvements.
	Page-number improvements.
3.2	Wait for "eBook-speaker.wav" to become available.
	(Not longer then 1 second)
	New option "-r" introduced. By default the option "-s" scans
	at a resolution of 400 DPI.
3.3	When number of phrases is 0, the variable misc->total_items is 0.
	Now if misc->total_items == 0, misc->total_items = 1.
	Added support for AppleSingle encoded Macintosh files.
	GIF_image_data now works.
4.0	For OCR one now can choose between tesseract or cuneiform.
4.1	Updated the French translation.
	Updated the Spanish translation.
4.1.1	Updated the Bulgarian translation.
	Bug in command 'd' solved.
	Bug in command 'r' solved.
	Filenames now will be treated case-insensitive.
	The external executable "find" has been dropped in favour
	of an internal function that scans for the "ncc.html",
	"*.ncx" and "*.opf" files.
	man/Makefile.am changes.
        eBook-speaker can read from http://, https:// and ftp:// URLs.
5.0	Alter  playback volume with ALSA instead off altering the volume
	of the soundfile itself with sox.
	On some soundcards (especially onboard cards) the alsa driver
	only can play one file at a time.
	eBook-speaker crashes sometimes on these cards.
	From this version on the pulseaudio sound-driver will be used
	instead. pulseaudio has no problems with these cards.
	I don't know how to play with pulseaudio in the C function
	sox_open_write ().,
	For now, the external command sox will be used instead.
	Altering the playback volume only worked on the first soundcard.
	Now playback volume works on all found cards.
	Store to WAV ('d') now displays the number of phrases to be
	synthesized.
	The first TTS in the TTS-selector will be forced to espeak
	with option "-v" set to the current locale.
	Convert ALSA devicename into pulseaudio devicename.
5.0.1	Added a Serbian translation.
5.1	The external command sox is no longer needed.
	eBook-speaker now uses the sox library.
	Use the option "--mode binary" with scanimage for better
	OCR results.
5.2	Drop the use of ALSA.
	Alter volume using the pulseaudio pactl utility.
	pactl is now built-in.
	Filenames now will be treated case-insensitive.
	Now also in href, src and alike attributes.
	Playback sound can be muted/unmuted with 'm'.
	With 'o' a soundcard can be selected. The volume levels and
	the "mute" states of all cards ar shown and can be altered
	using 'm', 'v' and 'V'.
	Reset the terminal after eBook-speaker exits.
5.2-beta-2
	Set a phrase-break at the Nth position.
	Thanks to Vagner Rener <vagnerrener@gmail.com> for the "fold" idea.
5.3	Thanks to Didier Spaier <didier@slint.fr> for his patch to common.c:
	- if ((p = popen ("/usr/bin/pactl list sinks", "r")) == NULL)
	+ if ((p = popen ("LANG=C /usr/bin/pactl list sinks", "r")) == NULL)
	pulseaudio device is "0" again.
	Change variables bin_PROGRAMS ebook_speaker_SOURCES
	Solved compiler warnings.
	Added a new -v option for verbosity while readding a book,
	so one can see what's going on.
	Thanks to Colomban Wendling <cwendling@hypra.fr> for his
	patch to gracefully quit eBook-speaker upon receiving a signal.
5.4	The name of the desired pulsaudio device no longer resides in
	the ~/.eBook-speaker.xml file, but it resides in files in
	the directory ~/.eBook-speaker/.
	In previous versions "skip left" crashed sometimes; solved.
	The file-manager reacted to slow. The list of files no longer
	contains the type of the file. Instead command "i" is introduced.
	"i" gives some information about the current file.
5.4.1	Bug in the ncx.c file solved.
	The file ncx.c treated filenames  not case insensitive.
5.5	Added support for PulseAudio sinks with # > 9.
	Added option '-S' not to update the playing phrase-number during
	playback. This helps users with screen readers that would otherwise
	read the phrase-number as it updates, leading to highly annoying
	noise.
	Lower the amount of screen refresh to better play with screen readers.
5.5.1	Bug in break-phrase-command solved.
5.5.2	Updated the german translation.
	Bug in option '-s' (scanimage) solved.
5.6	Option 'S' and key-command 'S' now also stops the update of
	the pagenumbers.
	Patch for better audio card probing.
	(Thanks to Samuel Thibault <<sthibault@debian.org>)
6.0	Some OPF improvements.
	pulseaudio is not always able to use all soundcards.
	So one now can choose between pulseaudio or ALSA.
6.1	Bug in option d solved.
	Bug in command 'b' (in OPF books) solved.
	The config-file ~/.eBook-speaker.xml is now reread everytime
	the 't' command is given.
	Force english output using setlocale () when an external
	command like amixer or pactl is executed.
	Command 'A' and 'd' now takes in account the current level.
	Added the new keyboard-command 'w' to store the whole book to
	disk in WAV-format.
6.2	Added an Ukrainian translation.
	Better search for the ".ncx" and ".opf" iles. Be sure to only compare
	the last 4 characters of d_name in the dirent struct.
	Bug in get list of ALSA-cards solved.
	Thanks Samuel THIBAULT <samuel.thibault@ens-lyon.org> for his patch.
