2005-02-21 Bill Haneman <billh@gnome.org>

	* gnome-braille/braille-encoder.c, braille-encoder.h:
	(braille_encoder_get_alternate): New, returns the alternate
	encoder which may have been specified by a call to
	braille_encoder_set_alternate.

	* gnome-braille/braille-table-encoder.c:
	(BrailleEncoderFlags): New enum/typedef used to control
	fine-grained behavior of encoders.  Currently private to
	BrailleTableEncoder, but may be pushed out as public API in
	future.
	(braille_table_check_suffix): Now return a boolean to indicate
	whether the character points to a suffix.
	(braille_output_buffer_free): New, needed to free allocated
	buffers.
	(braille_table_decompose_and_lookup_char): Bin the leak here
	and in callers - we now always return alloc'd strings when doing
	lookups.
	(braille_table_lookup_char): Always return alloc'd string.
	Fix the broken pass-through behavior, we now pass-through
	pre-brailled characters as we should.  Don't defer to our
	delegate tables here, do that in braille_table_translate_string
	instead.
	(braille_table_match_string): Duplicate the memory returned. Don't
	require that char_index be non-NULL - if it's null, don't write
	into it.
	(braille_table_encode_chunk_to_buffer): New, factored out of
	braille_table_encode_to_buffer.  Support use of prefix/postfix
	strings to indicate when context switching occurs, including the
	insertion of 'locale' substrings into the prefix context switch
	string if "%s" is included in the string, i.e. like sprintf.
	(braille_table_translate_string): Turned off chaining to
	alternates for the moment, since we're now doing everything we
	used to do with chaining, with delegation instead.  Chaining is
	still useful, will turn it back on later.
	(braille_table_construct_from_stream): Read prefix/postfix context
	change strings from the 'DELEGATE' line if they are available - we
	use tokens [3] through [5] for the context-push, context-pop, and
	single-char-escape strings, respectively,  Only the first two are
	currently implemented.

	* gnome-braille/braille-table-encoder.h:
	Added members 'context_push_string', 'context_pop_string', 
	'char_esc_string'.

	* tables/bharati-devanagari.tbl:
	Re-added the halant codepoint, with an empty lookup string (since
	it's a suffix which is represented by a 'prefix' cell in the
	halant context).
	Added a lookup point for the space (0x20) character, since we
	don't want to incur a context switch when brailling spaces.
	Added push and pop context-change dot strings for DELEGATE FILE
	standard.tbl, which match the ICEB recommendation for 
	context switches.

	* tables/kana.tbl:
	Added push and pop strings to match the current 'start english' context
	switch convention for japanese braille.
	
2005-02-17 Bill Haneman <billh@gnome.org>

	* tables/bharati-devanagari.tbl: Fixed problem with
	too many suffixes - use only halant.
	Add the proper vowel-suffix codepoints.
	Moved the ENCODING line to the top, where it belongs.

	* tables/hangul.tbl: Initial checkin of hangul jamo table.

	* tests/test-braille.c: Add second command-line arg for 
	desired table.  Print the original UTF-8 as part of the log
	output, to help tester understand what it happenning.

	* tests/test-braille-input.utf8: 
	Add test sections for hangul (ko), devanagari (hi),
	and german (de).

	* tables/standard.tbl: Fix broken braille dot pattern for 
	space character (U+20) !

	* gnome/braille/braille-table-encoder.c:
	(braille_table_decompose_and_lookup_char): New, 
	decompose a unichar into its canonical unicode
	decomposition, and look each resulting character up.
	(braille_table_lookup_char): Fall back to 
	braille_table_decompose_and_lookup_char if we fail to
	find a unicode character in the current table.
	Important for languages like Korean which have many 
	unicode points.  Probably useful for foreign words 
	interspersed in text in another language, too.

2005-02-17 Bill Haneman <billh@gnome.org>

	* tables/kana.brl, tables/bharati-devanagari.tbl:
	Put the ENCODING line at the top, where it needs to be.
	Remove absolute path from DELEGATE FILE line.

	* gnome-braille/braille-table-encoder.c:
	(braille_table_construct_from_file): Make smart enough
	to handle non-absolute paths - use ($datadir) instead.
	
2005-02-16 Bill Haneman <billh@gnome.org>

	* tables/bharati-devanagari.tbl:
        Initial check-in of devanagari braille table.

	* gnome-braille/braille-table-encoder.h:
	(BrailleTableEncoder): Added 'strings' hashtable.

	* gnome-braille/braille-table-encoder.c:
	(match_string_func): New, for matching UTF-8 string-to-cells
	conversions.
	(braille_table_match_string): New, return cells from string
	lookup, and increment char_index and instring pointer.
	(braille_table_encode_to_buffer): Revised input params to allow
	context-based string substitution.  Refactored.
	(braille_table_add_string): New, add a string from a braille table
	by parsing an UTF8-STRING input line.
	(braille_table_construct_from_stream): Handle UTF8-STRING case.

	* tables/kana.tbl:
	Added copyright notice and GPL license.
	Added hiregana table UCS2 points, table is now
	basically valid for katakana and hiregana input.
	
2005-02-16 Bill Haneman <billh@gnome.org>

	* gnome-braille/braille-event-source.h:
	#include "braille-driver.h" and "braille-encoder.h",
	to get BrailleEncoderError and BrailleDriverStatus defs.
	(BrailleKeyType): New enum.
	(BrailleEventCategory): New enum.
	(BrailleEvent): New definition.
	Stronger typing for braille event sources, braille events,
	and braille event handlers.
	(BrailleNotifyFunc): New, stronger typing.
	(set_event_handler): Virtual func renamed, take BrailleNotifyFunc
	instead of GCallback.
	(braille_event_source_set_event_handler): Renamed from
	braille_event_source_add_event_handler, take more strongly typed
	callback func.

	* gnome-braille/braille-event-source.c:
	(braille_event_source_set_event_handler): Rename, revise to
	take BrailleNotifyFunc param in place of GCallback.
	
	* gnome-braille/braille-encoder.c, braille-encoder.h:
	(braille_encoder_chain_offsets): Add len_in and len_next,
	since we need to know the length of the offset arrays.

	* gnome-braille/braille-encoder.h:
	(BrailleEncoderError): Added this definition.

	* gnome-braille/drivers/braille-monitor-driver.h:
	(BrailleMonitorDriver): Changed event_callback to BrailleNotifyFunc.

	* gnome-braille/drivers/braille-monitor-driver.c:
	Changed to match new prototypes in braille-driver.h.
	
2004-05-17 Bill Haneman <billh@gnome.org>

	* gnome-braille/braille-driver.[hc]:
	(braille_driver_set_virtual_caret): New method.

	* gnome-braille/drivers/braille-monitor-driver.c:
	(braille_monitor_driver_set_virtual_caret): 
	Implementation of set_virtual_caret.
	
2004-05-05 Bill Haneman <billh@gnome.org>

	This is the initial codebase for gnome-braille.

	
