http://bugs.winehq.org/show_bug.cgi?id=30507
Bug #: 30507 Summary: Lexware Buchhalter 2012 complains on startup about missing 'arial' font (native gdiplus works around without having 'arial' installed) Product: Wine Version: 1.5.2 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: gdiplus AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello,
now that bug 30482 is fixed it runs into next one :|
The app displays a message box on startup:
"Es ist ein Fehler beim Laden von 'Lexware.Components.UI.Startpage.StartpageControl40' aufgetreten: \r\nFont '?' cannot be found."
Translated: "An error occurred during load of 'Lexware.Components.UI.Startpage.StartpageControl40': \r\nFont '?' cannot be found."
Trace log reveals it tries to load 'Arial':
--- snip --- 002a:Call gdi32.CreateFontIndirectA(00cffd18) ret=0033ae93 002a:trace:font:CreateFontIndirectExW (-19 0 0 0 0 0 0 0 0) L"arial" => 0xa710 002a:Ret gdi32.CreateFontIndirectA() retval=0000a710 ret=0033ae93 ... 002a:Call gdiplus.GdipCreateFontFromLogfontW(00000404,027597d8,0032bdb8) ret=06929a74 ... 002a:Call gdi32.CreateFontIndirectW(02759840) ret=7e249dc1 002a:trace:font:CreateFontIndirectExW (-19 0 0 0 0 0 0 0 0) L"arial" => 0xa714 002a:Ret gdi32.CreateFontIndirectW() retval=0000a714 ret=7e249dc1 ... 002a:trace:font:freetype_SelectFont L"arial", h=-19, it=0, weight=0, PandF=00, charset=0 orient 0 escapement 0 002a:trace:font:freetype_SelectFont DC transform 1.000000 0.000000 0.000000 1.000000 002a:trace:font:freetype_SelectFont not in cache 002a:trace:font:freetype_SelectFont (it=0, bd=0) is selected for (it=0, bd=0) 002a:trace:font:freetype_SelectFont Chosen: L"Liberation Sans" L"Regular" (/usr/share/fonts/liberation/LiberationSans-Regular.ttf/(nil):0) 002a:trace:font:freetype_SelectFont font scale y: 1.000000 002a:trace:font:OpenFontFace "/usr/share/fonts/liberation/LiberationSans-Regular.ttf"/(nil), 0, 0 x -19 002a:trace:font:get_font_data Can't find table VDMX 002a:trace:font:OpenFontFace height -19 => ppem 19 002a:trace:font:select_charmap found cmap with platform_id 0, encoding_id 3 002a:trace:font:select_charmap found cmap with platform_id 3, encoding_id 1 002a:trace:font:freetype_SelectFont caching: gdiFont=0x2764008 hfont=0xa714 002a:trace:font:update_font_code_page charset 0 => cp 1252 002a:Ret gdi32.SelectObject() retval=0000007c ret=7e249dd9 002a:Call gdi32.GetTextMetricsW(00000404,0032bc0c) ret=7e249df1 002a:trace:font:get_outline_text_metrics font=0x2764008 002a:trace:font:get_outline_text_metrics OS/2 winA = 1854 winD = 434 typoA = 1491 typoD = -431 typoLG = 307 FT_Face a = 1854, d = -434, h = 2355: HORZ a = 1854, d = -434 lg = 67 maxY = 1864 minY = -621 002a:trace:font:GetTextMetricsW text metrics: Weight = 400 FirstChar = 33 AveCharWidth = 11 Italic = 0 LastChar = 64258 MaxCharWidth = 24 UnderLined = 0 DefaultChar = 32 Overhang = 0 StruckOut = 0 BreakChar = 33 CharSet = 0 PitchAndFamily = 27 -------------------- InternalLeading = 2 Ascent = 17 Descent = 4 Height = 21 002a:Ret gdi32.GetTextMetricsW() retval=00000001 ret=7e249df1 002a:Call gdi32.SelectObject(00000404,0000007c) ret=7e249e79 002a:trace:font:freetype_SelectFont L"System", h=16, it=0, weight=400, PandF=22, charset=0 orient 0 escapement 0 002a:trace:font:freetype_SelectFont DC transform 1.000000 0.000000 0.000000 1.000000 002a:trace:font:freetype_SelectFont returning cached gdiFont(0x139e00) for hFont 0x7c 002a:trace:font:update_font_code_page charset 0 => cp 1252 002a:Ret gdi32.SelectObject() retval=0000a714 ret=7e249e79 ... 002a:trace:font:dump_gdi_font_list ---------- gdiFont Cache ---------- 002a:trace:font:dump_gdi_font_list gdiFont=0x2764008 L"arial" -19 002a:trace:font:dump_gdi_font_list gdiFont=0x2753d40 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x25071c8 L"Tahoma" -15 002a:trace:font:dump_gdi_font_list gdiFont=0x2749188 L"Tahoma" -15 002a:trace:font:dump_gdi_font_list gdiFont=0x257e398 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x24f1120 L"Arial" -16 002a:trace:font:dump_gdi_font_list gdiFont=0x1bc228 L"MS Sans Serif" -10 002a:trace:font:dump_gdi_font_list gdiFont=0x1e7b30 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x1af3e0 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x192300 L"MS Shell Dlg" -140 002a:trace:font:dump_gdi_font_list gdiFont=0x2587630 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x253fff0 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x2541ca0 L"MS Shell Dlg" -141 002a:trace:font:dump_gdi_font_list gdiFont=0x2508740 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x146808 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x14d0c0 L"Arial" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x14ce88 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x139e00 L"System" 16 002a:trace:font:dump_gdi_font_list ---------- Unused gdiFont Cache ---------- 002a:trace:font:dump_gdi_font_list gdiFont=0x253d4c0 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x26faad0 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x147cd0 L"MS Shell Dlg" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x270fb08 L"MS Sans Serif" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x27178a8 L"MS Sans Serif" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x1ad020 L"Tahoma" -11 002a:trace:font:dump_gdi_font_list gdiFont=0x191e38 L"tahoma" -11 002a:trace:font:dump_gdi_font_list ---------- Child gdiFont Cache ---------- ... 002a:trace:gdiplus:GdipCreateFontFromLogfontW <-- 0x2759840 002a:Ret gdiplus.GdipCreateFontFromLogfontW() retval=00000000 ret=06929a74 ... 002a:Call gdiplus.GdipGetFontUnit(02759840,0032bd8c) ret=0692a333 002a:trace:gdiplus:GdipGetFontUnit (0x2759840, 0x32bd8c) 002a:Ret gdiplus.GdipGetFontUnit() retval=00000000 ret=0692a333 ... 002a:Call gdiplus.GdipGetFontSize(02759840,0032bd90) ret=0692a3e3 002a:trace:gdiplus:GdipGetFontSize (0x2759840, 0x32bd90) 002a:Ret gdiplus.GdipGetFontSize() retval=00000000 ret=0692a3e3 ... 002a:Call gdiplus.GdipGetFontStyle(02759840,0032bd88) ret=0692a493 002a:trace:gdiplus:GdipGetFontStyle 0x2759840 0x32bd88 002a:Ret gdiplus.GdipGetFontStyle() retval=00000000 ret=0692a493 ... 002a:Call gdiplus.GdipGetFamily(02759840,0032bd84) ret=0692a543 002a:trace:gdiplus:GdipGetFamily 0x2759840 0x32bd84 002a:trace:gdiplus:GdipCreateFontFamilyFromName L"arial", (nil) 0x32bd84 002a:Call user32.GetDC(00000000) ret=7e24a9c6 002a:Ret user32.GetDC() retval=000003a8 ret=7e24a9c6 002a:Call gdi32.EnumFontFamiliesW(000003a8,0275985c L"arial",7e24a972,0032bbe8) ret=7e24a9f6 002a:trace:font:FONT_EnumFontFamiliesEx lfFaceName = L"arial" lfCharset = 1 002a:trace:font:freetype_EnumFonts facename = L"arial" charset 1 002a:Ret gdi32.EnumFontFamiliesW() retval=00000001 ret=7e24a9f6 002a:Call user32.ReleaseDC(00000000,000003a8) ret=7e24aa17 002a:trace:font:freetype_SelectFont L"System", h=16, it=0, weight=400, PandF=22, charset=0 orient 0 escapement 0 002a:trace:font:freetype_SelectFont DC transform 1.000000 0.000000 0.000000 1.000000 002a:trace:font:freetype_SelectFont returning cached gdiFont(0x139e00) for hFont 0x7c 002a:trace:font:update_font_code_page charset 0 => cp 1252 002a:Ret user32.ReleaseDC() retval=00000001 ret=7e24aa17 002a:Ret gdiplus.GdipGetFamily() retval=0000000e ret=0692a543 .... 002a:Call user32.MessageBoxW(000100b4,03581478 L"Es ist ein Fehler beim Laden von 'Lexware.Components.UI.Startpage.StartpageControl40' aufgetreten: \r\nFont '?' cannot be found.",0354a768 L"Lexware",00000000) ret=07cd404f --- snip ---
The message box can be dismissed and the app still loads.
Native gdiplus ('winetricks gdiplus') works *without* having 'arial' font installed.
If 'arial' is installed using 'winetricks corefonts' it also works with Wine builtin gdiplus.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30507
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet Depends on| |30438
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-04-23 14:50:09 CDT --- Hello,
filling fields.
Prerequisite:
$ bash winetricks -q ie7 (bug 30447) $ bash winetricks -q msxml3 (bug 29355), optional $ bash winetricks -q dotnet20 dotnet40
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Lexware/buchhalter/2012
$ find . -type f -iname "*.dll" | xargs grep -l DllRegisterServer | xargs -i regsvr32 {} --- snip ---
$ wine --version wine-1.5.2-220-gc8bb335
Regards
http://bugs.winehq.org/show_bug.cgi?id=30507
Jonas Heinrich onny@project-insanity.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |onny@project-insanity.org
http://bugs.winehq.org/show_bug.cgi?id=30507
--- Comment #2 from Anastasius Focht focht@gmx.net 2012-05-11 17:06:24 CDT --- Created attachment 40123 --> http://bugs.winehq.org/attachment.cgi?id=40123 WINEDEBUG=+tid,+seh,+relay,+font,+gdiplus runs with builtin and native gdiplus
Hello,
with Dmitry's recent work (see bug 30559) the error dialog is still there but the message changed:
-- snip --- ... 002a:Call gdi32.CreateFontIndirectA(00d00ad8) ret=0033ae93 002a:trace:font:CreateFontIndirectExW (-19 0 0 0 0 0 0 0 0) L"arial" => 0x84b0 002a:Ret gdi32.CreateFontIndirectA() retval=000084b0 ret=0033ae93 ... 002a:Call gdiplus.GdipCreateFontFromLogfontW(000003a8,0740d2a8,0032bdb8) ret=07089a74 002a:trace:gdiplus:GdipCreateFontFromLogfontW (0x3a8, 0x740d2a8, 0x32bdb8) 002a:Call gdi32.CreateFontIndirectW(0740d2a8) ret=7e21b000 002a:trace:font:CreateFontIndirectExW (-19 0 0 0 0 0 0 0 0) L"arial" => 0x84b4 002a:Ret gdi32.CreateFontIndirectW() retval=000084b4 ret=7e21b000 ... 002a:trace:gdiplus:GdipCreateFontFamilyFromName L"arial", (nil) 0x2325108 002a:Call gdi32.CreateCompatibleDC(00000000) ret=7e21c4ed 002a:trace:font:freetype_SelectFont L"System", h=16, it=0, weight=400, PandF=22, charset=0 orient 0 escapement 0 002a:trace:font:freetype_SelectFont DC transform 1.000000 0.000000 0.000000 1.000000 002a:trace:font:freetype_SelectFont returning cached gdiFont(0x139e28) for hFont 0x7c 002a:trace:font:update_font_code_page charset 0 => cp 1252 002a:Ret gdi32.CreateCompatibleDC() retval=000084b8 ret=7e21c4ed 002a:Call gdi32.EnumFontFamiliesW(000084b8,0740d2c4 L"arial",7e21bf8a,0032ba44) ret=7e21c51d 002a:trace:font:FONT_EnumFontFamiliesEx lfFaceName = L"arial" lfCharset = 1 002a:trace:font:freetype_EnumFonts facename = L"arial" charset 1 002a:Ret gdi32.EnumFontFamiliesW() retval=00000001 ret=7e21c51d 002a:Call gdi32.DeleteDC(000084b8) ret=7e21c5a0 002a:trace:font:freetype_SelectFont L"System", h=16, it=0, weight=400, PandF=22, charset=0 orient 0 escapement 0 002a:trace:font:freetype_SelectFont DC transform 1.000000 0.000000 0.000000 1.000000 002a:trace:font:freetype_SelectFont returning cached gdiFont(0x139e28) for hFont 0x7c ... 002a:Ret gdiplus.GdipCreateFontFromLogfontW() retval=00000010 ret=07089a74 ... 002a:Call user32.MessageBoxW(000100b4,03d30e94 L"Es ist ein Fehler beim Laden von 'Lexware.Components.UI.Startpage.StartpageControl40' aufgetreten: \r\nOnly TrueType fonts are supported. This is not a TrueType font.",03cfa768 L"Lexware",00000000) ret=10cc3a8f --- snip ---
FontFamilyNotFound -> return NotTrueTypeFont
With native gdiplus override a +relay trace log shows there isn't a single query for "arial" font family at this place.
Attached is a text file containing trace snippets from two runs: one with builtin gdiplus and one with native gdiplus for comparison.
wine-1.5.4
Regards
http://bugs.winehq.org/show_bug.cgi?id=30507
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #3 from GyB gyebro69@gmail.com 2012-10-05 15:29:13 CDT --- Anastasius, could you retest this bug in Wine 1.5.14 or newer to see if it is fixed. Maybe commit 691be74f176f084c7f8bf109ae953e0ed65cff5f should have helped with this. I experienced a somewhat similar issue with QuickTime Player in bug #27940.
http://bugs.winehq.org/show_bug.cgi?id=30507
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |691be74f176f084c7f8bf109ae9 | |53e0ed65cff5f Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #4 from Anastasius Focht focht@gmx.net 2012-10-06 14:55:32 CDT --- Hello GyB,
--- quote --- Anastasius, could you retest this bug in Wine 1.5.14 or newer to see if it is fixed. Maybe commit 691be74f176f084c7f8bf109ae953e0ed65cff5f should have helped with this. I experienced a somewhat similar issue with QuickTime Player in bug #27940. --- quote ---
Indeed Lexware Buchhalter doesn't complain about missing 'arial' anymore on startup. Thanks for the notification.
Marking fixed.
Regards
http://bugs.winehq.org/show_bug.cgi?id=30507
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org 2012-10-12 13:35:34 CDT --- Closing bugs fixed in 1.5.15.
https://bugs.winehq.org/show_bug.cgi?id=30507 Bug 30507 depends on bug 30438, which changed state.
Bug 30438 Summary: Lexware Buchhalter 2012 fails to start https://bugs.winehq.org/show_bug.cgi?id=30438
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |ABANDONED