diff options
| author | Jason Rumney | 2008-08-01 15:10:50 +0000 |
|---|---|---|
| committer | Jason Rumney | 2008-08-01 15:10:50 +0000 |
| commit | f5c3336520627d95da2efb971350bfdd151a3a57 (patch) | |
| tree | 07e579c44f531659d5ff5b7d3273a793dc1a3f29 /src | |
| parent | 5fd4193c0455eb8c2962b71e23b7c1469ac1f775 (diff) | |
| download | emacs-f5c3336520627d95da2efb971350bfdd151a3a57.tar.gz emacs-f5c3336520627d95da2efb971350bfdd151a3a57.zip | |
(x_draw_composite_glyph_string_foreground): Force use of Unicode output.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/w32term.c | 16 |
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 @@ | |||
| 1 | 2008-08-01 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * w32term.c (x_draw_composite_glyph_string_foreground): Force | ||
| 4 | use of Unicode output. | ||
| 5 | |||
| 1 | 2008-07-30 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> | 6 | 2008-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 | ||