From 19c291d324bd521b35f4cb0c9082bf730bd77fd6 Mon Sep 17 00:00:00 2001 From: Andrew Innes Date: Wed, 17 Oct 2001 17:47:56 +0000 Subject: [PATCH] (w32_load_system_font): Cache codepage for font, in font_info.charset field. --- src/w32fns.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/w32fns.c b/src/w32fns.c index 18e40ed09ed..991ac7ac3af 100644 --- a/src/w32fns.c +++ b/src/w32fns.c @@ -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)) -- 2.39.2