aboutsummaryrefslogtreecommitdiffstats
path: root/src/term.c
diff options
context:
space:
mode:
authorKenichi Handa2006-02-20 04:30:12 +0000
committerKenichi Handa2006-02-20 04:30:12 +0000
commit5b203baab7d335c2283fdf222adaadf07667c844 (patch)
tree2709f1c864dbbe702902b3de0420e1766c4fcf2d /src/term.c
parent7829662582dc53b35c7017a7baa57dd988b1c496 (diff)
downloademacs-5b203baab7d335c2283fdf222adaadf07667c844.tar.gz
emacs-5b203baab7d335c2283fdf222adaadf07667c844.zip
(produce_glyphs): Sync to HEAD.
Diffstat (limited to 'src/term.c')
-rw-r--r--src/term.c27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/term.c b/src/term.c
index c12ae8937d8..9f360b70baf 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1777,13 +1777,26 @@ produce_glyphs (it)
1777 } 1777 }
1778 else if (CHAR_BYTE8_P (it->c)) 1778 else if (CHAR_BYTE8_P (it->c))
1779 { 1779 {
1780 /* We must send the raw 8-bit byte as is to the terminal. 1780 if (unibyte_display_via_language_environment
1781 Although there's no way to know how many columns it occupies 1781 && (it->c >= 0240))
1782 on a screen, it is a good assumption that a single byte code 1782 {
1783 has 1-column width. */ 1783 it->char_to_display = unibyte_char_to_multibyte (it->c);
1784 it->pixel_width = it->nglyphs = 1; 1784 it->pixel_width = CHAR_WIDTH (it->char_to_display);
1785 if (it->glyph_row) 1785 it->nglyphs = it->pixel_width;
1786 append_glyph (it); 1786 if (it->glyph_row)
1787 append_glyph (it);
1788 }
1789 else
1790 {
1791 /* Coming here means that it->c is from display table, thus
1792 we must send the raw 8-bit byte as is to the terminal.
1793 Although there's no way to know how many columns it
1794 occupies on a screen, it is a good assumption that a
1795 single byte code has 1-column width. */
1796 it->pixel_width = it->nglyphs = 1;
1797 if (it->glyph_row)
1798 append_glyph (it);
1799 }
1787 } 1800 }
1788 else 1801 else
1789 { 1802 {