emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/src/w32term.c,v [EMACS_22_BASE]


From: Jason Rumney
Subject: [Emacs-diffs] Changes to emacs/src/w32term.c,v [EMACS_22_BASE]
Date: Fri, 01 Aug 2008 15:10:53 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Branch:         EMACS_22_BASE
Changes by:     Jason Rumney <jasonr>   08/08/01 15:10:51

Index: w32term.c
===================================================================
RCS file: /sources/emacs/emacs/src/w32term.c,v
retrieving revision 1.259.2.11
retrieving revision 1.259.2.12
diff -u -b -r1.259.2.11 -r1.259.2.12
--- w32term.c   15 Feb 2008 17:15:08 -0000      1.259.2.11
+++ w32term.c   1 Aug 2008 15:10:50 -0000       1.259.2.12
@@ -1631,9 +1631,6 @@
   SetBkMode (s->hdc, TRANSPARENT);
   SetTextAlign (s->hdc, TA_BASELINE | TA_LEFT);
 
-  if (s->font && s->font->hfont)
-    old_font = SelectObject (s->hdc, s->font->hfont);
-
   /* Draw a rectangle for the composition if the font for the very
      first character of the composition could not be loaded.  */
   if (s->font_not_found_p)
@@ -1644,6 +1641,13 @@
     }
   else
     {
+      if (s->font && s->font->hfont)
+        old_font = SelectObject (s->hdc, s->font->hfont);
+
+      /* Because of the way Emacs encodes composite glyphs, the font_type
+         may not be set up yet.  Always use unicode for composite glyphs.  */
+      s->first_glyph->font_type = UNICODE_FONT;
+
       for (i = 0; i < s->nchars; i++, ++s->gidx)
        {
          w32_text_out (s, x + s->cmp->offsets[s->gidx * 2],
@@ -1654,10 +1658,10 @@
                          s->ybase - s->cmp->offsets[s->gidx * 2 + 1],
                          s->char2b + i, 1);
        }
-    }
 
   if (s->font && s->font->hfont)
     SelectObject (s->hdc, old_font);
+    }
 }
 
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]