1997-06-16 19:43:53 +02:00
|
|
|
/*
|
|
|
|
* X11 physical font objects
|
|
|
|
*
|
|
|
|
* Copyright 1997 Alex Korobka
|
|
|
|
*
|
2002-03-10 00:29:33 +01:00
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
|
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
*
|
1997-06-16 19:43:53 +02:00
|
|
|
* TODO: Mapping algorithm tweaks, FO_SYNTH_... flags (ExtTextOut() will
|
|
|
|
* have to be changed for that), dynamic font loading (FreeType).
|
|
|
|
*/
|
|
|
|
|
1999-02-04 12:11:01 +01:00
|
|
|
#include "config.h"
|
2002-04-26 21:05:15 +02:00
|
|
|
#include "wine/port.h"
|
1999-02-04 12:11:01 +01:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
#include <ctype.h>
|
2003-09-06 01:08:26 +02:00
|
|
|
#include <stdarg.h>
|
1997-06-16 19:43:53 +02:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
2002-08-17 02:43:16 +02:00
|
|
|
#ifdef HAVE_UNISTD_H
|
|
|
|
# include <unistd.h>
|
|
|
|
#endif
|
1997-06-16 19:43:53 +02:00
|
|
|
#include <sys/types.h>
|
|
|
|
#include <fcntl.h>
|
Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
1998-05-03 21:01:20 +02:00
|
|
|
#include <math.h>
|
2000-04-25 21:55:35 +02:00
|
|
|
|
2000-02-10 20:03:02 +01:00
|
|
|
#include "windef.h"
|
2003-08-20 20:22:31 +02:00
|
|
|
#include "winbase.h"
|
2000-02-10 20:03:02 +01:00
|
|
|
#include "wingdi.h"
|
2000-06-10 06:44:12 +02:00
|
|
|
#include "winnls.h"
|
2001-06-19 05:32:44 +02:00
|
|
|
#include "winreg.h"
|
2000-04-25 21:55:35 +02:00
|
|
|
#include "x11font.h"
|
2002-06-21 01:21:27 +02:00
|
|
|
#include "wine/library.h"
|
2001-07-24 23:45:22 +02:00
|
|
|
#include "wine/unicode.h"
|
2002-06-21 01:21:27 +02:00
|
|
|
#include "wine/debug.h"
|
1999-02-04 12:11:01 +01:00
|
|
|
|
2002-03-10 00:29:33 +01:00
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(font);
|
1999-04-19 16:56:29 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
#define X_PFONT_MAGIC (0xFADE0000)
|
|
|
|
#define X_FMC_MAGIC (0x0000CAFE)
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
#define MAX_FONTS 1024*16
|
Release 980601
Sun May 31 13:40:13 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c]
Added display of exception name.
* [loader/task.c]
Yet another attempt at fixing SwitchStackTo/SwitchStackBack.
* [memory/selector.c] [relay32/builtin32.c] [tools/build.c]
[win32/kernel32.c]
Generate an assembly stub for Win32 register functions to make
their names available at link time.
* [programs/*/Makefile.in]
Added hacks to support old resource compiler.
Fri May 29 16:27:14 1998 Marcus Meissner <marcus@jet.franken.de>
* [tools/testrun]
Merge of my testscripts at home into one single perl program
(tested with perl5). Works only on Linux due to 'ps' and 'ipcs'
magic.
* [controls/menu.c]
Added some DefaultMenuItem stubs.
* [debugger/stabs.c]
Fixed stabs loading, now supports (int,int) typeinfo format used
by gcc-2.8 and egcs-1. If it still crashes, please mail me.
* [if1632/][relay32/]
Added msvideo.dll (stubs only)
Replaced some ptr by str for stringcases
Added some new stubs (VxDCall, FindCloseNotif....)
* [misc/network.c]
Some argument fixes.
* [misc/registry.c][misc/cpu.c]
Registry initialization partially rewritten and enhanced.
* [scheduler/*.c]
Some additions so we don't do kill(0,SIGUSR1) (kill processgroup
instead of targeted thread)
Added SetThreadContext.
Thu May 28 23:59:59 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/*]
New resource compiler version 1.0.0 (28-May-1998)
* [Make.rules.in] [Makefile.in]
Changed and added rc rules to point to tools/wrc/wrc.
* [configure.in] [include/config.h.in]
Added check for function 'stricmp'.
* [include/resource.h]
Commented out the old resource structure to catch references.
It also includes wrc_rsc.h.
* [include/wrc_rsc.h]
New file. Definitions for the resources generated with wrc.
* [include/windows.h]
Added #ifdef RC_INVOKED to exclude stdarg.h.
Added SS_NOTIFY flag.
* [include/winnls.h]
Added SUBLANG_* definitions and corrected some defaults.
* [loader/libres.c]
Changed the sysres load functions to support wrc generated
resources.
* [resource/sysres_*.rc]
Added #include <windows.h>
* [resource/sysres.c]
Changed declarations to match wrc's output
* [resource/Makefile.in]
Changed rules to work with wrc.
* [tools/makedep.c]
Changed generation of .rc file dependencies to .s target.
Thu May 28 22:28:39 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [files/file.c][include/windows.c][relay32/kernel32.spec]
Implemented GetFileAttributesEx32A/W.
* [misc/imagelist.h][include/commctrl.h][relay32/comctl32.spec]
Added ImageList_Read and ImageList_Write stubs.
Added ImageList_AddIcon function.
Added ImageList_LoadImage. It is the same as ImageList_LoadImage32A.
* [controls/header.c]
Fixed bitmap drawing bug.
Added full bitmap support.
* [include/commctrl.h]
Added missing header macros.
* [controls/toolbar.c][include/toolbar.h][include/commctrl.h]
[controls/commctrl.c] [relay32/comctl32.spec]
First implementation of toolbar control.
Implemented CreateToolbar, CreateToolbarEx and CreateMappedBitmap.
* [controls/progress.c][controls/status.c]
Some code cleanup.
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Removed CreateStatusWindow16 and DrawStatusText16.
CreateStatusWindow is the same as CreateStatusWindow32A.
DrawStatusText is the same as DrawStatusText32A.
Thu May 28 16:01:28 1998 Matthew J. Francis <asbel@dial.pipex.com>
* [objects/bitmap.c] [objects/bitmap.h] [objects/oembitmap.c]
[objects/dc.c] [graphics/x11drv/bitblt.c]
Added partial implementation of CreateDIBSection, with great thanks
to Ulrich Weigand <weigand@informatik.uni-erlangen.de> for
contributing the bulk of the patch.
Wed May 27 19:04:31 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [win32/kernel32.c] [if1632/thunk.c] [include/flatthunk.h]
ThunkConnect16 and related functions moved to emulator.
* [loader/ne/segment.c]
Call DllEntryPoint with correct arguments.
* [relay32/builtin32.c]
Bugfix: Relay debugging did not work for multiple processes.
* [controls/menu.c]
Bugfix: dwItemData was not set for MF_OWNERDRAW menus.
* [if1632/relay.c] [relay32/relay386.c]
Relay messages converted to use DPRINTF.
* [controls/desktop.c] [relay32/user32.spec]
Implemented PaintDesktop.
* [files/profile.c] [if1632/kernel.spec] [misc/network.c]
[misc/printdrv.c] [relay32/winspool.spec]
[win32/ordinals.c] [relay32/kernel32.spec]
Some stubs added.
* [relay32/mpr.spec]
All ordinals were off by one.
Tue May 26 13:32:57 1998 Bill Hawes <whawes@star.net>
* [misc/lstr.c] [include/casemap.h] [tools/unimap.pl]
Added Unicode case conversion routines towupper/towlower,
with mapping tables casemap.h created by tools/unimap.pl.
* [misc/ntdll.c] [include/winnls.h] [relay32/ntdll.spec]
[relay32/advapi.spec]
Minimal implementation of IsTextUnicode, just enough to get
NT4 notepad to open ascii/unicode files.
* [Make.rules.in] [resources/sysres_En.rc]
Added include file dlgs.h for building resource files, so that
resources can refer to defined values (e.g. pshHelp).
* [misc/crtdll.c] [relay32/crtdll.spec]
Use towupper/towlower for 32W case conversions.
* [memory/string.c]
Use towupper for 32W case conversions.
* [ole/ole2nls.c]
Use towupper for 32W case conversions; fix mem leak; minor cleanup
* [controls/edit.c]
Added soft break flag to edit state. Print unknown action values
for WM_VSCROLL (action 190 occurs when running NT4 notepad.)
Mon May 25 22:42:40 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [files/file.c]
Care for a pathological case in SetFilePointer.
* [graphics/x11drv/xfont.c]
Handle longer Font names in LFD_ComposeLFD and try to catch errors.
* [loader/pe_image.c]
Unload Dummymodule when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [misc/registry.c]
Move a check for a special case in RegCreateKeyEx32W after the
check for existence.
Tue May 25 20:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/ntdll.c]
Added some stubs, just guessing at the size of their param lists.
* [misc/registry.c]
Added stubs for RegUnLoadKey, RegSetKeySecurity, RegSaveKey,
RegRestoreKey, and RegReplaceKey
* [programs/regtest/regtest.c]
Updated registry testing program.
Sun May 24 18:11:40 1998 Alex Priem <alexp@sci.kun.nl>
* [file/profile.c]
Added flag 'return_values' to PROFILE_GetSection.
Sun May 24 13:41:10 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c] [files/directory.c]
Documentation/debugging info additions.
* [*/*.c] [include/*.h]
Moved many extern function definitions to appropriate header files.
Cleaned up a few compile warnings.
If #include "debug.h" is present, removed #include <stdio.h>.
debug.h includes stdio.h, so it is not necessary to include both.
* [graphics/*.c] [if1632/signal.c] [ipc/*.c] [scheduler/*.c]
[win32/*.c] [windows/*.c]
Final patch to convert fprintf statements to new debugging interface.
Some fprintfs are still left, especially in the debugger/ directory.
However, IMHO, it's not worth the effort to change the rest.
Fri May 22 21:58:35 1998 Morten Welinder <terra@diku.dk>
* [windows/keyboard.c]
Correct handling of keys "`-=[]\;',./".
Fri May 22 12:06:00 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel32.spec] [win32/console.c]
Added stub for ReadConsoleOutputCharacter32A.
Thu May 21 16:45:48 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
Began better implementation of LCMapString32A.
Not very well tested yet, and still need improvements.
* [controls/scroll.c]
Documented functions.
Wed May 20 21:37:56 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/windows.h][misc/main.c]
Change SystemParameterInfo to support SPI_GETHIGHCONTRAST. Also
include some missing SPI_ definitions.
* [include/dsound.h][multimedia/dsound.c][relay32/dplayx.spec]
Added stubs for DirectPlayLobbyCreate[AW]. Not sure if these
should go into a new files dplayx.c? Anyone care?
* [include/winnls.h]
Added two missing flags for the CompareString32 functions.
1998-06-01 12:44:35 +02:00
|
|
|
#define MAX_LFD_LENGTH 256
|
1999-09-05 14:18:57 +02:00
|
|
|
#define TILDE '~'
|
|
|
|
#define HYPHEN '-'
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
#define DEF_POINT_SIZE 8 /* CreateFont(0 .. ) gets this */
|
|
|
|
#define DEF_SCALABLE_HEIGHT 100 /* pixels */
|
|
|
|
#define MIN_FONT_SIZE 2 /* Min size in pixels */
|
|
|
|
#define MAX_FONT_SIZE 1000 /* Max size in pixels */
|
1998-12-10 09:26:23 +01:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
#define REMOVE_SUBSETS 1
|
|
|
|
#define UNMARK_SUBSETS 0
|
|
|
|
|
2002-06-04 03:02:51 +02:00
|
|
|
#define FONTCACHE 32 /* dynamic font cache size */
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
#define FF_FAMILY (FF_MODERN | FF_SWISS | FF_ROMAN | FF_DECORATIVE | FF_SCRIPT)
|
|
|
|
|
|
|
|
typedef struct __fontAlias
|
|
|
|
{
|
|
|
|
LPSTR faTypeFace;
|
|
|
|
LPSTR faAlias;
|
|
|
|
struct __fontAlias* next;
|
|
|
|
} fontAlias;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static fontAlias *aliasTable = NULL;
|
1997-08-24 18:00:30 +02:00
|
|
|
|
2001-08-15 20:52:48 +02:00
|
|
|
static const char* INIFontMetrics = "cachedmetrics.";
|
2001-06-19 05:32:44 +02:00
|
|
|
static const char* INIFontSection = "Software\\Wine\\Wine\\Config\\fonts";
|
1998-12-26 20:42:02 +01:00
|
|
|
static const char* INIAliasSection = "Alias";
|
|
|
|
static const char* INIIgnoreSection = "Ignore";
|
1997-06-16 19:43:53 +02:00
|
|
|
static const char* INIDefault = "Default";
|
Release 971116
Sun Nov 16 07:42:44 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [windows/dce.c] [windows/clipboard.c] [windows/nonclient.c]
Bug fixes.
* [misc/shell.c] [resources/*]
New "About" dialog.
Sat Nov 15 17:30:18 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [configure.in] [Makefile.in]
Replaced --with-library option by --disable-emulator. The default
is now to build both the library and the emulator.
Renamed --with options to --enable to follow autoconf guidelines.
* [loader/main.c] [miscemu/main.c] (New file)
Split initialization in WinelibInit/EmulatorInit.
* [loader/*.c]
Removed all remaining #ifdef's WINELIB.
* [controls/widgets.c] [windows/mdi.c]
Converted MDIClientWndProc to 32-bit.
* [debugger/break.c] [if1632/signal.c] [include/selectors.h]
[scheduler/thread.c]
Code and data selector values are now computed at run-time.
* [library/libres.c]
Moved to loader/ directory.
* [misc/main.c] [misc/version.c] (New file)
Moved all version stuff to version.c. Cleaned up a bit.
* [msdos/dpmi.c]
Update the REALMODECALL structure on return from real-mode
interrupt.
* [windows/event.c] [windows/keyboard.c]
Changed the way event coordinates are determined. Don't rely on
the ConfigureNotify event values. This should fix all problems
with cursor position in -desktop and -managed modes.
Sat Nov 15 16:09:36 1997 Slaven Rezic <eserte@cs.tu-berlin.de>
* [controls/button.c]
(BUTTON_CheckAutoRadioButton): Prevent possible endless loop.
Wed Nov 12 03:42:45 1997 Chris Faherty <chrisf@america.com>
* [misc/ver.c]
Changed VerInstall32A to assume srcdir as destination if destdir
is blank. This was causing alot of DLL installation into SYSTEM
directory to fail.
* [loader/ne_image.c]
NE_LoadSegment buffer[100] was too small and getting overruns.
Changed it to buffer[200].
Sat Nov 8 06:09:57 1997 Len White <phreak@cgocable.net>
* [misc/ddeml.c] [include/ddeml.h] [if1632/ddeml.spec]
Added stub functions DdeConnectList(), DdeQueryNextServer(),
DdeDisconnectList(), DdeSetUserHandle(), DdeAbandonTransaction(),
DdePostAdvise(), DdeCreateDataHandle(), DdeAddData(), DdeGetData(),
DdeAccessData(), DdeUnaccessData(), DdeEnableCallback(),
DdeCmpStringHandles().
Fri Nov 7 19:44:26 1997 Olaf Flebbe <o.flebbe@science-computing.de>
* [files/directory.c]
Fix typo in directory.c [broke loading of cdplayer on nt40]
* [misc/main.c]
Implemented -winver nt40.
* [loader/resource.c] [user32.spec]
Stubs for CopyAcceleratorTable, Destroy AcceleratorTable.
Thu Nov 6 22:37:04 1997 Morten Welinder <welinder@rentec.com>
* [files/drive.c]
(GetDiskFreeSpace32A): Cap at 2GB.
* [include/windows.h]
Prototype DrawIconEx and CreateDIBSection32.
Define OBM_RADIOCHECK.
Add DI_* macros.
* [objects/dib.c] [if1632/gdi.spec]
CreateDIBSection is a WINAPI. Renamed to CreateDIBSection32.
Implement CreateDIBSection16.
* [if1632/user.spec] [if1632/user32.spec]
Add DrawIconEx.
* [objects/cursoricon.c]
(CopyIcon32): Fix bogus implementation.
* [objects/bitmap.c]
(CopyBitmap32): New function.
(CopyImage32): Do bitmaps.
* [graphics/x11drv/text.c]
(X11DRV_ExtTextOut): Change ascent and descent default to avoid
zero-thinkness overstrike line.
* [include/debugstr.h] [misc/debugstr.c]
New files.
* [msdos/dpmi.c]
Don't prototype do_mscdex. In INT_Int31Handler, handle real-mode
int 0x21, ah=0x52.
* [msdos/int2f.c]
Add dummys for 0x1681 and 0x1682.
* [misc/registry.c]
Fix memory leaks in RegDeleteKey32W.
* [objects/text.c]
In TEXT_NextLine, fix another off-by-one bug.
* [include/bitmaps/obm_radiocheck]
New file. (It a small circle used to radio-button menu items
when selected.)
* [objects/oembitmap.c]
Add obm_radiocheck.
* [include/windows.h] [if1632/user32.spec] [controls/menu.c]
[if1632/user.spec]
Define CheckMenuRadioItem{16,32}. Define GetMenuItemRect{16,32}.
Wed Nov 5 11:30:14 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [misc/main.c]
Auto adjust versions depending on binary.
Tue Nov 4 15:21:00 1997 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [controls/listbox.c]
Paint full background in listbox items with tab stops enabled.
* [if1632/thunk.c]
Copy some more message parameter structures (DRAWITEMSTRUCT16,
COMPAREITEMSTRUCT16) to the stack segment to fix broken programs
that need this.
* [windows/dce.c]
Only clip sibling windows when the parent has the WS_CLIPSIBLINGS
style set.
* [windows/focus.c]
Make order of events in FOCUS_SwitchFocus() reflect API docs.
* [windows/defdlg.c]
Fix problem with loss of focus in some dialogs.
* [win32/code_page.c]
Fix return value for MultiByteToWideChar().
* [BUGS]
BCW now works.
1997-11-16 18:38:29 +01:00
|
|
|
static const char* INIDefaultFixed = "DefaultFixed";
|
1997-08-24 18:00:30 +02:00
|
|
|
static const char* INIGlobalMetrics = "FontMetrics";
|
1998-12-14 17:39:29 +01:00
|
|
|
static const char* INIDefaultSerif = "DefaultSerif";
|
|
|
|
static const char* INIDefaultSansSerif = "DefaultSansSerif";
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* FIXME - are there any more Latin charsets ? */
|
2000-11-11 01:34:32 +01:00
|
|
|
/* FIXME - RUSSIAN, ARABIC, GREEK, HEBREW are NOT Latin */
|
1999-09-05 14:18:57 +02:00
|
|
|
#define IS_LATIN_CHARSET(ch) \
|
|
|
|
((ch)==ANSI_CHARSET ||\
|
|
|
|
(ch)==EE_CHARSET ||\
|
|
|
|
(ch)==ISO3_CHARSET ||\
|
|
|
|
(ch)==ISO4_CHARSET ||\
|
|
|
|
(ch)==RUSSIAN_CHARSET ||\
|
|
|
|
(ch)==ARABIC_CHARSET ||\
|
|
|
|
(ch)==GREEK_CHARSET ||\
|
|
|
|
(ch)==HEBREW_CHARSET ||\
|
|
|
|
(ch)==TURKISH_CHARSET ||\
|
2000-11-11 01:34:32 +01:00
|
|
|
(ch)==ISO10_CHARSET ||\
|
|
|
|
(ch)==BALTIC_CHARSET ||\
|
|
|
|
(ch)==CELTIC_CHARSET)
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* suffix-charset mapping tables - must be less than 254 entries long */
|
|
|
|
|
|
|
|
typedef struct __sufch
|
|
|
|
{
|
2000-08-14 19:25:13 +02:00
|
|
|
LPCSTR psuffix;
|
2000-08-20 21:04:04 +02:00
|
|
|
WORD charset; /* hibyte != 0 means *internal* charset */
|
2000-08-14 19:25:13 +02:00
|
|
|
WORD codepage;
|
|
|
|
WORD cptable;
|
1999-09-05 14:18:57 +02:00
|
|
|
} SuffixCharset;
|
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_ansi[] = {
|
|
|
|
{ "0", ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_iso646[] = {
|
|
|
|
{ "irv", ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_iso8859[] = {
|
|
|
|
{ "1", ANSI_CHARSET, 28591, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "2", EE_CHARSET, 28592, X11DRV_CPTABLE_SBCS },
|
2002-06-01 01:06:46 +02:00
|
|
|
{ "3", ISO3_CHARSET, 28593, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "4", ISO4_CHARSET, 28594, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ "5", RUSSIAN_CHARSET, 28595, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "6", ARABIC_CHARSET, 28596, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "7", GREEK_CHARSET, 28597, X11DRV_CPTABLE_SBCS },
|
2002-06-01 01:06:46 +02:00
|
|
|
{ "8", HEBREW_CHARSET, 28598, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ "9", TURKISH_CHARSET, 28599, X11DRV_CPTABLE_SBCS },
|
2000-11-11 01:34:32 +01:00
|
|
|
{ "10", ISO10_CHARSET, 28600, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ "11", THAI_CHARSET, 874, X11DRV_CPTABLE_SBCS }, /* FIXME */
|
|
|
|
{ "12", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
|
2000-11-11 01:34:32 +01:00
|
|
|
{ "13", BALTIC_CHARSET, 28603, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "14", CELTIC_CHARSET, 28604, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "15", ANSI_CHARSET, 28605, X11DRV_CPTABLE_SBCS },
|
2005-03-08 17:46:54 +01:00
|
|
|
{ "16", ISO3_CHARSET, 28606, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_microsoft[] = {
|
|
|
|
{ "cp1250", EE_CHARSET, 1250, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1251", RUSSIAN_CHARSET, 1251, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1252", ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1253", GREEK_CHARSET, 1253, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1254", TURKISH_CHARSET, 1254, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1255", HEBREW_CHARSET, 1255, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1256", ARABIC_CHARSET, 1256, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "cp1257", BALTIC_CHARSET, 1257, X11DRV_CPTABLE_SBCS },
|
2001-10-23 21:54:27 +02:00
|
|
|
{ "fontspecific", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SYMBOL },
|
|
|
|
{ "symbol", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SYMBOL },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_tcvn[] = {
|
|
|
|
{ "0", TCVN_CHARSET, 1252, X11DRV_CPTABLE_SBCS }, /* FIXME */
|
|
|
|
{ NULL, TCVN_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_tis620[] = {
|
|
|
|
{ "0", THAI_CHARSET, 874, X11DRV_CPTABLE_SBCS }, /* FIXME */
|
|
|
|
{ NULL, THAI_CHARSET, 874, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_viscii[] = {
|
|
|
|
{ "1", VISCII_CHARSET, 1252, X11DRV_CPTABLE_SBCS }, /* FIXME */
|
|
|
|
{ NULL, VISCII_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_windows[] = {
|
|
|
|
{ "1250", EE_CHARSET, 1250, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "1251", RUSSIAN_CHARSET, 1251, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "1252", ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "1253", GREEK_CHARSET, 1253, X11DRV_CPTABLE_SBCS },
|
2002-06-01 01:06:46 +02:00
|
|
|
{ "1254", TURKISH_CHARSET, 1254, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "1255", HEBREW_CHARSET, 1255, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ "1256", ARABIC_CHARSET, 1256, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "1257", BALTIC_CHARSET, 1257, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, ANSI_CHARSET, 1252, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
|
|
|
static const SuffixCharset sufch_koi8[] = {
|
|
|
|
{ "r", RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS },
|
2005-01-19 21:59:31 +01:00
|
|
|
{ "ru", RUSSIAN_CHARSET, 21866, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ "u", RUSSIAN_CHARSET, 21866, X11DRV_CPTABLE_SBCS },
|
2000-08-14 19:25:13 +02:00
|
|
|
{ NULL, RUSSIAN_CHARSET, 20866, X11DRV_CPTABLE_SBCS }};
|
1999-12-25 23:47:09 +01:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_jisx0201[] = {
|
2000-08-20 21:04:04 +02:00
|
|
|
{ "0", X11FONT_JISX0201_CHARSET, 932, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, X11FONT_JISX0201_CHARSET, 932, X11DRV_CPTABLE_SBCS }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_jisx0208[] = {
|
|
|
|
{ "0", SHIFTJIS_CHARSET, 932, X11DRV_CPTABLE_CP932 },
|
|
|
|
{ NULL, SHIFTJIS_CHARSET, 932, X11DRV_CPTABLE_CP932 }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-09-04 22:19:59 +02:00
|
|
|
static const SuffixCharset sufch_jisx0212[] = {
|
|
|
|
{ "0", X11FONT_JISX0212_CHARSET, 932, X11DRV_CPTABLE_CP932 },
|
|
|
|
{ NULL, X11FONT_JISX0212_CHARSET, 932, X11DRV_CPTABLE_CP932 }};
|
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_ksc5601[] = {
|
|
|
|
{ "0", HANGEUL_CHARSET, 949, X11DRV_CPTABLE_CP949 },
|
|
|
|
{ NULL, HANGEUL_CHARSET, 949, X11DRV_CPTABLE_CP949 }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_gb2312[] = {
|
|
|
|
{ "0", GB2312_CHARSET, 936, X11DRV_CPTABLE_CP936 },
|
|
|
|
{ NULL, GB2312_CHARSET, 936, X11DRV_CPTABLE_CP936 }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_big5[] = {
|
|
|
|
{ "0", CHINESEBIG5_CHARSET, 950, X11DRV_CPTABLE_CP950 },
|
|
|
|
{ NULL, CHINESEBIG5_CHARSET, 950, X11DRV_CPTABLE_CP950 }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_unicode[] = {
|
|
|
|
{ "0", DEFAULT_CHARSET, 0, X11DRV_CPTABLE_UNICODE },
|
|
|
|
{ NULL, DEFAULT_CHARSET, 0, X11DRV_CPTABLE_UNICODE }};
|
2000-07-15 23:28:05 +02:00
|
|
|
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_iso10646[] = {
|
|
|
|
{ "1", DEFAULT_CHARSET, 0, X11DRV_CPTABLE_UNICODE },
|
|
|
|
{ NULL, DEFAULT_CHARSET, 0, X11DRV_CPTABLE_UNICODE }};
|
2000-08-14 15:25:43 +02:00
|
|
|
|
2002-01-29 04:07:21 +01:00
|
|
|
static const SuffixCharset sufch_dec[] = {
|
|
|
|
{ "dectech", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, 0, 0, X11DRV_CPTABLE_SBCS }};
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Each of these must be matched explicitly */
|
2000-08-14 19:25:13 +02:00
|
|
|
static const SuffixCharset sufch_any[] = {
|
|
|
|
{ "fontspecific", SYMBOL_CHARSET, CP_SYMBOL, X11DRV_CPTABLE_SBCS },
|
|
|
|
{ NULL, 0, 0, X11DRV_CPTABLE_SBCS }};
|
1999-09-05 14:18:57 +02:00
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
|
|
|
|
typedef struct __fet
|
|
|
|
{
|
2003-10-22 01:57:25 +02:00
|
|
|
LPCSTR prefix;
|
2000-08-14 19:25:13 +02:00
|
|
|
const SuffixCharset* sufch;
|
1999-09-05 14:18:57 +02:00
|
|
|
struct __fet* next;
|
1998-12-26 20:42:02 +01:00
|
|
|
} fontEncodingTemplate;
|
|
|
|
|
|
|
|
/* Note: we can attach additional encoding mappings to the end
|
|
|
|
* of this table at runtime.
|
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static fontEncodingTemplate __fETTable[] = {
|
|
|
|
{ "ansi", sufch_ansi, &__fETTable[1] },
|
|
|
|
{ "ascii", sufch_ansi, &__fETTable[2] },
|
|
|
|
{ "iso646.1991", sufch_iso646, &__fETTable[3] },
|
|
|
|
{ "iso8859", sufch_iso8859, &__fETTable[4] },
|
|
|
|
{ "microsoft", sufch_microsoft, &__fETTable[5] },
|
|
|
|
{ "tcvn", sufch_tcvn, &__fETTable[6] },
|
|
|
|
{ "tis620.2533", sufch_tis620, &__fETTable[7] },
|
|
|
|
{ "viscii1.1", sufch_viscii, &__fETTable[8] },
|
|
|
|
{ "windows", sufch_windows, &__fETTable[9] },
|
2000-07-15 23:28:05 +02:00
|
|
|
{ "koi8", sufch_koi8, &__fETTable[10]},
|
|
|
|
{ "jisx0201.1976",sufch_jisx0201, &__fETTable[11]},
|
|
|
|
{ "jisc6226.1978",sufch_jisx0208, &__fETTable[12]},
|
|
|
|
{ "jisx0208.1983",sufch_jisx0208, &__fETTable[13]},
|
|
|
|
{ "jisx0208.1990",sufch_jisx0208, &__fETTable[14]},
|
2000-09-04 22:19:59 +02:00
|
|
|
{ "jisx0212.1990",sufch_jisx0212, &__fETTable[15]},
|
|
|
|
{ "ksc5601.1987", sufch_ksc5601, &__fETTable[16]},
|
|
|
|
{ "gb2312.1980", sufch_gb2312, &__fETTable[17]},
|
2001-06-25 23:01:00 +02:00
|
|
|
{ "big5", sufch_big5, &__fETTable[18]},
|
2000-09-04 22:19:59 +02:00
|
|
|
{ "unicode", sufch_unicode, &__fETTable[19]},
|
|
|
|
{ "iso10646", sufch_iso10646, &__fETTable[20]},
|
|
|
|
{ "cp", sufch_windows, &__fETTable[21]},
|
2002-01-29 04:07:21 +01:00
|
|
|
{ "dec", sufch_dec, &__fETTable[22]},
|
1999-09-05 14:18:57 +02:00
|
|
|
/* NULL prefix matches anything so put it last */
|
|
|
|
{ NULL, sufch_any, NULL },
|
|
|
|
};
|
1998-12-26 20:42:02 +01:00
|
|
|
static fontEncodingTemplate* fETTable = __fETTable;
|
|
|
|
|
2000-09-24 21:31:12 +02:00
|
|
|
/* a charset database for known facenames */
|
|
|
|
struct CharsetBindingInfo
|
|
|
|
{
|
|
|
|
const char* pszFaceName;
|
|
|
|
BYTE charset;
|
|
|
|
};
|
|
|
|
static const struct CharsetBindingInfo charsetbindings[] =
|
|
|
|
{
|
|
|
|
/* special facenames */
|
|
|
|
{ "System", DEFAULT_CHARSET },
|
|
|
|
{ "FixedSys", DEFAULT_CHARSET },
|
|
|
|
|
|
|
|
/* known facenames */
|
|
|
|
{ "MS Serif", ANSI_CHARSET },
|
|
|
|
{ "MS Sans Serif", ANSI_CHARSET },
|
|
|
|
{ "Courier", ANSI_CHARSET },
|
|
|
|
{ "Symbol", SYMBOL_CHARSET },
|
|
|
|
|
|
|
|
{ "Arial", ANSI_CHARSET },
|
|
|
|
{ "Arial Greek", GREEK_CHARSET },
|
|
|
|
{ "Arial Tur", TURKISH_CHARSET },
|
|
|
|
{ "Arial Baltic", BALTIC_CHARSET },
|
|
|
|
{ "Arial CE", EASTEUROPE_CHARSET },
|
|
|
|
{ "Arial Cyr", RUSSIAN_CHARSET },
|
|
|
|
{ "Courier New", ANSI_CHARSET },
|
|
|
|
{ "Courier New Greek", GREEK_CHARSET },
|
|
|
|
{ "Courier New Tur", TURKISH_CHARSET },
|
|
|
|
{ "Courier New Baltic", BALTIC_CHARSET },
|
|
|
|
{ "Courier New CE", EASTEUROPE_CHARSET },
|
|
|
|
{ "Courier New Cyr", RUSSIAN_CHARSET },
|
|
|
|
{ "Times New Roman", ANSI_CHARSET },
|
|
|
|
{ "Times New Roman Greek", GREEK_CHARSET },
|
|
|
|
{ "Times New Roman Tur", TURKISH_CHARSET },
|
|
|
|
{ "Times New Roman Baltic", BALTIC_CHARSET },
|
|
|
|
{ "Times New Roman CE", EASTEUROPE_CHARSET },
|
|
|
|
{ "Times New Roman Cyr", RUSSIAN_CHARSET },
|
|
|
|
|
|
|
|
{ "\x82\x6c\x82\x72 \x83\x53\x83\x56\x83\x62\x83\x4e",
|
|
|
|
SHIFTJIS_CHARSET }, /* MS gothic */
|
|
|
|
{ "\x82\x6c\x82\x72 \x82\x6f\x83\x53\x83\x56\x83\x62\x83\x4e",
|
|
|
|
SHIFTJIS_CHARSET }, /* MS P gothic */
|
|
|
|
{ "\x82\x6c\x82\x72 \x96\xbe\x92\xa9",
|
|
|
|
SHIFTJIS_CHARSET }, /* MS mincho */
|
|
|
|
{ "\x82\x6c\x82\x72 \x82\x6f\x96\xbe\x92\xa9",
|
|
|
|
SHIFTJIS_CHARSET }, /* MS P mincho */
|
|
|
|
{ "GulimChe", HANGEUL_CHARSET },
|
|
|
|
{ "MS Song", GB2312_CHARSET },
|
|
|
|
{ "MS Hei", GB2312_CHARSET },
|
2001-06-25 23:01:00 +02:00
|
|
|
{ "\xb7\x73\xb2\xd3\xa9\xfa\xc5\xe9", CHINESEBIG5_CHARSET },/*MS Mingliu*/
|
|
|
|
{ "\xb2\xd3\xa9\xfa\xc5\xe9", CHINESEBIG5_CHARSET },
|
2000-09-24 21:31:12 +02:00
|
|
|
|
|
|
|
{ NULL, 0 }
|
|
|
|
};
|
|
|
|
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static int DefResolution = 0;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2003-08-13 01:50:54 +02:00
|
|
|
static CRITICAL_SECTION crtsc_fonts_X11;
|
|
|
|
static CRITICAL_SECTION_DEBUG critsect_debug =
|
|
|
|
{
|
|
|
|
0, 0, &crtsc_fonts_X11,
|
|
|
|
{ &critsect_debug.ProcessLocksList, &critsect_debug.ProcessLocksList },
|
|
|
|
0, 0, { 0, (DWORD)(__FILE__ ": crtsc_fonts_X11") }
|
|
|
|
};
|
|
|
|
static CRITICAL_SECTION crtsc_fonts_X11 = { &critsect_debug, -1, 0, 0, 0, 0 };
|
1998-12-26 20:42:02 +01:00
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
static fontResource* fontList = NULL;
|
1997-06-16 19:43:53 +02:00
|
|
|
static fontObject* fontCache = NULL; /* array */
|
2004-08-12 01:45:34 +02:00
|
|
|
static unsigned int fontCacheSize = FONTCACHE;
|
1997-06-16 19:43:53 +02:00
|
|
|
static int fontLF = -1, fontMRU = -1; /* last free, most recently used */
|
|
|
|
|
1999-02-26 12:11:13 +01:00
|
|
|
#define __PFONT(pFont) ( fontCache + ((UINT)(pFont) & 0x0000FFFF) )
|
|
|
|
#define CHECK_PFONT(pFont) ( (((UINT)(pFont) & 0xFFFF0000) == X_PFONT_MAGIC) &&\
|
|
|
|
(((UINT)(pFont) & 0x0000FFFF) < fontCacheSize) )
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* Helper macros from X distribution
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define CI_NONEXISTCHAR(cs) (((cs)->width == 0) && \
|
|
|
|
(((cs)->rbearing|(cs)->lbearing| \
|
|
|
|
(cs)->ascent|(cs)->descent) == 0))
|
|
|
|
|
|
|
|
#define CI_GET_CHAR_INFO(fs,col,def,cs) \
|
|
|
|
{ \
|
|
|
|
cs = def; \
|
|
|
|
if (col >= fs->min_char_or_byte2 && col <= fs->max_char_or_byte2) { \
|
|
|
|
if (fs->per_char == NULL) { \
|
|
|
|
cs = &fs->min_bounds; \
|
|
|
|
} else { \
|
|
|
|
cs = &fs->per_char[(col - fs->min_char_or_byte2)]; \
|
|
|
|
if (CI_NONEXISTCHAR(cs)) cs = def; \
|
|
|
|
} \
|
|
|
|
} \
|
|
|
|
}
|
|
|
|
|
|
|
|
#define CI_GET_DEFAULT_INFO(fs,cs) \
|
|
|
|
CI_GET_CHAR_INFO(fs, fs->default_char, NULL, cs)
|
|
|
|
|
2001-08-16 21:13:52 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* is_stock_font
|
|
|
|
*/
|
|
|
|
inline static BOOL is_stock_font( HFONT font )
|
|
|
|
{
|
2001-08-17 02:07:13 +02:00
|
|
|
int i;
|
|
|
|
for (i = OEM_FIXED_FONT; i <= DEFAULT_GUI_FONT; i++)
|
|
|
|
{
|
|
|
|
if (i != DEFAULT_PALETTE && font == GetStockObject(i)) return TRUE;
|
|
|
|
}
|
|
|
|
return FALSE;
|
2001-08-16 21:13:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
2002-08-29 00:35:23 +02:00
|
|
|
static void FONT_LogFontWTo16( const LOGFONTW* font32, LPLOGFONT16 font16 )
|
|
|
|
{
|
|
|
|
font16->lfHeight = font32->lfHeight;
|
|
|
|
font16->lfWidth = font32->lfWidth;
|
|
|
|
font16->lfEscapement = font32->lfEscapement;
|
|
|
|
font16->lfOrientation = font32->lfOrientation;
|
|
|
|
font16->lfWeight = font32->lfWeight;
|
|
|
|
font16->lfItalic = font32->lfItalic;
|
|
|
|
font16->lfUnderline = font32->lfUnderline;
|
|
|
|
font16->lfStrikeOut = font32->lfStrikeOut;
|
|
|
|
font16->lfCharSet = font32->lfCharSet;
|
|
|
|
font16->lfOutPrecision = font32->lfOutPrecision;
|
|
|
|
font16->lfClipPrecision = font32->lfClipPrecision;
|
|
|
|
font16->lfQuality = font32->lfQuality;
|
|
|
|
font16->lfPitchAndFamily = font32->lfPitchAndFamily;
|
|
|
|
WideCharToMultiByte( CP_ACP, 0, font32->lfFaceName, -1,
|
|
|
|
font16->lfFaceName, LF_FACESIZE, NULL, NULL );
|
|
|
|
font16->lfFaceName[LF_FACESIZE-1] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* Checksums
|
|
|
|
*/
|
|
|
|
static UINT16 __lfCheckSum( LPLOGFONT16 plf )
|
|
|
|
{
|
|
|
|
CHAR font[LF_FACESIZE];
|
|
|
|
UINT16 checksum = 0;
|
2000-08-23 21:15:02 +02:00
|
|
|
UINT16 *ptr;
|
|
|
|
int i;
|
|
|
|
|
|
|
|
ptr = (UINT16 *)plf;
|
|
|
|
for (i = 0; i < 9; i++) checksum ^= *ptr++;
|
|
|
|
for (i = 0; i < LF_FACESIZE; i++)
|
|
|
|
{
|
|
|
|
font[i] = tolower(plf->lfFaceName[i]);
|
|
|
|
if (!font[i] || font[i] == ' ') break;
|
|
|
|
}
|
|
|
|
for (ptr = (UINT16 *)font, i >>= 1; i > 0; i-- ) checksum ^= *ptr++;
|
1997-06-16 19:43:53 +02:00
|
|
|
return checksum;
|
|
|
|
}
|
|
|
|
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
static UINT16 __genericCheckSum( const void *ptr, int size )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
unsigned int checksum = 0;
|
|
|
|
const char *p = (const char *)ptr;
|
|
|
|
while (size-- > 0)
|
|
|
|
checksum ^= (checksum << 3) + (checksum >> 29) + *p++;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
return checksum & 0xffff;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
* LFD parse/compose routines
|
1999-09-05 14:18:57 +02:00
|
|
|
*
|
|
|
|
* NB. LFD_Parse will use lpFont for its own ends, so if you want to keep it
|
|
|
|
* make a copy first
|
|
|
|
*
|
|
|
|
* These functions also do TILDE to HYPHEN conversion
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
2003-11-21 22:48:36 +01:00
|
|
|
static BOOL LFD_Parse(LPSTR lpFont, LFD *lfd)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
char *lpch = lpFont, *lfd_fld[LFD_FIELDS], *field_start;
|
|
|
|
int i;
|
|
|
|
if (*lpch != HYPHEN)
|
|
|
|
{
|
1999-12-25 23:47:09 +01:00
|
|
|
WARN("font '%s' doesn't begin with '%c'\n", lpFont, HYPHEN);
|
2003-11-21 22:48:36 +01:00
|
|
|
return FALSE;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
field_start = ++lpch;
|
|
|
|
for( i = 0; i < LFD_FIELDS; )
|
|
|
|
{
|
|
|
|
if (*lpch == HYPHEN)
|
|
|
|
{
|
|
|
|
*lpch = '\0';
|
|
|
|
lfd_fld[i] = field_start;
|
|
|
|
i++;
|
|
|
|
field_start = ++lpch;
|
|
|
|
}
|
|
|
|
else if (!*lpch)
|
|
|
|
{
|
|
|
|
lfd_fld[i] = field_start;
|
|
|
|
i++;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
else if (*lpch == TILDE)
|
|
|
|
{
|
|
|
|
*lpch = HYPHEN;
|
|
|
|
++lpch;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
++lpch;
|
|
|
|
}
|
|
|
|
/* Fill in the empty fields with NULLS */
|
|
|
|
for (; i< LFD_FIELDS; i++)
|
|
|
|
lfd_fld[i] = NULL;
|
|
|
|
if (*lpch)
|
|
|
|
WARN("Extra ignored in font '%s'\n", lpFont);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
lfd->foundry = lfd_fld[0];
|
|
|
|
lfd->family = lfd_fld[1];
|
|
|
|
lfd->weight = lfd_fld[2];
|
|
|
|
lfd->slant = lfd_fld[3];
|
|
|
|
lfd->set_width = lfd_fld[4];
|
|
|
|
lfd->add_style = lfd_fld[5];
|
|
|
|
lfd->pixel_size = lfd_fld[6];
|
|
|
|
lfd->point_size = lfd_fld[7];
|
|
|
|
lfd->resolution_x = lfd_fld[8];
|
|
|
|
lfd->resolution_y = lfd_fld[9];
|
|
|
|
lfd->spacing = lfd_fld[10];
|
|
|
|
lfd->average_width = lfd_fld[11];
|
|
|
|
lfd->charset_registry = lfd_fld[12];
|
|
|
|
lfd->charset_encoding = lfd_fld[13];
|
|
|
|
return TRUE;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static void LFD_UnParse(LPSTR dp, UINT buf_size, LFD* lfd)
|
|
|
|
{
|
2000-08-14 19:25:13 +02:00
|
|
|
const char* lfd_fld[LFD_FIELDS];
|
1999-09-05 14:18:57 +02:00
|
|
|
int i;
|
|
|
|
|
|
|
|
if (!buf_size)
|
2004-01-06 23:08:33 +01:00
|
|
|
return; /* Don't be silly */
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
lfd_fld[0] = lfd->foundry;
|
|
|
|
lfd_fld[1] = lfd->family;
|
|
|
|
lfd_fld[2] = lfd->weight ;
|
|
|
|
lfd_fld[3] = lfd->slant ;
|
|
|
|
lfd_fld[4] = lfd->set_width ;
|
|
|
|
lfd_fld[5] = lfd->add_style;
|
|
|
|
lfd_fld[6] = lfd->pixel_size;
|
|
|
|
lfd_fld[7] = lfd->point_size;
|
|
|
|
lfd_fld[8] = lfd->resolution_x;
|
|
|
|
lfd_fld[9] = lfd->resolution_y ;
|
|
|
|
lfd_fld[10] = lfd->spacing ;
|
|
|
|
lfd_fld[11] = lfd->average_width ;
|
|
|
|
lfd_fld[12] = lfd->charset_registry ;
|
|
|
|
lfd_fld[13] = lfd->charset_encoding ;
|
|
|
|
|
|
|
|
buf_size--; /* Room for the terminator */
|
|
|
|
|
|
|
|
for (i = 0; i < LFD_FIELDS; i++)
|
|
|
|
{
|
2000-08-14 19:25:13 +02:00
|
|
|
const char* sp = lfd_fld[i];
|
1999-09-05 14:18:57 +02:00
|
|
|
if (!sp || !buf_size)
|
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
*dp++ = HYPHEN;
|
|
|
|
buf_size--;
|
|
|
|
while (buf_size > 0 && *sp)
|
|
|
|
{
|
|
|
|
*dp = (*sp == HYPHEN) ? TILDE : *sp;
|
|
|
|
buf_size--;
|
|
|
|
dp++; sp++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*dp = '\0';
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
static void LFD_GetWeight( fontInfo* fi, LPCSTR lpStr)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2000-08-06 04:41:16 +02:00
|
|
|
int j = strlen(lpStr);
|
2002-06-01 01:06:46 +02:00
|
|
|
if( j == 1 && *lpStr == '0')
|
1999-09-05 14:18:57 +02:00
|
|
|
fi->fi_flags |= FI_POLYWEIGHT;
|
|
|
|
else if( j == 4 )
|
|
|
|
{
|
|
|
|
if( !strcasecmp( "bold", lpStr) )
|
2002-06-01 01:06:46 +02:00
|
|
|
fi->df.dfWeight = FW_BOLD;
|
1999-09-05 14:18:57 +02:00
|
|
|
else if( !strcasecmp( "demi", lpStr) )
|
|
|
|
{
|
|
|
|
fi->fi_flags |= FI_FW_DEMI;
|
|
|
|
fi->df.dfWeight = FW_DEMIBOLD;
|
|
|
|
}
|
|
|
|
else if( !strcasecmp( "book", lpStr) )
|
|
|
|
{
|
|
|
|
fi->fi_flags |= FI_FW_BOOK;
|
|
|
|
fi->df.dfWeight = FW_REGULAR;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if( j == 5 )
|
|
|
|
{
|
|
|
|
if( !strcasecmp( "light", lpStr) )
|
|
|
|
fi->df.dfWeight = FW_LIGHT;
|
|
|
|
else if( !strcasecmp( "black", lpStr) )
|
|
|
|
fi->df.dfWeight = FW_BLACK;
|
|
|
|
}
|
|
|
|
else if( j == 6 && !strcasecmp( "medium", lpStr) )
|
2002-06-01 01:06:46 +02:00
|
|
|
fi->df.dfWeight = FW_REGULAR;
|
1999-09-05 14:18:57 +02:00
|
|
|
else if( j == 8 && !strcasecmp( "demibold", lpStr) )
|
2002-06-01 01:06:46 +02:00
|
|
|
fi->df.dfWeight = FW_DEMIBOLD;
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
|
|
|
fi->df.dfWeight = FW_DONTCARE; /* FIXME: try to get something
|
|
|
|
* from the weight property */
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static BOOL LFD_GetSlant( fontInfo* fi, LPCSTR lpStr)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2000-08-06 04:41:16 +02:00
|
|
|
int l = strlen(lpStr);
|
1997-06-16 19:43:53 +02:00
|
|
|
if( l == 1 )
|
|
|
|
{
|
|
|
|
switch( tolower( *lpStr ) )
|
|
|
|
{
|
|
|
|
case '0': fi->fi_flags |= FI_POLYSLANT; /* haven't seen this one yet */
|
|
|
|
default:
|
|
|
|
case 'r': fi->df.dfItalic = 0;
|
|
|
|
break;
|
|
|
|
case 'o':
|
|
|
|
fi->fi_flags |= FI_OBLIQUE;
|
|
|
|
case 'i': fi->df.dfItalic = 1;
|
|
|
|
break;
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
static void LFD_GetStyle( fontInfo* fi, LPCSTR lpstr, int dec_style_check)
|
|
|
|
{
|
2000-08-06 04:41:16 +02:00
|
|
|
int j = strlen(lpstr);
|
1999-09-05 14:18:57 +02:00
|
|
|
if( j > 3 ) /* find out is there "sans" or "script" */
|
|
|
|
{
|
|
|
|
j = 0;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
|
|
|
if( strstr(lpstr, "sans") )
|
|
|
|
{
|
|
|
|
fi->df.dfPitchAndFamily |= FF_SWISS;
|
|
|
|
j = 1;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
if( strstr(lpstr, "script") )
|
|
|
|
{
|
|
|
|
fi->df.dfPitchAndFamily |= FF_SCRIPT;
|
|
|
|
j = 1;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
if( !j && dec_style_check )
|
1999-09-05 14:18:57 +02:00
|
|
|
fi->df.dfPitchAndFamily |= FF_DECORATIVE;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/*************************************************************************
|
|
|
|
* LFD_InitFontInfo
|
|
|
|
*
|
1998-12-26 20:42:02 +01:00
|
|
|
* INIT ONLY
|
|
|
|
*
|
1997-06-16 19:43:53 +02:00
|
|
|
* Fill in some fields in the fontInfo struct.
|
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static int LFD_InitFontInfo( fontInfo* fi, const LFD* lfd, LPCSTR fullname )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
int i, j, dec_style_check, scalability;
|
1998-12-26 20:42:02 +01:00
|
|
|
fontEncodingTemplate* boba;
|
1999-09-05 14:18:57 +02:00
|
|
|
const char* ridiculous = "font '%s' has ridiculous %s\n";
|
2000-08-14 19:25:13 +02:00
|
|
|
const char* lpstr;
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
if (!lfd->charset_registry)
|
|
|
|
{
|
|
|
|
WARN("font '%s' does not have enough fields\n", fullname);
|
|
|
|
return FALSE;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
memset(fi, 0, sizeof(fontInfo) );
|
|
|
|
|
|
|
|
/* weight name - */
|
1999-09-05 14:18:57 +02:00
|
|
|
LFD_GetWeight( fi, lfd->weight);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* slant - */
|
1999-09-05 14:18:57 +02:00
|
|
|
dec_style_check = LFD_GetSlant( fi, lfd->slant);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* width name - */
|
1999-09-05 14:18:57 +02:00
|
|
|
lpstr = lfd->set_width;
|
|
|
|
if( strcasecmp( "normal", lpstr) ) /* XXX 'narrow', 'condensed', etc... */
|
1997-06-16 19:43:53 +02:00
|
|
|
dec_style_check = TRUE;
|
|
|
|
else
|
|
|
|
fi->fi_flags |= FI_NORMAL;
|
|
|
|
|
|
|
|
/* style - */
|
1999-09-05 14:18:57 +02:00
|
|
|
LFD_GetStyle(fi, lfd->add_style, dec_style_check);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* pixel & decipoint height, and res_x & y */
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
scalability = 0;
|
|
|
|
|
|
|
|
j = strlen(lfd->pixel_size);
|
|
|
|
if( j == 0 || j > 3 )
|
|
|
|
{
|
2002-05-29 21:09:54 +02:00
|
|
|
WARN(ridiculous, fullname, "pixel_size");
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
if( !(fi->lfd_height = atoi(lfd->pixel_size)) )
|
|
|
|
scalability++;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
j = strlen(lfd->point_size);
|
|
|
|
if( j == 0 || j > 3 )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2002-05-29 21:09:54 +02:00
|
|
|
WARN(ridiculous, fullname, "point_size");
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
if( !(atoi(lfd->point_size)) )
|
|
|
|
scalability++;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
j = strlen(lfd->resolution_x);
|
|
|
|
if( j == 0 || j > 3 )
|
|
|
|
{
|
2002-05-29 21:09:54 +02:00
|
|
|
WARN(ridiculous, fullname, "resolution_x");
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
if( !(fi->lfd_resolution = atoi(lfd->resolution_x)) )
|
|
|
|
scalability++;
|
|
|
|
|
|
|
|
j = strlen(lfd->resolution_y);
|
|
|
|
if( j == 0 || j > 3 )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2002-05-29 21:09:54 +02:00
|
|
|
WARN(ridiculous, fullname, "resolution_y");
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
if( !(atoi(lfd->resolution_y)) )
|
|
|
|
scalability++;
|
|
|
|
|
|
|
|
/* Check scalability */
|
|
|
|
switch (scalability)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
case 0: /* Bitmap */
|
|
|
|
break;
|
|
|
|
case 4: /* Scalable */
|
|
|
|
fi->fi_flags |= FI_SCALABLE;
|
|
|
|
break;
|
2000-01-08 23:27:31 +01:00
|
|
|
case 2:
|
|
|
|
/* #$%^!!! X11R6 mutant garbage (scalable bitmap) */
|
|
|
|
TRACE("Skipping scalable bitmap '%s'\n", fullname);
|
|
|
|
return FALSE;
|
1999-09-05 14:18:57 +02:00
|
|
|
default:
|
|
|
|
WARN("Font '%s' has weird scalability\n", fullname);
|
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* spacing - */
|
|
|
|
lpstr = lfd->spacing;
|
1997-06-16 19:43:53 +02:00
|
|
|
switch( *lpstr )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
case '\0':
|
|
|
|
WARN("font '%s' has no spacing\n", fullname);
|
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
case 'p': fi->fi_flags |= FI_VARIABLEPITCH;
|
|
|
|
break;
|
|
|
|
case 'c': fi->df.dfPitchAndFamily |= FF_MODERN;
|
|
|
|
fi->fi_flags |= FI_FIXEDEX;
|
|
|
|
/* fall through */
|
|
|
|
case 'm': fi->fi_flags |= FI_FIXEDPITCH;
|
|
|
|
break;
|
|
|
|
default:
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Of course this line does nothing */
|
1997-06-16 19:43:53 +02:00
|
|
|
fi->df.dfPitchAndFamily |= DEFAULT_PITCH | FF_DONTCARE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* average width - */
|
1999-09-05 14:18:57 +02:00
|
|
|
lpstr = lfd->average_width;
|
|
|
|
j = strlen(lpstr);
|
|
|
|
if( j == 0 || j > 3 )
|
|
|
|
{
|
|
|
|
WARN(ridiculous, fullname, "average_width");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
if( !(atoi(lpstr)) && !scalability )
|
|
|
|
{
|
|
|
|
WARN("font '%s' has average_width 0 but is not scalable!!\n", fullname);
|
|
|
|
return FALSE;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* charset registry, charset encoding - */
|
1999-09-05 14:18:57 +02:00
|
|
|
lpstr = lfd->charset_registry;
|
2002-06-01 01:06:46 +02:00
|
|
|
if( strstr(lpstr, "ksc") ||
|
1999-09-05 14:18:57 +02:00
|
|
|
strstr(lpstr, "gb2312") ||
|
2000-07-15 23:28:05 +02:00
|
|
|
strstr(lpstr, "big5") )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2000-08-14 19:25:13 +02:00
|
|
|
FIXME("DBCS fonts like '%s' are not working correctly now.\n", fullname);
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
fi->df.dfCharSet = ANSI_CHARSET;
|
1998-12-26 20:42:02 +01:00
|
|
|
|
|
|
|
for( i = 0, boba = fETTable; boba; boba = boba->next, i++ )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if (!boba->prefix || !strcasecmp(lpstr, boba->prefix))
|
|
|
|
{
|
|
|
|
if (lfd->charset_encoding)
|
|
|
|
{
|
|
|
|
for( j = 0; boba->sufch[j].psuffix; j++ )
|
|
|
|
{
|
|
|
|
if( !strcasecmp(lfd->charset_encoding, boba->sufch[j].psuffix ))
|
|
|
|
{
|
2000-08-20 21:04:04 +02:00
|
|
|
fi->df.dfCharSet = (BYTE)(boba->sufch[j].charset & 0xff);
|
|
|
|
fi->internal_charset = boba->sufch[j].charset;
|
2000-06-10 06:44:12 +02:00
|
|
|
fi->codepage = boba->sufch[j].codepage;
|
2000-08-14 19:25:13 +02:00
|
|
|
fi->cptable = boba->sufch[j].cptable;
|
1999-09-05 14:18:57 +02:00
|
|
|
goto done;
|
|
|
|
}
|
|
|
|
}
|
2000-08-29 05:51:21 +02:00
|
|
|
|
|
|
|
fi->df.dfCharSet = (BYTE)(boba->sufch[j].charset & 0xff);
|
|
|
|
fi->internal_charset = boba->sufch[j].charset;
|
|
|
|
fi->codepage = boba->sufch[j].codepage;
|
|
|
|
fi->cptable = boba->sufch[j].cptable;
|
|
|
|
if (boba->prefix)
|
|
|
|
{
|
|
|
|
FIXME("font '%s' has unknown character encoding '%s' in known registry '%s'\n",
|
|
|
|
fullname, lfd->charset_encoding, boba->prefix);
|
|
|
|
j = 254;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
FIXME("font '%s' has unknown registry '%s' and character encoding '%s' \n",
|
|
|
|
fullname, lfd->charset_registry, lfd->charset_encoding);
|
|
|
|
j = 255;
|
|
|
|
}
|
|
|
|
|
|
|
|
WARN("Defaulting to: df.dfCharSet = %d, internal_charset = %d, codepage = %d, cptable = %d\n",
|
|
|
|
fi->df.dfCharSet,fi->internal_charset, fi->codepage, fi->cptable);
|
|
|
|
goto done;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
else if (boba->prefix)
|
|
|
|
{
|
2000-08-29 05:51:21 +02:00
|
|
|
WARN("font '%s' has known registry '%s' and no character encoding\n",
|
|
|
|
fullname, lpstr);
|
1999-09-05 14:18:57 +02:00
|
|
|
for( j = 0; boba->sufch[j].psuffix; j++ )
|
|
|
|
;
|
2000-08-20 21:04:04 +02:00
|
|
|
fi->df.dfCharSet = (BYTE)(boba->sufch[j].charset & 0xff);
|
|
|
|
fi->internal_charset = boba->sufch[j].charset;
|
2000-06-10 06:44:12 +02:00
|
|
|
fi->codepage = boba->sufch[j].codepage;
|
2000-08-14 19:25:13 +02:00
|
|
|
fi->cptable = boba->sufch[j].cptable;
|
1999-09-05 14:18:57 +02:00
|
|
|
j = 255;
|
|
|
|
goto done;
|
|
|
|
}
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-12-25 23:47:09 +01:00
|
|
|
WARN("font '%s' has unknown character set '%s'\n", fullname, lpstr);
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
1998-12-26 20:42:02 +01:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
done:
|
1998-12-26 20:42:02 +01:00
|
|
|
/* i - index into fETTable
|
|
|
|
* j - index into suffix array for fETTable[i]
|
|
|
|
* except:
|
2000-08-29 05:51:21 +02:00
|
|
|
* 254 - found encoding prefix, unknown suffix
|
|
|
|
* 255 - no encoding match at all.
|
1998-12-26 20:42:02 +01:00
|
|
|
*/
|
|
|
|
fi->fi_encoding = 256 * (UINT16)i + (UINT16)j;
|
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
return TRUE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
1998-05-03 21:01:20 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/*************************************************************************
|
|
|
|
* LFD_AngleMatrix
|
|
|
|
*
|
|
|
|
* make a matrix suitable for LFD based on theta radians
|
|
|
|
*/
|
|
|
|
static void LFD_AngleMatrix( char* buffer, int h, double theta)
|
|
|
|
{
|
|
|
|
double matrix[4];
|
|
|
|
matrix[0] = h*cos(theta);
|
|
|
|
matrix[1] = h*sin(theta);
|
|
|
|
matrix[2] = -h*sin(theta);
|
|
|
|
matrix[3] = h*cos(theta);
|
|
|
|
sprintf(buffer, "[%+f%+f%+f%+f]", matrix[0], matrix[1], matrix[2], matrix[3]);
|
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/*************************************************************************
|
|
|
|
* LFD_ComposeLFD
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* Note: uRelax is a treatment not a cure. Font mapping algorithm
|
|
|
|
* should be bulletproof enough to allow us to avoid hacks like
|
1999-09-05 14:18:57 +02:00
|
|
|
* this despite LFD being so braindead.
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
2002-06-01 01:06:46 +02:00
|
|
|
static BOOL LFD_ComposeLFD( const fontObject* fo,
|
1999-09-05 14:18:57 +02:00
|
|
|
INT height, LPSTR lpLFD, UINT uRelax )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
int i, h;
|
2003-10-22 01:57:25 +02:00
|
|
|
const char *any = "*";
|
1999-09-05 14:18:57 +02:00
|
|
|
char h_string[64], resx_string[64], resy_string[64];
|
|
|
|
LFD aLFD;
|
|
|
|
|
|
|
|
/* Get the worst case over with first */
|
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
/* RealizeFont() will call us repeatedly with increasing uRelax
|
|
|
|
* until XLoadFont() succeeds.
|
1999-09-05 14:18:57 +02:00
|
|
|
* to avoid an infinite loop; these will always match
|
|
|
|
*/
|
|
|
|
if (uRelax >= 5)
|
|
|
|
{
|
|
|
|
if (uRelax == 5)
|
|
|
|
sprintf( lpLFD, "-*-*-*-*-*-*-*-*-*-*-*-*-iso8859-1" );
|
|
|
|
else
|
|
|
|
sprintf( lpLFD, "-*-*-*-*-*-*-*-*-*-*-*-*-*-*" );
|
|
|
|
return TRUE;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* read foundry + family from fo */
|
|
|
|
aLFD.foundry = fo->fr->resource->foundry;
|
|
|
|
aLFD.family = fo->fr->resource->family;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* add weight */
|
|
|
|
switch( fo->fi->df.dfWeight )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
case FW_BOLD:
|
|
|
|
aLFD.weight = "bold"; break;
|
1997-06-16 19:43:53 +02:00
|
|
|
case FW_REGULAR:
|
|
|
|
if( fo->fi->fi_flags & FI_FW_BOOK )
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "book";
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "medium";
|
1997-06-16 19:43:53 +02:00
|
|
|
break;
|
|
|
|
case FW_DEMIBOLD:
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "demi";
|
1997-06-16 19:43:53 +02:00
|
|
|
if( !( fo->fi->fi_flags & FI_FW_DEMI) )
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "bold";
|
1997-06-16 19:43:53 +02:00
|
|
|
break;
|
|
|
|
case FW_BLACK:
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "black"; break;
|
1997-06-16 19:43:53 +02:00
|
|
|
case FW_LIGHT:
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = "light"; break;
|
1997-06-16 19:43:53 +02:00
|
|
|
default:
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.weight = any;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/* add slant */
|
|
|
|
if( fo->fi->df.dfItalic )
|
|
|
|
if( fo->fi->fi_flags & FI_OBLIQUE )
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.slant = "o";
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.slant = "i";
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.slant = (uRelax < 1) ? "r" : any;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* add width */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( fo->fi->fi_flags & FI_NORMAL )
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.set_width = "normal";
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.set_width = any;
|
|
|
|
|
|
|
|
/* ignore style */
|
|
|
|
aLFD.add_style = any;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
/* add pixelheight
|
1997-06-16 19:43:53 +02:00
|
|
|
*
|
|
|
|
* FIXME: fill in lpXForm and lpPixmap for rotated fonts
|
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
if( fo->fo_flags & FO_SYNTH_HEIGHT )
|
|
|
|
h = fo->fi->lfd_height;
|
|
|
|
else
|
1998-11-01 20:27:22 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
h = (fo->fi->lfd_height * height + (fo->fi->df.dfPixHeight>>1));
|
|
|
|
h /= fo->fi->df.dfPixHeight;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
if (h < MIN_FONT_SIZE) /* Resist rounding down to 0 */
|
|
|
|
h = MIN_FONT_SIZE;
|
|
|
|
else if (h > MAX_FONT_SIZE) /* Sanity check as huge fonts can lock up the font server */
|
|
|
|
{
|
|
|
|
WARN("Huge font size %d pixels has been reduced to %d\n", h, MAX_FONT_SIZE);
|
|
|
|
h = MAX_FONT_SIZE;
|
Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
1998-05-03 21:01:20 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if (uRelax <= 2)
|
|
|
|
/* handle rotated fonts */
|
|
|
|
if (fo->lf.lfEscapement) {
|
|
|
|
/* escapement is in tenths of degrees, theta is in radians */
|
2002-06-01 01:06:46 +02:00
|
|
|
double theta = M_PI*fo->lf.lfEscapement/1800.;
|
1999-09-05 14:18:57 +02:00
|
|
|
LFD_AngleMatrix(h_string, h, theta);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(h_string, "%d", h);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
sprintf(h_string, "%d", fo->fi->lfd_height);
|
Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
1998-05-03 21:01:20 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.pixel_size = h_string;
|
|
|
|
aLFD.point_size = any;
|
Release 980503
Thu Apr 30 16:28:12 1998 James Juran <jrj120@psu.edu>
* [scheduler/process.c]
Implemented GetExitCodeProcess. The code is a direct translation
of GetExitCodeThread.
Mon Apr 27 22:20:25 1998 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [loader/pe_image.c]
Unload dummy module when PE_LoadLibraryEx32A fails with
PE_LoadImage (makes Encarta 98 installer proceed).
* [files/drive.c]
Make GetDriveType16 return DRIVE_REMOVABLE for TYPE_CDROM.
Make GetCurrentDirectory32 behave like the code does and not
like the help describes.
* [files/profile.c]
Revoke recent change in PROFILE_GetSection and try better
handling of special case.
* [include/windows.h]
Change definition of ACCEL32.
* [misc/commdlg.c]
Replace the GetXXXFilename32 macros by normal code.
Fix two reported bugs in my changes to commdlg.
* [windows/win.c]
Add a hook to catch bogus WM_SIZE messages by emitting a warning
in the appropriate case.
* [objects/bitmap.c]
Reject unreasonbable large size arguments in
CreateCompatibleBitmap32 and add an fixme for that situation.
Sun Apr 26 18:30:07 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [include/ldt.h] [debugger/*.c] [miscemu/instr.c]
Added IS_SELECTOR_SYSTEM and IS_SELECTOR_32BIT macros.
Make instruction emulation support system selectors.
* [loader/*.c]
Started moving NE specific functions to the new loader/ne
directory.
* [memory/environ.c]
Enforce the 127 chars limit only when creating the environment of
a Win16 process.
Sun Apr 26 12:22:23 1998 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed an incredible typo in CopyFile32A that made it unusable
since a rewrite in 970112 (!!).
* [files/directory.c]
Fixed GetTempPath32A/W to include trailing backslash.
* [misc/ver.c]
Make find_pe_resource "work" with corrupt files.
* [misc/wsprintf.c]
Altered WPRINTF_ParseFormatA/W to treat invalid format chars
as normal output, too.
* [msdos/dpmi.c]
Implemented "Allocate/Free real mode callback" (0x0303/0x0304).
Cross your fingers if you need to use it ;) (completely untested)
Implemented "Call real mode proc with far return" (0x0301, tested).
* [msdos/int21.c]
Fixed ioctlGenericBlkDevReq/0x60.
* [relay32/dplayx.spec] [relay32/builtin32.c] [relay32/Makefile.in]
Added built-in DPLAYX.DLL.
* [windows/win.c]
Fixed GetWindowWord()/GWW_HWNDPARENT to return the window's owner
if it has no parent (SDK).
Sat Apr 25 15:09:53 1998 M.T.Fortescue <mark@mtfhpc.demon.co.uk>
* [debugger/db_disasm.c]
Fixed disassemble bug for no-display option and 'lock',
'repne' and 'repe' prefixes.
* [debugger/registers.c]
Added textual flag description output on 'info regs'.
Sat Apr 25 14:18:26 1998 Matthew Becker <mbecker@glasscity.net>
* [*/*.c]
Added stubs and/or documentation for the following functions:
LookupPrivilegeValue, OpenService, ControlService, RegGetKeySecurity,
StartService, SetComputerName, DeleteService, CloseServiceHandle,
OpenProcessToken, OpenSCManager, DeregisterEventSource,
WaitForDebugEvent, WaitForInputIdle, RegisterEventSource,
SetDebugErrorLevel, SetConsoleCursorPosition, ChoosePixelFormat,
SetPixelFormat, GetPixelFormat, DescribePixelFormat, SwapBuffers,
PolyBezier, AbortPath, DestroyAcceleratorTable, HeapWalk,
DdeInitialize, DdeUninitialize, DdeConnectList, DdeDisconnectList,
DdeCreateStringHandle, DdePostAdvise, DdeGetData, DdeNameService,
DdeGetLastError, WNetGetDirectoryType, EnumPrinters, RegFlushKey,
RegGetKeySecurity, DllGetClassObject, DllCanUnloadNow, CreateBitmap,
CreateCompatibleBitmap, CreateBitmapIndirect, GetBitmapBits,
SetBitmapBits, LoadImage, CopyImage, LoadBitmap, DrawIcon,
CreateDiscardableBitmap, SetDIBits, GetCharABCWidths, LoadTypeLib,
SetConsoleCtrlHandler, CreateConsoleScreenBuffer, ReadConsoleInput,
GetConsoleCursorInfo, SetConsoleCursorInfo, SetConsoleWindowInfo,
SetConsoleTextAttribute, SetConsoleScreenBufferSize,
FillConsoleOutputCharacter, FillConsoleOutputAttribute,
CreateMailslot, GetMailslotInfo, GetCompressedFileSize,
GetProcessWindowStation, GetThreadDesktop, SetDebugErrorLevel,
WaitForDebugEvent, SetComputerName, CreateMDIWindow.
Thu Apr 23 23:54:04 1998 Douglas Ridgway <ridgway@winehq.com>
* [include/windows.h] [objects/enhmetafile.c] [relay32/gdi32.spec]
Implement CopyEnhMetaFile, Get/SetEnhMetaFileBits, other fixes.
* [include/windows.h] [objects/metafile.c] [relay32/gdi32.spec]
32-bit metafile fixes, implement EnumMetaFile32, GetMetaFileBitsEx.
* [objects/font.c] [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
Some rotated text support for X11R6 displays.
* [win32/newfns.c] [ole/ole2nls.c]
Moved GetNumberFormat32A.
Wed Apr 22 17:38:20 1998 David Lee Lambert <lamber45@egr.msu.edu>
* [ole/ole2nls.c] [misc/network.c]
Changed some function documentation to the new style.
* [misc/network.c] [include/windows.h] [if1632/user.spec]
[relay32/mpr.spec] [misc/mpr.c]
Added stubs for some Win32 network functions; renamed some
16-bit ones with 32-bit counterparts, as well as
WNetGetDirectoryType; moved the stubs in misc/mpr.c (three of
them!) to misc/network.c.
* [ole/compobj.c] [ole/storage.c] [ole/ole2disp.c]
[ole/ole2nls.c] [ole/folders.c] [ole/moniker.c] [ole/ole2.c]
[graphics/fontengine.c] [graphics/ddraw.c] [graphics/env.c]
[graphics/driver.c] [graphics/escape.c]
Changed fprintf's to proper debug-macros.
* [include/winnls.h]
Added some flags (for internal use).
* [ole/ole2nls.c]
Added the Unicode core function, and worked out a way to hide
the commonality of the core.
* [relay32/kernel32.spec]
Added support for GetDate/Time32A/W.
Wed Apr 22 09:16:03 1998 Gordon Chaffee <chaffee@cs.berkeley.edu>
* [win32/code_page.c]
Fixed problem with MultiByteToWideChar that was introduced in
last release. Made MultiByteToWideChar more compatible with Win32.
* [graphics/x11drv/graphics.c]
Fixed problem with drawing arcs.
Tue Apr 21 11:24:58 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [ole/ole2nls.c]
Move stuff from 0x409 case to Lang_En.
* [relay32/user32.spec] [windows/winpos.c]
Added stubs for GetWindowRgn32 and SetWindowRgn32. Makes Office
Paperclip happy.
Tue Apr 21 11:16:16 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [loader/pe_image.c]
If image is relocated, TLS addresses need to be adjusted.
* [debugger/*.c]
Generalized tests for 32-bit segments.
Tue Apr 21 02:04:59 1998 James Juran <jrj120@psu.edu>
* [misc/*.c] [miscemu/*.c] [msdos/*.c] [if1632/*.c]
[include/*.h] [loader/*.c] [memory/*.c] [multimedia/*.c]
[objects/*.c]
Almost all fprintf statements converted to appropriate
debug messages.
* [README]
Updated "GETTING MORE INFORMATION" section to include WineHQ.
* [documentation/debugger]
Fixed typo.
* [windows/defwnd.c]
Added function documentation.
Sun Apr 19 16:30:58 1998 Marcus Meissner <marcus@mud.de>
* [Make.rules.in]
Added lint target (using lclint).
* [relay32/oleaut32.spec][relay32/Makefile.in][ole/typelib.c]
[ole/ole2disp.c]
Added oleaut32 spec, added some SysString functions.
* [if1632/signal.c]
Added printing of faultaddress in Linux (using CR2 debug register).
* [configure.in]
Added <sys/types.h> for statfs checks.
* [loader/*.c][debugger/break.c][debugger/hash.c]
Started to split win32/win16 module handling, preparing support
for other binary formats (like ELF).
Sat Apr 18 10:07:41 1998 Rein Klazes <rklazes@casema.net>
* [misc/registry.c]
Fixed a bug that made RegQueryValuexxx returning
incorrect registry values.
Fri Apr 17 22:59:22 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/lstr.c]
FormatMessage32*: remove linefeed when nolinefeed set;
check for target underflow.
Fri Apr 17 00:38:14 1998 Alexander V. Lukyanov <lav@long.yar.ru>
* [misc/crtdll.c]
Implement xlat_file_ptr for CRT stdin/stdout/stderr address
translation.
Wed Apr 15 20:43:56 1998 Jim Peterson <jspeter@birch.ee.vt.edu>
* [controls/menu.c]
Added 'odaction' parameter to MENU_DrawMenuItem() and redirected
WM_DRAWITEM messages to GetWindow(hwnd,GW_OWNER).
Tue Apr 14 16:17:55 1998 Berend Reitsma <berend@united-info.com>
* [graphics/metafiledrv/init.c] [graphics/painting.c]
[graphics/win16drv/init.c] [graphics/x11drv/graphics.c]
[graphics/x11drv/init.c] [include/gdi.h] [include/x11drv.h]
[relay32/gdi32.spec]
Added PolyPolyline routine.
* [windows/winproc.c]
Changed WINPROC_GetProc() to return proc instead of &(jmp proc).
1998-05-03 21:01:20 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* resolution_x,y, average width */
|
2004-01-18 23:10:39 +01:00
|
|
|
/* FIXME - Why do some font servers ignore average width ?
|
1999-09-05 14:18:57 +02:00
|
|
|
* so that you have to mess around with res_y
|
|
|
|
*/
|
|
|
|
aLFD.average_width = any;
|
|
|
|
if (uRelax <= 3)
|
|
|
|
{
|
|
|
|
sprintf(resx_string, "%d", fo->fi->lfd_resolution);
|
|
|
|
aLFD.resolution_x = resx_string;
|
1998-12-26 20:42:02 +01:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
strcpy(resy_string, resx_string);
|
2002-06-01 01:06:46 +02:00
|
|
|
if( uRelax == 0 && text_caps & TC_SF_X_YINDEP )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
if( fo->lf.lfWidth && !(fo->fo_flags & FO_SYNTH_WIDTH))
|
|
|
|
{
|
2002-06-01 01:06:46 +02:00
|
|
|
int resy = 0.5 + fo->fi->lfd_resolution *
|
1999-09-05 14:18:57 +02:00
|
|
|
(fo->fi->df.dfAvgWidth * height) /
|
|
|
|
(fo->lf.lfWidth * fo->fi->df.dfPixHeight) ;
|
|
|
|
sprintf(resy_string, "%d", resy);
|
|
|
|
}
|
|
|
|
else
|
2000-11-01 04:11:12 +01:00
|
|
|
{
|
|
|
|
/* FIXME - synth width */
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.resolution_y = resy_string;
|
|
|
|
}
|
|
|
|
else
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.resolution_x = aLFD.resolution_y = any;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* spacing */
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2003-10-22 01:57:25 +02:00
|
|
|
const char* w;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
if( fo->fi->fi_flags & FI_FIXEDPITCH )
|
1999-09-05 14:18:57 +02:00
|
|
|
w = ( fo->fi->fi_flags & FI_FIXEDEX ) ? "c" : "m";
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
|
|
|
w = ( fo->fi->fi_flags & FI_VARIABLEPITCH ) ? "p" : any;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.spacing = (uRelax <= 1) ? w : any;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* encoding */
|
1998-12-09 15:51:48 +01:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if (uRelax <= 4)
|
|
|
|
{
|
2001-03-05 20:34:17 +01:00
|
|
|
fontEncodingTemplate* boba = fETTable;
|
|
|
|
|
|
|
|
for(i = fo->fi->fi_encoding >> 8; i; i--) boba = boba->next;
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.charset_registry = boba->prefix ? boba->prefix : any;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
i = fo->fi->fi_encoding & 255;
|
|
|
|
switch( i )
|
|
|
|
{
|
1997-06-16 19:43:53 +02:00
|
|
|
default:
|
1999-09-05 14:18:57 +02:00
|
|
|
aLFD.charset_encoding = boba->sufch[i].psuffix;
|
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
case 254:
|
|
|
|
aLFD.charset_encoding = any;
|
|
|
|
break;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
case 255: /* no suffix - it ends eg "-ascii" */
|
|
|
|
aLFD.charset_encoding = NULL;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
aLFD.charset_registry = any;
|
|
|
|
aLFD.charset_encoding = any;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
LFD_UnParse(lpLFD, MAX_LFD_LENGTH, &aLFD);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("\tLFD(uRelax=%d): %s\n", uRelax, lpLFD );
|
1997-06-16 19:43:53 +02:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X Font Resources
|
|
|
|
*
|
|
|
|
* font info - http://www.microsoft.com/kb/articles/q65/1/23.htm
|
|
|
|
* Windows font metrics - http://www.microsoft.com/kb/articles/q32/6/67.htm
|
|
|
|
*/
|
2002-06-01 01:06:46 +02:00
|
|
|
static void XFONT_GetLeading( const LPIFONTINFO16 pFI, const XFontStruct* x_fs,
|
1999-09-05 14:18:57 +02:00
|
|
|
INT16* pIL, INT16* pEL, const XFONTTRANS *XFT )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
unsigned long height;
|
|
|
|
unsigned min = (unsigned char)pFI->dfFirstChar;
|
2002-08-09 21:50:20 +02:00
|
|
|
unsigned max = (unsigned char)pFI->dfLastChar;
|
1999-09-05 14:18:57 +02:00
|
|
|
BOOL bIsLatin = IS_LATIN_CHARSET(pFI->dfCharSet);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
if( pEL ) *pEL = 0;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
|
|
|
if(XFT) {
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
if(XGetFontProperty((XFontStruct*)x_fs, x11drv_atom(RAW_CAP_HEIGHT), &height))
|
2002-06-01 01:06:46 +02:00
|
|
|
*pIL = XFT->ascent -
|
1999-02-26 12:11:13 +01:00
|
|
|
(INT)(XFT->pixelsize / 1000.0 * height);
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
else
|
|
|
|
*pIL = 0;
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_unlock();
|
1999-09-05 14:18:57 +02:00
|
|
|
return;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
if( XGetFontProperty((XFontStruct*)x_fs, XA_CAP_HEIGHT, &height) == FALSE )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
if( x_fs->per_char )
|
2002-08-09 21:50:20 +02:00
|
|
|
if( bIsLatin && ((unsigned char)'X' <= (max - min)) )
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
height = x_fs->per_char['X' - min].ascent;
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
|
|
|
if (x_fs->ascent >= x_fs->max_bounds.ascent)
|
|
|
|
height = x_fs->max_bounds.ascent;
|
|
|
|
else
|
|
|
|
{
|
|
|
|
height = x_fs->ascent;
|
|
|
|
if( pEL )
|
|
|
|
*pEL = x_fs->max_bounds.ascent - height;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
1997-06-16 19:43:53 +02:00
|
|
|
height = x_fs->min_bounds.ascent;
|
|
|
|
}
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_unlock();
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
*pIL = x_fs->ascent - height;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_CharWidth
|
|
|
|
*/
|
|
|
|
static int XFONT_CharWidth(const XFontStruct* x_fs,
|
|
|
|
const XFONTTRANS *XFT, int ch)
|
2002-06-01 01:06:46 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if(!XFT)
|
|
|
|
return x_fs->per_char[ch].width;
|
|
|
|
else
|
|
|
|
return x_fs->per_char[ch].attributes * XFT->pixelsize / 1000.0;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetAvgCharWidth
|
|
|
|
*/
|
|
|
|
static INT XFONT_GetAvgCharWidth( LPIFONTINFO16 pFI, const XFontStruct* x_fs,
|
|
|
|
const XFONTTRANS *XFT)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
unsigned min = (unsigned char)pFI->dfFirstChar;
|
|
|
|
unsigned max = (unsigned char)pFI->dfLastChar;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
INT avg;
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
if( x_fs->per_char )
|
|
|
|
{
|
2004-08-12 01:45:34 +02:00
|
|
|
unsigned int width = 0, chars = 0, j;
|
2002-08-09 21:50:20 +02:00
|
|
|
if( (IS_LATIN_CHARSET(pFI->dfCharSet) ||
|
|
|
|
pFI->dfCharSet == DEFAULT_CHARSET) &&
|
|
|
|
(max - min) >= (unsigned char)'z' )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
/* FIXME - should use a weighted average */
|
|
|
|
for( j = 0; j < 26; j++ )
|
|
|
|
width += XFONT_CharWidth(x_fs, XFT, 'a' + j - min) +
|
2002-06-01 01:06:46 +02:00
|
|
|
XFONT_CharWidth(x_fs, XFT, 'A' + j - min);
|
1999-09-05 14:18:57 +02:00
|
|
|
chars = 52;
|
|
|
|
}
|
|
|
|
else /* unweighted average of everything */
|
|
|
|
{
|
|
|
|
for( j = 0, max -= min; j <= max; j++ )
|
|
|
|
if( !CI_NONEXISTCHAR(x_fs->per_char + j) )
|
|
|
|
{
|
|
|
|
width += XFONT_CharWidth(x_fs, XFT, j);
|
|
|
|
chars++;
|
|
|
|
}
|
|
|
|
}
|
2002-01-29 17:48:20 +01:00
|
|
|
if (chars) avg = (width + (chars-1))/ chars; /* always round up*/
|
2002-06-01 01:06:46 +02:00
|
|
|
else avg = 0; /* No characters exist at all */
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
else /* uniform width */
|
|
|
|
avg = x_fs->min_bounds.width;
|
|
|
|
|
2002-01-29 17:48:20 +01:00
|
|
|
TRACE(" retuning %d\n",avg);
|
1999-09-05 14:18:57 +02:00
|
|
|
return avg;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetMaxCharWidth
|
|
|
|
*/
|
|
|
|
static INT XFONT_GetMaxCharWidth(const XFontStruct* xfs, const XFONTTRANS *XFT)
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
unsigned min = (unsigned char)xfs->min_char_or_byte2;
|
|
|
|
unsigned max = (unsigned char)xfs->max_char_or_byte2;
|
2004-08-12 01:45:34 +02:00
|
|
|
unsigned int maxwidth, j;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if(!XFT || !xfs->per_char)
|
|
|
|
return abs(xfs->max_bounds.width);
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
for( j = 0, maxwidth = 0, max -= min; j <= max; j++ )
|
|
|
|
if( !CI_NONEXISTCHAR(xfs->per_char + j) )
|
|
|
|
if(maxwidth < xfs->per_char[j].attributes)
|
|
|
|
maxwidth = xfs->per_char[j].attributes;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
maxwidth *= XFT->pixelsize / 1000.0;
|
|
|
|
return maxwidth;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_SetFontMetric
|
|
|
|
*
|
1998-12-26 20:42:02 +01:00
|
|
|
* INIT ONLY
|
|
|
|
*
|
1999-09-05 14:18:57 +02:00
|
|
|
* Initializes IFONTINFO16.
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static void XFONT_SetFontMetric(fontInfo* fi, const fontResource* fr, XFontStruct* xfs)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
unsigned min, max;
|
1997-06-16 19:43:53 +02:00
|
|
|
fi->df.dfFirstChar = (BYTE)(min = xfs->min_char_or_byte2);
|
|
|
|
fi->df.dfLastChar = (BYTE)(max = xfs->max_char_or_byte2);
|
|
|
|
|
|
|
|
fi->df.dfDefaultChar = (BYTE)xfs->default_char;
|
|
|
|
fi->df.dfBreakChar = (BYTE)(( ' ' < min || ' ' > max) ? xfs->default_char: ' ');
|
|
|
|
|
|
|
|
fi->df.dfPixHeight = (INT16)((fi->df.dfAscent = (INT16)xfs->ascent) + xfs->descent);
|
|
|
|
fi->df.dfPixWidth = (xfs->per_char) ? 0 : xfs->min_bounds.width;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_GetLeading( &fi->df, xfs, &fi->df.dfInternalLeading, &fi->df.dfExternalLeading, NULL );
|
|
|
|
fi->df.dfAvgWidth = (INT16)XFONT_GetAvgCharWidth(&fi->df, xfs, NULL );
|
|
|
|
fi->df.dfMaxWidth = (INT16)XFONT_GetMaxCharWidth(xfs, NULL);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
if( xfs->min_bounds.width != xfs->max_bounds.width )
|
|
|
|
fi->df.dfPitchAndFamily |= TMPF_FIXED_PITCH; /* au contraire! */
|
2002-06-01 01:06:46 +02:00
|
|
|
if( fi->fi_flags & FI_SCALABLE )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
fi->df.dfType = DEVICE_FONTTYPE;
|
|
|
|
fi->df.dfPitchAndFamily |= TMPF_DEVICE;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
else if( fi->fi_flags & FI_TRUETYPE )
|
|
|
|
fi->df.dfType = TRUETYPE_FONTTYPE;
|
|
|
|
else
|
|
|
|
fi->df.dfType = RASTER_FONTTYPE;
|
|
|
|
|
|
|
|
fi->df.dfFace = fr->lfFaceName;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetFontMetric
|
|
|
|
*
|
|
|
|
* Retrieve font metric info (enumeration).
|
|
|
|
*/
|
2001-02-14 23:56:38 +01:00
|
|
|
static UINT XFONT_GetFontMetric( const fontInfo* pfi,
|
2002-11-04 23:43:24 +01:00
|
|
|
LPENUMLOGFONTEXW pLF,
|
|
|
|
NEWTEXTMETRICEXW *pTM )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
memset( pLF, 0, sizeof(*pLF) );
|
|
|
|
memset( pTM, 0, sizeof(*pTM) );
|
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
#define plf ((LPLOGFONTW)pLF)
|
|
|
|
#define ptm ((LPNEWTEXTMETRICW)pTM)
|
|
|
|
plf->lfHeight = ptm->tmHeight = pfi->df.dfPixHeight;
|
|
|
|
plf->lfWidth = ptm->tmAveCharWidth = pfi->df.dfAvgWidth;
|
|
|
|
plf->lfWeight = ptm->tmWeight = pfi->df.dfWeight;
|
|
|
|
plf->lfItalic = ptm->tmItalic = pfi->df.dfItalic;
|
|
|
|
plf->lfUnderline = ptm->tmUnderlined = pfi->df.dfUnderline;
|
|
|
|
plf->lfStrikeOut = ptm->tmStruckOut = pfi->df.dfStrikeOut;
|
|
|
|
plf->lfCharSet = ptm->tmCharSet = pfi->df.dfCharSet;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* convert pitch values */
|
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
ptm->tmPitchAndFamily = pfi->df.dfPitchAndFamily;
|
1997-06-16 19:43:53 +02:00
|
|
|
plf->lfPitchAndFamily = (pfi->df.dfPitchAndFamily & 0xF1) + 1;
|
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
MultiByteToWideChar(CP_ACP, 0, pfi->df.dfFace, -1,
|
|
|
|
plf->lfFaceName, LF_FACESIZE);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
/* FIXME: fill in rest of plF values */
|
|
|
|
strcpyW(pLF->elfFullName, plf->lfFaceName);
|
|
|
|
MultiByteToWideChar(CP_ACP, 0, "Regular", -1,
|
|
|
|
pLF->elfStyle, LF_FACESIZE);
|
|
|
|
MultiByteToWideChar(CP_ACP, 0, plf->lfCharSet == SYMBOL_CHARSET ?
|
|
|
|
"Symbol" : "Roman", -1,
|
|
|
|
pLF->elfScript, LF_FACESIZE);
|
1999-10-24 19:26:45 +02:00
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
#undef plf
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
ptm->tmAscent = pfi->df.dfAscent;
|
|
|
|
ptm->tmDescent = ptm->tmHeight - ptm->tmAscent;
|
|
|
|
ptm->tmInternalLeading = pfi->df.dfInternalLeading;
|
|
|
|
ptm->tmMaxCharWidth = pfi->df.dfMaxWidth;
|
|
|
|
ptm->tmDigitizedAspectX = pfi->df.dfHorizRes;
|
|
|
|
ptm->tmDigitizedAspectY = pfi->df.dfVertRes;
|
|
|
|
|
|
|
|
ptm->tmFirstChar = pfi->df.dfFirstChar;
|
|
|
|
ptm->tmLastChar = pfi->df.dfLastChar;
|
|
|
|
ptm->tmDefaultChar = pfi->df.dfDefaultChar;
|
|
|
|
ptm->tmBreakChar = pfi->df.dfBreakChar;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2001-05-11 22:03:40 +02:00
|
|
|
TRACE("Calling Enum proc with FaceName %s FullName %s\n",
|
2001-02-14 23:56:38 +01:00
|
|
|
debugstr_w(pLF->elfLogFont.lfFaceName),
|
|
|
|
debugstr_w(pLF->elfFullName));
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-02-14 23:56:38 +01:00
|
|
|
TRACE("CharSet = %d type = %d\n", ptm->tmCharSet, pfi->df.dfType);
|
1997-06-16 19:43:53 +02:00
|
|
|
/* return font type */
|
|
|
|
return pfi->df.dfType;
|
2001-02-14 23:56:38 +01:00
|
|
|
#undef ptm
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_FixupFlags
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* INIT ONLY
|
2002-06-01 01:06:46 +02:00
|
|
|
*
|
1997-06-16 19:43:53 +02:00
|
|
|
* dfPitchAndFamily flags for some common typefaces.
|
|
|
|
*/
|
|
|
|
static BYTE XFONT_FixupFlags( LPCSTR lfFaceName )
|
|
|
|
{
|
|
|
|
switch( lfFaceName[0] )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
case 'a':
|
|
|
|
case 'A': if(!strncasecmp(lfFaceName, "Arial", 5) )
|
|
|
|
return FF_SWISS;
|
|
|
|
break;
|
1997-06-16 19:43:53 +02:00
|
|
|
case 'h':
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
case 'H': if(!strcasecmp(lfFaceName, "Helvetica") )
|
1997-06-16 19:43:53 +02:00
|
|
|
return FF_SWISS;
|
|
|
|
break;
|
|
|
|
case 'c':
|
1999-09-05 14:18:57 +02:00
|
|
|
case 'C': if(!strncasecmp(lfFaceName, "Courier", 7))
|
|
|
|
return FF_MODERN;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if (!strcasecmp(lfFaceName, "Charter") )
|
|
|
|
return FF_ROMAN;
|
|
|
|
break;
|
1997-06-16 19:43:53 +02:00
|
|
|
case 'p':
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
case 'P': if( !strcasecmp(lfFaceName,"Palatino") )
|
1997-06-16 19:43:53 +02:00
|
|
|
return FF_ROMAN;
|
|
|
|
break;
|
|
|
|
case 't':
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
case 'T': if(!strncasecmp(lfFaceName, "Times", 5) )
|
1997-06-16 19:43:53 +02:00
|
|
|
return FF_ROMAN;
|
|
|
|
break;
|
|
|
|
case 'u':
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
case 'U': if(!strcasecmp(lfFaceName, "Utopia") )
|
1997-06-16 19:43:53 +02:00
|
|
|
return FF_ROMAN;
|
|
|
|
break;
|
|
|
|
case 'z':
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
case 'Z': if(!strcasecmp(lfFaceName, "Zapf Dingbats") )
|
1997-06-16 19:43:53 +02:00
|
|
|
return FF_DECORATIVE;
|
|
|
|
}
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_SameFoundryAndFamily
|
|
|
|
*
|
|
|
|
* INIT ONLY
|
|
|
|
*/
|
|
|
|
static BOOL XFONT_SameFoundryAndFamily( const LFD* lfd1, const LFD* lfd2 )
|
|
|
|
{
|
2002-06-01 01:06:46 +02:00
|
|
|
return ( !strcasecmp( lfd1->foundry, lfd2->foundry ) &&
|
1999-09-05 14:18:57 +02:00
|
|
|
!strcasecmp( lfd1->family, lfd2->family ) );
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
1999-09-05 14:18:57 +02:00
|
|
|
* XFONT_InitialCapitals
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* INIT ONLY
|
1999-09-05 14:18:57 +02:00
|
|
|
*
|
|
|
|
* Upper case first letters of words & remove multiple spaces
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static void XFONT_InitialCapitals(LPSTR lpch)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
int i;
|
|
|
|
BOOL up;
|
|
|
|
char* lpstr = lpch;
|
|
|
|
|
|
|
|
for( i = 0, up = TRUE; *lpch; lpch++, i++ )
|
|
|
|
{
|
2002-06-01 01:06:46 +02:00
|
|
|
if( isspace(*lpch) )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
if (!up) /* Not already got one */
|
|
|
|
{
|
|
|
|
*lpstr++ = ' ';
|
|
|
|
up = TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if( isalpha(*lpch) && up )
|
2002-06-01 01:06:46 +02:00
|
|
|
{
|
|
|
|
*lpstr++ = toupper(*lpch);
|
1999-09-05 14:18:57 +02:00
|
|
|
up = FALSE;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
*lpstr++ = *lpch;
|
|
|
|
up = FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Remove possible trailing space */
|
|
|
|
if (up && i > 0)
|
|
|
|
--lpstr;
|
|
|
|
*lpstr = '\0';
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_WindowsNames
|
|
|
|
*
|
1998-12-26 20:42:02 +01:00
|
|
|
* INIT ONLY
|
|
|
|
*
|
1997-06-16 19:43:53 +02:00
|
|
|
* Build generic Windows aliases for X font names.
|
|
|
|
*
|
|
|
|
* -misc-fixed- -> "Fixed"
|
|
|
|
* -sony-fixed- -> "Sony Fixed", etc...
|
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static void XFONT_WindowsNames(void)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fontResource* fr;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
for( fr = fontList; fr ; fr = fr->next )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fontResource* pfr;
|
|
|
|
char* lpch;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if( fr->fr_flags & FR_NAMESET ) continue; /* skip already assigned */
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
for( pfr = fontList; pfr != fr ; pfr = pfr->next )
|
|
|
|
if( pfr->fr_flags & FR_NAMESET )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
if (!strcasecmp( pfr->resource->family, fr->resource->family))
|
1997-08-24 18:00:30 +02:00
|
|
|
break;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
lpch = fr->lfFaceName;
|
2000-07-29 23:58:17 +02:00
|
|
|
snprintf( fr->lfFaceName, sizeof(fr->lfFaceName), "%s %s",
|
1999-09-05 14:18:57 +02:00
|
|
|
/* prepend vendor name */
|
|
|
|
(pfr==fr) ? "" : fr->resource->foundry,
|
|
|
|
fr->resource->family);
|
|
|
|
XFONT_InitialCapitals(fr->lfFaceName);
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
BYTE bFamilyStyle = XFONT_FixupFlags( fr->lfFaceName );
|
|
|
|
if( bFamilyStyle)
|
|
|
|
{
|
|
|
|
fontInfo* fi;
|
|
|
|
for( fi = fr->fi ; fi ; fi = fi->next )
|
|
|
|
fi->df.dfPitchAndFamily |= bFamilyStyle;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("typeface '%s'\n", fr->lfFaceName);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
fr->fr_flags |= FR_NAMESET;
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_LoadDefaultLFD
|
|
|
|
*
|
|
|
|
* Move lfd to the head of fontList to make it more likely to be matched
|
|
|
|
*/
|
|
|
|
static void XFONT_LoadDefaultLFD(LFD* lfd, LPCSTR fonttype)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
fontResource *fr, *pfr;
|
|
|
|
for( fr = NULL, pfr = fontList; pfr; pfr = pfr->next )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( XFONT_SameFoundryAndFamily(pfr->resource, lfd) )
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( fr )
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fr->next = pfr->next;
|
|
|
|
pfr->next = fontList;
|
|
|
|
fontList = pfr;
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
break;
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
fr = pfr;
|
|
|
|
}
|
|
|
|
if (!pfr)
|
2002-06-01 01:06:46 +02:00
|
|
|
WARN("Default %sfont '-%s-%s-' not available\n", fonttype,
|
1999-09-05 14:18:57 +02:00
|
|
|
lfd->foundry, lfd->family);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_LoadDefault
|
|
|
|
*/
|
2005-06-14 19:24:28 +02:00
|
|
|
static void XFONT_LoadDefault( HKEY hkey, LPCSTR ini, LPCSTR fonttype)
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
char buffer[MAX_LFD_LENGTH];
|
2005-06-14 19:24:28 +02:00
|
|
|
DWORD type, count = sizeof(buffer);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2001-06-19 05:32:44 +02:00
|
|
|
buffer[0] = 0;
|
2005-06-14 19:24:28 +02:00
|
|
|
RegQueryValueExA(hkey, ini, 0, &type, buffer, &count);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2005-06-14 19:24:28 +02:00
|
|
|
if (*buffer)
|
|
|
|
{
|
|
|
|
LFD lfd;
|
|
|
|
char* pch = buffer;
|
|
|
|
while( *pch && isspace(*pch) ) pch++;
|
|
|
|
|
|
|
|
TRACE("Using '%s' as default %sfont\n", pch, fonttype);
|
|
|
|
if (LFD_Parse(pch, &lfd) && lfd.foundry && lfd.family)
|
|
|
|
XFONT_LoadDefaultLFD(&lfd, fonttype);
|
|
|
|
else
|
|
|
|
WARN("Ini section [%s]%s is malformed\n", INIFontSection, ini);
|
2001-06-19 05:32:44 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_LoadDefaults
|
|
|
|
*/
|
2005-06-14 19:24:28 +02:00
|
|
|
static void XFONT_LoadDefaults( HKEY hkey )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2005-06-14 19:24:28 +02:00
|
|
|
XFONT_LoadDefault( hkey, INIDefaultFixed, "fixed ");
|
|
|
|
XFONT_LoadDefault( hkey, INIDefault, "");
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_CreateAlias
|
|
|
|
*/
|
|
|
|
static fontAlias* XFONT_CreateAlias( LPCSTR lpTypeFace, LPCSTR lpAlias )
|
|
|
|
{
|
1997-08-24 18:00:30 +02:00
|
|
|
int j;
|
1999-09-05 14:18:57 +02:00
|
|
|
fontAlias *pfa, *prev = NULL;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
for(pfa = aliasTable; pfa; pfa = pfa->next)
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
|
|
|
/* check if we already got one */
|
Release 980628
Sun Jun 28 18:37:02 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/signal.c] [miscemu/instr.c] [memory/virtual.c]
Moved page-fault handling to INSTR_EmulateInstruction.
* [scheduler/thread.c]
Added locking and check for own thread in Suspend/ResumeThread.
Sat Jun 27 21:25:21 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [objects/dib.c] [objects/bitmap.c] [objects/oembitmap.c]
[graphics/x11drv/bitblt.c] [include/bitmap.h]
Improved DIB section handling using page fault handlers.
(Note: This patch includes code contributed by Matthew J. Francis.)
* [memory/virtual.c] [if1632/signal.c] [include/global.h]
Page Fault handler support added.
* [if1632/signal.c] [loader/signal.c] [tools/build.c] [misc/system.c]
[misc/winsock_dns.c] [include/sig_context.h] [include/thread.h]
16-bit %fs handling improved: Always preserve 16-bit %fs value,
always restore 32-bit %fs value for signal handlers.
* [if1632/thunk.c] [loader/module.c] [misc/callback.c] [windows/user.c]
[loader/ne/resource.c] [include/callback.h] [include/module.h]
[if1632/kernel.spec] [if1632/wprocs.spec]
Resource Handler function pointer stored as 16-bit SEGPTR.
* [loader/task.c] [windows/win.c] [windows/winpos.c] [if1632/user.spec]
[if1632/kernel.spec] [loader/ne/module.c]
Some minor incompatibilities fixed (Win32s relies on those):
GetExePtr, IsWindow16 should set ES on return; WINPOS_SendNCCalcSize
should cope with having the WINDOWPOS structure trashed;
the OFSTRUCT in the NE module image should be placed *last*.
* [include/windows.h]
Missing prototype for FlushViewOfFile.
* [loader/task.c]
Bugfix: Command line should *not* start with a blank.
* [loader/ne/segment.c]
Bugfix: Fixups to offset 0 were never applied.
* [misc/lstr.c]
Use debugstr_a in OutputDebugString16.
* [msdos/dpmi.c]
Stub for int 31 BL=2f AX=7a20 (NetWare: Get VLM Call Address) added.
* [msdos/int21.c]
Stub for int 21 AX=440d CL=6f (get drive map information) added.
Fri Jun 26 18:08:30 1998 Rein Klazes <rklazes@casema.net>
* [windows/winpos.c]
Fix small buglet that mixed up maximized and minimized windows.
* [include/x11drv.h] [objects/dc.c] [graphics/x11drv/pen.c]
[graphics/x11drv/graphics.c]
Fix some bugs with lines joining styles. Draws rectangles
with thick pens now correctly.
Fri Jun 26 16:22:23 1998 James Juran <jrj120@psu.edu>
* [misc/shell.c]
Fixed bug I introduced last release in InternalExtractIcon.
* [win32/file.c]
Added documentation for CreateFile32A.
* [documentation/wine.man]
Updated manpage.
* [ChangeLog]
Added my entry from last release.
Fri Jun 26 13:33:30 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/psdrv/*] [if1632/wineps.spec] [include/psdrv.h]
[include/print.h] [objects/gdiobj.c]
First stages of an internal Postscript driver. See
graphics/psdrv/README . Should print text (badly) from win3.1 notepad,
write and winword6.
* [documentation/printing]
Some notes on printing.
* [controls/edit.c]
Strip off WS_BORDER in WM_NCREATE, edit draws its own rectangle.
EC_USEFONTINFO seems to be used as a left/right value for EM_SETMARGINS
and not as an action as the docs say. This actually makes more sense.
Scroll the caret back to zero after a WM_SETTEXT.
Fri Jun 26 10:56:25 1998 Marcus Meissner <marcus@jet.franken.de>
* [if1632/snoop.c]
Added win16 inter-dll snooping.
* [win32/ordinals.c]
KERNEL_485 is GetProcessDword.
* [include/xmalloc.h][include/bitmap.h][misc/xmalloc.c]
Added xcalloc so we 0 initialize XImages.
Fixes/Hides the 'junk around MOPYFish'.
* [misc/ntdll.c]
Some stubs added.
Thu Jun 25 15:22:43 1998 Adrian Harvey <adrian@select.com.au>
* [scheduler/thread.c]
Implemented SuspendThread and ResumeThread.
Thu Jun 25 00:55:03 1998 Peter Hunnisett <hunnise@nortel.ca>
* [include/debug.h,dplay.h,dsound.h][multimedia/dsound.c,dplay.c]
[relay32/dplayx.spec,dplay.spec][multimedia/Makefile.in]
[documentation/status/directplay]
Added preliminary support for DirectPlay & DirectPlayLobby. Moved the
preliminary stubs put in the dsound files into two new files
dplay.h and dplay.c.
Added new debug channel (dplay) for this.
Created new document to keep track of implementation.
* [include/winioctl.h][win32/device.c]
Added some framework in DeviceIoControl to, in the future, support
the "builtin" windows dwIoControlCodes. Added new header file
winioctl.h .
* [multimedia/mmsystem.c]
Added slightly improved debugging information for PlaySound.
Wed Jun 24 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [files/profile.c][graphics/x11drv/xfont.c][loader/module.c]
Changed lstrcmpi32A to strcasecmp, lstrncmpi32A to strncasecmp,
lstrcpy32A to strcpy, lstrlen32A to strlen, lstrcmp32A to strcmp
because it's not necessary to support locale on such places.
It causes a huge overhead and even fails sometimes
* [include/oleauto.h][include/winerror.h]
Added some ole-related constants.
* [misc/shell.c]
SHELL32_DllGetClassObject, SHGetSpecialFolderLocation,
SHGetPathFromIDList improved the stubs
* [ole/folders.c]
IShellFolder* functions rewrote the stubs so don't crash and give
something sensible back, started implementation of.
* [ole/typelib.c][relay32/oleaut32.spec]
LoadTypeLib32, RegisterTypeLib stub.
* [ole/ole2nls.c]
Fixed a buffer overrun in CompareString32A.
Test for a bad pointer in LCMapString32A (happens
in winhlp32 while building a index for searching).
* [relay32/oleaut32.spec] [ole/typelib.c]
Added stub for LoadTypeLib (ole32) to make excel95 happy.
Tue Jun 23 22:47:09 1998 Alex Priem <alexp@sci.kun.nl>
* [files/profile.c] [relay32/kernel32.spec]
Added WritePrivateProfileStructA, GetPrivateProfileStructA,
GetPrivateProfileSectionNames16.
Tue Jun 23 01:34:43 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [ole/ole2nls.c]
GetStringTypeEx32A: Implemented CT_CTYPE2 and CT_CTYPE3 cases.
LCMapString32A: Map final '\0' for '\0'-terminated strings.
* [misc/shellord.c] [files/profile.c] [graphics/driver.c]
[loader/module.c] [msdos/int21.c] [windows/driver.c] [files/drive.c]
Changed lstrcmpi32A -> strcasecmp. Should be OK in these places.
Sat Jun 20 23:40:00 1998 Bertho Stultiens <bertho@akhphd.au.dk>
* [tools/wrc/]
Wrc version 1.0.2 (20-Jun-1998). Please revert to
the file tools/wrc/CHANGES for details.
Sat Jun 20 14:58:00 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/ole2nls.c] [ole/nls/*]
Added the first 57 nls files, most are not yet complete.
Wed Jun 17 11:16:54 1998 David Luyer <luyer@ucs.uwa.edu.au>
* [relay32/relay386.c] [if1632/relay.c]
Move debug_relay_(include|exclude)_list handling into
seperate function RELAY_ShowDebugmsgsRelay(). Include
checking of this for 16 bit calls (originally only
32-bit calls).
* [relay32/snoop.c] [misc/main.c]
Add debug_snoop_(include|exclude)_list as per the relay stuff.
Fix typo and add information on -debugmsg +/-relay=... in
help on -debugmsg. Refer to availability of snoop too.
Tue Jun 10 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/header.c][include/header.h][include/commctrl.h]
Added owner draw support.
* [windows/nonclient.c][windows/sysmetics.c]
Fixed menu bar height for Win95 look.
Split NC_AdjustRect95() into NC_AdjustRectOuter95() and
NC_AdjustRectInner95 to fix a menu bar bug.
Improved Win95 look.
* [controls/progress.c]
Improved drawing code. Borders will be drawn by non-client code.
* [controls/updown.c]
Changed memory allocation and fixed some bugs.
* [controls/toolbar.c]
Fixed TB_BUTTONSTRUCTSIZE bug in MFC programs.
Several improvements.
* [misc/shell.c]
Added stub for BrowseForFoldersA().
* [misc/shellord.c]
Added stub for SHELL32_147().
* [controls/comctl32undoc.c]
Minor changes.
* [documentation/common_controls]
New File: Documentation about development status, undocumented
features and functions of the common controls.
1998-06-28 20:40:26 +02:00
|
|
|
if( !strcasecmp( pfa->faTypeFace, lpAlias ) )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2002-06-01 01:06:46 +02:00
|
|
|
TRACE("redundant alias '%s' -> '%s'\n",
|
1998-03-29 21:44:57 +02:00
|
|
|
lpAlias, lpTypeFace );
|
1997-08-24 18:00:30 +02:00
|
|
|
return NULL;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
prev = pfa;
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
|
|
|
|
2000-08-06 04:41:16 +02:00
|
|
|
j = strlen(lpTypeFace) + 1;
|
2000-02-16 23:47:24 +01:00
|
|
|
pfa = HeapAlloc( GetProcessHeap(), 0, sizeof(fontAlias) +
|
2000-08-06 04:41:16 +02:00
|
|
|
j + strlen(lpAlias) + 1 );
|
1999-09-05 14:18:57 +02:00
|
|
|
if (pfa)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if (!prev)
|
|
|
|
aliasTable = pfa;
|
|
|
|
else
|
|
|
|
prev->next = pfa;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
pfa->next = NULL;
|
|
|
|
pfa->faTypeFace = (LPSTR)(pfa + 1);
|
2000-08-14 16:41:19 +02:00
|
|
|
strcpy( pfa->faTypeFace, lpTypeFace );
|
1999-09-05 14:18:57 +02:00
|
|
|
pfa->faAlias = pfa->faTypeFace + j;
|
2000-08-14 16:41:19 +02:00
|
|
|
strcpy( pfa->faAlias, lpAlias );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2000-07-16 17:44:22 +02:00
|
|
|
TRACE("added alias '%s' for '%s'\n", lpAlias, lpTypeFace );
|
1998-03-29 21:44:57 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
return pfa;
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_LoadAlias
|
|
|
|
*/
|
|
|
|
static void XFONT_LoadAlias(const LFD* lfd, LPCSTR lpAlias, BOOL bSubst)
|
|
|
|
{
|
|
|
|
fontResource *fr, *frMatch = NULL;
|
|
|
|
if (!lfd->foundry || ! lfd->family)
|
|
|
|
{
|
|
|
|
WARN("Malformed font resource for alias '%s'\n", lpAlias);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
for (fr = fontList; fr ; fr = fr->next)
|
|
|
|
{
|
|
|
|
if(!strcasecmp(fr->resource->family, lpAlias))
|
|
|
|
{
|
|
|
|
/* alias is not needed since the real font is present */
|
|
|
|
TRACE("Ignoring font alias '%s' as it is already available as a real font\n", lpAlias);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if( XFONT_SameFoundryAndFamily( fr->resource, lfd ) )
|
|
|
|
{
|
|
|
|
frMatch = fr;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if( frMatch )
|
|
|
|
{
|
|
|
|
if( bSubst )
|
|
|
|
{
|
|
|
|
fontAlias *pfa, *prev = NULL;
|
|
|
|
|
|
|
|
for(pfa = aliasTable; pfa; pfa = pfa->next)
|
|
|
|
{
|
|
|
|
/* Remove lpAlias from aliasTable - we should free the old entry */
|
|
|
|
if(!strcmp(lpAlias, pfa->faAlias))
|
|
|
|
{
|
|
|
|
if(prev)
|
|
|
|
prev->next = pfa->next;
|
|
|
|
else
|
|
|
|
aliasTable = pfa->next;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Update any references to the substituted font in aliasTable */
|
|
|
|
if(!strcmp(frMatch->lfFaceName, pfa->faTypeFace))
|
2001-07-24 23:45:22 +02:00
|
|
|
{
|
|
|
|
pfa->faTypeFace = HeapAlloc( GetProcessHeap(), 0, strlen(lpAlias)+1 );
|
|
|
|
strcpy( pfa->faTypeFace, lpAlias );
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
prev = pfa;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-16 17:44:22 +02:00
|
|
|
TRACE("\tsubstituted '%s' with '%s'\n", frMatch->lfFaceName, lpAlias );
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
lstrcpynA( frMatch->lfFaceName, lpAlias, LF_FACESIZE );
|
|
|
|
frMatch->fr_flags |= FR_NAMESET;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
/* create new entry in the alias table */
|
|
|
|
XFONT_CreateAlias( frMatch->lfFaceName, lpAlias );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
WARN("Font alias '-%s-%s-' is not available\n", lfd->foundry, lfd->family);
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2001-06-19 05:32:44 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* Just a copy of PROFILE_GetStringItem
|
|
|
|
*
|
2002-06-01 01:06:46 +02:00
|
|
|
* Convenience function that turns a string 'xxx, yyy, zzz' into
|
2001-06-19 05:32:44 +02:00
|
|
|
* the 'xxx\0 yyy, zzz' and returns a pointer to the 'yyy, zzz'.
|
|
|
|
*/
|
|
|
|
static char *XFONT_GetStringItem( char *start )
|
|
|
|
{
|
|
|
|
#define XFONT_isspace(c) (isspace(c) || (c == '\r') || (c == 0x1a))
|
|
|
|
char *lpchX, *lpch;
|
|
|
|
|
|
|
|
for (lpchX = start, lpch = NULL; *lpchX != '\0'; lpchX++ )
|
|
|
|
{
|
|
|
|
if( *lpchX == ',' )
|
|
|
|
{
|
|
|
|
if( lpch ) *lpch = '\0'; else *lpchX = '\0';
|
|
|
|
while( *(++lpchX) )
|
|
|
|
if( !XFONT_isspace(*lpchX) ) return lpchX;
|
|
|
|
}
|
|
|
|
else if( XFONT_isspace( *lpchX ) && !lpch ) lpch = lpchX;
|
|
|
|
else lpch = NULL;
|
|
|
|
}
|
|
|
|
if( lpch ) *lpch = '\0';
|
|
|
|
return NULL;
|
|
|
|
#undef XFONT_isspace
|
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_LoadAliases
|
|
|
|
*
|
2002-06-01 01:06:46 +02:00
|
|
|
* INIT ONLY
|
1999-09-05 14:18:57 +02:00
|
|
|
*
|
2000-07-16 17:44:22 +02:00
|
|
|
* Create font aliases for some standard windows fonts using user's
|
1999-09-05 14:18:57 +02:00
|
|
|
* default choice of (sans-)serif fonts
|
|
|
|
*
|
2004-01-18 23:10:39 +01:00
|
|
|
* Read user-defined aliases from config file. Format is as follows
|
1997-06-16 19:43:53 +02:00
|
|
|
*
|
|
|
|
* Alias# = [Windows font name],[LFD font name], <substitute original name>
|
|
|
|
*
|
|
|
|
* Example:
|
2002-06-01 01:06:46 +02:00
|
|
|
* Alias0 = Arial, -adobe-helvetica-
|
1997-06-16 19:43:53 +02:00
|
|
|
* Alias1 = Times New Roman, -bitstream-courier-, 1
|
|
|
|
* ...
|
1997-08-24 18:00:30 +02:00
|
|
|
*
|
2000-07-16 17:44:22 +02:00
|
|
|
* Note that from 970817 and on we have built-in alias templates that take
|
1997-08-24 18:00:30 +02:00
|
|
|
* care of the necessary Windows typefaces.
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
typedef struct
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
LPSTR fatResource;
|
|
|
|
LPSTR fatAlias;
|
|
|
|
} aliasTemplate;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2005-06-14 19:24:28 +02:00
|
|
|
static void XFONT_LoadAliases( HKEY hkey )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
char *lpResource;
|
|
|
|
char buffer[MAX_LFD_LENGTH];
|
|
|
|
int i = 0;
|
2003-11-21 22:48:36 +01:00
|
|
|
LFD lfd;
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* built-ins first */
|
2001-06-19 05:32:44 +02:00
|
|
|
strcpy(buffer, "-bitstream-charter-");
|
2005-06-14 19:24:28 +02:00
|
|
|
if (hkey)
|
2001-06-19 05:32:44 +02:00
|
|
|
{
|
|
|
|
DWORD type, count = sizeof(buffer);
|
|
|
|
RegQueryValueExA(hkey, INIDefaultSerif, 0, &type, buffer, &count);
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("Using '%s' as default serif font\n", buffer);
|
2003-11-21 22:48:36 +01:00
|
|
|
if (LFD_Parse(buffer, &lfd))
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
/* NB XFONT_InitialCapitals should not change these standard aliases */
|
|
|
|
XFONT_LoadAlias( &lfd, "Tms Roman", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "MS Serif", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "Times New Roman", FALSE);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
XFONT_LoadDefaultLFD( &lfd, "serif ");
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2001-06-19 05:32:44 +02:00
|
|
|
strcpy(buffer, "-adobe-helvetica-");
|
2005-06-14 19:24:28 +02:00
|
|
|
if (hkey)
|
2001-06-19 05:32:44 +02:00
|
|
|
{
|
|
|
|
DWORD type, count = sizeof(buffer);
|
|
|
|
RegQueryValueExA(hkey, INIDefaultSansSerif, 0, &type, buffer, &count);
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("Using '%s' as default sans serif font\n", buffer);
|
2003-11-21 22:48:36 +01:00
|
|
|
if (LFD_Parse(buffer, &lfd))
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
XFONT_LoadAlias( &lfd, "Helv", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "MS Sans Serif", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "MS Shell Dlg", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "System", FALSE);
|
|
|
|
XFONT_LoadAlias( &lfd, "Arial", FALSE);
|
|
|
|
|
|
|
|
XFONT_LoadDefaultLFD( &lfd, "sans serif ");
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/* then user specified aliases */
|
|
|
|
do
|
|
|
|
{
|
2001-06-19 05:32:44 +02:00
|
|
|
BOOL bSubst;
|
1999-09-05 14:18:57 +02:00
|
|
|
char subsection[32];
|
2003-06-18 21:45:22 +02:00
|
|
|
snprintf( subsection, sizeof(subsection), "%s%i", INIAliasSection, i++ );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-06-19 05:32:44 +02:00
|
|
|
buffer[0] = 0;
|
2005-06-14 19:24:28 +02:00
|
|
|
if (hkey)
|
2001-06-19 05:32:44 +02:00
|
|
|
{
|
|
|
|
DWORD type, count = sizeof(buffer);
|
|
|
|
RegQueryValueExA(hkey, subsection, 0, &type, buffer, &count);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!buffer[0])
|
1999-09-05 14:18:57 +02:00
|
|
|
break;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_InitialCapitals(buffer);
|
2001-06-19 05:32:44 +02:00
|
|
|
lpResource = XFONT_GetStringItem( buffer );
|
|
|
|
bSubst = (XFONT_GetStringItem( lpResource )) ? TRUE : FALSE;
|
1999-09-05 14:18:57 +02:00
|
|
|
if( lpResource && *lpResource )
|
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
if (LFD_Parse(lpResource, &lfd)) XFONT_LoadAlias(&lfd, buffer, bSubst);
|
1997-08-24 18:00:30 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
|
|
|
WARN("malformed font alias '%s'\n", buffer );
|
|
|
|
}
|
|
|
|
while(TRUE);
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_UnAlias
|
|
|
|
*
|
|
|
|
* Convert an (potential) alias into a real windows name
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
static LPCSTR XFONT_UnAlias(char* font)
|
|
|
|
{
|
|
|
|
if (font[0])
|
|
|
|
{
|
|
|
|
fontAlias* fa;
|
|
|
|
XFONT_InitialCapitals(font); /* to remove extra white space */
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
for( fa = aliasTable; fa; fa = fa->next )
|
|
|
|
/* use case insensitive matching to handle eg "MS Sans Serif" */
|
2002-06-01 01:06:46 +02:00
|
|
|
if( !strcasecmp( fa->faAlias, font ) )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("found alias '%s'->%s'\n", font, fa->faTypeFace );
|
|
|
|
strcpy(font, fa->faTypeFace);
|
|
|
|
return fa->faAlias;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
Release 971101
Thu Oct 30 21:52:23 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [windows/nonclient.c]
Changed NC_TrackSysMenu to give the same behaviour as MS-Windows,
i.e. system menu already appears when mouse button is depressed.
Changed NC_HandleNCLButtonDblClk so that double clicks on scroll
bar arrows are handled the same way as single clicks.
* [windows/winpos.c]
Fixed SetWindowPos32 to clear WIN_NO_REDRAW when SWP_SHOWWINDOW is
set; this is the way MS-Windows behaves.
Thu Oct 30 21:08:57 1997 Morten Welinder <terra@diku.dk>
* [controls/status.c]
In SW_SetText, fix condition, I hope.
* [controls/menu.c]
(GetMenuState32): Don't mask return value. Print more debug info.
(MENU_MenuBarCalcSize): Be more careful when printing debug
information.
(MENU_SetItemData): Empty strings are separators.
* [graphics/x11drv/text.c]
Don't prototype CLIPPING_IntersectClipRect.
* [include/dc.h]
Prototype CLIPPING_IntersectClipRect.
* [objects/font.c]
Remove non-portable (and faulty) smartness in FONT_TextMetric*to*.
In CreateFont32W and CreateFont16, handle null font name.
* [objects/text.c]
(TEXT_NextLine): Fix end-of-line bug.
* [if1632/shell32.spec]
Activate existing implementation of ExtractIconA.
* [misc/shell.c]
For Control_RunDLL, add types for parameters.
Thu Oct 30 14:54:11 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [controls/static.c] [include/windows.h] [misc/spy.c]
Added some win32 defines to static controls, basic SS_BITMAP style
handling implemented. [please add more, I am lacking knowledge and
time]
* [controls/status.c]
part_num 255 seems to indicate whole statusline (win95 cdplayer.exe)
* [if1632/thunk.c] [tools/build.c]
Support lret and 0x66 lret calls for CallTo16_regs
(needed for KERNEL32_45)
Fixed KERNEL32_45, QT_Thunk (should work now).
* [if1632/relay.c][if1632/builtin.c][tools/build.c][if1632/*32.spec]
Added string dumping to relay debugging for win32 apifuncs.
* [misc/ver.c]
Fixed and cleaned up VerQueryValue*.
* [multimedia/*.c][include/mmsystem.h][if1632/mmsystem.spec]
[if1632/winmm.spec]
Win32 support for lowlevel multimedia functions.
Added some mixer* lowlevel functions.
Some small fixes in the audio lowlevel queue handling, code
reformatting/cleanups.
* [debugger/hash.c]
Don't show difference between 16bit symbols if they are in
different segments.
* [objects/cursoricon.c]
Added GetIconInfo (partial) and CreateIconIndirect.
* [windows/mdi.c]
Fixed some "bad class" problems and crashes in MDICreateChild,
which happen in Win32 (jwp32.exe).
Wed Oct 29 00:57:27 1997 Bruce Milner <Bruce.Milner@genetics.utah.edu>
* [if1632/winaspi.spec] [misc/aspi.c] [include/aspi.c]
[documentation/aspi] [include/callback.h]
Added support for 16 bit ASPI calls to linux generic SCSI.
The support is not complete, but appears to run my Mustek
scanner from within ipplus.exe.
Mon Oct 27 00:59:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [windows/dce.c]
DC reuse framework.
Sun Oct 26 18:41:21 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [graphics/x11drv/xfont.c]
Substituted fonts are removed from the alias table. References to
the old name are also updated.
* [controls/combo.c]
LB_SELECTSTRING32 not CB_SELECTSTRING32 should be sent to
ComboLBox.
Sun Oct 26 14:25:00 1997 Nikita V. Youshchenko <yoush@cs.msu.su>
* [include/drive.h] [files/drive.c] [msdos/int21.c]
Partially implemented DOS drive mapping (int21 AX=440F).
Sat Oct 25 13:03:29 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [debugger/debug.l]
Support '.' in identifiers. Use "x . y" to access structure
fields.
* [debugger/hash.c] [loader/pe_image.c]
Load entry points of Win32 modules only when entering the
debugger.
* [debugger/break.c]
New function DEBUG_AddModuleBreakpoint() to set a breakpoint at
the start of every module.
* [files/file.c]
FILE_mmap() can now fake mmap() for unaligned offsets or broken
filesystems.
* [include/callback.h] [misc/callback.c] [if1632/thunk.c]
Use a table of callbacks instead of macros to differentiate
between emulator and Winelib.
* [loader/task.c]
Initialize current directory from cwd, not from module path.
* [tools/build.c]
Read CallTo16 prototypes directly from thunk.c source file.
* [windows/winproc.c] [windows/mdi.c]
Added translation for WM_MDIACTIVATE and WM_MDIGETACTIVE.
Fri Oct 24 21:41:25 1997 Uwe Bonnes <bon@elektron.ikp.tu-darmstadt.de>
* [files/drive.c]
Allow arguments like "a" for the drive related apis.
* [memory/global.c]
Keep the calculation for dwMemoryLoad in range.
* [misc/crtdll.c]
Make CRTDLL_getcwd use GetCurrentDirectory32A and alloc
its memory if requested.
Implemented CRTDLL_rename and CRTDLL_stat needed for
lcc-win32:wedit.exe.
Implemented CRTDLL__fullpath.
* [misc/comm.c]
High speed modes for the 16-bit mode Comm functions.
* [misc/cpu.c]
As applications may treat lpMaximumApplicationAddress as long,
use a valid long number.
* [misc/main.c]
In SystemParametersInfo16 ignore SPI_GETHIGHCONTRAST too.
* [misc/ole2nls.c]
Implement LCMAP_UPPERCASE for LCMapString32.
* [misc/wsprintf]
Made WPRINTF_ParseFormatA understand %ws.
* [win32/file.c]
Ignore FILE_ATTRIBUTE_NORMAL.
Stub for ReadFileEx.
Fri Oct 24 15:36:02 1997 Doug Ridgway <ridgway@routh.ucsd.edu>
* [memory/local.c]
Local heap exhaustion message now prints which builtin heap filled.
Fri Oct 24 00:46:34 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/dialog.c]
Reversed CreateFont16/32W typo.
Thu Oct 23 23:44:20 1997 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [if1632/user.spec]
Fixed argument list for ChangeClipboardChain.
* [windows/mdi.c]
Pass correct hInstance to CreateWindow16() in MDICreateChild().
Mon Oct 20 11:51:24 1997 Carsten Fallesen <cf@it.dtu.dk>
* [objects/metafile.c]
Added support for META_SETTEXTCHAREXTRA.
* [objects/region.c]
Fixed crash in XPolygonRegion if there is only one point in
in the region.
* [if1632/gdi32.spec][include/gdi.h][include/windows.h]
[objects/gdiobj.c]
Completed OBJ_XXX defines in gdi.h, removed OBJ_XXX in gdiobj.c
and included gdi.h instead. Implemented GetObjectType32().
Thu Oct 16 17:21:32 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [documentation/wine.texinfo]
Fixed WIN32 and Makefiles entries of Reference manual node, that
made makeinfo dump core.
Mon Oct 13 17:15:57 1997 Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
* [if1632/crtdll.spec]
Added missing math functions y0(), y1(), y2(), floor(), frexp(),
ldexp(), modf().
1997-11-01 20:08:16 +01:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_RemoveFontResource
|
|
|
|
*
|
|
|
|
* Caller should check if the font resource is in use. If it is it should
|
|
|
|
* set FR_REMOVED flag to delay removal until the resource is not in use
|
2000-07-16 17:44:22 +02:00
|
|
|
* any more.
|
1999-09-05 14:18:57 +02:00
|
|
|
*/
|
2005-01-20 21:36:01 +01:00
|
|
|
static void XFONT_RemoveFontResource( fontResource** ppfr )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
fontResource* pfr = *ppfr;
|
|
|
|
#if 0
|
|
|
|
fontInfo* pfi;
|
1998-03-29 21:44:57 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* FIXME - if fonts were read from a cache, these HeapFrees will fail */
|
|
|
|
while( pfr->fi )
|
|
|
|
{
|
|
|
|
pfi = pfr->fi->next;
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, pfr->fi );
|
1999-09-05 14:18:57 +02:00
|
|
|
pfr->fi = pfi;
|
|
|
|
}
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, pfr );
|
1999-09-05 14:18:57 +02:00
|
|
|
#endif
|
|
|
|
*ppfr = pfr->next;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
/***********************************************************************
|
1999-09-05 14:18:57 +02:00
|
|
|
* XFONT_LoadIgnores
|
|
|
|
*
|
2002-06-01 01:06:46 +02:00
|
|
|
* INIT ONLY
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* Removes specified fonts from the font table to prevent Wine from
|
|
|
|
* using it.
|
|
|
|
*
|
|
|
|
* Ignore# = [LFD font name]
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* Ignore0 = -misc-nil-
|
|
|
|
* Ignore1 = -sun-open look glyph-
|
|
|
|
* ...
|
|
|
|
*
|
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static void XFONT_LoadIgnore(char* lfdname)
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fontResource** ppfr;
|
2003-11-21 22:48:36 +01:00
|
|
|
LFD lfd;
|
1998-12-26 20:42:02 +01:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
if (LFD_Parse(lfdname, &lfd) && lfd.foundry && lfd.family)
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
for( ppfr = &fontList; *ppfr ; ppfr = &((*ppfr)->next))
|
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
if( XFONT_SameFoundryAndFamily( (*ppfr)->resource, &lfd) )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
TRACE("Ignoring '-%s-%s-'\n",
|
|
|
|
(*ppfr)->resource->foundry, (*ppfr)->resource->family );
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_RemoveFontResource( ppfr );
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
|
|
|
WARN("Malformed font resource\n");
|
|
|
|
}
|
|
|
|
|
2005-06-14 19:24:28 +02:00
|
|
|
static void XFONT_LoadIgnores( HKEY hkey )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
int i = 0;
|
|
|
|
char subsection[32];
|
|
|
|
char buffer[MAX_LFD_LENGTH];
|
|
|
|
|
|
|
|
/* Standard one that noone wants */
|
|
|
|
strcpy(buffer, "-misc-nil-");
|
|
|
|
XFONT_LoadIgnore(buffer);
|
|
|
|
|
|
|
|
/* Others from INI file */
|
2005-06-14 19:24:28 +02:00
|
|
|
if (!hkey) return;
|
1998-12-26 20:42:02 +01:00
|
|
|
do
|
|
|
|
{
|
2005-06-14 19:24:28 +02:00
|
|
|
DWORD type, count = sizeof(buffer);
|
2000-07-29 23:58:17 +02:00
|
|
|
sprintf( subsection, "%s%i", INIIgnoreSection, i++ );
|
1998-12-26 20:42:02 +01:00
|
|
|
|
2005-06-14 19:24:28 +02:00
|
|
|
if (!RegQueryValueExA(hkey, subsection, 0, &type, buffer, &count))
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
char* pch = buffer;
|
|
|
|
while( *pch && isspace(*pch) ) pch++;
|
|
|
|
XFONT_LoadIgnore(pch);
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
1999-09-05 14:18:57 +02:00
|
|
|
break;
|
|
|
|
} while(TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_UserMetricsCache
|
2002-06-01 01:06:46 +02:00
|
|
|
*
|
1999-09-05 14:18:57 +02:00
|
|
|
* Returns expanded name for the cachedmetrics file.
|
2000-07-16 17:44:22 +02:00
|
|
|
* Now it also appends the current value of the $DISPLAY variable.
|
1999-09-05 14:18:57 +02:00
|
|
|
*/
|
|
|
|
static char* XFONT_UserMetricsCache( char* buffer, int* buf_size )
|
|
|
|
{
|
2002-06-21 01:21:27 +02:00
|
|
|
const char *confdir = wine_get_config_dir();
|
2001-03-24 00:45:45 +01:00
|
|
|
const char *display_name = XDisplayName(NULL);
|
2001-08-15 20:52:48 +02:00
|
|
|
int len = strlen(confdir) + strlen(INIFontMetrics) + strlen(display_name) + 8;
|
|
|
|
int display = 0;
|
|
|
|
int screen = 0;
|
|
|
|
char *p, *ext;
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Normalize the display name, since on Red Hat systems, DISPLAY
|
|
|
|
** is commonly set to one of either 'unix:0.0' or ':0' or ':0.0'.
|
|
|
|
** after this code, all of the above will resolve to ':0.0'.
|
|
|
|
*/
|
|
|
|
if (!strncmp( display_name, "unix:", 5 )) display_name += 4;
|
|
|
|
p = strchr(display_name, ':');
|
|
|
|
if (p) sscanf(p + 1, "%d.%d", &display, &screen);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2000-05-15 04:47:25 +02:00
|
|
|
if ((len > *buf_size) &&
|
|
|
|
!(buffer = HeapReAlloc( GetProcessHeap(), 0, buffer, *buf_size = len )))
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2000-05-15 04:47:25 +02:00
|
|
|
ERR("out of memory\n");
|
|
|
|
ExitProcess(1);
|
|
|
|
}
|
2001-08-15 20:52:48 +02:00
|
|
|
sprintf( buffer, "%s/%s", confdir, INIFontMetrics );
|
|
|
|
|
|
|
|
ext = buffer + strlen(buffer);
|
|
|
|
strcpy( ext, display_name );
|
2000-05-15 04:47:25 +02:00
|
|
|
|
2001-08-15 20:52:48 +02:00
|
|
|
if (!(p = strchr( ext, ':' ))) p = ext + strlen(ext);
|
|
|
|
sprintf( p, ":%d.%d", display, screen );
|
1999-09-05 14:18:57 +02:00
|
|
|
return buffer;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X Font Matching
|
|
|
|
*
|
|
|
|
* Compare two fonts (only parameters set by the XFONT_InitFontInfo()).
|
|
|
|
*/
|
|
|
|
static INT XFONT_IsSubset(const fontInfo* match, const fontInfo* fi)
|
|
|
|
{
|
|
|
|
INT m;
|
|
|
|
|
|
|
|
/* 0 - keep both, 1 - keep match, -1 - keep fi */
|
|
|
|
|
|
|
|
/* Compare dfItalic, Underline, Strikeout, Weight, Charset */
|
2004-11-30 22:38:57 +01:00
|
|
|
m = (const BYTE*)&fi->df.dfPixWidth - (const BYTE*)&fi->df.dfItalic;
|
1999-09-05 14:18:57 +02:00
|
|
|
if( memcmp(&match->df.dfItalic, &fi->df.dfItalic, m )) return 0;
|
|
|
|
|
|
|
|
if( (!((fi->fi_flags & FI_SCALABLE) + (match->fi_flags & FI_SCALABLE))
|
|
|
|
&& fi->lfd_height != match->lfd_height) ||
|
|
|
|
(!((fi->fi_flags & FI_POLYWEIGHT) + (match->fi_flags & FI_POLYWEIGHT))
|
|
|
|
&& fi->df.dfWeight != match->df.dfWeight) ) return 0;
|
|
|
|
|
|
|
|
m = (int)(match->fi_flags & (FI_POLYWEIGHT | FI_SCALABLE)) -
|
|
|
|
(int)(fi->fi_flags & (FI_SCALABLE | FI_POLYWEIGHT));
|
|
|
|
|
|
|
|
if( m == (FI_POLYWEIGHT - FI_SCALABLE) ||
|
|
|
|
m == (FI_SCALABLE - FI_POLYWEIGHT) ) return 0; /* keep both */
|
|
|
|
else if( m >= 0 ) return 1; /* 'match' is better */
|
|
|
|
|
|
|
|
return -1; /* 'fi' is better */
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_CheckFIList
|
|
|
|
*
|
|
|
|
* REMOVE_SUBSETS - attach new fi and purge subsets
|
|
|
|
* UNMARK_SUBSETS - remove subset flags from all fi entries
|
|
|
|
*/
|
|
|
|
static void XFONT_CheckFIList( fontResource* fr, fontInfo* fi, int action)
|
|
|
|
{
|
|
|
|
int i = 0;
|
|
|
|
fontInfo* pfi, *prev;
|
|
|
|
|
|
|
|
for( prev = NULL, pfi = fr->fi; pfi; )
|
|
|
|
{
|
|
|
|
if( action == REMOVE_SUBSETS )
|
|
|
|
{
|
|
|
|
if( pfi->fi_flags & FI_SUBSET )
|
|
|
|
{
|
|
|
|
fontInfo* subset = pfi;
|
|
|
|
|
|
|
|
i++;
|
|
|
|
fr->fi_count--;
|
|
|
|
if( prev ) prev->next = pfi = pfi->next;
|
|
|
|
else fr->fi = pfi = pfi->next;
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, subset );
|
1999-09-05 14:18:57 +02:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else pfi->fi_flags &= ~FI_SUBSET;
|
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
prev = pfi;
|
1999-09-05 14:18:57 +02:00
|
|
|
pfi = pfi->next;
|
|
|
|
}
|
|
|
|
|
|
|
|
if( action == REMOVE_SUBSETS ) /* also add the superset */
|
|
|
|
{
|
|
|
|
if( fi->fi_flags & FI_SCALABLE )
|
|
|
|
{
|
|
|
|
fi->next = fr->fi;
|
|
|
|
fr->fi = fi;
|
|
|
|
}
|
|
|
|
else if( prev ) prev->next = fi; else fr->fi = fi;
|
|
|
|
fr->fi_count++;
|
|
|
|
}
|
|
|
|
|
|
|
|
if( i ) TRACE("\t purged %i subsets [%i]\n", i , fr->fi_count);
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_FindFIList
|
|
|
|
*/
|
|
|
|
static fontResource* XFONT_FindFIList( fontResource* pfr, const char* pTypeFace )
|
|
|
|
{
|
|
|
|
while( pfr )
|
|
|
|
{
|
|
|
|
if( !strcasecmp( pfr->lfFaceName, pTypeFace ) ) break;
|
|
|
|
pfr = pfr->next;
|
|
|
|
}
|
1999-11-28 21:16:37 +01:00
|
|
|
/* Give the app back the font name it asked for. Encarta checks this. */
|
|
|
|
if (pfr) strcpy(pfr->lfFaceName,pTypeFace);
|
1999-09-05 14:18:57 +02:00
|
|
|
return pfr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_FixupPointSize
|
|
|
|
*/
|
|
|
|
static void XFONT_FixupPointSize(fontInfo* fi)
|
|
|
|
{
|
|
|
|
#define df (fi->df)
|
|
|
|
df.dfHorizRes = df.dfVertRes = fi->lfd_resolution;
|
|
|
|
df.dfPoints = (INT16)
|
|
|
|
(((INT)(df.dfPixHeight - df.dfInternalLeading) * 72 + (df.dfVertRes >> 1)) /
|
|
|
|
df.dfVertRes );
|
|
|
|
#undef df
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_BuildMetrics
|
2002-06-01 01:06:46 +02:00
|
|
|
*
|
1999-09-05 14:18:57 +02:00
|
|
|
* Build font metrics from X font
|
|
|
|
*/
|
2003-07-09 06:18:22 +02:00
|
|
|
static int XLoadQueryFont_ErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
|
|
|
|
{
|
|
|
|
return 1;
|
|
|
|
}
|
|
|
|
|
2003-09-15 22:05:09 +02:00
|
|
|
/* XLoadQueryFont has the bad habit of crashing when loading a bad font... */
|
|
|
|
static XFontStruct *safe_XLoadQueryFont(Display *display, char *name)
|
|
|
|
{
|
|
|
|
XFontStruct *ret;
|
2003-11-20 05:24:18 +01:00
|
|
|
|
2003-09-15 22:05:09 +02:00
|
|
|
X11DRV_expect_error(display, XLoadQueryFont_ErrorHandler, NULL);
|
|
|
|
ret = XLoadQueryFont(display, name);
|
|
|
|
if (X11DRV_check_error()) ret = NULL;
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static int XFONT_BuildMetrics(char** x_pattern, int res, unsigned x_checksum, int x_count)
|
|
|
|
{
|
|
|
|
int i;
|
|
|
|
fontInfo* fi = NULL;
|
2000-07-15 21:43:33 +02:00
|
|
|
fontResource* fr, *pfr;
|
1999-09-05 14:18:57 +02:00
|
|
|
int n_ff = 0;
|
|
|
|
|
|
|
|
MESSAGE("Building font metrics. This may take some time...\n");
|
|
|
|
for( i = 0; i < x_count; i++ )
|
|
|
|
{
|
|
|
|
char* typeface;
|
2003-11-21 22:48:36 +01:00
|
|
|
LFD lfd;
|
1999-09-05 14:18:57 +02:00
|
|
|
int j;
|
|
|
|
char buffer[MAX_LFD_LENGTH];
|
|
|
|
char* lpstr;
|
|
|
|
XFontStruct* x_fs;
|
|
|
|
fontInfo* pfi;
|
|
|
|
|
2001-07-24 23:45:22 +02:00
|
|
|
if (!(typeface = HeapAlloc(GetProcessHeap(), 0, strlen(x_pattern[i])+1))) break;
|
|
|
|
strcpy( typeface, x_pattern[i] );
|
2002-10-17 03:22:56 +02:00
|
|
|
if (i % 10 == 0) MESSAGE("Font metrics: %.1f%% done\n", 100.0 * i / x_count);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
if (!LFD_Parse(typeface, &lfd))
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, typeface);
|
1999-09-05 14:18:57 +02:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* find a family to insert into */
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
for( pfr = NULL, fr = fontList; fr; fr = fr->next )
|
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
if( XFONT_SameFoundryAndFamily(fr->resource, &lfd))
|
1999-09-05 14:18:57 +02:00
|
|
|
break;
|
|
|
|
pfr = fr;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
|
|
|
|
2005-03-24 22:01:35 +01:00
|
|
|
if( !fi ) fi = HeapAlloc(GetProcessHeap(), 0, sizeof(fontInfo));
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
if( !LFD_InitFontInfo( fi, &lfd, x_pattern[i]) )
|
1999-09-05 14:18:57 +02:00
|
|
|
goto nextfont;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if( !fr ) /* add new family */
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
n_ff++;
|
2005-03-24 22:01:35 +01:00
|
|
|
fr = HeapAlloc(GetProcessHeap(), 0, sizeof(fontResource));
|
1999-09-05 14:18:57 +02:00
|
|
|
if (fr)
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
memset(fr, 0, sizeof(fontResource));
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2005-03-24 22:01:35 +01:00
|
|
|
fr->resource = HeapAlloc(GetProcessHeap(), 0, sizeof(LFD));
|
1999-09-05 14:18:57 +02:00
|
|
|
memset(fr->resource, 0, sizeof(LFD));
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
TRACE("family: -%s-%s-\n", lfd.foundry, lfd.family );
|
|
|
|
fr->resource->foundry = HeapAlloc(GetProcessHeap(), 0, strlen(lfd.foundry)+1);
|
|
|
|
strcpy( (char *)fr->resource->foundry, lfd.foundry );
|
|
|
|
fr->resource->family = HeapAlloc(GetProcessHeap(), 0, strlen(lfd.family)+1);
|
|
|
|
strcpy( (char *)fr->resource->family, lfd.family );
|
1999-09-05 14:18:57 +02:00
|
|
|
fr->resource->weight = "";
|
|
|
|
|
|
|
|
if( pfr ) pfr->next = fr;
|
|
|
|
else fontList = fr;
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
|
|
|
WARN("Not enough memory for a new font family\n");
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* check if we already have something better than "fi" */
|
2002-06-01 01:06:46 +02:00
|
|
|
|
|
|
|
for( pfi = fr->fi, j = 0; pfi && j <= 0; pfi = pfi->next )
|
|
|
|
if( (j = XFONT_IsSubset( pfi, fi )) < 0 )
|
1999-09-05 14:18:57 +02:00
|
|
|
pfi->fi_flags |= FI_SUBSET; /* superseded by "fi" */
|
|
|
|
if( j > 0 ) goto nextfont;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* add new font instance "fi" to the "fr" font resource */
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if( fi->fi_flags & FI_SCALABLE )
|
|
|
|
{
|
|
|
|
LFD lfd1;
|
2002-06-01 01:06:46 +02:00
|
|
|
char pxl_string[4], res_string[4];
|
2005-03-30 19:08:31 +02:00
|
|
|
/* set scalable font height to get a basis for extrapolation */
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
fi->lfd_height = DEF_SCALABLE_HEIGHT;
|
|
|
|
fi->lfd_resolution = res;
|
|
|
|
|
|
|
|
sprintf(pxl_string, "%d", fi->lfd_height);
|
|
|
|
sprintf(res_string, "%d", fi->lfd_resolution);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
lfd1 = lfd;
|
1999-09-05 14:18:57 +02:00
|
|
|
lfd1.pixel_size = pxl_string;
|
|
|
|
lfd1.point_size = "*";
|
|
|
|
lfd1.resolution_x = res_string;
|
|
|
|
lfd1.resolution_y = res_string;
|
|
|
|
|
2003-06-18 21:45:22 +02:00
|
|
|
LFD_UnParse(buffer, sizeof(buffer), &lfd1);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
lpstr = buffer;
|
|
|
|
}
|
|
|
|
else lpstr = x_pattern[i];
|
1998-12-26 20:42:02 +01:00
|
|
|
|
2003-07-09 06:18:22 +02:00
|
|
|
/* X11 may return an error on some bad fonts... So be prepared to handle these. */
|
2003-09-15 22:05:09 +02:00
|
|
|
if ((x_fs = safe_XLoadQueryFont(gdi_display, lpstr)) != 0)
|
2002-06-01 01:06:46 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_SetFontMetric( fi, fr, x_fs );
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
XFreeFont( gdi_display, x_fs );
|
|
|
|
wine_tsx11_unlock();
|
1998-12-26 20:42:02 +01:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_FixupPointSize(fi);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("\t[% 2ipt] '%s'\n", fi->df.dfPoints, x_pattern[i] );
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_CheckFIList( fr, fi, REMOVE_SUBSETS );
|
|
|
|
fi = NULL; /* preventing reuse */
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ERR("failed to load %s\n", lpstr );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_CheckFIList( fr, fi, UNMARK_SUBSETS );
|
|
|
|
}
|
|
|
|
nextfont:
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, typeface);
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
2004-12-23 18:06:43 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, fi);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
/* Scan through the font list and remove FontResource(s) (fr)
|
|
|
|
* that have no associated Fontinfo(s) (fi).
|
2000-07-15 21:43:33 +02:00
|
|
|
* This code is necessary because XFONT_ReadCachedMetrics
|
2002-06-01 01:06:46 +02:00
|
|
|
* assumes that there is at least one fi associated with a fr.
|
2000-07-15 21:43:33 +02:00
|
|
|
* This assumption is invalid for TT font
|
|
|
|
* -altsys-ms outlook-medium-r-normal--0-0-0-0-p-0-microsoft-symbol.
|
|
|
|
*/
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
fr = fontList;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
|
|
|
while (!fr->fi_count)
|
2000-07-15 21:43:33 +02:00
|
|
|
{
|
|
|
|
fontList = fr->next;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
HeapFree(GetProcessHeap(), 0, fr->resource);
|
|
|
|
HeapFree(GetProcessHeap(), 0, fr);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
fr = fontList;
|
|
|
|
n_ff--;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
fr = fontList;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
while (fr->next)
|
|
|
|
{
|
|
|
|
if (!fr->next->fi_count)
|
|
|
|
{
|
|
|
|
pfr = fr->next;
|
|
|
|
fr->next = fr->next->next;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
HeapFree(GetProcessHeap(), 0, pfr->resource);
|
|
|
|
HeapFree(GetProcessHeap(), 0, pfr);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
2000-07-15 21:43:33 +02:00
|
|
|
n_ff--;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
|
|
|
fr = fr->next;
|
|
|
|
}
|
|
|
|
|
2002-10-17 03:22:56 +02:00
|
|
|
MESSAGE("Font metrics: 100.0%% done\n");
|
1999-09-05 14:18:57 +02:00
|
|
|
return n_ff;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_ReadCachedMetrics
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* INIT ONLY
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
static BOOL XFONT_ReadCachedMetrics( int fd, int res, unsigned x_checksum, int x_count )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
if( fd >= 0 )
|
|
|
|
{
|
|
|
|
unsigned u;
|
|
|
|
int i, j;
|
|
|
|
|
|
|
|
/* read checksums */
|
|
|
|
read( fd, &u, sizeof(unsigned) );
|
|
|
|
read( fd, &i, sizeof(int) );
|
|
|
|
|
|
|
|
if( u == x_checksum && i == x_count )
|
|
|
|
{
|
|
|
|
off_t length, offset = 3 * sizeof(int);
|
|
|
|
|
|
|
|
/* read total size */
|
|
|
|
read( fd, &i, sizeof(int) );
|
|
|
|
length = lseek( fd, 0, SEEK_END );
|
|
|
|
|
|
|
|
if( length == (i + offset) )
|
|
|
|
{
|
|
|
|
lseek( fd, offset, SEEK_SET );
|
2005-03-24 22:01:35 +01:00
|
|
|
fontList = HeapAlloc( GetProcessHeap(), 0, i);
|
1997-06-16 19:43:53 +02:00
|
|
|
if( fontList )
|
|
|
|
{
|
|
|
|
fontResource* pfr = fontList;
|
|
|
|
fontInfo* pfi = NULL;
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("Reading cached font metrics:\n");
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
read( fd, fontList, i); /* read all metrics at once */
|
|
|
|
while( offset < length )
|
|
|
|
{
|
|
|
|
offset += sizeof(fontResource) + sizeof(fontInfo);
|
|
|
|
pfr->fi = pfi = (fontInfo*)(pfr + 1);
|
|
|
|
j = 1;
|
|
|
|
while( TRUE )
|
|
|
|
{
|
|
|
|
if( offset > length ||
|
2000-08-14 19:25:13 +02:00
|
|
|
pfi->cptable >= (UINT16)X11DRV_CPTABLE_COUNT ||
|
2001-11-06 01:46:36 +01:00
|
|
|
(int)(pfi->next) != j++ )
|
|
|
|
{
|
|
|
|
TRACE("error: offset=%ld length=%ld cptable=%d pfi->next=%d j=%d\n",(long)offset,(long)length,pfi->cptable,(int)pfi->next,j-1);
|
|
|
|
goto fail;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-11-06 01:46:36 +01:00
|
|
|
if( pfi->df.dfPixHeight == 0 )
|
|
|
|
{
|
|
|
|
TRACE("error: dfPixHeight==0\n");
|
|
|
|
goto fail;
|
|
|
|
}
|
2000-08-14 15:25:43 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
pfi->df.dfFace = pfr->lfFaceName;
|
1999-09-05 14:18:57 +02:00
|
|
|
if( pfi->fi_flags & FI_SCALABLE )
|
|
|
|
{
|
|
|
|
/* we can pretend we got this font for any resolution */
|
|
|
|
pfi->lfd_resolution = res;
|
|
|
|
XFONT_FixupPointSize(pfi);
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
pfi->next = pfi + 1;
|
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
if( j > pfr->fi_count ) break;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
pfi = pfi->next;
|
|
|
|
offset += sizeof(fontInfo);
|
|
|
|
}
|
|
|
|
pfi->next = NULL;
|
|
|
|
if( pfr->next )
|
|
|
|
{
|
|
|
|
pfr->next = (fontResource*)(pfi + 1);
|
|
|
|
pfr = pfr->next;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
else break;
|
|
|
|
}
|
|
|
|
if( pfr->next == NULL &&
|
|
|
|
*(int*)(pfi + 1) == X_FMC_MAGIC )
|
|
|
|
{
|
|
|
|
/* read LFD stubs */
|
|
|
|
char* lpch = (char*)((int*)(pfi + 1) + 1);
|
|
|
|
offset += sizeof(int);
|
|
|
|
for( pfr = fontList; pfr; pfr = pfr->next )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
size_t len = strlen(lpch) + 1;
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("\t%s, %i instances\n", lpch, pfr->fi_count );
|
2003-11-21 22:48:36 +01:00
|
|
|
pfr->resource = HeapAlloc(GetProcessHeap(),0,sizeof(LFD));
|
|
|
|
if (!LFD_Parse(lpch, pfr->resource))
|
|
|
|
{
|
|
|
|
HeapFree( GetProcessHeap(), 0, pfr->resource );
|
|
|
|
pfr->resource = NULL;
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
lpch += len;
|
|
|
|
offset += len;
|
|
|
|
if (offset > length)
|
2001-11-06 01:46:36 +01:00
|
|
|
{
|
|
|
|
TRACE("error: offset=%ld length=%ld\n",(long)offset,(long)length);
|
1999-09-05 14:18:57 +02:00
|
|
|
goto fail;
|
2001-11-06 01:46:36 +01:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
close( fd );
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
}
|
2001-11-06 01:46:36 +01:00
|
|
|
} else {
|
|
|
|
TRACE("Wrong length: %ld!=%ld\n",(long)length,(long)(i+offset));
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
2001-11-06 01:46:36 +01:00
|
|
|
} else {
|
|
|
|
TRACE("Checksum (%x vs. %x) or count (%d vs. %d) mismatch\n",
|
|
|
|
u,x_checksum,i,x_count);
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
fail:
|
2004-12-23 18:06:43 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, fontList );
|
1997-06-16 19:43:53 +02:00
|
|
|
fontList = NULL;
|
|
|
|
close( fd );
|
|
|
|
}
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_WriteCachedMetrics
|
1998-12-26 20:42:02 +01:00
|
|
|
*
|
|
|
|
* INIT ONLY
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
static BOOL XFONT_WriteCachedMetrics( int fd, unsigned x_checksum, int x_count, int n_ff )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
fontResource* pfr;
|
|
|
|
fontInfo* pfi;
|
|
|
|
|
|
|
|
if( fd >= 0 )
|
|
|
|
{
|
|
|
|
int i, j, k;
|
1999-09-05 14:18:57 +02:00
|
|
|
char buffer[MAX_LFD_LENGTH];
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* font metrics file:
|
|
|
|
*
|
|
|
|
* +0000 x_checksum
|
|
|
|
* +0004 x_count
|
|
|
|
* +0008 total size to load
|
|
|
|
* +000C prepackaged font metrics
|
|
|
|
* ...
|
|
|
|
* +...x X_FMC_MAGIC
|
|
|
|
* +...x + 4 LFD stubs
|
|
|
|
*/
|
|
|
|
|
|
|
|
write( fd, &x_checksum, sizeof(unsigned) );
|
|
|
|
write( fd, &x_count, sizeof(int) );
|
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
for( j = i = 0, pfr = fontList; pfr; pfr = pfr->next )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2003-06-18 21:45:22 +02:00
|
|
|
LFD_UnParse(buffer, sizeof(buffer), pfr->resource);
|
1999-09-05 14:18:57 +02:00
|
|
|
i += strlen( buffer) + 1;
|
1998-12-26 20:42:02 +01:00
|
|
|
j += pfr->fi_count;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
i += n_ff * sizeof(fontResource) + j * sizeof(fontInfo) + sizeof(int);
|
|
|
|
write( fd, &i, sizeof(int) );
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("Writing font cache:\n");
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
for( pfr = fontList; pfr; pfr = pfr->next )
|
|
|
|
{
|
|
|
|
fontInfo fi;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("\t-%s-%s-, %i instances\n", pfr->resource->foundry, pfr->resource->family, pfr->fi_count );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
i = write( fd, pfr, sizeof(fontResource) );
|
2002-06-01 01:06:46 +02:00
|
|
|
if( i == sizeof(fontResource) )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
for( k = 1, pfi = pfr->fi; pfi; pfi = pfi->next )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fi = *pfi;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
fi.df.dfFace = NULL;
|
|
|
|
fi.next = (fontInfo*)k; /* loader checks this */
|
|
|
|
|
|
|
|
j = write( fd, &fi, sizeof(fi) );
|
|
|
|
k++;
|
|
|
|
}
|
|
|
|
if( j == sizeof(fontInfo) ) continue;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if( i == sizeof(fontResource) && j == sizeof(fontInfo) )
|
|
|
|
{
|
|
|
|
i = j = X_FMC_MAGIC;
|
|
|
|
write( fd, &i, sizeof(int) );
|
|
|
|
for( pfr = fontList; pfr && i == j; pfr = pfr->next )
|
|
|
|
{
|
2003-06-18 21:45:22 +02:00
|
|
|
LFD_UnParse(buffer, sizeof(buffer), pfr->resource);
|
1999-09-05 14:18:57 +02:00
|
|
|
i = strlen( buffer ) + 1;
|
|
|
|
j = write( fd, buffer, i );
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
close( fd );
|
|
|
|
return ( i == j );
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1997-08-24 18:00:30 +02:00
|
|
|
/***********************************************************************
|
2004-08-26 20:24:49 +02:00
|
|
|
* XFONT_GetDefResolution()
|
1997-08-24 18:00:30 +02:00
|
|
|
*
|
1998-12-26 20:42:02 +01:00
|
|
|
* INIT ONLY
|
|
|
|
*
|
1997-08-24 18:00:30 +02:00
|
|
|
* Here we initialize DefResolution which is used in the
|
2004-08-26 20:24:49 +02:00
|
|
|
* XFONT_Match() penalty function, based on the values of log_pixels
|
1997-08-24 18:00:30 +02:00
|
|
|
*/
|
2004-08-26 20:24:49 +02:00
|
|
|
static int XFONT_GetDefResolution( int log_pixels_x, int log_pixels_y )
|
1997-08-24 18:00:30 +02:00
|
|
|
{
|
2004-08-26 20:24:49 +02:00
|
|
|
int i, j, num = 3;
|
1997-08-24 18:00:30 +02:00
|
|
|
int allowed_xfont_resolutions[3] = { 72, 75, 100 };
|
|
|
|
int best = 0, best_diff = 65536;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* FIXME We can only really guess at a best DefResolution
|
|
|
|
* - this should be configurable
|
|
|
|
*/
|
|
|
|
for( i = best = 0; i < num; i++ )
|
|
|
|
{
|
2004-08-26 20:24:49 +02:00
|
|
|
j = abs( log_pixels_x - allowed_xfont_resolutions[i] );
|
1999-09-05 14:18:57 +02:00
|
|
|
if( j < best_diff )
|
|
|
|
{
|
|
|
|
best = i;
|
|
|
|
best_diff = j;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
DefResolution = allowed_xfont_resolutions[best];
|
2004-08-26 20:24:49 +02:00
|
|
|
return DefResolution;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_Match
|
|
|
|
*
|
|
|
|
* Compute the matching score between the logical font and the device font.
|
|
|
|
*
|
|
|
|
* contributions from highest to lowest:
|
|
|
|
* charset
|
|
|
|
* fixed pitch
|
|
|
|
* height
|
|
|
|
* family flags (only when the facename is not present)
|
|
|
|
* width
|
|
|
|
* weight, italics, underlines, strikeouts
|
|
|
|
*
|
|
|
|
* NOTE: you can experiment with different penalty weights to see what happens.
|
1997-08-24 18:00:30 +02:00
|
|
|
* http://premium.microsoft.com/msdn/library/techart/f365/f36b/f37b/d38b/sa8bf.htm
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
static UINT XFONT_Match( fontMatch* pfm )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
fontInfo* pfi = pfm->pfi; /* device font to match */
|
|
|
|
LPLOGFONT16 plf = pfm->plf; /* wanted logical font */
|
1999-02-26 12:11:13 +01:00
|
|
|
UINT penalty = 0;
|
2002-04-03 23:18:50 +02:00
|
|
|
BOOL bR6 = pfm->flags & FO_MATCH_XYINDEP; /* from text_caps */
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL bScale = pfi->fi_flags & FI_SCALABLE;
|
1999-09-05 14:18:57 +02:00
|
|
|
int d = 0, height;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("\t[ %-2ipt h=%-3i w=%-3i %s%s]\n", pfi->df.dfPoints,
|
1997-06-16 19:43:53 +02:00
|
|
|
pfi->df.dfPixHeight, pfi->df.dfAvgWidth,
|
1999-09-05 14:18:57 +02:00
|
|
|
(pfi->df.dfWeight > FW_NORMAL) ? "Bold " : "Normal ",
|
1997-06-16 19:43:53 +02:00
|
|
|
(pfi->df.dfItalic) ? "Italic" : "" );
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
pfm->flags &= FO_MATCH_MASK;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Charset */
|
2000-08-20 21:04:04 +02:00
|
|
|
/* pfm->internal_charset: given(required) charset */
|
|
|
|
/* pfi->internal_charset: charset of this font */
|
|
|
|
if (pfi->internal_charset == DEFAULT_CHARSET)
|
2000-07-15 23:28:05 +02:00
|
|
|
{
|
|
|
|
/* special case(unicode font) */
|
|
|
|
/* priority: unmatched charset < unicode < matched charset */
|
|
|
|
penalty += 0x50;
|
|
|
|
}
|
|
|
|
else
|
1997-06-29 20:08:02 +02:00
|
|
|
{
|
2000-08-20 21:04:04 +02:00
|
|
|
if( pfm->internal_charset == DEFAULT_CHARSET )
|
2000-07-15 23:28:05 +02:00
|
|
|
{
|
2000-09-24 21:31:12 +02:00
|
|
|
/*
|
2000-08-20 21:04:04 +02:00
|
|
|
if (pfi->internal_charset != ANSI_CHARSET)
|
Release 971221
Fri Dec 19 10:50:46 1997 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in] [Makefile.in] [documentation/Makefile.in]
[documentation/README.documentation]
First cut at Wine API documentation. No longer install reference
manual by default.
Wed Dec 17 21:32:23 1997 Andreas Mohr <100.30936@germany.net>
* [files/file.c]
Fixed GetTempFileName16() to use current path of requested drive
as needed.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/dciman32.spec]
[if1632/msvfw32.spec] [if1632/tapi32.spec] [if1632/wow32.spec]
Added misc DLLs needed by various apps.
Wed Dec 17 12:01:50 1997 Morten Eriksen <mortene@sim.no>
* [if1632/gdi32.spec] [include/windows.h] [objects/palette.c]
Inserted empty stub for CreateHalftonePalette.
Tue Dec 16 22:08:06 1997 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [windows/mdi.c]
Use VK_TAB instead of VK_SEPARATOR in TranslateMDISysAccel().
* [graphics/metafiledrv/init.c]
DeleteDC() on a MetaDC doesn't do anything - it shouldn't. Therefore
fix cleanup of MetaDCs in CloseMetaFile(); they now actually get
removed from the GDI heap!
* [graphics/x11drv/xfont.c]
Preserve FO_MATCH_XYINDEP flag in XFONT_MatchFIList(). Should reduce
the number of bold-italic matches.
Tue Dec 16 20:11:43 1997 Bertho Stultiens <bertho@panter.soci.aau.dk>
* [graphics/painting.c]
Included an implementation of DrawState
* [if1632/thunk.c]
Changed many fprintfs into dprintf_thunk
* [include/cache.h] [graphics/cache.c]
New files to hold cached handles to regulary used GDI object.
* [include/windows.h]
Added DRAWSTATExx typedefs
Added DSS_DEFAULT define for DrawState
* [objects/text.c]
New implementation of GrayString()
* [controls/uitools.c]
Implemented DrawFrameControl() functions
Changed DrawEdge() behaviour to win95 implementation
Mon Dec 15 23:43:01 1997 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/path.c] [include/path.h] [graphics/painting.c]
[if1632/gdi32.spec] [include/gdi.h] [include/windows.h]
[objects/dc.c]
Added preliminary support for GDI paths.
* [objects/dc.c]
Added DC_Init_DC_INFO function for initializing WIN_DC_INFO
structure.
* [include/windows.h] [include/gdi.h] [objects/gdiobj.c]
Added DEFAULT_GUI_FONT.
* [include/winerror.h]
Added a few error codes.
* [memory/heap.c]
Changed HeapAlloc to make the correct calls to SetLastError
(now conforms to NT's behaviour).
* [windows/win.c]
Changed WIN_CreateWindowEx to allow child windows with zero
width / height.
Sun Dec 14 12:01:07 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [if1632/*] [relay32/*]
Moved all 32-bit relay stuff to relay32/
* [fi1632/thunk.c] [win32/kernel32.c]
Moved all KERNEL32 ordinal functions to kernel32.c
* [memory/selector.c]
Initialize selectors in AllocSelectorArray.
* [tools/build.c]
Generate C instead of assembly for Win32 relays.
Fixed stack corruption in CallTo16 functions, found by Bertho
Stultiens.
Sun Dec 14 10:55:00 1997 Andreas Mohr <100.30936@germany.net>
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/ole2thk.spec]
Added built-in OLE2THK.DLL.
* [if1632/toolhelp.spec] [include/toolhelp.h] [memory/selector.c]
[misc/toolhelp.c]
Added stubs for StackTraceFirst(), StackTraceCSIPFirst(),
StackTraceNext(), UTSelectorOffsetToLinear()
and UTLinearToSelectorOffset().
Sat Dec 13 17:26:41 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c]
32-bit API fixes for reported problems (thanks to Marcus
and David).
* [graphics/x11drv/xfont.c]
Little tweak in point size calculation.
* [windows/defwnd.c] [windows/dce.c] [windows/winhelp.c]
[windows/winproc.c] [windows/win.c]
Bug fixes.
Sat Dec 13 16:35:14 1997 Kai Morich <kai.morich@rhein-neckar.netsurf.de>
* [files/dos_fs.c]
OpenFile with empty filename and OF_PARSE returns current dir.
* [misc/commdlg.c]
Ignore initial dir if bogus.
* [files/file.c]
Locking an identic region in a file must not be an error.
* [misc/lstr.c]
Use wide char ctype functions.
Fri Dec 12 23:46:22 1997 Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
* [file/drive.c]
First attempt for GetDiskFreeSpaceEx.
Fri Dec 12 23:18:41 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_resource.c]
Fixed wrongly appearing menus problem (only use default lookups in
last resource subtree).
* [multimedia/*.c]
Added win32 support for time* and joy* lowlevel drivers,
(not excessively tested), some misc fixes and cleanups.
* [misc/shellord.c][misc/shell.c][ole/folders.c][ole/ifs.c]
[include/interfaces.h][include/shlobj.h]
Added some more undocumented SHELL32 functions, some shell folder
interface stubs added, SHGetMalloc, SHGetDesktopFolder,
SHGetSpecialFolderLocation, SHGetPathFromIDList stubs added,
IMalloc, IUnknown implemented.
* [windows/msgbox.c]
Implemented MessageBoxIndirect*, some internal changes.
* [if1632/thunk.c]
KERNEL_431 implemented.
* [objects/gdiobj.c]
GetCurrentObject implemented.
Wed Dec 3 01:09:17 1997 Gordon Chaffee <chaffee@apu.cs.berkeley.edu>
* [objects/dib.c]
Fix a couple small DIB problems.
* [controls/edit.c]
Fix a typo.
* [files/dos_fs.c]
Try normal readdir in case fs is specified as vfat but isn't.
* [files/profile.c]
Implementation of WritePrivateProfileSection32A from Uwe Bonnes.
* [misc/printdrv.c]
OpenPrinter32A stub, helps Word97 start.
* [objects/text.c]
Fixup implementation of GetTextCharsetInfo.
* [scheduler/process.c]
Fix environment variable expansion.
* [win32/code_page.c]
Make MultiByteToWideChar and WideCharToMultiByte conform in return
values and error conditions to those in Windows NT 4.0.
* [windows/message.c]
Fix broadcasting problems in Win32. The Win32 docs say to use
HWND_TOPMOST to broadcast to all Win32 Windows.
* [memory/virtual.c] [loader/pe_image.c]
Do not map in VirtualAlloc if address is specified and space is
not available. This is required by Win32.
* [include/pen.h] [include/x11drv.h] [objects/dc.c]
[objects/pen.c] [graphics/x11drv/pen.c]
Support for ExtCreatePen.
Tue Dec 2 20:22:06 1997 Morten Welinder <terra@diku.dk>
* [*/*.c] [*/*.h]
Add lots of prototypes.
* [if1632/kernel32.spec][include/windows.h][include/winnt.h]
[misc/cpu.c]
Define IsProcessorFeaturePresent.
* [misc/crtdll.c]
(CRTDLL__getcwd): Allocate enough memory for the terminating zero.
* [misc/ver.c]
Improve check for null component in _find_data[AW]. Plug leaks
in VerQueryValue*.
* [win32/console.c][if1632/kernel32.spec]
Add stubs for GetConsoleCursorInfo32, SetConsoleCursorInfo32.
* [windows/message.c][if1632/user32.spec][include/windows.h]
Define SendMessageTimeout*.
* [graphics/x11drv/xfont.c]
Change algorithm of __genericCheckSum to be alignment safe.
* [misc/main.c] [misc/winsock.c] [misc/winsock_dns.c]
Include winsock.h early to avoid Solaris problem.
* [include/windows.h]
Undef FSHIFT before we define it.
* [rc/winerc.c]
Include <fcntl.h> instead of <sys/fcntl.h>.
* [files/file.c]
Use strerror in FILE_SetDosError if available.
* [include/config.h.in] [configure.in]
Check for strerror.
* [objects/gdiobj.c]
Make static font structures aligned.
Mon Dec 1 10:10:21 1997 Karl Garrison <karlos@eznet.net>
* [win32/console.c] [if1632/kernel32.spec] [include/windows.h]
Added stub for GetNumberOfConsoleMouseButtons.
Added stub for PeekConsoleInput(A,W).
Fixed parameter list for WriteConsole(A,W).
GetNumberOfConsoleInputEvents now returns 0 events instead of 1
(since low-level console functions are not yet supported).
GetConsoleMode no longer returns ENABLE_WINDOW_INPUT and
ENABLE_MOUSE_INPUT since these are not currently implemented.
1997-12-21 20:17:50 +01:00
|
|
|
penalty += 0x200;
|
2000-09-24 21:31:12 +02:00
|
|
|
*/
|
|
|
|
if ( pfi->codepage != GetACP() )
|
|
|
|
penalty += 0x200;
|
2000-07-15 23:28:05 +02:00
|
|
|
}
|
2000-08-20 21:04:04 +02:00
|
|
|
else if (pfm->internal_charset != pfi->internal_charset)
|
|
|
|
{
|
|
|
|
if ( pfi->internal_charset & 0xff00 )
|
|
|
|
penalty += 0x1000; /* internal charset - should not be used */
|
|
|
|
else
|
|
|
|
penalty += 0x200;
|
|
|
|
}
|
1997-06-29 20:08:02 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Height */
|
|
|
|
height = -1;
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( plf->lfHeight > 0 )
|
|
|
|
{
|
|
|
|
int h = pfi->df.dfPixHeight;
|
|
|
|
d = h - plf->lfHeight;
|
|
|
|
height = plf->lfHeight;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
int h = pfi->df.dfPixHeight - pfi->df.dfInternalLeading;
|
|
|
|
if (h)
|
|
|
|
{
|
|
|
|
d = h + plf->lfHeight;
|
|
|
|
height = (-plf->lfHeight * pfi->df.dfPixHeight) / h;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
ERR("PixHeight == InternalLeading\n");
|
2004-01-06 23:08:33 +01:00
|
|
|
penalty += 0x1000; /* don't want this */
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if( height == 0 )
|
|
|
|
pfm->height = 1; /* Very small */
|
|
|
|
else if( d )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( bScale )
|
|
|
|
pfm->height = height;
|
1997-06-16 19:43:53 +02:00
|
|
|
else if( (plf->lfQuality != PROOF_QUALITY) && bR6 )
|
|
|
|
{
|
|
|
|
if( d > 0 ) /* do not shrink raster fonts */
|
|
|
|
{
|
|
|
|
pfm->height = pfi->df.dfPixHeight;
|
|
|
|
penalty += (pfi->df.dfPixHeight - height) * 0x4;
|
|
|
|
}
|
|
|
|
else /* expand only in integer multiples */
|
|
|
|
{
|
|
|
|
pfm->height = height - height%pfi->df.dfPixHeight;
|
1997-08-24 18:00:30 +02:00
|
|
|
penalty += (height - pfm->height + 1) * height / pfi->df.dfPixHeight;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
else /* can't be scaled at all */
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( plf->lfQuality != PROOF_QUALITY) pfm->flags |= FO_SYNTH_HEIGHT;
|
|
|
|
pfm->height = pfi->df.dfPixHeight;
|
|
|
|
penalty += (d > 0)? d * 0x8 : -d * 0x10;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-01-17 17:32:32 +01:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
|
|
|
pfm->height = pfi->df.dfPixHeight;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Pitch and Family */
|
|
|
|
if( pfm->flags & FO_MATCH_PAF ) {
|
|
|
|
int family = plf->lfPitchAndFamily & FF_FAMILY;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* TMPF_FIXED_PITCH means exactly the opposite */
|
|
|
|
if( plf->lfPitchAndFamily & FIXED_PITCH ) {
|
|
|
|
if( pfi->df.dfPitchAndFamily & TMPF_FIXED_PITCH ) penalty += 0x100;
|
|
|
|
} else /* Variable is the default */
|
|
|
|
if( !(pfi->df.dfPitchAndFamily & TMPF_FIXED_PITCH) ) penalty += 0x2;
|
|
|
|
|
|
|
|
if (family != FF_DONTCARE && family != (pfi->df.dfPitchAndFamily & FF_FAMILY) )
|
|
|
|
penalty += 0x10;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Width */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( plf->lfWidth )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
int h;
|
2002-06-01 01:06:46 +02:00
|
|
|
if( bR6 || bScale ) h = 0;
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
|
|
|
{
|
|
|
|
/* FIXME: not complete */
|
|
|
|
|
|
|
|
pfm->flags |= FO_SYNTH_WIDTH;
|
|
|
|
h = abs(plf->lfWidth - (pfm->height * pfi->df.dfAvgWidth)/pfi->df.dfPixHeight);
|
|
|
|
}
|
|
|
|
penalty += h * ( d ) ? 0x2 : 0x1 ;
|
|
|
|
}
|
|
|
|
else if( !(pfi->fi_flags & FI_NORMAL) ) penalty++;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Weight */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( plf->lfWeight != FW_DONTCARE )
|
|
|
|
{
|
|
|
|
penalty += abs(plf->lfWeight - pfi->df.dfWeight) / 40;
|
|
|
|
if( plf->lfWeight > pfi->df.dfWeight ) pfm->flags |= FO_SYNTH_BOLD;
|
|
|
|
} else if( pfi->df.dfWeight >= FW_BOLD ) penalty++; /* choose normal by default */
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Italic */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( plf->lfItalic != pfi->df.dfItalic )
|
|
|
|
{
|
|
|
|
penalty += 0x4;
|
|
|
|
pfm->flags |= FO_SYNTH_ITALIC;
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
/* Underline */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( plf->lfUnderline ) pfm->flags |= FO_SYNTH_UNDERLINE;
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
/* Strikeout */
|
1997-06-16 19:43:53 +02:00
|
|
|
if( plf->lfStrikeOut ) pfm->flags |= FO_SYNTH_STRIKEOUT;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
if( penalty && !bScale && pfi->lfd_resolution != DefResolution )
|
Release 980201
Sun Feb 1 13:24:54 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [files/drive.c]
Added Device= parameter to drive configuration.
* [if1632/relay.c]
Throw() and Catch() now use the correct CATCHBUF layout (untested).
* [tools/build.c] [include/stackframe.h] [loader/task.c]
Moved 16-bit stack pointer into thread database.
Save current %fs while running 16-bit code.
Fri Jan 30 09:25:49 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c]
Made DPtoLP32 and LPtoDP32 respect world transforms.
* [graphics/path.c] [graphics/painting.c] [if1632/gdi.spec]
[include/path.h]
More path support.
* [include/gdi.h] [include/windows.h] [objects/dc.c]
[relay/gdi32.spec]
Support for Get/SetArcDirection and Get/SetWorldTransform
* [windows/hook.c]
Fixed a bug in HOOK_Map16To32Common.
Thu Jan 29 23:43:18 1998 Douglas Ridgway <ridgway@taiga.gmcl.com>
* [graphics/metafiledrv/init.c] [objects/metafile.c]
Documentation for metafile related API calls. Fixed a bug to avoid
documenting it.
* [include/windows.h]
Declaration for LoadImage.
Thu Jan 29 21:44:45 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [graphics/win16drv/*]
Changes to printing code to enable use of printer fonts with the
win3.1 postscript driver. Remember to add printer=on to [wine]
section of wine.conf . You will also need to disable truetype
fonts from control panel. Winword 6.0 and Write seem to be happy
with this...
* [include/bitmap.h]
Fix Widthbytes for 15bpp displays.
Tue Jan 27 20:54:08 1998 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [tsx11/*] [include/ts*] [tools/make_X11wrappers]
Implemented thread-safe X11 wrappers.
Tue Jan 27 13:54:09 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [windows/queue.c]
Forgot to convert thdb to thread_id.
* [misc/registry.c]
Sped up Windows 95 registry reading. Changed code to traverse
registry as a tree rather than read in all possible keys
(including dead ones).
Tue Jan 27 12:46:09 1998 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][Makefile.in][scheduler/thread.c]
[libtest/hello5.c]
Don't exit() on failed to load referenced dlls.
Fixed static tls allocation for multiple threads.
WINELIB should now be able to load PE dlls. A sample
winelib program, that dynamically loads a internal dll
is included.
* [graphics/ddraw.c][include/ddraw.h][include/d3d.h]
Cleaned up and enhanced further. Added several DirectX5
interface definitions and DirectSurface3 implementation.
Stubs for D3D (NOT coming soon, just there so it fails safely).
* [multimedia/dsound.c][include/dsound.h]
Actually works now for a lot of cases. Some DirectX5 stuff
added. Still lacking several features.
* [windows/dinput.c][include/dinput.h]
Started implementing DirectInput. Doesn't work yet, don't
know why.
* [if1632/thunk.c][misc/callbacks.c]
[win32/kernel.c][include/callbacks.h]
Added WOWCallback16Ex, WOWHandle32.
* [misc/cpu.c]
Fixed GetSystemInfo, IsProcessorFeaturePresent.
* [multimedia/joystick.c][multimedia/time.c]
Several fixes. Small hack to get timerevents in timeGetTime() loops.
Tue Jan 20 11:26:27 1998 Slaven Rezic <eserte@cs.tu-berlin.de>
* [configure.in]
Fixed check for union semun on FreeBSD systems.
Sun Jan 18 23:05:04 1998 Karl Backström <karl_b@geocities.com>
* [misc/ole2nls.c] [programs/progman/Sw.rc] [programs/winhelp/Sw.rc]
[resources/sysres_Sw.rc]
Added/updated Swedish language support.
Sun Jan 18 18:49:01 1998 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c] [misc/winsock_dns.c] [windows/event.c]
[windows/win.c] [windows/dce.c] [windows/winpos.c]
Bug fixes.
Sun Jan 18 12:45:23 1997 Andreas Mohr <100.30936@germany.net>
* [msdos/int25.c] [msdos/int26.c]
Implemented "native" absolute disk read/write access.
* [msdos/int13.c] [msdos/ioports.c]
Enhanced GET DRIVE PARAMETERS (int13 AH=08).
* [graphics/win16drv/prtdrv.c] [if1632/gdi.spec]
Fixed typos, implemented dmEnumDFonts,
Started implementation of dmRealizeObject.
* [if1632/compobj.spec] [ole/compobj.c] [relay32/ole32.spec]
Stubs CoCreateInstance, CoFreeUnusedLibraries, implemented
CoFileTimeNow.
* [if1632/kernel.spec] [include/windows.h] [memory/global.c]
[memory/string.c] [misc/kernel.c] [misc/Makefile.in]
[misc/toolhelp.c] [msdos/int21.c]
Implemented GlobalHandleNoRIP, GetFreeMemInfo, DebugFillBuffer,
stubs GetSetKernelDOSProc, DiagQuery, DiagOutput, ToolHelpHook
(Undocumented Windows).
* [if1632/user.spec] [if1632/win32s16.spec] [misc/win32s16.c]
Misc stubs.
* [if1632/winaspi.spec] [misc/aspi.c]
Implemented GetASPIDLLVersion.
* [if1632/wprocs.spec] [msdos/int20.c] [msdos/Makefile.in]
Added handler for Int 0x20 (terminate program, _very_ old-fashioned).
* [misc/w32scomb.c]
Implemented Get16DLLAddress() partially
(big thanks to Marcus and Alexandre).
* [relay32/Makefile.in] [relay32/builtin32.c] [relay32/dplay.spec]
Added built-in DPLAY.DLL.
* [relay32/winmm.spec] [multimedia/joystick.c]
Added joySetThreshold.
* [misc/windebug.c]
Added WinNotify.
* [win32/console.c]
Stubs CreateConsoleScreenBuffer, SetConsoleActiveScreenBuffer,
WriteConsoleOutput32A.
* [windows/user.c]
Stub SetEventHook.
Sat Jan 17 19:30:35 1998 Matthew Toseland <Paul.Toseland@btinternet.com>
* [windows/painting.c]
Fixed broken restore-to-maximized.
Mon Jan 12 21:25:32 1998 Perceval - Marc Huguet Puig <mhp@tinet.fut.es>
* [documentation/wine.man] [include/options.h]
[misc/main.c] [ole/ole2nls.c] [resources/sysres.c]
[resources/sysres_Ca.rc] [resources/Makefile.in]
Added language catalan. (Afegit l'idioma català).
1998-02-01 19:33:27 +01:00
|
|
|
penalty++;
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE(" returning %i\n", penalty );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
return penalty;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_MatchFIList
|
|
|
|
*
|
|
|
|
* Scan a particular font resource for the best match.
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
static UINT XFONT_MatchFIList( fontMatch* pfm )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-02-26 12:11:13 +01:00
|
|
|
BOOL skipRaster = (pfm->flags & FO_MATCH_NORASTER);
|
|
|
|
UINT current_score, score = (UINT)(-1);
|
1999-09-05 14:18:57 +02:00
|
|
|
fontMatch fm = *pfm;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
for( fm.pfi = pfm->pfr->fi; fm.pfi && score; fm.pfi = fm.pfi->next)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
if( skipRaster && !(fm.pfi->fi_flags & FI_SCALABLE) )
|
|
|
|
continue;
|
|
|
|
|
|
|
|
current_score = XFONT_Match( &fm );
|
|
|
|
if( score > current_score )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
*pfm = fm;
|
1997-06-16 19:43:53 +02:00
|
|
|
score = current_score;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return score;
|
|
|
|
}
|
|
|
|
|
2002-04-12 01:45:15 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_is_ansi_charset
|
|
|
|
*
|
|
|
|
* returns TRUE if the given charset is ANSI_CHARSET.
|
|
|
|
*/
|
|
|
|
static BOOL XFONT_is_ansi_charset( UINT charset )
|
|
|
|
{
|
|
|
|
return ((charset == ANSI_CHARSET) ||
|
|
|
|
(charset == DEFAULT_CHARSET && GetACP() == 1252));
|
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_MatchDeviceFont
|
|
|
|
*
|
|
|
|
* Scan font resource tree.
|
1999-09-05 14:18:57 +02:00
|
|
|
*
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
1999-09-05 14:18:57 +02:00
|
|
|
static void XFONT_MatchDeviceFont( fontResource* start, fontMatch* pfm)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
fontMatch fm = *pfm;
|
1999-09-05 14:18:57 +02:00
|
|
|
UINT current_score, score = (UINT)(-1);
|
|
|
|
fontResource** ppfr;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("(%u) '%s' h=%i weight=%i %s\n",
|
2002-06-01 01:06:46 +02:00
|
|
|
pfm->plf->lfCharSet, pfm->plf->lfFaceName, pfm->plf->lfHeight,
|
1999-09-05 14:18:57 +02:00
|
|
|
pfm->plf->lfWeight, (pfm->plf->lfItalic) ? "Italic" : "" );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
pfm->pfi = NULL;
|
2002-04-04 00:09:58 +02:00
|
|
|
|
2002-04-12 01:45:15 +02:00
|
|
|
/* the following hard-coded font binding assumes 'ANSI_CHARSET'. */
|
|
|
|
if( !fm.plf->lfFaceName[0] &&
|
|
|
|
XFONT_is_ansi_charset(fm.plf->lfCharSet) )
|
2002-04-04 00:09:58 +02:00
|
|
|
{
|
|
|
|
switch(fm.plf->lfPitchAndFamily & 0xf0)
|
|
|
|
{
|
|
|
|
case FF_MODERN:
|
|
|
|
strcpy(fm.plf->lfFaceName, "Courier New");
|
|
|
|
break;
|
|
|
|
case FF_ROMAN:
|
|
|
|
strcpy(fm.plf->lfFaceName, "Times New Roman");
|
|
|
|
break;
|
|
|
|
case FF_SWISS:
|
|
|
|
strcpy(fm.plf->lfFaceName, "Arial");
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
if((fm.plf->lfPitchAndFamily & 0x0f) == FIXED_PITCH)
|
|
|
|
strcpy(fm.plf->lfFaceName, "Courier New");
|
|
|
|
else
|
|
|
|
strcpy(fm.plf->lfFaceName, "Arial");
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if( fm.plf->lfFaceName[0] )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
fm.pfr = XFONT_FindFIList( start, fm.plf->lfFaceName);
|
|
|
|
if( fm.pfr ) /* match family */
|
|
|
|
{
|
|
|
|
TRACE("found facename '%s'\n", fm.pfr->lfFaceName );
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if( fm.pfr->fr_flags & FR_REMOVED )
|
|
|
|
fm.pfr = 0;
|
|
|
|
else
|
|
|
|
{
|
|
|
|
XFONT_MatchFIList( &fm );
|
|
|
|
*pfm = fm;
|
|
|
|
if (pfm->pfi)
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
2000-09-24 21:31:12 +02:00
|
|
|
|
|
|
|
/* get charset if lfFaceName is one of known facenames. */
|
|
|
|
{
|
|
|
|
const struct CharsetBindingInfo* pcharsetbindings;
|
|
|
|
|
|
|
|
pcharsetbindings = &charsetbindings[0];
|
|
|
|
while ( pcharsetbindings->pszFaceName != NULL )
|
|
|
|
{
|
|
|
|
if ( !strcmp( pcharsetbindings->pszFaceName,
|
|
|
|
fm.plf->lfFaceName ) )
|
|
|
|
{
|
|
|
|
fm.internal_charset = pcharsetbindings->charset;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
pcharsetbindings ++;
|
|
|
|
}
|
|
|
|
TRACE( "%s charset %u\n", fm.plf->lfFaceName, fm.internal_charset );
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* match all available fonts */
|
|
|
|
|
|
|
|
fm.flags |= FO_MATCH_PAF;
|
|
|
|
for( ppfr = &fontList; *ppfr && score; ppfr = &(*ppfr)->next )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
if( (*ppfr)->fr_flags & FR_REMOVED )
|
|
|
|
{
|
|
|
|
if( (*ppfr)->fo_count == 0 )
|
|
|
|
XFONT_RemoveFontResource( ppfr );
|
|
|
|
continue;
|
|
|
|
}
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
fm.pfr = *ppfr;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("%s\n", fm.pfr->lfFaceName );
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
current_score = XFONT_MatchFIList( &fm );
|
|
|
|
if( current_score < score )
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
score = current_score;
|
|
|
|
*pfm = fm;
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X Font Cache
|
|
|
|
*/
|
|
|
|
static void XFONT_GrowFreeList(int start, int end)
|
|
|
|
{
|
|
|
|
/* add all entries from 'start' up to and including 'end' */
|
|
|
|
|
|
|
|
memset( fontCache + start, 0, (end - start + 1) * sizeof(fontObject) );
|
|
|
|
|
|
|
|
fontCache[end].lru = fontLF;
|
|
|
|
fontCache[end].count = -1;
|
|
|
|
fontLF = start;
|
|
|
|
while( start < end )
|
|
|
|
{
|
|
|
|
fontCache[start].count = -1;
|
|
|
|
fontCache[start].lru = start + 1;
|
|
|
|
start++;
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static fontObject* XFONT_LookupCachedFont( const LPLOGFONT16 plf, UINT16* checksum )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
UINT16 cs = __lfCheckSum( plf );
|
|
|
|
int i = fontMRU, prev = -1;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
*checksum = cs;
|
|
|
|
while( i >= 0 )
|
|
|
|
{
|
|
|
|
if( fontCache[i].lfchecksum == cs &&
|
|
|
|
!(fontCache[i].fo_flags & FO_REMOVED) )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
/* FIXME: something more intelligent here ? */
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
if( !memcmp( plf, &fontCache[i].lf,
|
|
|
|
sizeof(LOGFONT16) - LF_FACESIZE ) &&
|
1999-09-05 14:18:57 +02:00
|
|
|
!strcmp( plf->lfFaceName, fontCache[i].lf.lfFaceName) )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
/* remove temporarily from the lru list */
|
|
|
|
if( prev >= 0 )
|
|
|
|
fontCache[prev].lru = fontCache[i].lru;
|
2002-06-01 01:06:46 +02:00
|
|
|
else
|
1997-06-16 19:43:53 +02:00
|
|
|
fontMRU = (INT16)fontCache[i].lru;
|
|
|
|
return (fontCache + i);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
prev = i;
|
|
|
|
i = (INT16)fontCache[i].lru;
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static fontObject* XFONT_GetCacheEntry(void)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
int i;
|
|
|
|
|
|
|
|
if( fontLF == -1 )
|
|
|
|
{
|
|
|
|
int prev_i, prev_j, j;
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("font cache is full\n");
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* lookup the least recently used font */
|
|
|
|
|
|
|
|
for( prev_i = prev_j = j = -1, i = fontMRU; i >= 0; i = (INT16)fontCache[i].lru )
|
|
|
|
{
|
|
|
|
if( fontCache[i].count <= 0 &&
|
|
|
|
!(fontCache[i].fo_flags & FO_SYSTEM) )
|
|
|
|
{
|
|
|
|
prev_j = prev_i;
|
|
|
|
j = i;
|
|
|
|
}
|
|
|
|
prev_i = i;
|
|
|
|
}
|
|
|
|
|
|
|
|
if( j >= 0 ) /* unload font */
|
|
|
|
{
|
|
|
|
/* detach from the lru list */
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("\tfreeing entry %i\n", j );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
fontCache[j].fr->fo_count--;
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
if( prev_j >= 0 )
|
|
|
|
fontCache[prev_j].lru = fontCache[j].lru;
|
|
|
|
else fontMRU = (INT16)fontCache[j].lru;
|
|
|
|
|
|
|
|
/* FIXME: lpXForm, lpPixmap */
|
2004-12-23 18:06:43 +01:00
|
|
|
HeapFree( GetProcessHeap(), 0, fontCache[j].lpX11Trans );
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
XFreeFont( gdi_display, fontCache[j].fs );
|
|
|
|
wine_tsx11_unlock();
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
memset( fontCache + j, 0, sizeof(fontObject) );
|
|
|
|
return (fontCache + j);
|
|
|
|
}
|
|
|
|
else /* expand cache */
|
|
|
|
{
|
|
|
|
fontObject* newCache;
|
|
|
|
|
|
|
|
prev_i = fontCacheSize + FONTCACHE;
|
|
|
|
|
1999-06-26 21:09:08 +02:00
|
|
|
TRACE("\tgrowing font cache from %i to %i\n", fontCacheSize, prev_i );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2005-03-24 22:01:35 +01:00
|
|
|
if( (newCache = HeapReAlloc(GetProcessHeap(), 0, fontCache, prev_i * sizeof(fontObject))) )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
i = fontCacheSize;
|
|
|
|
fontCacheSize = prev_i;
|
|
|
|
fontCache = newCache;
|
|
|
|
XFONT_GrowFreeList( i, fontCacheSize - 1);
|
2002-06-01 01:06:46 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
else return NULL;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* detach from the free list */
|
|
|
|
|
|
|
|
i = fontLF;
|
|
|
|
fontLF = (INT16)fontCache[i].lru;
|
|
|
|
fontCache[i].count = 0;
|
|
|
|
return (fontCache + i);
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
static int XFONT_ReleaseCacheEntry(const fontObject* pfo)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1999-02-26 12:11:13 +01:00
|
|
|
UINT u = (UINT)(pfo - fontCache);
|
2000-08-15 14:01:47 +02:00
|
|
|
int i;
|
|
|
|
int ret;
|
|
|
|
|
|
|
|
if( u < fontCacheSize )
|
|
|
|
{
|
|
|
|
ret = --fontCache[u].count;
|
|
|
|
if ( ret == 0 )
|
|
|
|
{
|
|
|
|
for ( i = 0; i < X11FONT_REFOBJS_MAX; i++ )
|
|
|
|
{
|
|
|
|
if( CHECK_PFONT(pfo->prefobjs[i]) )
|
|
|
|
XFONT_ReleaseCacheEntry(__PFONT(pfo->prefobjs[i]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/***********************************************************************
|
2002-04-03 23:18:50 +02:00
|
|
|
* X11DRV_FONT_InitX11Metrics
|
1999-09-05 14:18:57 +02:00
|
|
|
*
|
|
|
|
* Initialize font resource list and allocate font cache.
|
|
|
|
*/
|
2002-04-03 23:18:50 +02:00
|
|
|
void X11DRV_FONT_InitX11Metrics( void )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
char** x_pattern;
|
|
|
|
unsigned x_checksum;
|
2002-04-03 23:18:50 +02:00
|
|
|
int i, x_count, fd, buf_size;
|
1999-09-05 14:18:57 +02:00
|
|
|
char *buffer;
|
2001-06-19 05:32:44 +02:00
|
|
|
HKEY hkey;
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-04-03 23:18:50 +02:00
|
|
|
|
2003-11-21 01:17:33 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
x_pattern = XListFonts(gdi_display, "*", MAX_FONTS, &x_count );
|
|
|
|
wine_tsx11_unlock();
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-04-03 23:18:50 +02:00
|
|
|
TRACE("Font Mapper: initializing %i x11 fonts\n", x_count);
|
2002-06-01 01:06:46 +02:00
|
|
|
if (x_count == MAX_FONTS)
|
1999-09-05 14:18:57 +02:00
|
|
|
MESSAGE("There may be more fonts available - try increasing the value of MAX_FONTS\n");
|
|
|
|
|
|
|
|
for( i = x_checksum = 0; i < x_count; i++ )
|
|
|
|
{
|
|
|
|
int j;
|
|
|
|
#if 0
|
|
|
|
printf("%i\t: %s\n", i, x_pattern[i] );
|
|
|
|
#endif
|
|
|
|
|
|
|
|
j = strlen( x_pattern[i] );
|
|
|
|
if( j ) x_checksum ^= __genericCheckSum( x_pattern[i], j );
|
|
|
|
}
|
|
|
|
x_checksum |= X_PFONT_MAGIC;
|
|
|
|
buf_size = 128;
|
2000-02-16 23:47:24 +01:00
|
|
|
buffer = HeapAlloc( GetProcessHeap(), 0, buf_size );
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* deal with systemwide font metrics cache */
|
|
|
|
|
2001-06-19 05:32:44 +02:00
|
|
|
buffer[0] = 0;
|
2005-06-13 20:56:00 +02:00
|
|
|
/* @@ Wine registry key: HKLM\Software\Wine\Wine\Config\fonts */
|
2005-06-14 19:24:28 +02:00
|
|
|
if (RegOpenKeyA(HKEY_LOCAL_MACHINE, INIFontSection, &hkey)) hkey = 0;
|
|
|
|
if (hkey)
|
2001-06-19 05:32:44 +02:00
|
|
|
{
|
|
|
|
DWORD type, count = buf_size;
|
|
|
|
RegQueryValueExA(hkey, INIGlobalMetrics, 0, &type, buffer, &count);
|
|
|
|
}
|
|
|
|
|
|
|
|
if( buffer[0] )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
fd = open( buffer, O_RDONLY );
|
|
|
|
XFONT_ReadCachedMetrics(fd, DefResolution, x_checksum, x_count);
|
|
|
|
}
|
|
|
|
if (fontList == NULL)
|
|
|
|
{
|
|
|
|
/* try per-user */
|
|
|
|
buffer = XFONT_UserMetricsCache( buffer, &buf_size );
|
|
|
|
if( buffer[0] )
|
|
|
|
{
|
|
|
|
fd = open( buffer, O_RDONLY );
|
|
|
|
XFONT_ReadCachedMetrics(fd, DefResolution, x_checksum, x_count);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if( fontList == NULL ) /* build metrics from scratch */
|
|
|
|
{
|
|
|
|
int n_ff = XFONT_BuildMetrics(x_pattern, DefResolution, x_checksum, x_count);
|
|
|
|
if( buffer[0] ) /* update cached metrics */
|
|
|
|
{
|
|
|
|
fd = open( buffer, O_CREAT | O_TRUNC | O_RDWR, 0644 ); /* -rw-r--r-- */
|
|
|
|
if( XFONT_WriteCachedMetrics( fd, x_checksum, x_count, n_ff ) == FALSE )
|
|
|
|
{
|
|
|
|
WARN("Unable to write to fontcache '%s'\n", buffer);
|
|
|
|
if( fd >= 0) remove( buffer ); /* couldn't write entire file */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2003-11-21 01:17:33 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
XFreeFontNames(x_pattern);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* check if we're dealing with X11 R6 server */
|
|
|
|
{
|
|
|
|
XFontStruct* x_fs;
|
|
|
|
strcpy(buffer, "-*-*-*-*-normal-*-[12 0 0 12]-*-72-*-*-*-iso8859-1");
|
2003-09-15 22:05:09 +02:00
|
|
|
if( (x_fs = safe_XLoadQueryFont(gdi_display, buffer)) )
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2002-04-03 23:18:50 +02:00
|
|
|
text_caps |= TC_SF_X_YINDEP;
|
2003-11-21 01:17:33 +01:00
|
|
|
XFreeFont(gdi_display, x_fs);
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
}
|
2003-11-21 01:17:33 +01:00
|
|
|
wine_tsx11_unlock();
|
|
|
|
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, buffer);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
XFONT_WindowsNames();
|
2005-06-14 19:24:28 +02:00
|
|
|
XFONT_LoadAliases( hkey );
|
|
|
|
if (hkey) XFONT_LoadDefaults( hkey );
|
|
|
|
XFONT_LoadIgnores( hkey );
|
1999-09-05 14:18:57 +02:00
|
|
|
|
|
|
|
/* fontList initialization is over, allocate X font cache */
|
|
|
|
|
2005-03-24 22:01:35 +01:00
|
|
|
fontCache = HeapAlloc(GetProcessHeap(), 0, fontCacheSize * sizeof(fontObject));
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_GrowFreeList(0, fontCacheSize - 1);
|
|
|
|
|
|
|
|
TRACE("done!\n");
|
2005-06-14 19:24:28 +02:00
|
|
|
if (hkey) RegCloseKey(hkey);
|
2002-04-03 23:18:50 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X11DRV_FONT_Init
|
|
|
|
*/
|
2004-08-26 20:24:49 +02:00
|
|
|
void X11DRV_FONT_Init( int log_pixels_x, int log_pixels_y )
|
2002-04-03 23:18:50 +02:00
|
|
|
{
|
2004-08-26 20:24:49 +02:00
|
|
|
XFONT_GetDefResolution( log_pixels_x, log_pixels_y );
|
2002-01-29 04:07:21 +01:00
|
|
|
|
2004-08-26 20:24:49 +02:00
|
|
|
if(using_client_side_fonts)
|
|
|
|
text_caps |= TC_VA_ABLE;
|
2002-01-29 04:07:21 +01:00
|
|
|
|
2004-08-26 20:24:49 +02:00
|
|
|
return;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
|
|
|
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
/**********************************************************************
|
|
|
|
* XFONT_SetX11Trans
|
|
|
|
*/
|
1999-02-26 12:11:13 +01:00
|
|
|
static BOOL XFONT_SetX11Trans( fontObject *pfo )
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
{
|
|
|
|
char *fontName;
|
|
|
|
Atom nameAtom;
|
2003-11-21 22:48:36 +01:00
|
|
|
LFD lfd;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
wine_tsx11_lock();
|
|
|
|
XGetFontProperty( pfo->fs, XA_FONT, &nameAtom );
|
|
|
|
fontName = XGetAtomName( gdi_display, nameAtom );
|
|
|
|
if (!LFD_Parse(fontName, &lfd) || lfd.pixel_size[0] != '[')
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2003-11-21 22:48:36 +01:00
|
|
|
XFree(fontName);
|
|
|
|
wine_tsx11_unlock();
|
1999-09-05 14:18:57 +02:00
|
|
|
return FALSE;
|
|
|
|
}
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
#define PX pfo->lpX11Trans
|
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
sscanf(lfd.pixel_size, "[%f%f%f%f]", &PX->a, &PX->b, &PX->c, &PX->d);
|
|
|
|
XFree(fontName);
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
2003-11-21 22:48:36 +01:00
|
|
|
XGetFontProperty( pfo->fs, x11drv_atom(RAW_ASCENT), &PX->RAW_ASCENT );
|
|
|
|
XGetFontProperty( pfo->fs, x11drv_atom(RAW_DESCENT), &PX->RAW_DESCENT );
|
|
|
|
wine_tsx11_unlock();
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
Release 980726
Sat Jul 25 19:45:45 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [include/shlobj.h][misc/shell.c][misc/shellord.c][ole/folders.c]
[shell32.spec]
Added SHFILEOPSTRUCT32[A|W] and constants, prototypes.
Implemented SHGetSpecialFolderLocation, SHGetPathFromIDList32[A].
Many IShellFolder, pidl, shell -related changes.
SHChangeNotifyRegister, SHChangeNotifyDeregister,
SHShellFolderView_Message, SHMapPIDLToSystemImageListIndex,
SHAddToRecentDocs32, SHFileOperation, SHChangeNotify,
SHCreateShellFolderViewEx stubs.
Sat Jul 25 17:16:25 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [files/profile.c]
Fix return value of PROFILE_GetSection().
Fri Jul 24 22:45:19 1998 Ove Kaaven <ovek@isflak.arcticnet.no>
* [controls/edit.c]
Killed the modified flag on WM_SETTEXT. Eudora should no longer
bother asking whether you want to save an unchanged message.
Fri Jul 24 21:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [controls/menu.c]
Fixed bug in GetMenuState32.
Doesn't fix Free Agent 32 :((
* [documentation/debugging]
Hints added.
* [files/dos_fs.c] [include/msdos.h] [msdos/int21.c]
Enhanced DOS device support.
* [if1632/Makefile.in] [if1632/builtin.c] [if1632/rasapi16.spec]
[relay32/Makefile.in] [relay32/builtin32.c] [relay32/rasapi32.spec]
Added RASAPI16/32.DLL.
* [misc/aspi.c] [relay32/wnaspi32.spec]
Implemented GetASPI32SupportInfo.
* [multimedia/mmsystem.c]
Implemented mmTaskCreate.
Fri Jul 24 20:55:31 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/toolbar.c]
Fixed some bugs and added new features.
* [controls/tooltips.c][include/tooltips.h]
Added more messages and started display code.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Fixed StrToOleStrN (SHELL32_79) and added OleStrToStrN (SHELL32_78).
Added some new stubs.
* [objects/cursoricon.c][misc/imagelist.c][include/windows.h]
Fixed GetIconInfo and removed the GetIconInfo hack from the
image list code.
* [controls/pager.c][include/pager.h][controls/treeview.c]
[include/treeview.h]
Added some messages.
* [misc/tweak.c][winows/nonclient.c][documentation/win95look]
Removed unused tweak variables.
* [documentation/common_controls]
Updated.
Fri Jul 24 18:36:32 1998 James Moody <013263m@dragon.acadiau.ca>
* [objects/font.c]
Fixed a bug in GetTextFace.
Fri Jul 24 17:09:33 1998 Marcus Meissner <marcus@jet.franken.de>
* [misc/commdlg.c]
Fixed stacksmashing bug due to invalid specified function
pointers.
* [files/dos_fs.c]
Small change in case handling... be able to create files with
uppercase in them (like Program Files/).
* [graphics/ddraw.c]
XF86DGA support made threadsafe, added more Xlib dependent stuff
(create Window using CreateWindow(), draw into it). xlib support
is not satisfying.
* [scheduler/critsection.c]
Don't recurse on HeapLock with semaphore id 0.
* [win32/user32.c][windows/message.c][windows/event.c]
Moved win32 *Message functions where they belong.
Removed some potential races between XPending and XNextEvent by
a bit more locking.
Fri Jul 24 13:58:19 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/pe_image.c] [loader/ne/segment.c]
Use bogus pointer value instead of NULL for unresolved externals.
* [memory/selector.c]
Clear saved_fs on selector free.
* [msdos/cdrom.c] [configure.in]
Added check for linux/ucdrom.h.
* [scheduler/client.c] [server/socket.c]
Fix for missing struct cmsghdr.
Attempt to support msg_accrights fd passing (completely untested).
* [windows/event.c]
Do not grab the pointer in SetCapture (Win32 behavior).
Tue Jul 21 22:28:13 1998 James Juran <jrj120@psu.edu>
* [Make.rules.in]
Changed $(MKDIR) macro to use -p option (make parent directories
if they don't already exist. This fixes an error in 'make install'
if /usr/local/include doesn't already exist.
Tue Jul 21 13:37:04 Rein Klazes <rklazes@casema.net>
* [include/heap.h]
Replaced macro SEGPTR_GET by inline function to avoid *lots*
of wrong use of this macro.
* [relay32/comdlg32.spec]
Corrected GetSaveFileNameW entry.
* [relay32/advapi32.spec] [win32/advapi.c]
[relay32/ole32.spec] [ ole/moniker.c]
Added stubs for SetFileSecurity[AW] and CreateFileMoniker32
* [graphics/x11drv/graphics.c]
Finished implementation of bezier drawing code.
Tue Jul 21 11:00:51 1998 Claus Fischer <cfischer@td2cad.intel.com>
* [files/drive.c]
Remove label trailing blanks in GetVolumeInformation32A.
* [documentation/cdrom-labels]
Added documentation on how to find out a CD-ROM label.
Sun Jul 19 23:16:41 1998 Pascal Cuoq <pcuoq@ens-lyon.fr>
* [include/windows.h]
Added some DM_* and DISP_CHANGE_* flags.
* [relay32/user32.spec] [windows/user.c]
Added stub for ChangeDisplaySettingA.
* [ole/ole2nls.c]
is_punctuation: reuse information from another table.
Sun Jul 19 22:04:46 1998 Douglas Ridgway <ridgway@winehq.com>
* [Make.rules.in]
Updated automatic documentation rules.
* [graphics/path.c] [misc/aspi.c] [misc/ntdll.c] [misc/winsock_dns.c]
[ole/ole2dsp.c] [relay32/user32.spec]
Comment format futzing to keep c2man happy.
* [documentation/README.documentation]
Updated description of automatic documentation.
Wed Jul 15 19:10:09 1998 Andrew M. Bishop <amb@gedanken.demon.co.uk>
* [files/profile.c]
Cache the 10 most recently used .ini files.
Tue May 20 19:20:23 1997 Pablo Saratxaga <srtxg@chanae.alphanet.ch>
* [misc/commdlg.c]
Makes PrintDlg32A() return TRUE even if it is an empty
stub, so most programs are happy and run anyway instead of
aborting at startup.
* [graphics/x11drv/xfont.c]
Increased the maximum font families as (X11) font aliases
eated up a lot of families causing wine to stop reading fonts.
1998-07-26 16:27:39 +02:00
|
|
|
PX->pixelsize = hypot(PX->a, PX->b);
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
PX->ascent = PX->pixelsize / 1000.0 * PX->RAW_ASCENT;
|
|
|
|
PX->descent = PX->pixelsize / 1000.0 * PX->RAW_DESCENT;
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("[%f %f %f %f] RA = %ld RD = %ld\n",
|
|
|
|
PX->a, PX->b, PX->c, PX->d,
|
|
|
|
PX->RAW_ASCENT, PX->RAW_DESCENT);
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
|
|
|
|
#undef PX
|
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
/***********************************************************************
|
|
|
|
* X Device Font Objects
|
|
|
|
*/
|
2000-08-15 14:01:47 +02:00
|
|
|
static X_PHYSFONT XFONT_RealizeFont( const LPLOGFONT16 plf,
|
2000-08-20 21:04:04 +02:00
|
|
|
LPCSTR* faceMatched, BOOL bSubFont,
|
2000-09-24 21:31:12 +02:00
|
|
|
WORD internal_charset,
|
|
|
|
WORD* pcharsetMatched )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
|
|
|
UINT16 checksum;
|
1999-09-05 14:18:57 +02:00
|
|
|
INT index = 0;
|
|
|
|
fontObject* pfo;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
pfo = XFONT_LookupCachedFont( plf, &checksum );
|
1997-06-16 19:43:53 +02:00
|
|
|
if( !pfo )
|
|
|
|
{
|
1999-04-22 18:27:50 +02:00
|
|
|
fontMatch fm;
|
1999-09-05 14:18:57 +02:00
|
|
|
INT i;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-04-22 18:27:50 +02:00
|
|
|
fm.pfr = NULL;
|
|
|
|
fm.pfi = NULL;
|
|
|
|
fm.height = 0;
|
|
|
|
fm.flags = 0;
|
|
|
|
fm.plf = plf;
|
2000-08-20 21:04:04 +02:00
|
|
|
fm.internal_charset = internal_charset;
|
1999-04-22 18:27:50 +02:00
|
|
|
|
2002-04-03 23:18:50 +02:00
|
|
|
if( text_caps & TC_SF_X_YINDEP ) fm.flags = FO_MATCH_XYINDEP;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
/* allocate new font cache entry */
|
|
|
|
|
|
|
|
if( (pfo = XFONT_GetCacheEntry()) )
|
|
|
|
{
|
1999-09-05 14:18:57 +02:00
|
|
|
/* initialize entry and load font */
|
|
|
|
char lpLFD[MAX_LFD_LENGTH];
|
|
|
|
UINT uRelaxLevel = 0;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if(abs(plf->lfHeight) > MAX_FONT_SIZE) {
|
|
|
|
ERR(
|
2002-06-01 01:06:46 +02:00
|
|
|
"plf->lfHeight = %d, Creating a 100 pixel font and rescaling metrics \n",
|
1999-09-05 14:18:57 +02:00
|
|
|
plf->lfHeight);
|
|
|
|
pfo->rescale = fabs(plf->lfHeight / 100.0);
|
|
|
|
if(plf->lfHeight > 0) plf->lfHeight = 100;
|
|
|
|
else plf->lfHeight = -100;
|
|
|
|
} else
|
|
|
|
pfo->rescale = 1.0;
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_MatchDeviceFont( fontList, &fm );
|
|
|
|
pfo->fr = fm.pfr;
|
|
|
|
pfo->fi = fm.pfi;
|
|
|
|
pfo->fr->fo_count++;
|
|
|
|
pfo->fo_flags = fm.flags & ~FO_MATCH_MASK;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
pfo->lf = *plf;
|
|
|
|
pfo->lfchecksum = checksum;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
do
|
|
|
|
{
|
|
|
|
LFD_ComposeLFD( pfo, fm.height, lpLFD, uRelaxLevel++ );
|
2003-09-15 22:05:09 +02:00
|
|
|
if( (pfo->fs = safe_XLoadQueryFont( gdi_display, lpLFD )) ) break;
|
1999-09-05 14:18:57 +02:00
|
|
|
} while( uRelaxLevel );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
if(pfo->lf.lfEscapement != 0) {
|
2000-02-16 23:47:24 +01:00
|
|
|
pfo->lpX11Trans = HeapAlloc(GetProcessHeap(), 0, sizeof(XFONTTRANS));
|
1999-09-05 14:18:57 +02:00
|
|
|
if(!XFONT_SetX11Trans( pfo )) {
|
2000-02-16 23:47:24 +01:00
|
|
|
HeapFree(GetProcessHeap(), 0, pfo->lpX11Trans);
|
1999-09-05 14:18:57 +02:00
|
|
|
pfo->lpX11Trans = NULL;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
XFONT_GetLeading( &pfo->fi->df, pfo->fs,
|
|
|
|
&pfo->foInternalLeading, NULL, pfo->lpX11Trans );
|
|
|
|
pfo->foAvgCharWidth = (INT16)XFONT_GetAvgCharWidth(&pfo->fi->df, pfo->fs, pfo->lpX11Trans );
|
|
|
|
pfo->foMaxCharWidth = (INT16)XFONT_GetMaxCharWidth(pfo->fs, pfo->lpX11Trans);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* FIXME: If we've got a soft font or
|
|
|
|
* there are FO_SYNTH_... flags for the
|
|
|
|
* non PROOF_QUALITY request, the engine
|
|
|
|
* should rasterize characters into mono
|
|
|
|
* pixmaps and store them in the pfo->lpPixmap
|
|
|
|
* array (pfo->fs should be updated as well).
|
|
|
|
* array (pfo->fs should be updated as well).
|
2002-06-01 01:06:46 +02:00
|
|
|
* X11DRV_ExtTextOut() must be heavily modified
|
1999-09-05 14:18:57 +02:00
|
|
|
* to support pixmap blitting and FO_SYNTH_...
|
|
|
|
* styles.
|
|
|
|
*/
|
|
|
|
|
|
|
|
pfo->lpPixmap = NULL;
|
2000-08-15 14:01:47 +02:00
|
|
|
|
|
|
|
for ( i = 0; i < X11FONT_REFOBJS_MAX; i++ )
|
|
|
|
pfo->prefobjs[i] = (X_PHYSFONT)0xffffffff; /* invalid value */
|
|
|
|
|
|
|
|
/* special treatment for DBCS that needs multiple fonts */
|
|
|
|
/* All member of pfo must be set correctly. */
|
|
|
|
if ( bSubFont == FALSE )
|
|
|
|
{
|
2000-08-20 21:04:04 +02:00
|
|
|
WORD charset_sub;
|
2000-09-24 21:31:12 +02:00
|
|
|
WORD charsetMatchedSub;
|
2000-08-15 14:01:47 +02:00
|
|
|
LOGFONT16 lfSub;
|
|
|
|
LPCSTR faceMatchedSub;
|
|
|
|
|
|
|
|
for ( i = 0; i < X11FONT_REFOBJS_MAX; i++ )
|
|
|
|
{
|
2000-08-20 21:04:04 +02:00
|
|
|
charset_sub = X11DRV_cptable[pfo->fi->cptable].
|
2000-08-15 14:01:47 +02:00
|
|
|
penum_subfont_charset( i );
|
2000-08-20 21:04:04 +02:00
|
|
|
if ( charset_sub == DEFAULT_CHARSET ) break;
|
2000-08-15 14:01:47 +02:00
|
|
|
|
|
|
|
lfSub = *plf;
|
2000-09-24 21:31:12 +02:00
|
|
|
lfSub.lfWidth = 0;
|
2001-06-25 23:01:00 +02:00
|
|
|
lfSub.lfHeight=plf->lfHeight;
|
2000-08-20 21:04:04 +02:00
|
|
|
lfSub.lfCharSet = (BYTE)(charset_sub & 0xff);
|
2000-08-15 14:01:47 +02:00
|
|
|
lfSub.lfFaceName[0] = '\0'; /* FIXME? */
|
|
|
|
/* this font has sub font */
|
|
|
|
if ( i == 0 ) pfo->prefobjs[0] = (X_PHYSFONT)0;
|
|
|
|
pfo->prefobjs[i] =
|
2000-08-20 21:04:04 +02:00
|
|
|
XFONT_RealizeFont( &lfSub, &faceMatchedSub,
|
2000-09-24 21:31:12 +02:00
|
|
|
TRUE, charset_sub,
|
|
|
|
&charsetMatchedSub );
|
|
|
|
/* FIXME: check charsetMatchedSub */
|
2000-08-15 14:01:47 +02:00
|
|
|
}
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
2000-08-15 14:01:47 +02:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
if( !pfo ) /* couldn't get a new entry, get one of the cached fonts */
|
|
|
|
{
|
1999-02-26 12:11:13 +01:00
|
|
|
UINT current_score, score = (UINT)(-1);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
i = index = fontMRU;
|
1997-06-16 19:43:53 +02:00
|
|
|
fm.flags |= FO_MATCH_PAF;
|
|
|
|
do
|
|
|
|
{
|
|
|
|
pfo = fontCache + i;
|
|
|
|
fm.pfr = pfo->fr; fm.pfi = pfo->fi;
|
|
|
|
|
|
|
|
current_score = XFONT_Match( &fm );
|
|
|
|
if( current_score < score ) index = i;
|
|
|
|
|
|
|
|
i = pfo->lru;
|
|
|
|
} while( i >= 0 );
|
|
|
|
pfo = fontCache + index;
|
1999-09-05 14:18:57 +02:00
|
|
|
goto END;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
/* attach at the head of the lru list */
|
1997-06-16 19:43:53 +02:00
|
|
|
pfo->lru = fontMRU;
|
1999-09-05 14:18:57 +02:00
|
|
|
index = fontMRU = (pfo - fontCache);
|
2002-06-01 01:06:46 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
END:
|
|
|
|
pfo->count++;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
TRACE("physfont %i\n", index);
|
|
|
|
*faceMatched = pfo->fi->df.dfFace;
|
2000-09-24 21:31:12 +02:00
|
|
|
*pcharsetMatched = pfo->fi->internal_charset;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
return (X_PHYSFONT)(X_PFONT_MAGIC | index);
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetFontObject
|
|
|
|
*/
|
|
|
|
fontObject* XFONT_GetFontObject( X_PHYSFONT pFont )
|
|
|
|
{
|
|
|
|
if( CHECK_PFONT(pFont) ) return __PFONT(pFont);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetFontStruct
|
|
|
|
*/
|
|
|
|
XFontStruct* XFONT_GetFontStruct( X_PHYSFONT pFont )
|
|
|
|
{
|
|
|
|
if( CHECK_PFONT(pFont) ) return __PFONT(pFont)->fs;
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* XFONT_GetFontInfo
|
|
|
|
*/
|
|
|
|
LPIFONTINFO16 XFONT_GetFontInfo( X_PHYSFONT pFont )
|
|
|
|
{
|
|
|
|
if( CHECK_PFONT(pFont) ) return &(__PFONT(pFont)->fi->df);
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* X11DRV Interface ****************************************************
|
|
|
|
* *
|
|
|
|
* Exposed via the dc->funcs dispatch table. *
|
|
|
|
* *
|
|
|
|
***********************************************************************/
|
|
|
|
/***********************************************************************
|
2002-04-03 04:37:09 +02:00
|
|
|
* SelectFont (X11DRV.@)
|
1997-06-16 19:43:53 +02:00
|
|
|
*/
|
2004-03-04 05:05:04 +01:00
|
|
|
HFONT X11DRV_SelectFont( X11DRV_PDEVICE *physDev, HFONT hfont, HANDLE gdiFont )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2001-08-16 21:13:52 +02:00
|
|
|
LOGFONTW logfont;
|
Release 970914
Thu Sep 11 18:24:56 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [objects/dc.c]
In DC_SetupGCForPatBlt, replace R2_NOT by GXxor with (black xor white).
Tue Sep 9 23:04:02 1997 U. Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
* [memory/virtual.c]
Do not write debugging info unconditionally to stderr.
* [files/profile.c]
Call PROFILE_GetSection in PROFILE_GetString for key_name "" too.
* [misc/crtdll.c]
Many new functions.
* [include/windows.h] [windows/winpos.c]
ClientToScreen16 doesn't have a return value.
Sun Sep 7 10:06:39 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [misc/main.c] [AUTHORS]
Update the list of contributors. Please let me know if I forgot
someone.
* [if1632/*.spec] [if1632/builtin.c] [tools/build.c]
Ordinal base for Win32 DLLs is now computed automatically from the
lowest ordinal found.
* [include/wintypes.h]
WINAPI is now defined as attribute((stdcall)). This will require
gcc to compile.
* [if1632/thunk.c]
Removed Win32 thunks (no longer needed with stdcall).
* [if1632/crtdll.spec] [misc/crtdll.c]
Make sure we only reference cdecl functions in the spec file.
* [objects/dc.c]
Use CapNotLast drawing style for 1-pixel wide lines.
* [tools/build.c]
Added 'double' argument type.
Added 'varargs' function type for Win32.
Made CallTo16_xxx functions stdcall.
Fri Sep 5 14:50:49 1997 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [tools/build.c] [windows/win.c] [windows/event.c] [windows/message.c]
More fixes to get message exchange closer to the original.
* [misc/spy.c]
Message logs now contain window names.
* [loader/resource.c] [loader/ne_resource.c] [loader/task.c]
[objects/cursoricon.c] [windows/user.c]
Added some obscure features to fix memory leaks.
Fri Sep 5 00:46:28 1997 Jan Willamowius <jan@janhh.shnet.org>
* [if1632/kernel32.spec] [win32/newfns.c]
Added stub for UTRegister() and UTUnRegister().
Thu Sep 4 12:03:12 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Allow ASCII codes > 127 in WM_CHAR.
Mon Sep 1 17:23:24 1997 Dimitrie O. Paun <dimi@mail.cs.toronto.edu>
* [controls/widgets.c]
In InitCommonControls, remember the name of the class
because lpszClassName was made to point to a local array
Added the ProgressBar to the list of implemented controls.
Call InitCommonControls from WIDGETS_Init to register all
implemented Common Controls.
* [include/commctrl.h]
Added misc decl for the Progress Bar.
* [controls/progress.c] [include/progress.h]
First attempt at implementiong the Progress Bar class.
* [objects/brush.h]
Implementation for GetSysColorBrush[16|32]
* [controls/status.c]
Use DrawEdge to draw the borders and fill the background
* [controls/uitools.c]
Added DrawDiagEdge32 and DrawRectEdge32
* [graphics/painting.c]
Implement DrawEdge[16|32]
Started DrawFrameControl32
Mon Sep 1 10:07:09 1997 Lawson Whitney <lawson_whitney@juno.com>
* [misc/comm.c] [include/windows.h]
SetCommEventMask returns a SEGPTR.
Sun Aug 31 23:28:32 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][loader/module.c][include/pe_image.h]
[include/module.h]
Cleaned up the whole Win32 library mess (a bit).
* [debugger/stabs.c]
If 'wine' has no absolute path and isn't found, check $PATH too.
* [misc/ole2nls.c]
Some fixes.
* [misc/ver.c]
Added support for PE style version resources.
* [memory/string.c]
Check for NULL pointers to _lstr* functions, just as Windows95 does.
* [multimedia/time.c]
Made list of timers a simple linked list.
* [loader/resource.c]
Netscape 3 seems to pass NEGATIVE resource Ids (in an
unsigned int, yes). Don't know why, fixed it anyway.
* [objects/bitmap.c]
LoadImageW added.
* [include/win.h][windows/win.c]
Change wIDmenu from UINT16 to UINT32 and changed the
SetWindow(Long|Word) accordingly.
Thu Aug 28 19:30:08 1997 Morten Welinder <terra@diku.dk>
* [include/windows.h]
Add a few more colors defined for Win95.
Add a few more brush styles.
* [windows/syscolor.c]
Add error checks for SYSCOLOR_SetColor, SYSCOLOR_Init,
GetSysColor16, GetSysColor32. Add support for above colors.
Sun Aug 24 16:22:57 1997 Andrew Taylor <andrew@riscan.com>
* [multimedia/mmsystem.c]
Changed mmioDescend to use mmio functions for file I/O, neccessary
for memory files.
1997-09-14 19:17:23 +02:00
|
|
|
LOGFONT16 lf;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2004-01-20 23:04:00 +01:00
|
|
|
TRACE("hdc=%p, hfont=%p\n", physDev->hdc, hfont);
|
2002-01-29 04:07:21 +01:00
|
|
|
|
2002-10-31 03:12:18 +01:00
|
|
|
if (!GetObjectW( hfont, sizeof(logfont), &logfont )) return HGDI_ERROR;
|
2001-09-12 22:21:06 +02:00
|
|
|
|
2004-03-04 05:05:04 +01:00
|
|
|
TRACE("gdiFont = %p\n", gdiFont);
|
2002-01-29 04:07:21 +01:00
|
|
|
|
2004-03-04 05:05:04 +01:00
|
|
|
if(gdiFont && using_client_side_fonts) {
|
2002-03-28 23:22:05 +01:00
|
|
|
X11DRV_XRender_SelectFont(physDev, hfont);
|
2004-03-04 05:05:04 +01:00
|
|
|
physDev->has_gdi_font = TRUE;
|
2002-01-29 04:07:21 +01:00
|
|
|
return FALSE;
|
|
|
|
}
|
2001-08-16 21:13:52 +02:00
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
EnterCriticalSection( &crtsc_fonts_X11 );
|
|
|
|
|
2002-04-03 23:18:50 +02:00
|
|
|
if(fontList == NULL) X11DRV_FONT_InitX11Metrics();
|
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
if( CHECK_PFONT(physDev->font) )
|
1998-11-25 13:36:03 +01:00
|
|
|
XFONT_ReleaseCacheEntry( __PFONT(physDev->font) );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2001-08-16 21:13:52 +02:00
|
|
|
FONT_LogFontWTo16(&logfont, &lf);
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2001-08-16 21:13:52 +02:00
|
|
|
/* stock fonts ignore the mapping mode */
|
|
|
|
if (!is_stock_font( hfont ))
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
2001-08-16 21:13:52 +02:00
|
|
|
/* Make sure we don't change the sign when converting to device coords */
|
|
|
|
/* FIXME - check that the other drivers do this correctly */
|
|
|
|
if (lf.lfWidth)
|
|
|
|
{
|
2004-01-15 07:19:35 +01:00
|
|
|
INT width = X11DRV_XWStoDS( physDev, lf.lfWidth );
|
|
|
|
lf.lfWidth = (lf.lfWidth < 0) ? -abs(width) : abs(width);
|
2001-08-16 21:13:52 +02:00
|
|
|
if (lf.lfWidth == 0)
|
|
|
|
lf.lfWidth = 1; /* Minimum width */
|
|
|
|
}
|
|
|
|
if (lf.lfHeight)
|
|
|
|
{
|
2004-01-15 07:19:35 +01:00
|
|
|
INT height = X11DRV_YWStoDS( physDev, lf.lfHeight );
|
|
|
|
lf.lfHeight = (lf.lfHeight < 0) ? -abs(height) : abs(height);
|
2001-08-16 21:13:52 +02:00
|
|
|
if (lf.lfHeight == 0)
|
|
|
|
lf.lfHeight = MIN_FONT_SIZE;
|
|
|
|
}
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
2001-08-16 21:13:52 +02:00
|
|
|
|
|
|
|
if (!lf.lfHeight)
|
2004-01-20 23:04:00 +01:00
|
|
|
lf.lfHeight = -(DEF_POINT_SIZE * GetDeviceCaps(physDev->hdc,LOGPIXELSY) + (72>>1)) / 72;
|
2001-08-16 21:13:52 +02:00
|
|
|
|
1999-09-05 14:18:57 +02:00
|
|
|
{
|
|
|
|
/* Fixup aliases before passing to RealizeFont */
|
|
|
|
/* alias = Windows name in the alias table */
|
|
|
|
LPCSTR alias = XFONT_UnAlias( lf.lfFaceName );
|
|
|
|
LPCSTR faceMatched;
|
2000-09-24 21:31:12 +02:00
|
|
|
WORD charsetMatched;
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-10-31 03:38:20 +01:00
|
|
|
TRACE("hfont=%p\n", hfont); /* to connect with the trace from RealizeFont */
|
2000-08-20 21:04:04 +02:00
|
|
|
physDev->font = XFONT_RealizeFont( &lf, &faceMatched,
|
2000-09-24 21:31:12 +02:00
|
|
|
FALSE, lf.lfCharSet,
|
|
|
|
&charsetMatched );
|
1999-09-05 14:18:57 +02:00
|
|
|
|
2002-06-01 01:06:46 +02:00
|
|
|
/* set face to the requested facename if it matched
|
1999-09-05 14:18:57 +02:00
|
|
|
* so that GetTextFace can get the correct face name
|
|
|
|
*/
|
|
|
|
if (alias && !strcmp(faceMatched, lf.lfFaceName))
|
2001-02-14 23:56:38 +01:00
|
|
|
MultiByteToWideChar(CP_ACP, 0, alias, -1,
|
2001-08-16 21:13:52 +02:00
|
|
|
logfont.lfFaceName, LF_FACESIZE);
|
1999-09-05 14:18:57 +02:00
|
|
|
else
|
2001-02-14 23:56:38 +01:00
|
|
|
MultiByteToWideChar(CP_ACP, 0, faceMatched, -1,
|
2001-08-16 21:13:52 +02:00
|
|
|
logfont.lfFaceName, LF_FACESIZE);
|
2000-09-24 21:31:12 +02:00
|
|
|
|
|
|
|
/*
|
|
|
|
* In X, some encodings may have the same lfFaceName.
|
|
|
|
* for example:
|
|
|
|
* -misc-fixed-*-iso8859-1
|
|
|
|
* -misc-fixed-*-jisx0208.1990-0
|
|
|
|
* so charset should be saved...
|
|
|
|
*/
|
2001-08-16 21:13:52 +02:00
|
|
|
logfont.lfCharSet = charsetMatched;
|
1999-09-05 14:18:57 +02:00
|
|
|
}
|
1997-08-24 18:00:30 +02:00
|
|
|
|
1998-12-26 20:42:02 +01:00
|
|
|
LeaveCriticalSection( &crtsc_fonts_X11 );
|
|
|
|
|
2004-03-04 05:05:04 +01:00
|
|
|
physDev->has_gdi_font = FALSE;
|
2002-10-31 03:12:18 +01:00
|
|
|
return (HFONT)1; /* Use a device font */
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
*
|
|
|
|
* X11DRV_EnumDeviceFonts
|
|
|
|
*/
|
2002-04-14 21:42:43 +02:00
|
|
|
BOOL X11DRV_EnumDeviceFonts( X11DRV_PDEVICE *physDev, LPLOGFONTW plf,
|
2004-01-19 00:35:12 +01:00
|
|
|
FONTENUMPROCW proc, LPARAM lp )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2001-02-14 23:56:38 +01:00
|
|
|
ENUMLOGFONTEXW lf;
|
|
|
|
NEWTEXTMETRICEXW tm;
|
1999-09-05 14:18:57 +02:00
|
|
|
fontResource* pfr = fontList;
|
2002-04-14 21:42:43 +02:00
|
|
|
BOOL b, bRet = 0;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
2002-04-03 23:18:50 +02:00
|
|
|
/* don't enumerate x11 fonts if we're using client side fonts */
|
2004-03-04 05:05:04 +01:00
|
|
|
if (physDev->has_gdi_font) return FALSE;
|
2001-02-14 23:56:38 +01:00
|
|
|
|
2002-08-29 00:35:23 +02:00
|
|
|
if( plf->lfFaceName[0] )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2002-08-29 00:35:23 +02:00
|
|
|
char facename[LF_FACESIZE+1];
|
|
|
|
WideCharToMultiByte( CP_ACP, 0, plf->lfFaceName, -1,
|
|
|
|
facename, sizeof(facename), NULL, NULL );
|
1998-12-26 20:42:02 +01:00
|
|
|
/* enum all entries in this resource */
|
2002-08-29 00:35:23 +02:00
|
|
|
pfr = XFONT_FindFIList( pfr, facename );
|
1997-06-16 19:43:53 +02:00
|
|
|
if( pfr )
|
|
|
|
{
|
|
|
|
fontInfo* pfi;
|
|
|
|
for( pfi = pfr->fi; pfi; pfi = pfi->next )
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
|
|
|
/* Note: XFONT_GetFontMetric() will have to
|
|
|
|
release the crit section, font list will
|
|
|
|
have to be retraversed on return */
|
|
|
|
|
2002-08-29 00:35:23 +02:00
|
|
|
if(plf->lfCharSet == DEFAULT_CHARSET ||
|
|
|
|
plf->lfCharSet == pfi->df.dfCharSet) {
|
2004-01-19 00:35:12 +01:00
|
|
|
if( (b = (*proc)( &lf.elfLogFont, (TEXTMETRICW *)&tm,
|
2001-02-14 23:56:38 +01:00
|
|
|
XFONT_GetFontMetric( pfi, &lf, &tm ), lp )) )
|
|
|
|
bRet = b;
|
|
|
|
else break;
|
|
|
|
}
|
1998-12-26 20:42:02 +01:00
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
1998-12-26 20:42:02 +01:00
|
|
|
else /* enum first entry in each resource */
|
1997-06-16 19:43:53 +02:00
|
|
|
for( ; pfr ; pfr = pfr->next )
|
1998-12-26 20:42:02 +01:00
|
|
|
{
|
|
|
|
if(pfr->fi)
|
|
|
|
{
|
2004-01-19 00:35:12 +01:00
|
|
|
if( (b = (*proc)( &lf.elfLogFont, (TEXTMETRICW *)&tm,
|
2001-02-14 23:56:38 +01:00
|
|
|
XFONT_GetFontMetric( pfr->fi, &lf, &tm ), lp )) )
|
|
|
|
bRet = b;
|
1998-12-26 20:42:02 +01:00
|
|
|
else break;
|
|
|
|
}
|
|
|
|
}
|
1997-06-16 19:43:53 +02:00
|
|
|
return bRet;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X11DRV_GetTextMetrics
|
|
|
|
*/
|
2002-03-28 23:22:05 +01:00
|
|
|
BOOL X11DRV_GetTextMetrics(X11DRV_PDEVICE *physDev, TEXTMETRICW *metrics)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1998-11-25 13:36:03 +01:00
|
|
|
if( CHECK_PFONT(physDev->font) )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1998-11-25 13:36:03 +01:00
|
|
|
fontObject* pfo = __PFONT(physDev->font);
|
2002-08-29 00:35:23 +02:00
|
|
|
X11DRV_cptable[pfo->fi->cptable].pGetTextMetricsW( pfo, metrics );
|
1997-06-16 19:43:53 +02:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* X11DRV_GetCharWidth
|
|
|
|
*/
|
2002-03-28 23:22:05 +01:00
|
|
|
BOOL X11DRV_GetCharWidth( X11DRV_PDEVICE *physDev, UINT firstChar, UINT lastChar,
|
1999-02-26 12:11:13 +01:00
|
|
|
LPINT buffer )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
1998-11-25 13:36:03 +01:00
|
|
|
fontObject* pfo = XFONT_GetFontObject( physDev->font );
|
1997-06-16 19:43:53 +02:00
|
|
|
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
if( pfo )
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2004-08-12 01:45:34 +02:00
|
|
|
unsigned int i;
|
1997-06-16 19:43:53 +02:00
|
|
|
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
if (pfo->fs->per_char == NULL)
|
1997-06-16 19:43:53 +02:00
|
|
|
for (i = firstChar; i <= lastChar; i++)
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
if(pfo->lpX11Trans)
|
|
|
|
*buffer++ = pfo->fs->min_bounds.attributes *
|
1999-07-24 14:10:23 +02:00
|
|
|
pfo->lpX11Trans->pixelsize / 1000.0 * pfo->rescale;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
else
|
1999-07-24 14:10:23 +02:00
|
|
|
*buffer++ = pfo->fs->min_bounds.width * pfo->rescale;
|
1997-06-16 19:43:53 +02:00
|
|
|
else
|
|
|
|
{
|
|
|
|
XCharStruct *cs, *def;
|
|
|
|
static XCharStruct __null_char = { 0, 0, 0, 0, 0, 0 };
|
|
|
|
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
CI_GET_CHAR_INFO(pfo->fs, pfo->fs->default_char, &__null_char,
|
|
|
|
def);
|
1997-06-16 19:43:53 +02:00
|
|
|
|
|
|
|
for (i = firstChar; i <= lastChar; i++)
|
|
|
|
{
|
2001-11-06 00:56:22 +01:00
|
|
|
WCHAR wch = i;
|
|
|
|
BYTE ch;
|
|
|
|
UINT ch_f; /* character code in the font encoding */
|
|
|
|
WideCharToMultiByte( pfo->fi->codepage, 0, &wch, 1, &ch, 1, NULL, NULL );
|
|
|
|
ch_f = ch;
|
2002-06-01 01:06:46 +02:00
|
|
|
if (ch_f >= pfo->fs->min_char_or_byte2 &&
|
2001-11-06 00:56:22 +01:00
|
|
|
ch_f <= pfo->fs->max_char_or_byte2)
|
1997-06-16 19:43:53 +02:00
|
|
|
{
|
2002-06-01 01:06:46 +02:00
|
|
|
cs = &pfo->fs->per_char[(ch_f - pfo->fs->min_char_or_byte2)];
|
|
|
|
if (CI_NONEXISTCHAR(cs)) cs = def;
|
1997-06-16 19:43:53 +02:00
|
|
|
} else cs = def;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
if(pfo->lpX11Trans)
|
2000-03-25 22:44:35 +01:00
|
|
|
*buffer++ = max(cs->attributes, 0) *
|
1999-07-24 14:10:23 +02:00
|
|
|
pfo->lpX11Trans->pixelsize / 1000.0 * pfo->rescale;
|
Release 980712
Sun Jul 12 16:23:36 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [server/*] [scheduler/client.c] (new files)
[scheduler/sysdeps.c] [scheduler/thread.c] [scheduler/process.c]
Beginnings of client/server communication for inter-process
synchronisation.
Sat Jul 11 19:45:45 1998 Ulrich Weigand <weigand@informatik.uni-erlangen.de>
* [include/bitmap.h] [objects/bitmap.c] [objects/dib.c]
[objects/oembitmap.c]
Speed up DIB section handling by using pre-allocated colormap and
XImage. Moved DIB section data out of general BITMAPOBJ structure.
Bugfix: GetDIBits32 would overwrite one byte beyond bitmap data.
* [if1632/shell.spec] [if1632/kernel.spec] [win32/kernel32.c]
More verbose error message if ThunkConnect fails.
Implemented KERNEL_475.
* [files/profile.c] [ole/ole2nls.c]
Minor bugfixes.
* [if1632/builtin.c] [if1632/kernel.spec] [include/task.h]
[loader/ne/module.c] [loader/task.c]
Implemented KERNEL.THHOOK.
* [if1632/wprocs.spec] [include/process.h] [msdos/dpmi.c] [msdos/vxd.c]
Implemented Win32s VxD services (W32S.386).
Sat Jul 11 17:52:23 1998 Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>
* [graphics/x11drv/xfont.c] [graphics/x11drv/text.c]
[include/x11font.h]
Improve handling of rotated X11 fonts. Metrics/extents should now be
correct. ExtTextOut should behave better (still doesn't handle lpDx).
* [graphics/painting.c]
DrawFocusRect32: Don't do anything if width or height are zero.
Sat Jul 11 15:21:35 1998 Andreas Mohr <100.30936@germany.net>
* [files/profile.c] [include/windows.h]
The length arguments of *Profile*() need to be treated
as UINTxx instead of INTxx.
* [graphics/env.c] [graphics/win16drv/init.c] [include/print.h]
[misc/printdrv.c]
Many printer driver fixes/changes (many thanks go to Huw !).
Most printers should work again ;)
* [memory/atom.c]
Fixed ATOM_AddAtom to store atoms exactly like Windows.
* [*/*]
Fixed misc compiler warnings.
Fri Jul 10 15:58:36 1998 Marcus Meissner <marcus@jet.franken.de>
* [files/drive.c]
Fixed GetDriveType16 to return DRIVE_REMOTE again.
* [loader/pe_image.c][loader/module.c]
Look for modules that have the same modulename or the same
filename (they sometimes differ).
Fixed up fixup_imports, removed one of the loops.
* [windows/winpos.c]
Added some NULL ptr checks. Needs more.
* [graphics/ddraw.c]
Some stubs added.
* [if1632/snoop.c]
Updated, made WINELIB compatible.
Fri Jul 10 04:39:56 1998 Douglas Ridgway <ridgway@winehq.com>
* [objects/enhmetafile.c] [relay32/gdi32.spec]
Small tweaks for documentation system.
Thu Jul 9 22:00:18 1998 Eric Kohl <ekohl@abo.rhein-zeitung.de>
* [controls/commctrl.c][include/commctrl.h][relay32/comctl32.spec]
Fixed GetEffectiveClientRect, CreateToolbarEx and CreateMappedBitmap.
Added stub for ShowHideMenuCtl. Added some documentation.
* [documentation/common_controls]
Added and updated some information.
* [controls/toolbar.c][include/toolbar.h]
Added string support.
* [misc/shell.c][misc/shellord.c][relay32/shell.spec]
Changed names of undocumented functions to their real names and
fixed the export table.
* [controls/imagelist.c][relay32/comctl32.spec]
Added stub for ImageList_SetFilter.
Fixed some minor bugs and typos.
* [objects/font.c][include/windows.h][relay32/gdi32.spec]
Added stubs for GetCharacterPlacement32[A/W].
* [objects/region.c][relay32/gdi32.spec]
Added stub for UNDOCUMENTED GetRandomRgn.
* [controls/commctrl.c][controls/*.c][include/*.h]
Added dummy listview, pager, rebar, tooltips, trackbar and
treeview control. This keeps some programs from complaining.
Thu Jul 9 11:23:58 1998 Rein Klazes <rklazes@casema.net>
* [graphics/painting.c] [graphics/*/init.c]
[graphics/x11drv/graphics.c] [relay32/gdi32.spec]
[if1632/gdi.spec] [include/gdi.h] [include/x11drv.h]
Implemented drawing bezier curves: PolyBezier16/32 and
PolyBezierTo16/32.
* [graphics/x11drv/graphics.c]
Improved accuracy of several graphic routines, especially the
drawing of pie's.
* [include/windows.h] [misc/spy.c]
Added 25 window messages related to programs based on MFC and/or OLE.
Wed Jul 8 22:00:00 1998 James Juran <jrj120@psu.edu>
* [documentation/wine.man]
Updated manpage.
* [wine.ini]
Added section for Win95Look=true (commented out by default).
Wed Jul 8 06:23:19 1998 Matthew Becker <mbecker@glasscity.net>
* [misc/registry.c]
Fixed a crash in RegEnumValue32A when the dwType parameter is
NULL.
* [programs/regtest/regtest.c]
Improved the printing of errors.
* [misc/ntdll.c]
Added stub for RtlFormatCurrentUserKeyPath.
* [win32/console.c]
Added stub for ScrollConsoleScreenBuffer.
Mon Jul 6 16:41:47 1998 Per Lindström <pelinstr@algonet.se>
* [include/windows.h] [relay32/kernel.spec] [win32/newfns.c]
Added stubs for SleepEx and TerminateProcess.
* [rc/README]
Corrected a grammatical error.
Mon Jul 3 12:00:00 1998 Juergen Schmied <juergen.schmied@metronet.de>
* [misc/shellord.c]
Put some TRACE in.
* [memory/string.c]
Deleted unused variable in lstrcmpi32A.
* [include/windows.h][memory/string.c]
Added functions WideCharToLocal32 LocalToWideChar32 for
OLE-strings
* [include/shlobj.h][include/winerror.h][misc/shell.c]
[ole/folders.c]
Added definition of internal class pidlmgr.
Changed definitions of EnumIDList, IShellFolder.
Added some OLE error constants.
Implemented EnumIDList, IShellFolder, IClassFactory,
PidlMgr, SHELL32_DllGetClassObject, SHGetDesktopFolder,
SHGetSpecialFolderLocation (half), SHGetPathFromIDList
(!!This stuff is not finished yet!!)
* [include/windows.h][misc/network][reley32/mpr.spec]
Added stubs for WNetConnectionDialog32[A|W|API].
Added struct LPCONNECTDLGSTRUCT32[A|W] and some constants.
Added some SetLastError(WN_NO_NETWORK) to the stubs.
Fixed bufferhandling in WNetCancelConnection
Added stub for MultinetGetErrorText[A|W]
* [ole/ole2nls.c]
Rewrote GetTimeFormat32A.
Fri Jul 3 10:27:30 1998 Michael Poole <poole+@andrew.cmu.edu>
* [graphics/ddraw.c] [tsx11/X11_calls]
Implement IDirectDrawPalette_GetEntries.
Use CopyColormapAndFree to avoid erasing previously-set
palette entries.
* [graphics/ddraw.c] [include/ddraw.h]
[tools/make_X11wrappers] [tsx11/X11_calls]
Provide a preliminary, not-yet-working framework for doing
DirectDraw via Xlib or XShm as well as DGA.
Tue Jun 30 00:16:09 1998 Marcel Baur <mbaur@g26.ethz.ch>
* [ole/nls/*.nls]
Added remaining 22 locales (including arabic locales).
1998-07-12 21:29:36 +02:00
|
|
|
else
|
2000-03-25 22:44:35 +01:00
|
|
|
*buffer++ = max(cs->width, 0 ) * pfo->rescale;
|
1997-06-16 19:43:53 +02:00
|
|
|
}
|
|
|
|
}
|
Release 980201
Sun Feb 1 13:24:54 1998 Alexandre Julliard <julliard@lrc.epfl.ch>
* [files/drive.c]
Added Device= parameter to drive configuration.
* [if1632/relay.c]
Throw() and Catch() now use the correct CATCHBUF layout (untested).
* [tools/build.c] [include/stackframe.h] [loader/task.c]
Moved 16-bit stack pointer into thread database.
Save current %fs while running 16-bit code.
Fri Jan 30 09:25:49 1998 Martin Boehme <boehme@informatik.mu-luebeck.de>
* [graphics/mapping.c]
Made DPtoLP32 and LPtoDP32 respect world transforms.
* [graphics/path.c] [graphics/painting.c] [if1632/gdi.spec]
[include/path.h]
More path support.
* [include/gdi.h] [include/windows.h] [objects/dc.c]
[relay/gdi32.spec]
Support for Get/SetArcDirection and Get/SetWorldTransform
* [windows/hook.c]
Fixed a bug in HOOK_Map16To32Common.
Thu Jan 29 23:43:18 1998 Douglas Ridgway <ridgway@taiga.gmcl.com>
* [graphics/metafiledrv/init.c] [objects/metafile.c]
Documentation for metafile related API calls. Fixed a bug to avoid
documenting it.
* [include/windows.h]
Declaration for LoadImage.
Thu Jan 29 21:44:45 1998 Huw D M Davies <h.davies1@physics.oxford.ac.uk>
* [graphics/win16drv/*]
Changes to printing code to enable use of printer fonts with the
win3.1 postscript driver. Remember to add printer=on to [wine]
section of wine.conf . You will also need to disable truetype
fonts from control panel. Winword 6.0 and Write seem to be happy
with this...
* [include/bitmap.h]
Fix Widthbytes for 15bpp displays.
Tue Jan 27 20:54:08 1998 Kristian Nielsen <kristian.nielsen@risoe.dk>
* [tsx11/*] [include/ts*] [tools/make_X11wrappers]
Implemented thread-safe X11 wrappers.
Tue Jan 27 13:54:09 1998 Constantine Sapuntzakis <csapuntz@tma-1.lcs.mit.edu>
* [windows/queue.c]
Forgot to convert thdb to thread_id.
* [misc/registry.c]
Sped up Windows 95 registry reading. Changed code to traverse
registry as a tree rather than read in all possible keys
(including dead ones).
Tue Jan 27 12:46:09 1998 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_image.c][Makefile.in][scheduler/thread.c]
[libtest/hello5.c]
Don't exit() on failed to load referenced dlls.
Fixed static tls allocation for multiple threads.
WINELIB should now be able to load PE dlls. A sample
winelib program, that dynamically loads a internal dll
is included.
* [graphics/ddraw.c][include/ddraw.h][include/d3d.h]
Cleaned up and enhanced further. Added several DirectX5
interface definitions and DirectSurface3 implementation.
Stubs for D3D (NOT coming soon, just there so it fails safely).
* [multimedia/dsound.c][include/dsound.h]
Actually works now for a lot of cases. Some DirectX5 stuff
added. Still lacking several features.
* [windows/dinput.c][include/dinput.h]
Started implementing DirectInput. Doesn't work yet, don't
know why.
* [if1632/thunk.c][misc/callbacks.c]
[win32/kernel.c][include/callbacks.h]
Added WOWCallback16Ex, WOWHandle32.
* [misc/cpu.c]
Fixed GetSystemInfo, IsProcessorFeaturePresent.
* [multimedia/joystick.c][multimedia/time.c]
Several fixes. Small hack to get timerevents in timeGetTime() loops.
Tue Jan 20 11:26:27 1998 Slaven Rezic <eserte@cs.tu-berlin.de>
* [configure.in]
Fixed check for union semun on FreeBSD systems.
Sun Jan 18 23:05:04 1998 Karl Backström <karl_b@geocities.com>
* [misc/ole2nls.c] [programs/progman/Sw.rc] [programs/winhelp/Sw.rc]
[resources/sysres_Sw.rc]
Added/updated Swedish language support.
Sun Jan 18 18:49:01 1998 Alex Korobka <alex@trantor.pharm.sunysb.edu>
* [misc/winsock.c] [misc/winsock_dns.c] [windows/event.c]
[windows/win.c] [windows/dce.c] [windows/winpos.c]
Bug fixes.
Sun Jan 18 12:45:23 1997 Andreas Mohr <100.30936@germany.net>
* [msdos/int25.c] [msdos/int26.c]
Implemented "native" absolute disk read/write access.
* [msdos/int13.c] [msdos/ioports.c]
Enhanced GET DRIVE PARAMETERS (int13 AH=08).
* [graphics/win16drv/prtdrv.c] [if1632/gdi.spec]
Fixed typos, implemented dmEnumDFonts,
Started implementation of dmRealizeObject.
* [if1632/compobj.spec] [ole/compobj.c] [relay32/ole32.spec]
Stubs CoCreateInstance, CoFreeUnusedLibraries, implemented
CoFileTimeNow.
* [if1632/kernel.spec] [include/windows.h] [memory/global.c]
[memory/string.c] [misc/kernel.c] [misc/Makefile.in]
[misc/toolhelp.c] [msdos/int21.c]
Implemented GlobalHandleNoRIP, GetFreeMemInfo, DebugFillBuffer,
stubs GetSetKernelDOSProc, DiagQuery, DiagOutput, ToolHelpHook
(Undocumented Windows).
* [if1632/user.spec] [if1632/win32s16.spec] [misc/win32s16.c]
Misc stubs.
* [if1632/winaspi.spec] [misc/aspi.c]
Implemented GetASPIDLLVersion.
* [if1632/wprocs.spec] [msdos/int20.c] [msdos/Makefile.in]
Added handler for Int 0x20 (terminate program, _very_ old-fashioned).
* [misc/w32scomb.c]
Implemented Get16DLLAddress() partially
(big thanks to Marcus and Alexandre).
* [relay32/Makefile.in] [relay32/builtin32.c] [relay32/dplay.spec]
Added built-in DPLAY.DLL.
* [relay32/winmm.spec] [multimedia/joystick.c]
Added joySetThreshold.
* [misc/windebug.c]
Added WinNotify.
* [win32/console.c]
Stubs CreateConsoleScreenBuffer, SetConsoleActiveScreenBuffer,
WriteConsoleOutput32A.
* [windows/user.c]
Stub SetEventHook.
Sat Jan 17 19:30:35 1998 Matthew Toseland <Paul.Toseland@btinternet.com>
* [windows/painting.c]
Fixed broken restore-to-maximized.
Mon Jan 12 21:25:32 1998 Perceval - Marc Huguet Puig <mhp@tinet.fut.es>
* [documentation/wine.man] [include/options.h]
[misc/main.c] [ole/ole2nls.c] [resources/sysres.c]
[resources/sysres_Ca.rc] [resources/Makefile.in]
Added language catalan. (Afegit l'idioma català).
1998-02-01 19:33:27 +01:00
|
|
|
|
1997-06-16 19:43:53 +02:00
|
|
|
return TRUE;
|
|
|
|
}
|
|
|
|
return FALSE;
|
|
|
|
}
|