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;