Commit 19c291d3 authored by Andrew Innes's avatar Andrew Innes
Browse files

(w32_load_system_font): Cache codepage for font, in

font_info.charset field.
parent 677e7496
...@@ -5585,6 +5585,7 @@ w32_load_system_font (f,fontname,size) ...@@ -5585,6 +5585,7 @@ w32_load_system_font (f,fontname,size)
struct font_info *fontp; struct font_info *fontp;
LOGFONT lf; LOGFONT lf;
BOOL ok; BOOL ok;
int codepage;
int i; int i;
if (!fontname || !x_to_w32_font (fontname, &lf)) if (!fontname || !x_to_w32_font (fontname, &lf))
...@@ -5616,7 +5617,8 @@ w32_load_system_font (f,fontname,size) ...@@ -5616,7 +5617,8 @@ w32_load_system_font (f,fontname,size)
{ {
HDC hdc; HDC hdc;
HANDLE oldobj; HANDLE oldobj;
int codepage = w32_codepage_for_font (fontname);
codepage = w32_codepage_for_font (fontname);
hdc = GetDC (dpyinfo->root_window); hdc = GetDC (dpyinfo->root_window);
oldobj = SelectObject (hdc, font->hfont); oldobj = SelectObject (hdc, font->hfont);
...@@ -5692,6 +5694,10 @@ w32_load_system_font (f,fontname,size) ...@@ -5692,6 +5694,10 @@ w32_load_system_font (f,fontname,size)
charset = xlfd_charset_of_font (fontname); 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. */ /* Work out the font's full name. */
full_name = (char *)xmalloc (100); full_name = (char *)xmalloc (100);
if (full_name && w32_to_x_font (&lf, full_name, 100, charset)) if (full_name && w32_to_x_font (&lf, full_name, 100, charset))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment