aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2004-01-15 06:57:02 +0000
committerKenichi Handa2004-01-15 06:57:02 +0000
commit032ed8010d908153e53379e72c8f907c4793e754 (patch)
treec380fb414e90e92eb0f1731c0be37aee52714df3
parentdc47eccc14cbe57e54a94f1b6720d2058bdafb1c (diff)
downloademacs-032ed8010d908153e53379e72c8f907c4793e754.tar.gz
emacs-032ed8010d908153e53379e72c8f907c4793e754.zip
(x_produce_glyphs): Call FACE_FOR_CHAR with POS and
OBJECT args for composition too.
-rw-r--r--src/xdisp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/xdisp.c b/src/xdisp.c
index 6af5d9e3a5e..7a1f0d4b573 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -18152,6 +18152,7 @@ x_produce_glyphs (it)
18152 struct font_info *font_info; 18152 struct font_info *font_info;
18153 int boff; /* baseline offset */ 18153 int boff; /* baseline offset */
18154 struct composition *cmp = composition_table[it->cmp_id]; 18154 struct composition *cmp = composition_table[it->cmp_id];
18155 int pos;
18155 18156
18156 /* Maybe translate single-byte characters to multibyte. */ 18157 /* Maybe translate single-byte characters to multibyte. */
18157 it->char_to_display = it->c; 18158 it->char_to_display = it->c;
@@ -18162,7 +18163,9 @@ x_produce_glyphs (it)
18162 } 18163 }
18163 18164
18164 /* Get face and font to use. Encode IT->char_to_display. */ 18165 /* Get face and font to use. Encode IT->char_to_display. */
18165 it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display, -1, Qnil); 18166 pos = STRINGP (it->string) ? IT_STRING_CHARPOS (*it) : IT_CHARPOS (*it);
18167 it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display,
18168 pos, it->string);
18166 face = FACE_FROM_ID (it->f, it->face_id); 18169 face = FACE_FROM_ID (it->f, it->face_id);
18167 get_char_face_and_encoding (it->f, it->char_to_display, it->face_id, 18170 get_char_face_and_encoding (it->f, it->char_to_display, it->face_id,
18168 &char2b, it->multibyte_p, 0); 18171 &char2b, it->multibyte_p, 0);
@@ -18250,7 +18253,7 @@ x_produce_glyphs (it)
18250 { 18253 {
18251 int left, right, btm, top; 18254 int left, right, btm, top;
18252 int ch = COMPOSITION_GLYPH (cmp, i); 18255 int ch = COMPOSITION_GLYPH (cmp, i);
18253 int face_id = FACE_FOR_CHAR (it->f, face, ch, -1, Qnil); 18256 int face_id = FACE_FOR_CHAR (it->f, face, ch, pos, it->string);
18254 18257
18255 face = FACE_FROM_ID (it->f, face_id); 18258 face = FACE_FROM_ID (it->f, face_id);
18256 get_char_face_and_encoding (it->f, ch, face->id, 18259 get_char_face_and_encoding (it->f, ch, face->id,