diff options
| author | Kenichi Handa | 2004-01-15 06:57:02 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2004-01-15 06:57:02 +0000 |
| commit | 032ed8010d908153e53379e72c8f907c4793e754 (patch) | |
| tree | c380fb414e90e92eb0f1731c0be37aee52714df3 | |
| parent | dc47eccc14cbe57e54a94f1b6720d2058bdafb1c (diff) | |
| download | emacs-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.c | 7 |
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, |