aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32term.c16
2 files changed, 15 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 71c004d0b54..4e41e9be455 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12008-08-01 Jason Rumney <jasonr@gnu.org>
2
3 * w32term.c (x_draw_composite_glyph_string_foreground): Force
4 use of Unicode output.
5
12008-07-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 62008-07-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2 7
3 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to 8 * xmenu.c (Fx_menu_bar_open_internal): Use activate_item signal to
diff --git a/src/w32term.c b/src/w32term.c
index bfda8e9e9d3..402f5a212ef 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -1631,9 +1631,6 @@ x_draw_composite_glyph_string_foreground (s)
1631 SetBkMode (s->hdc, TRANSPARENT); 1631 SetBkMode (s->hdc, TRANSPARENT);
1632 SetTextAlign (s->hdc, TA_BASELINE | TA_LEFT); 1632 SetTextAlign (s->hdc, TA_BASELINE | TA_LEFT);
1633 1633
1634 if (s->font && s->font->hfont)
1635 old_font = SelectObject (s->hdc, s->font->hfont);
1636
1637 /* Draw a rectangle for the composition if the font for the very 1634 /* Draw a rectangle for the composition if the font for the very
1638 first character of the composition could not be loaded. */ 1635 first character of the composition could not be loaded. */
1639 if (s->font_not_found_p) 1636 if (s->font_not_found_p)
@@ -1644,6 +1641,13 @@ x_draw_composite_glyph_string_foreground (s)
1644 } 1641 }
1645 else 1642 else
1646 { 1643 {
1644 if (s->font && s->font->hfont)
1645 old_font = SelectObject (s->hdc, s->font->hfont);
1646
1647 /* Because of the way Emacs encodes composite glyphs, the font_type
1648 may not be set up yet. Always use unicode for composite glyphs. */
1649 s->first_glyph->font_type = UNICODE_FONT;
1650
1647 for (i = 0; i < s->nchars; i++, ++s->gidx) 1651 for (i = 0; i < s->nchars; i++, ++s->gidx)
1648 { 1652 {
1649 w32_text_out (s, x + s->cmp->offsets[s->gidx * 2], 1653 w32_text_out (s, x + s->cmp->offsets[s->gidx * 2],
@@ -1654,10 +1658,10 @@ x_draw_composite_glyph_string_foreground (s)
1654 s->ybase - s->cmp->offsets[s->gidx * 2 + 1], 1658 s->ybase - s->cmp->offsets[s->gidx * 2 + 1],
1655 s->char2b + i, 1); 1659 s->char2b + i, 1);
1656 } 1660 }
1657 }
1658 1661
1659 if (s->font && s->font->hfont) 1662 if (s->font && s->font->hfont)
1660 SelectObject (s->hdc, old_font); 1663 SelectObject (s->hdc, old_font);
1664 }
1661} 1665}
1662 1666
1663 1667