# HG changeset patch # User Andrew Innes # Date 1003340876 0 # Node ID f6ecf530f0a35cfa47f003ad7ed9c6511da72c7a # Parent 4aaeaa3a8e3b8bddb88321ec04fb1277d923011b (w32_load_system_font): Cache codepage for font, in font_info.charset field. diff -r 4aaeaa3a8e3b -r f6ecf530f0a3 src/w32fns.c --- a/src/w32fns.c Wed Oct 17 17:47:54 2001 +0000 +++ b/src/w32fns.c Wed Oct 17 17:47:56 2001 +0000 @@ -5585,6 +5585,7 @@ struct font_info *fontp; LOGFONT lf; BOOL ok; + int codepage; int i; if (!fontname || !x_to_w32_font (fontname, &lf)) @@ -5616,7 +5617,8 @@ { 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 @@ 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))