(w32_load_system_font): Cache codepage for font, in
authorAndrew Innes <andrewi@gnu.org>
Wed, 17 Oct 2001 17:47:56 +0000 (17:47 +0000)
committerAndrew Innes <andrewi@gnu.org>
Wed, 17 Oct 2001 17:47:56 +0000 (17:47 +0000)
font_info.charset field.

src/w32fns.c

index 18e40ed..991ac7a 100644 (file)
@@ -5585,6 +5585,7 @@ w32_load_system_font (f,fontname,size)
     struct font_info *fontp;
     LOGFONT lf;
     BOOL ok;
+    int codepage;
     int i;
 
     if (!fontname || !x_to_w32_font (fontname, &lf))
@@ -5616,7 +5617,8 @@ w32_load_system_font (f,fontname,size)
       {
        HDC hdc;
        HANDLE oldobj;
-        int codepage = w32_codepage_for_font (fontname);
+
+        codepage = w32_codepage_for_font (fontname);
 
        hdc = GetDC (dpyinfo->root_window);
        oldobj = SelectObject (hdc, font->hfont);
@@ -5692,6 +5694,10 @@ w32_load_system_font (f,fontname,size)
 
     charset = xlfd_charset_of_font (fontname);
 
+  /* Cache the W32 codepage for a font.  This makes w32_encode_char
+     (called for every glyph during redisplay) much faster.  */
+    fontp->codepage = codepage;
+
     /* Work out the font's full name.  */
     full_name = (char *)xmalloc (100);
     if (full_name && w32_to_x_font (&lf, full_name, 100, charset))