Mercurial > emacs
comparison src/term.c @ 29448:348aa1a6a062
(encode_terminal_code): Change the way to check if
terminal coding does any conversion.
(append_glyph): Set glyph->pixel_width correctly.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 06 Jun 2000 01:08:19 +0000 |
parents | 167d236e633b |
children | 3306af2e4f3d |
comparison
equal
deleted
inserted
replaced
29447:420c1b718335 | 29448:348aa1a6a062 |
---|---|
952 register int tlen = GLYPH_TABLE_LENGTH; | 952 register int tlen = GLYPH_TABLE_LENGTH; |
953 register Lisp_Object *tbase = GLYPH_TABLE_BASE; | 953 register Lisp_Object *tbase = GLYPH_TABLE_BASE; |
954 int result; | 954 int result; |
955 struct coding_system *coding; | 955 struct coding_system *coding; |
956 | 956 |
957 coding = (CODING_REQUIRE_ENCODING (&terminal_coding) | 957 /* If terminal_coding does any conversion, use it, otherwise use |
958 safe_terminal_coding. We can't use CODING_REQUIRE_ENCODING here | |
959 because it always return 1 if the member src_multibyte is 1. */ | |
960 coding = (terminal_coding.common_flags & CODING_REQUIRE_ENCODING_MASK | |
958 ? &terminal_coding | 961 ? &terminal_coding |
959 : &safe_terminal_coding); | 962 : &safe_terminal_coding); |
960 | 963 |
961 while (src < src_end) | 964 while (src < src_end) |
962 { | 965 { |
1778 for (i = 0; | 1781 for (i = 0; |
1779 i < it->pixel_width && glyph < end; | 1782 i < it->pixel_width && glyph < end; |
1780 ++i) | 1783 ++i) |
1781 { | 1784 { |
1782 glyph->type = CHAR_GLYPH; | 1785 glyph->type = CHAR_GLYPH; |
1783 glyph->pixel_width = 1; | 1786 glyph->pixel_width = it->pixel_width; |
1784 glyph->u.ch = it->c; | 1787 glyph->u.ch = it->c; |
1785 glyph->face_id = it->face_id; | 1788 glyph->face_id = it->face_id; |
1786 glyph->padding_p = i > 0; | 1789 glyph->padding_p = i > 0; |
1787 glyph->charpos = CHARPOS (it->position); | 1790 glyph->charpos = CHARPOS (it->position); |
1788 glyph->object = it->object; | 1791 glyph->object = it->object; |