changeset 90639:5a93997128bf

*** empty log message ***
author Kenichi Handa <handa@m17n.org>
date Thu, 26 Oct 2006 12:00:59 +0000
parents 1b46574c9f5d
children bbc1344cea0e
files lisp/ChangeLog.unicode src/ChangeLog.unicode src/xdisp.c
diffstat 3 files changed, 27 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog.unicode	Thu Oct 26 12:00:50 2006 +0000
+++ b/lisp/ChangeLog.unicode	Thu Oct 26 12:00:59 2006 +0000
@@ -1,5 +1,12 @@
 2006-10-26  Kenichi Handa  <handa@m17n.org>
 
+	* composite.el (terminal-composition-function): New function.
+	(terminal-composition-function-table): New variable.
+	(auto-compose-chars): If running on a terminal, use
+	terminal-composition-function-table.
+
+	* loadup.el: Load "composite" after "international/characters".
+
 	* international/characters.el: Delete codes for setting up charset
 	property nospace-between-words.  Fix setting up of
 	char-width-table.  Don't make ethiopic and tibetan double column.
--- a/src/ChangeLog.unicode	Thu Oct 26 12:00:50 2006 +0000
+++ b/src/ChangeLog.unicode	Thu Oct 26 12:00:59 2006 +0000
@@ -1,3 +1,14 @@
+2006-10-26  Kenichi Handa  <handa@m17n.org>
+
+	* term.c: Include "composite.h".
+	(encode_terminal_code): Output all components of composition.
+	Check the size of encode_terminal_src.
+	(produce_glyphs): For compostion, call produce_composite_glyph.
+	(append_composite_glyph, produce_composite_glyph): New functions.
+
+	* xdisp.c (x_produce_glyphs): In handling composition, if a font
+	is not found, get font_info from the current ascii face.
+
 2006-10-23  Kenichi Handa  <handa@m17n.org>
 
 	* fileio.c (Finsert_file_contents): On replacing, temporarily bind
--- a/src/xdisp.c	Thu Oct 26 12:00:50 2006 +0000
+++ b/src/xdisp.c	Thu Oct 26 12:00:59 2006 +0000
@@ -20941,9 +20941,15 @@
 	  /* When no suitable font found, use the default font.  */
 	  font_not_found_p = font == NULL;
 	  if (font_not_found_p)
-	    font = FACE_FROM_ID (it->f, it->face_id)->font;
-	  font_info
-	    = FONT_INFO_FROM_FACE (it->f, FACE_FROM_ID (it->f, face_id));
+	    {
+	      font = FACE_FROM_ID (it->f, it->face_id)->font;
+	      font_info
+		= FONT_INFO_FROM_FACE (it->f,
+				       FACE_FROM_ID (it->f, it->face_id));
+	    }
+	  else
+	    font_info
+	      = FONT_INFO_FROM_FACE (it->f, FACE_FROM_ID (it->f, face_id));
 	  boff = font_info->baseline_offset;
 	  if (font_info->vertical_centering)
 	    boff = VCENTER_BASELINE_OFFSET (font, it->f) - boff;