On Mon, Dec 13, 2004 at 11:39:58PM +0800, Dmitry Timoshkov wrote:
Hello,
due to a GDI bug new values don't actually work, and that's another thing I'm going to look at.
Changelog: Dmitry Timoshkov dmitry@codeweavers.com Perform automatic bitmap font configuration based on the current locale.
diff -up cvs/hq/wine/dlls/kernel/locale.c wine/dlls/kernel/locale.c --- cvs/hq/wine/dlls/kernel/locale.c 2004-11-22 17:52:19.000000000 +0800 +++ wine/dlls/kernel/locale.c 2004-12-13 23:25:50.000000000 +0800 @@ -5,6 +5,7 @@
- Copyright 1998 David Lee Lambert
- Copyright 2000 Julio C?sar G?zquez
- Copyright 2002 Alexandre Julliard for CodeWeavers
- Copyright 2003, 2004 Dmitry Timoshkov
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
@@ -226,25 +227,175 @@ inline static HKEY create_registry_key(v { static const WCHAR intlW[] = {'C','o','n','t','r','o','l',' ','P','a','n','e','l','\', 'I','n','t','e','r','n','a','t','i','o','n','a','l',0};
OBJECT_ATTRIBUTES attr;
UNICODE_STRING nameW; HKEY hkey;
if (RtlOpenCurrentUser( KEY_ALL_ACCESS, &hkey ) != STATUS_SUCCESS) return 0;
attr.Length = sizeof(attr);
attr.RootDirectory = hkey;
attr.ObjectName = &nameW;
attr.Attributes = 0;
attr.SecurityDescriptor = NULL;
attr.SecurityQualityOfService = NULL;
RtlInitUnicodeString( &nameW, intlW );
- return NLS_RegOpenSubKey( hkey, intlW );
+}
- if (NtCreateKey( &hkey, KEY_ALL_ACCESS, &attr, 0, NULL, 0, NULL ) != STATUS_SUCCESS) hkey = 0;
- NtClose( attr.RootDirectory );
- return hkey;
+/***********************************************************************
create_fonts_registry_key
- Create the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Fonts
- registry subkey.
- */
+inline static HKEY create_fonts_registry_key(void) +{
- static const WCHAR fontsW[] = {
'M','a','c','h','i','n','e','\\','S','o','f','t','w','a','r','e','\\',
'M','i','c','r','o','s','o','f','t','\\','W','i','n','d','o','w','s',' ','N','T','\\',
'C','u','r','r','e','n','t','V','e','r','s','i','o','n','\\',
'F','o','n','t','s',0};
- return NLS_RegOpenKey( 0, fontsW );
}
You should probably put them under HKLM\Software\Microsoft\Windows\CurrentVersion\Fonts too. (Or at least use this key for winver=win9x, since this is where we'll look if running in win9x mode).
Huw.