# HG changeset patch # User Kenichi Handa <handa@m17n.org> # Date 1161864059 0 # Node ID 5a93997128bf85570a6af1357a05abee6472f70d # Parent 1b46574c9f5d1b18b9e98c4b35b17f66aa032861 *** empty log message *** diff -r 1b46574c9f5d -r 5a93997128bf lisp/ChangeLog.unicode --- 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. diff -r 1b46574c9f5d -r 5a93997128bf src/ChangeLog.unicode --- 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 diff -r 1b46574c9f5d -r 5a93997128bf src/xdisp.c --- 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;