[Bug 52597] New: DrawTextExA missing ligatures when CreateFontIndirectA with lfHeight incremented?

WineHQ Bugzilla wine-bugs at winehq.org
Sat Feb 26 12:26:19 CST 2022


https://bugs.winehq.org/show_bug.cgi?id=52597

            Bug ID: 52597
           Summary: DrawTextExA missing ligatures when CreateFontIndirectA
                    with lfHeight incremented?
           Product: Wine
           Version: 7.3
          Hardware: x86-64
                OS: Linux
            Status: UNCONFIRMED
          Severity: trivial
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: wnbz at conicmail.com
      Distribution: ---

Created attachment 71924
  --> https://bugs.winehq.org/attachment.cgi?id=71924
Application rendering Windows vs Wine

I have an esoteric scientific Windows app which I would like to use with Wine.
But, (with Wine) I have noticed that in a significant number of places the text
gets cut off, almost as if it is too long to fit. See attachment
`app_output.png`. The app displays correctly under Windows.

I do not have access to the source code of this application, and cannot comment
on the quality of the code. It may be that the position and size of the
bounding box is hard-coded, rather than using a GUI control layout manager.

However, I believe I managed to track down the issue and have created a minimal
example which demonstrates the problem (see `main.cpp`, please excuse the
style, I am not very familiar with Windows C++ GUI programming).

In the example, I call `CreateFontIndirectA` twice, first time with `lfHeight`
of `LOGFONTA` set to `15` and the second time to `16`. The issue seems to arise
only for small values of `lfHeight`. See the attachment `testcase_output.png`
for how it looks like on Windows vs Wine.

On Windows, both lines are indistinguishable, but on Wine, the second line
(`lfHeight = 16`) is significantly longer than the first line (`lfHeight =
15`).

It seems at first like the ligatures of the font are missing - which explains
why the text `ffi` changes width but the text `aaa` does not. But I am not
sure, as the `ffi` text also seems taller in the second line on Wine.

I am using winehq-devel (7.3) on Ubuntu 20.04. If it helps, I also attach the
relevant sections of output with font tracing enabled `WINEARCH=win32
WINEDEBUG=+font wine main.exe`.

-- 
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