Mercurial > emacs
comparison src/msdos.c @ 34657:9ff4148959a8
(IT_write_glyphs): Compute the glyph face from str->face_id.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Mon, 18 Dec 2000 10:22:41 +0000 |
parents | 62530d6f561d |
children | fbd6630ebdaa |
comparison
equal
deleted
inserted
replaced
34656:11cdca31a7cd | 34657:9ff4148959a8 |
---|---|
997 else | 997 else |
998 { | 998 { |
999 register GLYPH g = GLYPH_FROM_CHAR_GLYPH (*str); | 999 register GLYPH g = GLYPH_FROM_CHAR_GLYPH (*str); |
1000 int glyph_not_in_table = 0; | 1000 int glyph_not_in_table = 0; |
1001 | 1001 |
1002 /* If g is negative, it means we have a multibyte character | |
1003 in *str. That's what GLYPH_FROM_CHAR_GLYPH returns for | |
1004 multibyte characters. */ | |
1002 if (g < 0 || g >= tlen) | 1005 if (g < 0 || g >= tlen) |
1003 { | 1006 { |
1004 /* This glyph doesn't have an entry in Vglyph_table. */ | 1007 /* This glyph doesn't have an entry in Vglyph_table. */ |
1005 ch = str->u.ch; | 1008 ch = str->u.ch; |
1006 glyph_not_in_table = 1; | 1009 glyph_not_in_table = 1; |
1032 ch = FAST_GLYPH_CHAR (g); | 1035 ch = FAST_GLYPH_CHAR (g); |
1033 } | 1036 } |
1034 | 1037 |
1035 /* If the face of this glyph is different from the current | 1038 /* If the face of this glyph is different from the current |
1036 screen face, update the screen attribute byte. */ | 1039 screen face, update the screen attribute byte. */ |
1037 cf = FAST_GLYPH_FACE (g); | 1040 cf = str->face_id; |
1038 if (cf != screen_face) | 1041 if (cf != screen_face) |
1039 IT_set_face (cf); /* handles invalid faces gracefully */ | 1042 IT_set_face (cf); /* handles invalid faces gracefully */ |
1040 | 1043 |
1041 if (glyph_not_in_table || GLYPH_SIMPLE_P (tbase, tlen, g)) | 1044 if (glyph_not_in_table || GLYPH_SIMPLE_P (tbase, tlen, g)) |
1042 { | 1045 { |