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.