Hi all,

Ziff Davis Winbench 99 does the following:
Call GDI32.139: CreateDCA(00435e44 "display",00000000,00000000,00000000) ret=00420ee0 
fs=023f
trace:dc:CreateDC16 (driver="display", device=(null), output=(null))
trace:dc:CreateDC16 Using driver name 'display'.
trace:font:X11DRV_FONT_SelectObject hfont=ffed
trace:font:XFONT_RealizeFont physfont 1
trace:dc:CreateDC16 returning 1738.
Ret  GDI32.139: CreateDCA() retval=00001738 ret=00420ee0 fs=023f
Call GDI32.189: EnumFontFamiliesA(00001738,00433dac "Arial",004210a3,4105fb00) 
ret=00421102 fs=023f
trace:font:XFONT_FindFIList need font: Arial
trace:font:XFONT_FindFIList font: Times
trace:font:XFONT_FindFIList font: Helvetica
trace:font:XFONT_FindFIList font: Charter
trace:font:XFONT_FindFIList font: Fixed
trace:font:XFONT_FindFIList font: Clean
trace:font:XFONT_FindFIList font: Sony Fixed
trace:font:XFONT_FindFIList font: Ledfixed
trace:font:XFONT_FindFIList font: Courier
trace:font:XFONT_FindFIList font: New Century Schoolbook
trace:font:XFONT_FindFIList font: Symbol
trace:font:XFONT_FindFIList font: Utopia
trace:font:XFONT_FindFIList font: Lucida
trace:font:XFONT_FindFIList font: Lucidabright
trace:font:XFONT_FindFIList font: Lucidatypewriter
trace:font:XFONT_FindFIList font: Terminal
trace:font:XFONT_FindFIList font: Bitstream Terminal
Ret  GDI32.189: EnumFontFamiliesA() retval=00000000 ret=00421102 fs=023f
.
.
.
Call KERNEL32.567: RaiseException(00000000,00000001,00000001,4105fb20) ret=004040b4 
fs=023f
Call NTDLL.551: RtlUnwind(4105fbe4,00421eec,00000000,00000000) ret=00421eec fs=023f
[ crash, boom, bang ]

Note that it tries to EnumFontFamiliesA() the Arial font.
This one is defined only as a font *alias* within Wine.
That's why EnumFontFamiliesA() fails (it only handles installed fonts)
and the program bombs.

Sorry for that perhaps stupid question, but can't we fall back to using
font aliases instead of real installed fonts and display a warning message
like "Warning: needed to return font alias instead of real font; you might
want to install this font." in such cases ?
That way EnumFontFamiliesA() wouldn't need to return FALSE.

Or maybe let the EnumFontFamiliesA() behaviour depend on a Wine configuration
switch ?

Or is this a gross misunderstanding of mine ?
Maybe just RTFM ? ;)

Andreas Mohr

Reply via email to