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