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(a)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.
--
Huw Davies
huw(a)codeweavers.com