[Bug 44963] New: gdi32: GetTextExtentExPoint* broken wrt. fake_bold
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Apr 11 15:37:17 CDT 2018
https://bugs.winehq.org/show_bug.cgi?id=44963
Bug ID: 44963
Summary: gdi32: GetTextExtentExPoint* broken wrt. fake_bold
Product: Wine
Version: 3.5
Hardware: x86-64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gdi32
Assignee: wine-bugs at winehq.org
Reporter: galtgendo at o2.pl
Distribution: ---
I'm not sure if I can describe it properly.
The chain goes about this way:
- CreateFontIndirectEx is passed size (-22) and weight Bold
- SelectFont runs and returns a *fake_bold* font with MaxCharWidth = 24
- based upon that GetTextExtentExPoint will be called with nMaxExtent = 24
- that call will incorrectly fail (return FALSE), as artificial bold will make
the glyph 25px wide (because of get_advance_metric)
Adding 1 to max_ext in '(nfit && dx > (unsigned int)max_ext)' check makes
things relying on GetTextExtentExPoint *not* failing work, but isn't really a
proper fix...
Noticed with GetTextExtentExPointW, but (given content of the functions) most
likely could be triggered by GetTextExtentExPointI too.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list