From: Nikolay Sivov <nsivov@codeweavers.com> Spotted this as a test failure on Windows 11 with Material Icons Outlined font, which has units-per-em of 512. Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> --- dlls/dwrite/opentype.c | 2 +- dlls/dwrite/tests/font.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/dwrite/opentype.c b/dlls/dwrite/opentype.c index 69b8bb5342d..1d9f13f8442 100644 --- a/dlls/dwrite/opentype.c +++ b/dlls/dwrite/opentype.c @@ -2067,7 +2067,7 @@ void opentype_get_font_metrics(struct file_stream_desc *stream_desc, DWRITE_FONT } if (metrics->underlineThickness == 0) - metrics->underlineThickness = metrics->designUnitsPerEm / 14; + metrics->underlineThickness = (metrics->designUnitsPerEm + 7) / 14; if (metrics->strikethroughThickness == 0) metrics->strikethroughThickness = metrics->underlineThickness; diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c index 43441b58d46..fafb040aaed 100644 --- a/dlls/dwrite/tests/font.c +++ b/dlls/dwrite/tests/font.c @@ -2110,7 +2110,7 @@ static void get_expected_font_metrics(IDWriteFontFace *fontface, DWRITE_FONT_MET } if (metrics->underlineThickness == 0) - metrics->underlineThickness = metrics->designUnitsPerEm / 14; + metrics->underlineThickness = (metrics->designUnitsPerEm + 7) / 14; if (metrics->strikethroughThickness == 0) metrics->strikethroughThickness = metrics->underlineThickness; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9914