]> code.delx.au - gnu-emacs/commitdiff
*** empty log message ***
authorKenichi Handa <handa@m17n.org>
Thu, 26 Oct 2006 12:00:59 +0000 (12:00 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 26 Oct 2006 12:00:59 +0000 (12:00 +0000)
lisp/ChangeLog.unicode
src/ChangeLog.unicode
src/xdisp.c

index 998f374fc53f5d5171e5eb969175d02747fbab8f..664f59291a00a6a71086b5758194d3b76d8354e4 100644 (file)
@@ -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.
index fcf35e1bdcb2d6d0024cc7c08021d9df87f8a794..0b9fe23faa86066123566d0c699ec330b0d69440 100644 (file)
@@ -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
index 87f6c49ad36911724cf99f15dc0698aa856e89d3..45deab74599ee7714cdf0a56b9f6793e1e06d3fa 100644 (file)
@@ -20941,9 +20941,15 @@ x_produce_glyphs (it)
          /* 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;