Huw Davies : gdi32: Move to a more scalable mechanism for picking the default fonts.

Alexandre Julliard julliard at winehq.org
Wed Oct 12 14:31:18 CDT 2011


Module: wine
Branch: master
Commit: 230b42055cd87d0cd27b50af108d9ba7a7fe5541
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=230b42055cd87d0cd27b50af108d9ba7a7fe5541

Author: Huw Davies <huw at codeweavers.com>
Date:   Wed Oct 12 11:55:12 2011 +0100

gdi32: Move to a more scalable mechanism for picking the default fonts.

---

 dlls/gdi32/freetype.c |   56 ++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 14 deletions(-)

diff --git a/dlls/gdi32/freetype.c b/dlls/gdi32/freetype.c
index fd00d0f..6bd49ed 100644
--- a/dlls/gdi32/freetype.c
+++ b/dlls/gdi32/freetype.c
@@ -415,6 +415,35 @@ static const WCHAR Gulim[] = {'G','u','l','i','m',0};
 static const WCHAR PMingLiU[] = {'P','M','i','n','g','L','i','U',0};
 static const WCHAR Batang[] = {'B','a','t','a','n','g',0};
 
+static const WCHAR arial[] = {'A','r','i','a','l',0};
+static const WCHAR bitstream_vera_sans[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','a','n','s',0};
+static const WCHAR bitstream_vera_sans_mono[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','a','n','s',' ','M','o','n','o',0};
+static const WCHAR bitstream_vera_serif[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','e','r','i','f',0};
+static const WCHAR courier_new[] = {'C','o','u','r','i','e','r',' ','N','e','w',0};
+static const WCHAR times_new_roman[] = {'T','i','m','e','s',' ','N','e','w',' ','R','o','m','a','n',0};
+
+static const WCHAR *default_serif_list[] =
+{
+    times_new_roman,
+    bitstream_vera_serif,
+    NULL
+};
+
+static const WCHAR *default_fixed_list[] =
+{
+    courier_new,
+    bitstream_vera_sans_mono,
+    NULL
+};
+
+static const WCHAR *default_sans_list[] =
+{
+    arial,
+    bitstream_vera_sans,
+    NULL
+};
+
+
 static const WCHAR ArabicW[] = {'A','r','a','b','i','c','\0'};
 static const WCHAR BalticW[] = {'B','a','l','t','i','c','\0'};
 static const WCHAR CHINESE_BIG5W[] = {'C','H','I','N','E','S','E','_','B','I','G','5','\0'};
@@ -3092,23 +3121,22 @@ static BOOL move_to_front(const WCHAR *name)
     return FALSE;
 }
 
-static const WCHAR arial[] = {'A','r','i','a','l',0};
-static const WCHAR bitstream_vera_sans[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','a','n','s',0};
-static const WCHAR bitstream_vera_sans_mono[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','a','n','s',' ','M','o','n','o',0};
-static const WCHAR bitstream_vera_serif[] = {'B','i','t','s','t','r','e','a','m',' ','V','e','r','a',' ','S','e','r','i','f',0};
-static const WCHAR courier_new[] = {'C','o','u','r','i','e','r',' ','N','e','w',0};
-static const WCHAR times_new_roman[] = {'T','i','m','e','s',' ','N','e','w',' ','R','o','m','a','n',0};
-
-static void reorder_font_list(void)
+static BOOL set_default(const WCHAR **name_list)
 {
-    if(!move_to_front(times_new_roman))
-        move_to_front(bitstream_vera_serif);
+    while (*name_list)
+    {
+        if (move_to_front(*name_list)) return TRUE;
+        name_list++;
+    }
 
-    if(!move_to_front(courier_new))
-        move_to_front(bitstream_vera_sans_mono);
+    return FALSE;
+}
 
-    if(!move_to_front(arial))
-        move_to_front(bitstream_vera_sans);
+static void reorder_font_list(void)
+{
+    set_default( default_serif_list );
+    set_default( default_fixed_list );
+    set_default( default_sans_list );
 }
 
 /*************************************************************




More information about the wine-cvs mailing list