http://bugs.winehq.org/show_bug.cgi?id=58987
Bug ID: 58987 Summary: Wine doesn't use the proper freetype function for fetching the value of FSType. Product: Wine Version: 10.19 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: win32u Assignee: wine-bugs@list.winehq.org Reporter: hibbsncc1701@gmail.com Distribution: ---
When filling in the otmfsType value in OUTLINETEXTMETRICW, wine should call FT_Get_FSType_Flags() according to: https://freetype.org/freetype2/docs/reference/ft2-information_retrieval.html...
Wine however accesses the value directly (against advice of the above link), applies a strange bitmask, and writes the result into otmfsType.
I found this while trying to troubleshoot some invalid values I was getting from GetOutlineTextMetrics(). Unfortunately, calling the proper freetype function only fixed some of them. I believe there's an uninitialized value being used somewhere for otmfsType. As I've been getting otmfsType values like 0x6fff for the Liberation fonts / Droid Sans Fallback / Dejima, and 0x80750007 for Abyssinica SIL at random.