Module: wine Branch: master Commit: 230b42055cd87d0cd27b50af108d9ba7a7fe5541 URL: http://source.winehq.org/git/wine.git/?a=commit;h=230b42055cd87d0cd27b50af10...
Author: Huw Davies huw@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 ); }
/*************************************************************