http://bugs.winehq.org/show_bug.cgi?id=9995
--- Comment #40 from Rein Klazes wijn@online.nl 2009-06-24 05:44:09 --- The problem is not the tahoma font. It would have occurred with Arial as well.
This is the cause:
0009:Call gdi32.CreateFontA(fffffff5,00001f33,00000000,00000000,00000190,00000000,00000000,00000000,00000001,00000004,00000010,00000000,00000002,0032f9ec "Tahoma") ret=00526506 0009:trace:font:CreateFontIndirectW (-11 7987 0 0 2 4 10 0 1) L"Tahoma" => 0x644
(note the rather large fontwitdh 7987).
Wine accepts this width when the font is selected in a DC:
0009:Call gdi32.GetTextMetricsA(00000348,0032f9b4) ret=00526536 0009:trace:font:WineEngGetOutlineTextMetrics font=0x166378 0009:trace:font:WineEngGetOutlineTextMetrics OS/2 winA = 2049 winD = 423 typoA = 1566 typoD = -423 typoLG = 59 FT_Face a = 2049, d = -423, h = 2472: HORZ a = 2049, d = -423 lg = 0 maxY = 2118 minY = -424 0009:trace:font:GetTextMetricsW text metrics: Weight = 400 FirstChar = 32 AveCharWidth = 7987 Italic = 0 LastChar = 65532 MaxCharWidth = 33545 UnderLined = 0 DefaultChar = 31 Overhang = 0 StruckOut = 0 BreakChar = 32 CharSet = 0 PitchAndFamily = 27 -------------------- InternalLeading = 2 Ascent = 11 Descent = 2 Height = 13 0009:Ret gdi32.GetTextMetricsA() retval=00000001 ret=00526536
On Windows the very large width values get ignored and the font acts as if created with width = 0. On wine it leads to large TextExtends, large menu's and large bitmaps, that cannot be handled by X.
I am able to construct a testcase. Fixing the font code is still a challenge :(