Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
---
dlls/dwrite/tests/analyzer.c | 77 +++---
dlls/dwrite/tests/font.c | 443 +++++++++++++++++++----------------
2 files changed, 285 insertions(+), 235 deletions(-)
diff --git a/dlls/dwrite/tests/analyzer.c b/dlls/dwrite/tests/analyzer.c
index 0294bbfb719..358e3e4780d 100644
--- a/dlls/dwrite/tests/analyzer.c
+++ b/dlls/dwrite/tests/analyzer.c
@@ -2164,7 +2164,8 @@ static void test_ApplyCharacterSpacing(void)
return;
}
- for (i = 0; i < ARRAY_SIZE(spacing_tests); i++) {
+ for (i = 0; i < ARRAY_SIZE(spacing_tests); ++i)
+ {
const struct spacing_test *ptr = spacing_tests + i;
DWRITE_GLYPH_OFFSET offsets[3];
UINT32 glyph_count;
@@ -2196,6 +2197,8 @@ static void test_ApplyCharacterSpacing(void)
props[0].isClusterStart = props[1].isClusterStart = 1;
}
+ winetest_push_context("Test %u", i);
+
hr = IDWriteTextAnalyzer1_ApplyCharacterSpacing(analyzer1,
ptr->leading,
ptr->trailing,
@@ -2208,35 +2211,35 @@ static void test_ApplyCharacterSpacing(void)
props,
advances,
offsets);
- ok(hr == (ptr->min_advance < 0.0f ? E_INVALIDARG : S_OK), "%d: got 0x%08x\n", i, hr);
+ ok(hr == (ptr->min_advance < 0.0f ? E_INVALIDARG : S_OK), "Unexpected hr %#x.\n", hr);
if (hr == S_OK) {
- ok(ptr->modified_advances[0] == advances[0], "%d: got advance[0] %.2f, expected %.2f\n", i, advances[0], ptr->modified_advances[0]);
- ok(ptr->modified_advances[1] == advances[1], "%d: got advance[1] %.2f, expected %.2f\n", i, advances[1], ptr->modified_advances[1]);
+ ok(ptr->modified_advances[0] == advances[0], "Got advance[0] %.2f, expected %.2f.\n", advances[0], ptr->modified_advances[0]);
+ ok(ptr->modified_advances[1] == advances[1], "Got advance[1] %.2f, expected %.2f.\n", advances[1], ptr->modified_advances[1]);
if (glyph_count > 2)
- ok(ptr->modified_advances[2] == advances[2], "%d: got advance[2] %.2f, expected %.2f\n", i, advances[2], ptr->modified_advances[2]);
+ ok(ptr->modified_advances[2] == advances[2], "Got advance[2] %.2f, expected %.2f.\n", advances[2], ptr->modified_advances[2]);
- ok(ptr->modified_offsets[0] == offsets[0].advanceOffset, "%d: got offset[0] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[0] == offsets[0].advanceOffset, "Got offset[0] %.2f, expected %.2f.\n",
offsets[0].advanceOffset, ptr->modified_offsets[0]);
- ok(ptr->modified_offsets[1] == offsets[1].advanceOffset, "%d: got offset[1] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[1] == offsets[1].advanceOffset, "Got offset[1] %.2f, expected %.2f.\n",
offsets[1].advanceOffset, ptr->modified_offsets[1]);
if (glyph_count > 2)
- ok(ptr->modified_offsets[2] == offsets[2].advanceOffset, "%d: got offset[2] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[2] == offsets[2].advanceOffset, "Got offset[2] %.2f, expected %.2f.\n",
offsets[2].advanceOffset, ptr->modified_offsets[2]);
- ok(offsets[0].ascenderOffset == 23.0, "%d: unexpected ascenderOffset %.2f\n", i, offsets[0].ascenderOffset);
- ok(offsets[1].ascenderOffset == 32.0, "%d: unexpected ascenderOffset %.2f\n", i, offsets[1].ascenderOffset);
- ok(offsets[2].ascenderOffset == 31.0, "%d: unexpected ascenderOffset %.2f\n", i, offsets[2].ascenderOffset);
+ ok(offsets[0].ascenderOffset == 23.0, "Unexpected ascenderOffset %.2f.\n", offsets[0].ascenderOffset);
+ ok(offsets[1].ascenderOffset == 32.0, "Unexpected ascenderOffset %.2f.\n", offsets[1].ascenderOffset);
+ ok(offsets[2].ascenderOffset == 31.0, "Unexpected ascenderOffset %.2f.\n", offsets[2].ascenderOffset);
}
else {
- ok(ptr->modified_advances[0] == advances[0], "%d: got advance[0] %.2f, expected %.2f\n", i, advances[0], ptr->modified_advances[0]);
- ok(ptr->modified_advances[1] == advances[1], "%d: got advance[1] %.2f, expected %.2f\n", i, advances[1], ptr->modified_advances[1]);
- ok(ptr->offsets[0] == offsets[0].advanceOffset, "%d: got offset[0] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_advances[0] == advances[0], "Got advance[0] %.2f, expected %.2f.\n", advances[0], ptr->modified_advances[0]);
+ ok(ptr->modified_advances[1] == advances[1], "Got advance[1] %.2f, expected %.2f.\n", advances[1], ptr->modified_advances[1]);
+ ok(ptr->offsets[0] == offsets[0].advanceOffset, "Got offset[0] %.2f, expected %.2f.\n",
offsets[0].advanceOffset, ptr->modified_offsets[0]);
- ok(ptr->offsets[1] == offsets[1].advanceOffset, "%d: got offset[1] %.2f, expected %.2f\n", i,
+ ok(ptr->offsets[1] == offsets[1].advanceOffset, "Got offset[1] %.2f, expected %.2f.\n",
offsets[1].advanceOffset, ptr->modified_offsets[1]);
- ok(offsets[0].ascenderOffset == 23.0, "%d: unexpected ascenderOffset %.2f\n", i, offsets[0].ascenderOffset);
- ok(offsets[1].ascenderOffset == 32.0, "%d: unexpected ascenderOffset %.2f\n", i, offsets[1].ascenderOffset);
+ ok(offsets[0].ascenderOffset == 23.0, "Unexpected ascenderOffset %.2f.\n", offsets[0].ascenderOffset);
+ ok(offsets[1].ascenderOffset == 32.0, "Unexpected ascenderOffset %.2f.\n", offsets[1].ascenderOffset);
}
/* same, with argument aliasing */
@@ -2262,37 +2265,41 @@ static void test_ApplyCharacterSpacing(void)
props,
advances,
offsets);
- ok(hr == (ptr->min_advance < 0.0f ? E_INVALIDARG : S_OK), "%d: got 0x%08x\n", i, hr);
+ ok(hr == (ptr->min_advance < 0.0f ? E_INVALIDARG : S_OK), "Unexpected hr %#x.\n", hr);
- if (hr == S_OK) {
- ok(ptr->modified_advances[0] == advances[0], "%d: got advance[0] %.2f, expected %.2f\n", i, advances[0], ptr->modified_advances[0]);
- ok(ptr->modified_advances[1] == advances[1], "%d: got advance[1] %.2f, expected %.2f\n", i, advances[1], ptr->modified_advances[1]);
+ if (hr == S_OK)
+ {
+ ok(ptr->modified_advances[0] == advances[0], "Got advance[0] %.2f, expected %.2f.\n", advances[0], ptr->modified_advances[0]);
+ ok(ptr->modified_advances[1] == advances[1], "Got advance[1] %.2f, expected %.2f.\n", advances[1], ptr->modified_advances[1]);
if (glyph_count > 2)
- ok(ptr->modified_advances[2] == advances[2], "%d: got advance[2] %.2f, expected %.2f\n", i, advances[2], ptr->modified_advances[2]);
+ ok(ptr->modified_advances[2] == advances[2], "Got advance[2] %.2f, expected %.2f.\n", advances[2], ptr->modified_advances[2]);
- ok(ptr->modified_offsets[0] == offsets[0].advanceOffset, "%d: got offset[0] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[0] == offsets[0].advanceOffset, "Got offset[0] %.2f, expected %.2f.\n",
offsets[0].advanceOffset, ptr->modified_offsets[0]);
- ok(ptr->modified_offsets[1] == offsets[1].advanceOffset, "%d: got offset[1] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[1] == offsets[1].advanceOffset, "Got offset[1] %.2f, expected %.2f.\n",
offsets[1].advanceOffset, ptr->modified_offsets[1]);
if (glyph_count > 2)
- ok(ptr->modified_offsets[2] == offsets[2].advanceOffset, "%d: got offset[2] %.2f, expected %.2f\n", i,
+ ok(ptr->modified_offsets[2] == offsets[2].advanceOffset, "Got offset[2] %.2f, expected %.2f.\n",
offsets[2].advanceOffset, ptr->modified_offsets[2]);
- ok(offsets[0].ascenderOffset == 23.0f, "%d: unexpected ascenderOffset %.2f\n", i, offsets[0].ascenderOffset);
- ok(offsets[1].ascenderOffset == 32.0f, "%d: unexpected ascenderOffset %.2f\n", i, offsets[1].ascenderOffset);
- ok(offsets[2].ascenderOffset == 31.0f, "%d: unexpected ascenderOffset %.2f\n", i, offsets[2].ascenderOffset);
+ ok(offsets[0].ascenderOffset == 23.0f, "Unexpected ascenderOffset %.2f.\n", offsets[0].ascenderOffset);
+ ok(offsets[1].ascenderOffset == 32.0f, "Unexpected ascenderOffset %.2f.\n", offsets[1].ascenderOffset);
+ ok(offsets[2].ascenderOffset == 31.0f, "Unexpected ascenderOffset %.2f.\n", offsets[2].ascenderOffset);
}
- else {
+ else
+ {
/* with aliased advances original values are retained */
- ok(ptr->advances[0] == advances[0], "%d: got advance[0] %.2f, expected %.2f\n", i, advances[0], ptr->advances[0]);
- ok(ptr->advances[1] == advances[1], "%d: got advance[1] %.2f, expected %.2f\n", i, advances[1], ptr->advances[1]);
- ok(ptr->offsets[0] == offsets[0].advanceOffset, "%d: got offset[0] %.2f, expected %.2f\n", i,
+ ok(ptr->advances[0] == advances[0], "Got advance[0] %.2f, expected %.2f.\n", advances[0], ptr->advances[0]);
+ ok(ptr->advances[1] == advances[1], "Got advance[1] %.2f, expected %.2f.\n", advances[1], ptr->advances[1]);
+ ok(ptr->offsets[0] == offsets[0].advanceOffset, "Got offset[0] %.2f, expected %.2f.\n",
offsets[0].advanceOffset, ptr->modified_offsets[0]);
- ok(ptr->offsets[1] == offsets[1].advanceOffset, "%d: got offset[1] %.2f, expected %.2f\n", i,
+ ok(ptr->offsets[1] == offsets[1].advanceOffset, "Got offset[1] %.2f, expected %.2f.\n",
offsets[1].advanceOffset, ptr->modified_offsets[1]);
- ok(offsets[0].ascenderOffset == 23.0f, "%d: unexpected ascenderOffset %.2f\n", i, offsets[0].ascenderOffset);
- ok(offsets[1].ascenderOffset == 32.0f, "%d: unexpected ascenderOffset %.2f\n", i, offsets[1].ascenderOffset);
+ ok(offsets[0].ascenderOffset == 23.0f, "Unexpected ascenderOffset %.2f.\n", offsets[0].ascenderOffset);
+ ok(offsets[1].ascenderOffset == 32.0f, "Unexpected ascenderOffset %.2f.\n", offsets[1].ascenderOffset);
}
+
+ winetest_pop_context();
}
IDWriteTextAnalyzer1_Release(analyzer1);
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index be367463414..ba4a2793372 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -2133,56 +2133,61 @@ static void check_font_metrics(const WCHAR *nameW, IDWriteFontFace *fontface, co
else
IDWriteFontFace_GetMetrics(fontface, (DWRITE_FONT_METRICS *)&metrics);
- ok(metrics.designUnitsPerEm == expected->designUnitsPerEm, "font %s: designUnitsPerEm %u, expected %u\n",
- wine_dbgstr_w(nameW), metrics.designUnitsPerEm, expected->designUnitsPerEm);
- ok(metrics.ascent == expected->ascent, "font %s: ascent %u, expected %u\n", wine_dbgstr_w(nameW), metrics.ascent,
- expected->ascent);
- ok(metrics.descent == expected->descent, "font %s: descent %u, expected %u\n", wine_dbgstr_w(nameW),
- metrics.descent, expected->descent);
- ok(metrics.lineGap == expected->lineGap, "font %s: lineGap %d, expected %d\n", wine_dbgstr_w(nameW),
- metrics.lineGap, expected->lineGap);
- ok(metrics.underlinePosition == expected->underlinePosition, "font %s: underlinePosition %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.underlinePosition, expected->underlinePosition);
- ok(metrics.underlineThickness == expected->underlineThickness, "font %s: underlineThickness %u, "
- "expected %u\n", wine_dbgstr_w(nameW), metrics.underlineThickness, expected->underlineThickness);
- ok(metrics.strikethroughPosition == expected->strikethroughPosition, "font %s: strikethroughPosition %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.strikethroughPosition, expected->strikethroughPosition);
- ok(metrics.strikethroughThickness == expected->strikethroughThickness, "font %s: strikethroughThickness %u, "
- "expected %u\n", wine_dbgstr_w(nameW), metrics.strikethroughThickness, expected->strikethroughThickness);
-
- if (has_metrics1) {
+ winetest_push_context("Font %s", wine_dbgstr_w(nameW));
+
+ ok(metrics.designUnitsPerEm == expected->designUnitsPerEm, "designUnitsPerEm %u, expected %u.\n",
+ metrics.designUnitsPerEm, expected->designUnitsPerEm);
+ ok(metrics.ascent == expected->ascent, "ascent %u, expected %u.\n", metrics.ascent, expected->ascent);
+ ok(metrics.descent == expected->descent, "descent %u, expected %u.\n", metrics.descent, expected->descent);
+ ok(metrics.lineGap == expected->lineGap, "lineGap %d, expected %d.\n", metrics.lineGap, expected->lineGap);
+ ok(metrics.underlinePosition == expected->underlinePosition, "underlinePosition %d, expected %d.\n",
+ metrics.underlinePosition, expected->underlinePosition);
+ ok(metrics.underlineThickness == expected->underlineThickness, "underlineThickness %u, expected %u.\n",
+ metrics.underlineThickness, expected->underlineThickness);
+ ok(metrics.strikethroughPosition == expected->strikethroughPosition, "strikethroughPosition %d, expected %d.\n",
+ metrics.strikethroughPosition, expected->strikethroughPosition);
+ ok(metrics.strikethroughThickness == expected->strikethroughThickness, "strikethroughThickness %u, "
+ "expected %u.\n", metrics.strikethroughThickness, expected->strikethroughThickness);
+
+ if (has_metrics1)
+ {
/* For simulated faces metrics are adjusted. Enable tests when exact pattern is understood. */
if (simulations & DWRITE_FONT_SIMULATIONS_OBLIQUE)
+ {
+ winetest_pop_context();
return;
+ }
- ok(metrics.hasTypographicMetrics == expected->hasTypographicMetrics, "font %s: hasTypographicMetrics %d, "
- "expected %d\n", wine_dbgstr_w(nameW), metrics.hasTypographicMetrics, expected->hasTypographicMetrics);
- ok(metrics.glyphBoxLeft == expected->glyphBoxLeft, "font %s: glyphBoxLeft %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.glyphBoxLeft, expected->glyphBoxLeft);
- ok(metrics.glyphBoxTop == expected->glyphBoxTop, "font %s: glyphBoxTop %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.glyphBoxTop, expected->glyphBoxTop);
- ok(metrics.glyphBoxRight == expected->glyphBoxRight, "font %s: glyphBoxRight %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.glyphBoxRight, expected->glyphBoxRight);
- ok(metrics.glyphBoxBottom == expected->glyphBoxBottom, "font %s: glyphBoxBottom %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.glyphBoxBottom, expected->glyphBoxBottom);
-
- ok(metrics.subscriptPositionX == expected->subscriptPositionX, "font %s: subscriptPositionX %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.subscriptPositionX, expected->subscriptPositionX);
- ok(metrics.subscriptPositionY == expected->subscriptPositionY, "font %s: subscriptPositionY %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.subscriptPositionY, expected->subscriptPositionY);
- ok(metrics.subscriptSizeX == expected->subscriptSizeX, "font %s: subscriptSizeX %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.subscriptSizeX, expected->subscriptSizeX);
- ok(metrics.subscriptSizeY == expected->subscriptSizeY, "font %s: subscriptSizeY %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.subscriptSizeY, expected->subscriptSizeY);
- ok(metrics.superscriptPositionX == expected->superscriptPositionX, "font %s: superscriptPositionX %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.superscriptPositionX, expected->superscriptPositionX);
- ok(metrics.superscriptPositionY == expected->superscriptPositionY, "font %s: superscriptPositionY %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.superscriptPositionY, expected->superscriptPositionY);
- ok(metrics.superscriptSizeX == expected->superscriptSizeX, "font %s: superscriptSizeX %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.superscriptSizeX, expected->superscriptSizeX);
- ok(metrics.superscriptSizeY == expected->superscriptSizeY, "font %s: superscriptSizeY %d, expected %d\n",
- wine_dbgstr_w(nameW), metrics.superscriptSizeY, expected->superscriptSizeY);
- }
+ ok(metrics.hasTypographicMetrics == expected->hasTypographicMetrics, "hasTypographicMetrics %d, "
+ "expected %d.\n", metrics.hasTypographicMetrics, expected->hasTypographicMetrics);
+ ok(metrics.glyphBoxLeft == expected->glyphBoxLeft, "glyphBoxLeft %d, expected %d.\n",
+ metrics.glyphBoxLeft, expected->glyphBoxLeft);
+ ok(metrics.glyphBoxTop == expected->glyphBoxTop, "glyphBoxTop %d, expected %d.\n",
+ metrics.glyphBoxTop, expected->glyphBoxTop);
+ ok(metrics.glyphBoxRight == expected->glyphBoxRight, "glyphBoxRight %d, expected %d.\n",
+ metrics.glyphBoxRight, expected->glyphBoxRight);
+ ok(metrics.glyphBoxBottom == expected->glyphBoxBottom, "glyphBoxBottom %d, expected %d.\n",
+ metrics.glyphBoxBottom, expected->glyphBoxBottom);
+
+ ok(metrics.subscriptPositionX == expected->subscriptPositionX, "subscriptPositionX %d, expected %d.\n",
+ metrics.subscriptPositionX, expected->subscriptPositionX);
+ ok(metrics.subscriptPositionY == expected->subscriptPositionY, "subscriptPositionY %d, expected %d.\n",
+ metrics.subscriptPositionY, expected->subscriptPositionY);
+ ok(metrics.subscriptSizeX == expected->subscriptSizeX, "subscriptSizeX %d, expected %d.\n",
+ metrics.subscriptSizeX, expected->subscriptSizeX);
+ ok(metrics.subscriptSizeY == expected->subscriptSizeY, "subscriptSizeY %d, expected %d.\n",
+ metrics.subscriptSizeY, expected->subscriptSizeY);
+ ok(metrics.superscriptPositionX == expected->superscriptPositionX, "superscriptPositionX %d, expected %d.\n",
+ metrics.superscriptPositionX, expected->superscriptPositionX);
+ ok(metrics.superscriptPositionY == expected->superscriptPositionY, "superscriptPositionY %d, expected %d.\n",
+ metrics.superscriptPositionY, expected->superscriptPositionY);
+ ok(metrics.superscriptSizeX == expected->superscriptSizeX, "superscriptSizeX %d, expected %d.\n",
+ metrics.superscriptSizeX, expected->superscriptSizeX);
+ ok(metrics.superscriptSizeY == expected->superscriptSizeY, "superscriptSizeY %d, expected %d.\n",
+ metrics.superscriptSizeY, expected->superscriptSizeY);
+ }
+
+ winetest_pop_context();
}
static void get_enus_string(IDWriteLocalizedStrings *strings, WCHAR *buff, UINT32 size)
@@ -2873,21 +2878,22 @@ if (0) /* crashes on native */
sim = IDWriteFontFace_GetSimulations(fontface);
get_logfont_from_font(font, &lf);
- ok(logfont.lfWeight == lf.lfWeight, "%s: unexpected lfWeight %d, expected lfWeight %d, font weight %d, "
- "bold simulation %s\n", wine_dbgstr_w(nameW), logfont.lfWeight, lf.lfWeight, IDWriteFont_GetWeight(font),
- sim & DWRITE_FONT_SIMULATIONS_BOLD ? "yes" : "no");
- ok(logfont.lfItalic == lf.lfItalic, "%s: unexpected italic flag %d, oblique simulation %s\n",
- wine_dbgstr_w(nameW), logfont.lfItalic, sim & DWRITE_FONT_SIMULATIONS_OBLIQUE ? "yes" : "no");
- ok(!lstrcmpW(logfont.lfFaceName, lf.lfFaceName), "%s: unexpected facename %s, expected %s\n",
- wine_dbgstr_w(nameW), wine_dbgstr_w(logfont.lfFaceName), wine_dbgstr_w(lf.lfFaceName));
-
- ok(logfont.lfOutPrecision == OUT_OUTLINE_PRECIS, "%s: unexpected output precision %d\n", wine_dbgstr_w(nameW),
- logfont.lfOutPrecision);
- ok(logfont.lfClipPrecision == CLIP_DEFAULT_PRECIS, "%s: unexpected clipping precision %d\n", wine_dbgstr_w(nameW),
- logfont.lfClipPrecision);
- ok(logfont.lfQuality == DEFAULT_QUALITY, "%s: unexpected quality %d\n", wine_dbgstr_w(nameW), logfont.lfQuality);
- ok(logfont.lfPitchAndFamily == DEFAULT_PITCH, "%s: unexpected pitch %d\n", wine_dbgstr_w(nameW),
- logfont.lfPitchAndFamily);
+ winetest_push_context("Font %s", wine_dbgstr_w(nameW));
+
+ ok(logfont.lfWeight == lf.lfWeight, "Unexpected lfWeight %d, expected lfWeight %d, font weight %d, "
+ "bold simulation %s.\n", logfont.lfWeight, lf.lfWeight, IDWriteFont_GetWeight(font),
+ sim & DWRITE_FONT_SIMULATIONS_BOLD ? "yes" : "no");
+ ok(logfont.lfItalic == lf.lfItalic, "Unexpected italic flag %d, oblique simulation %s.\n",
+ logfont.lfItalic, sim & DWRITE_FONT_SIMULATIONS_OBLIQUE ? "yes" : "no");
+ ok(!lstrcmpW(logfont.lfFaceName, lf.lfFaceName), "Unexpected facename %s, expected %s\n",
+ wine_dbgstr_w(logfont.lfFaceName), wine_dbgstr_w(lf.lfFaceName));
+
+ ok(logfont.lfOutPrecision == OUT_OUTLINE_PRECIS, "Unexpected output precision %d.\n", logfont.lfOutPrecision);
+ ok(logfont.lfClipPrecision == CLIP_DEFAULT_PRECIS, "Unexpected clipping precision %d.\n", logfont.lfClipPrecision);
+ ok(logfont.lfQuality == DEFAULT_QUALITY, "Unexpected quality %d.\n", logfont.lfQuality);
+ ok(logfont.lfPitchAndFamily == DEFAULT_PITCH, "Unexpected pitch %d.\n", logfont.lfPitchAndFamily);
+
+ winetest_pop_context();
IDWriteFontFace_Release(fontface);
IDWriteFont_Release(font);
@@ -4840,22 +4846,23 @@ if (0) { /* crashes on native */
sim = IDWriteFont_GetSimulations(font);
+ winetest_push_context("Font %s", wine_dbgstr_w(nameW));
+
get_logfont_from_font(font, &lf);
- ok(logfont.lfWeight == lf.lfWeight, "%s: unexpected lfWeight %d, expected lfWeight %d, font weight %d, "
- "bold simulation %s\n", wine_dbgstr_w(nameW), logfont.lfWeight, lf.lfWeight, IDWriteFont_GetWeight(font),
- sim & DWRITE_FONT_SIMULATIONS_BOLD ? "yes" : "no");
- ok(logfont.lfItalic == lf.lfItalic, "%s: unexpected italic flag %d, oblique simulation %s\n",
- wine_dbgstr_w(nameW), logfont.lfItalic, sim & DWRITE_FONT_SIMULATIONS_OBLIQUE ? "yes" : "no");
- ok(!lstrcmpW(logfont.lfFaceName, lf.lfFaceName), "%s: unexpected facename %s, expected %s\n",
- wine_dbgstr_w(nameW), wine_dbgstr_w(logfont.lfFaceName), wine_dbgstr_w(lf.lfFaceName));
-
- ok(logfont.lfOutPrecision == OUT_OUTLINE_PRECIS, "%s: unexpected output precision %d\n", wine_dbgstr_w(nameW),
- logfont.lfOutPrecision);
- ok(logfont.lfClipPrecision == CLIP_DEFAULT_PRECIS, "%s: unexpected clipping precision %d\n", wine_dbgstr_w(nameW),
- logfont.lfClipPrecision);
- ok(logfont.lfQuality == DEFAULT_QUALITY, "%s: unexpected quality %d\n", wine_dbgstr_w(nameW), logfont.lfQuality);
- ok(logfont.lfPitchAndFamily == DEFAULT_PITCH, "%s: unexpected pitch %d\n", wine_dbgstr_w(nameW),
- logfont.lfPitchAndFamily);
+ ok(logfont.lfWeight == lf.lfWeight, "Unexpected lfWeight %d, expected lfWeight %d, font weight %d, "
+ "bold simulation %s.\n", logfont.lfWeight, lf.lfWeight, IDWriteFont_GetWeight(font),
+ sim & DWRITE_FONT_SIMULATIONS_BOLD ? "yes" : "no");
+ ok(logfont.lfItalic == lf.lfItalic, "Unexpected italic flag %d, oblique simulation %s.\n",
+ logfont.lfItalic, sim & DWRITE_FONT_SIMULATIONS_OBLIQUE ? "yes" : "no");
+ ok(!lstrcmpW(logfont.lfFaceName, lf.lfFaceName), "Unexpected facename %s, expected %s.\n",
+ wine_dbgstr_w(logfont.lfFaceName), wine_dbgstr_w(lf.lfFaceName));
+
+ ok(logfont.lfOutPrecision == OUT_OUTLINE_PRECIS, "Unexpected output precision %d.\n", logfont.lfOutPrecision);
+ ok(logfont.lfClipPrecision == CLIP_DEFAULT_PRECIS, "Unexpected clipping precision %d.\n", logfont.lfClipPrecision);
+ ok(logfont.lfQuality == DEFAULT_QUALITY, "Unexpected quality %d.\n", logfont.lfQuality);
+ ok(logfont.lfPitchAndFamily == DEFAULT_PITCH, "Unexpected pitch %d.\n", logfont.lfPitchAndFamily);
+
+ winetest_pop_context();
IDWriteFont_Release(font);
}
@@ -6206,79 +6213,77 @@ static BOOL get_vdmx_size(const struct VDMX_group *group, int emsize, int *a, in
static void test_metrics_cmp(FLOAT emsize, const DWRITE_FONT_METRICS *metrics, const DWRITE_FONT_METRICS1 *expected)
{
- ok(metrics->designUnitsPerEm == expected->designUnitsPerEm, "%.2f: emsize: got %u expect %u\n",
- emsize, metrics->designUnitsPerEm, expected->designUnitsPerEm);
- ok(metrics->ascent == expected->ascent, "%.2f a: got %u expect %u\n",
- emsize, metrics->ascent, expected->ascent);
- ok(metrics->descent == expected->descent, "%.2f d: got %u expect %u\n",
- emsize, metrics->descent, expected->descent);
- ok(metrics->lineGap == expected->lineGap, "%.2f lg: got %d expect %d\n",
- emsize, metrics->lineGap, expected->lineGap);
- ok(metrics->capHeight == expected->capHeight, "%.2f capH: got %u expect %u\n",
- emsize, metrics->capHeight, expected->capHeight);
- ok(metrics->xHeight == expected->xHeight, "%.2f xH: got %u expect %u\n",
- emsize, metrics->xHeight, expected->xHeight);
- ok(metrics->underlinePosition == expected->underlinePosition, "%.2f ulP: got %d expect %d\n",
- emsize, metrics->underlinePosition, expected->underlinePosition);
- ok(metrics->underlineThickness == expected->underlineThickness, "%.2f ulTh: got %u expect %u\n",
- emsize, metrics->underlineThickness, expected->underlineThickness);
- ok(metrics->strikethroughPosition == expected->strikethroughPosition, "%.2f stP: got %d expect %d\n",
- emsize, metrics->strikethroughPosition, expected->strikethroughPosition);
- ok(metrics->strikethroughThickness == expected->strikethroughThickness, "%.2f stTh: got %u expect %u\n",
- emsize, metrics->strikethroughThickness, expected->strikethroughThickness);
+ winetest_push_context("Size %.2f", emsize);
+
+ ok(metrics->designUnitsPerEm == expected->designUnitsPerEm, "got %u expect %u.\n",
+ metrics->designUnitsPerEm, expected->designUnitsPerEm);
+ ok(metrics->ascent == expected->ascent, "a: got %u expect %u.\n", metrics->ascent, expected->ascent);
+ ok(metrics->descent == expected->descent, "d: got %u expect %u.\n", metrics->descent, expected->descent);
+ ok(metrics->lineGap == expected->lineGap, "lg: got %d expect %d.\n", metrics->lineGap, expected->lineGap);
+ ok(metrics->capHeight == expected->capHeight, "capH: got %u expect %u.\n", metrics->capHeight, expected->capHeight);
+ ok(metrics->xHeight == expected->xHeight, "xH: got %u expect %u.\n", metrics->xHeight, expected->xHeight);
+ ok(metrics->underlinePosition == expected->underlinePosition, "ulP: got %d expect %d.\n",
+ metrics->underlinePosition, expected->underlinePosition);
+ ok(metrics->underlineThickness == expected->underlineThickness, "ulTh: got %u expect %u.\n",
+ metrics->underlineThickness, expected->underlineThickness);
+ ok(metrics->strikethroughPosition == expected->strikethroughPosition, "stP: got %d expect %d.\n",
+ metrics->strikethroughPosition, expected->strikethroughPosition);
+ ok(metrics->strikethroughThickness == expected->strikethroughThickness, "stTh: got %u expect %u.\n",
+ metrics->strikethroughThickness, expected->strikethroughThickness);
+
+ winetest_pop_context();
}
static void test_metrics1_cmp(FLOAT emsize, const DWRITE_FONT_METRICS1 *metrics, const DWRITE_FONT_METRICS1 *expected)
{
- ok(metrics->designUnitsPerEm == expected->designUnitsPerEm, "%.2f: emsize: got %u expect %u\n",
- emsize, metrics->designUnitsPerEm, expected->designUnitsPerEm);
- ok(metrics->ascent == expected->ascent, "%.2f a: got %u expect %u\n",
- emsize, metrics->ascent, expected->ascent);
- ok(metrics->descent == expected->descent, "%.2f d: got %u expect %u\n",
- emsize, metrics->descent, expected->descent);
- ok(metrics->lineGap == expected->lineGap, "%.2f lg: got %d expect %d\n",
- emsize, metrics->lineGap, expected->lineGap);
- ok(metrics->capHeight == expected->capHeight, "%.2f capH: got %u expect %u\n",
- emsize, metrics->capHeight, expected->capHeight);
- ok(metrics->xHeight == expected->xHeight, "%.2f xH: got %u expect %u\n",
- emsize, metrics->xHeight, expected->xHeight);
- ok(metrics->underlinePosition == expected->underlinePosition, "%.2f ulP: got %d expect %d\n",
- emsize, metrics->underlinePosition, expected->underlinePosition);
- ok(metrics->underlineThickness == expected->underlineThickness, "%.2f ulTh: got %u expect %u\n",
- emsize, metrics->underlineThickness, expected->underlineThickness);
- ok(metrics->strikethroughPosition == expected->strikethroughPosition, "%.2f stP: got %d expect %d\n",
- emsize, metrics->strikethroughPosition, expected->strikethroughPosition);
- ok(metrics->strikethroughThickness == expected->strikethroughThickness, "%.2f stTh: got %u expect %u\n",
- emsize, metrics->strikethroughThickness, expected->strikethroughThickness);
- ok(metrics->glyphBoxLeft == expected->glyphBoxLeft, "%.2f box left: got %d expect %d\n",
- emsize, metrics->glyphBoxLeft, expected->glyphBoxLeft);
+ winetest_push_context("Size %.2f", emsize);
+
+ ok(metrics->designUnitsPerEm == expected->designUnitsPerEm, "got %u expect %u.\n",
+ metrics->designUnitsPerEm, expected->designUnitsPerEm);
+ ok(metrics->ascent == expected->ascent, "a: got %u expect %u.\n", metrics->ascent, expected->ascent);
+ ok(metrics->descent == expected->descent, "d: got %u expect %u.\n", metrics->descent, expected->descent);
+ ok(metrics->lineGap == expected->lineGap, "lg: got %d expect %d.\n", metrics->lineGap, expected->lineGap);
+ ok(metrics->capHeight == expected->capHeight, "capH: got %u expect %u.\n", metrics->capHeight, expected->capHeight);
+ ok(metrics->xHeight == expected->xHeight, "xH: got %u expect %u.\n", metrics->xHeight, expected->xHeight);
+ ok(metrics->underlinePosition == expected->underlinePosition, "ulP: got %d expect %d.\n",
+ metrics->underlinePosition, expected->underlinePosition);
+ ok(metrics->underlineThickness == expected->underlineThickness, "ulTh: got %u expect %u.\n",
+ metrics->underlineThickness, expected->underlineThickness);
+ ok(metrics->strikethroughPosition == expected->strikethroughPosition, "stP: got %d expect %d.\n",
+ metrics->strikethroughPosition, expected->strikethroughPosition);
+ ok(metrics->strikethroughThickness == expected->strikethroughThickness, "stTh: got %u expect %u.\n",
+ metrics->strikethroughThickness, expected->strikethroughThickness);
+ ok(metrics->glyphBoxLeft == expected->glyphBoxLeft, "box left: got %d expect %d.\n",
+ metrics->glyphBoxLeft, expected->glyphBoxLeft);
if (0) { /* this is not consistent */
- ok(metrics->glyphBoxTop == expected->glyphBoxTop, "%.2f box top: got %d expect %d\n",
- emsize, metrics->glyphBoxTop, expected->glyphBoxTop);
- ok(metrics->glyphBoxRight == expected->glyphBoxRight, "%.2f box right: got %d expect %d\n",
- emsize, metrics->glyphBoxRight, expected->glyphBoxRight);
-}
- ok(metrics->glyphBoxBottom == expected->glyphBoxBottom, "%.2f box bottom: got %d expect %d\n",
- emsize, metrics->glyphBoxBottom, expected->glyphBoxBottom);
- ok(metrics->subscriptPositionX == expected->subscriptPositionX, "%.2f subX: got %d expect %d\n",
- emsize, metrics->subscriptPositionX, expected->subscriptPositionX);
- ok(metrics->subscriptPositionY == expected->subscriptPositionY, "%.2f subY: got %d expect %d\n",
- emsize, metrics->subscriptPositionY, expected->subscriptPositionY);
- ok(metrics->subscriptSizeX == expected->subscriptSizeX, "%.2f subsizeX: got %d expect %d\n",
- emsize, metrics->subscriptSizeX, expected->subscriptSizeX);
- ok(metrics->subscriptPositionY == expected->subscriptPositionY, "%.2f subsizeY: got %d expect %d\n",
- emsize, metrics->subscriptSizeY, expected->subscriptSizeY);
- ok(metrics->superscriptPositionX == expected->superscriptPositionX, "%.2f supX: got %d expect %d\n",
- emsize, metrics->superscriptPositionX, expected->superscriptPositionX);
+ ok(metrics->glyphBoxTop == expected->glyphBoxTop, "box top: got %d expect %d.\n",
+ metrics->glyphBoxTop, expected->glyphBoxTop);
+ ok(metrics->glyphBoxRight == expected->glyphBoxRight, "box right: got %d expect %d.\n",
+ metrics->glyphBoxRight, expected->glyphBoxRight);
+}
+ ok(metrics->glyphBoxBottom == expected->glyphBoxBottom, "box bottom: got %d expect %d.\n",
+ metrics->glyphBoxBottom, expected->glyphBoxBottom);
+ ok(metrics->subscriptPositionX == expected->subscriptPositionX, "subX: got %d expect %d.\n",
+ metrics->subscriptPositionX, expected->subscriptPositionX);
+ ok(metrics->subscriptPositionY == expected->subscriptPositionY, "subY: got %d expect %d.\n",
+ metrics->subscriptPositionY, expected->subscriptPositionY);
+ ok(metrics->subscriptSizeX == expected->subscriptSizeX, "subsizeX: got %d expect %d.\n",
+ metrics->subscriptSizeX, expected->subscriptSizeX);
+ ok(metrics->subscriptPositionY == expected->subscriptPositionY, "subsizeY: got %d expect %d.\n",
+ metrics->subscriptSizeY, expected->subscriptSizeY);
+ ok(metrics->superscriptPositionX == expected->superscriptPositionX, "supX: got %d expect %d.\n",
+ metrics->superscriptPositionX, expected->superscriptPositionX);
if (0)
- ok(metrics->superscriptPositionY == expected->superscriptPositionY, "%.2f supY: got %d expect %d\n",
- emsize, metrics->superscriptPositionY, expected->superscriptPositionY);
- ok(metrics->superscriptSizeX == expected->superscriptSizeX, "%.2f supsizeX: got %d expect %d\n",
- emsize, metrics->superscriptSizeX, expected->superscriptSizeX);
- ok(metrics->superscriptSizeY == expected->superscriptSizeY, "%.2f supsizeY: got %d expect %d\n",
- emsize, metrics->superscriptSizeY, expected->superscriptSizeY);
- ok(metrics->hasTypographicMetrics == expected->hasTypographicMetrics, "%.2f hastypo: got %d expect %d\n",
- emsize, metrics->hasTypographicMetrics, expected->hasTypographicMetrics);
+ ok(metrics->superscriptPositionY == expected->superscriptPositionY, "supY: got %d expect %d.\n",
+ metrics->superscriptPositionY, expected->superscriptPositionY);
+ ok(metrics->superscriptSizeX == expected->superscriptSizeX, "supsizeX: got %d expect %d.\n",
+ metrics->superscriptSizeX, expected->superscriptSizeX);
+ ok(metrics->superscriptSizeY == expected->superscriptSizeY, "supsizeY: got %d expect %d.\n",
+ metrics->superscriptSizeY, expected->superscriptSizeY);
+ ok(metrics->hasTypographicMetrics == expected->hasTypographicMetrics, "hastypo: got %d expect %d.\n",
+ metrics->hasTypographicMetrics, expected->hasTypographicMetrics);
+
+ winetest_pop_context();
}
struct compatmetrics_test {
@@ -6557,27 +6562,31 @@ static void test_GetPanose(void)
IDWriteFont1_GetPanose(font1, &panose);
get_expected_panose(font1, &expected_panose);
- ok(panose.values[0] == expected_panose.values[0], "%s: values[0] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ winetest_push_context("Font %s", wine_dbgstr_w(nameW));
+
+ ok(panose.values[0] == expected_panose.values[0], "values[0] %#x, expected %#x.\n",
panose.values[0], expected_panose.values[0]);
- ok(panose.values[1] == expected_panose.values[1], "%s: values[1] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[1] == expected_panose.values[1], "values[1] %#x, expected %#x.\n",
panose.values[1], expected_panose.values[1]);
- ok(panose.values[2] == expected_panose.values[2], "%s: values[2] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[2] == expected_panose.values[2], "values[2] %#x, expected %#x.\n",
panose.values[2], expected_panose.values[2]);
- ok(panose.values[3] == expected_panose.values[3], "%s: values[3] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[3] == expected_panose.values[3], "values[3] %#x, expected %#x.\n",
panose.values[3], expected_panose.values[3]);
- ok(panose.values[4] == expected_panose.values[4], "%s: values[4] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[4] == expected_panose.values[4], "values[4] %#x, expected %#x.\n",
panose.values[4], expected_panose.values[4]);
- ok(panose.values[5] == expected_panose.values[5], "%s: values[5] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[5] == expected_panose.values[5], "values[5] %#x, expected %#x.\n",
panose.values[5], expected_panose.values[5]);
- ok(panose.values[6] == expected_panose.values[6], "%s: values[6] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[6] == expected_panose.values[6], "values[6] %#x, expected %#x.\n",
panose.values[6], expected_panose.values[6]);
- ok(panose.values[7] == expected_panose.values[7], "%s: values[7] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[7] == expected_panose.values[7], "values[7] %#x, expected %#x.\n",
panose.values[7], expected_panose.values[7]);
- ok(panose.values[8] == expected_panose.values[8], "%s: values[8] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[8] == expected_panose.values[8], "values[8] %#x, expected %#x.\n",
panose.values[8], expected_panose.values[8]);
- ok(panose.values[9] == expected_panose.values[9], "%s: values[9] %#x, expected %#x.\n", wine_dbgstr_w(nameW),
+ ok(panose.values[9] == expected_panose.values[9], "values[9] %#x, expected %#x.\n",
panose.values[9], expected_panose.values[9]);
+ winetest_pop_context();
+
hr = IDWriteFont1_CreateFontFace(font1, &fontface);
ok(hr == S_OK, "Failed to create a font face, %#x.\n", hr);
if (IDWriteFontFace_QueryInterface(fontface, &IID_IDWriteFontFace3, (void **)&fontface3) == S_OK) {
@@ -6876,20 +6885,26 @@ static void test_GetRecommendedRenderingMode(void)
/* detect old dwrite version, that is using higher threshold value */
g_is_vista = fontface1 == NULL;
- for (emsize = 1.0; emsize < 500.0; emsize += 1.0) {
+ for (emsize = 1.0; emsize < 500.0; emsize += 1.0)
+ {
DWRITE_RENDERING_MODE expected;
+ unsigned int i;
FLOAT ppdip;
WORD gasp;
- int i;
- for (i = 0; i < ARRAY_SIZE(recmode_tests); i++) {
+ winetest_push_context("Size %.2f", emsize);
+
+ for (i = 0; i < ARRAY_SIZE(recmode_tests); ++i)
+ {
+ winetest_push_context("%u", i);
+
ppdip = 1.0f;
mode = 10;
gasp = get_gasp_flags(fontface, emsize, ppdip);
expected = get_expected_rendering_mode(emsize * ppdip, gasp, recmode_tests[i].measuring, recmode_tests[i].threshold);
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, emsize, ppdip, recmode_tests[i].measuring, params, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, ppdip %f, flags 0x%04x, expected %d\n", emsize, i, mode, ppdip, gasp, expected);
+ ok(mode == expected, "got %d, ppdip %f, flags 0x%04x, expected %d.\n", mode, ppdip, gasp, expected);
/* some ppdip variants */
ppdip = 0.5f;
@@ -6898,18 +6913,19 @@ static void test_GetRecommendedRenderingMode(void)
expected = get_expected_rendering_mode(emsize * ppdip, gasp, recmode_tests[i].measuring, recmode_tests[i].threshold);
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, emsize, ppdip, recmode_tests[i].measuring, params, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, ppdip %f, flags 0x%04x, expected %d\n", emsize, i, mode, ppdip, gasp, expected);
+ ok(mode == expected, "got %d, ppdip %f, flags 0x%04x, expected %d.\n", mode, ppdip, gasp, expected);
/* Only test larger sizes to workaround Win7 differences, where unscaled natural emsize threshold is used;
Win8 and Win10 handle this as expected. */
- if (emsize > 20.0f) {
+ if (emsize > 20.0f)
+ {
ppdip = 1.5f;
mode = 10;
gasp = get_gasp_flags(fontface, emsize, ppdip);
expected = get_expected_rendering_mode(emsize * ppdip, gasp, recmode_tests[i].measuring, recmode_tests[i].threshold);
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, emsize, ppdip, recmode_tests[i].measuring, params, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, ppdip %f, flags 0x%04x, expected %d\n", emsize, i, mode, ppdip, gasp, expected);
+ ok(mode == expected, "got %d, ppdip %f, flags 0x%04x, expected %d.\n", mode, ppdip, gasp, expected);
ppdip = 2.0f;
mode = 10;
@@ -6917,15 +6933,21 @@ static void test_GetRecommendedRenderingMode(void)
expected = get_expected_rendering_mode(emsize * ppdip, gasp, recmode_tests[i].measuring, recmode_tests[i].threshold);
hr = IDWriteFontFace_GetRecommendedRenderingMode(fontface, emsize, ppdip, recmode_tests[i].measuring, params, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, ppdip %f, flags 0x%04x, expected %d\n", emsize, i, mode, ppdip, gasp, expected);
+ ok(mode == expected, "got %d, ppdip %f, flags 0x%04x, expected %d.\n", mode, ppdip, gasp, expected);
}
+
+ winetest_pop_context();
}
/* IDWriteFontFace1 offers another variant of this method */
- if (fontface1) {
- for (i = 0; i < ARRAY_SIZE(recmode_tests1); i++) {
+ if (fontface1)
+ {
+ for (i = 0; i < ARRAY_SIZE(recmode_tests1); ++i)
+ {
FLOAT dpi;
+ winetest_push_context("%u", i);
+
ppdip = 1.0f;
dpi = 96.0f * ppdip;
mode = 10;
@@ -6934,11 +6956,12 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi, dpi,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
/* Only test larger sizes to workaround Win7 differences, where unscaled natural emsize threshold is used;
Win8 and Win10 handle this as expected. */
- if (emsize > 20.0f) {
+ if (emsize > 20.0f)
+ {
ppdip = 2.0f;
dpi = 96.0f * ppdip;
mode = 10;
@@ -6947,7 +6970,7 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi, dpi,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
ppdip = 0.5f;
dpi = 96.0f * ppdip;
@@ -6957,7 +6980,7 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi, dpi,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
/* try different dpis for X and Y direction */
ppdip = 1.0f;
@@ -6968,7 +6991,7 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi * 0.5f, dpi,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
ppdip = 1.0f;
dpi = 96.0f * ppdip;
@@ -6978,7 +7001,7 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi, dpi * 0.5f,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
ppdip = 2.0f;
dpi = 96.0f * ppdip;
@@ -6988,7 +7011,7 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi * 0.5f, dpi,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
ppdip = 2.0f;
dpi = 96.0f * ppdip;
@@ -6998,8 +7021,10 @@ static void test_GetRecommendedRenderingMode(void)
hr = IDWriteFontFace1_GetRecommendedRenderingMode(fontface1, emsize, dpi, dpi * 0.5f,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, &mode);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f/%d: got %d, dpi %f, flags 0x%04x, expected %d\n", emsize, i, mode, dpi, gasp, expected);
+ ok(mode == expected, "got %d, dpi %f, flags 0x%04x, expected %d.\n", mode, dpi, gasp, expected);
}
+
+ winetest_pop_context();
}
}
@@ -7008,16 +7033,20 @@ static void test_GetRecommendedRenderingMode(void)
DWRITE_GRID_FIT_MODE gridfit, expected_gridfit;
gasp = get_gasp_flags(fontface, emsize, 1.0f);
- for (i = 0; i < ARRAY_SIZE(recmode_tests1); i++) {
+ for (i = 0; i < ARRAY_SIZE(recmode_tests1); ++i)
+ {
+ winetest_push_context("%u", i);
+
mode = 10;
expected = get_expected_rendering_mode(emsize, gasp, recmode_tests1[i].measuring, recmode_tests1[i].threshold);
expected_gridfit = get_expected_gridfit_mode(emsize, gasp, recmode_tests1[i].measuring, recmode_tests1[i].threshold);
hr = IDWriteFontFace2_GetRecommendedRenderingMode(fontface2, emsize, 96.0f, 96.0f,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, params, &mode, &gridfit);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode == expected, "%.2f: got %d, flags 0x%04x, expected %d\n", emsize, mode, gasp, expected);
- ok(gridfit == expected_gridfit, "%.2f/%d: gridfit: got %d, flags 0x%04x, expected %d\n", emsize, i, gridfit,
- gasp, expected_gridfit);
+ ok(mode == expected, "got %d, flags 0x%04x, expected %d.\n", mode, gasp, expected);
+ ok(gridfit == expected_gridfit, "gridfit: got %d, flags 0x%04x, expected %d.\n", gridfit, gasp, expected_gridfit);
+
+ winetest_pop_context();
}
}
@@ -7027,18 +7056,24 @@ static void test_GetRecommendedRenderingMode(void)
DWRITE_RENDERING_MODE1 mode1, expected1;
gasp = get_gasp_flags(fontface, emsize, 1.0f);
- for (i = 0; i < ARRAY_SIZE(recmode_tests1); i++) {
+ for (i = 0; i < ARRAY_SIZE(recmode_tests1); ++i)
+ {
+ winetest_push_context("%u", i);
+
mode1 = 10;
expected1 = get_expected_rendering_mode(emsize, gasp, recmode_tests1[i].measuring, recmode_tests1[i].threshold);
expected_gridfit = get_expected_gridfit_mode(emsize, gasp, recmode_tests1[i].measuring, recmode_tests1[i].threshold);
hr = IDWriteFontFace3_GetRecommendedRenderingMode(fontface3, emsize, 96.0f, 96.0f,
NULL, FALSE, recmode_tests1[i].threshold, recmode_tests1[i].measuring, params, &mode1, &gridfit);
ok(hr == S_OK, "got 0x%08x\n", hr);
- ok(mode1 == expected1, "%.2f: got %d, flags 0x%04x, expected %d\n", emsize, mode1, gasp, expected1);
- ok(gridfit == expected_gridfit, "%.2f/%d: gridfit: got %d, flags 0x%04x, expected %d\n", emsize, i, gridfit,
- gasp, expected_gridfit);
+ ok(mode1 == expected1, "got %d, flags 0x%04x, expected %d.\n", mode1, gasp, expected1);
+ ok(gridfit == expected_gridfit, "gridfit: got %d, flags 0x%04x, expected %d.\n", gridfit, gasp, expected_gridfit);
+
+ winetest_pop_context();
}
}
+
+ winetest_pop_context();
}
IDWriteRenderingParams_Release(params);
@@ -8161,19 +8196,23 @@ static void test_GetFontSignature(void)
get_expected_fontsig(font, &expected_signature);
- ok(fontsig.fsUsb[0] == expected_signature.fsUsb[0], "%s: fsUsb[0] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsUsb[0], expected_signature.fsUsb[0]);
- ok(fontsig.fsUsb[1] == expected_signature.fsUsb[1], "%s: fsUsb[1] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsUsb[1], expected_signature.fsUsb[1]);
- ok(fontsig.fsUsb[2] == expected_signature.fsUsb[2], "%s: fsUsb[2] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsUsb[2], expected_signature.fsUsb[2]);
- ok(fontsig.fsUsb[3] == expected_signature.fsUsb[3], "%s: fsUsb[3] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsUsb[3], expected_signature.fsUsb[3]);
+ winetest_push_context("Font %s\n", wine_dbgstr_w(nameW));
- ok(fontsig.fsCsb[0] == expected_signature.fsCsb[0], "%s: fsCsb[0] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsCsb[0], expected_signature.fsCsb[0]);
- ok(fontsig.fsCsb[1] == expected_signature.fsCsb[1], "%s: fsCsb[1] %#x, expected %#x\n", wine_dbgstr_w(nameW),
- fontsig.fsCsb[1], expected_signature.fsCsb[1]);
+ ok(fontsig.fsUsb[0] == expected_signature.fsUsb[0], "fsUsb[0] %#x, expected %#x.\n",
+ fontsig.fsUsb[0], expected_signature.fsUsb[0]);
+ ok(fontsig.fsUsb[1] == expected_signature.fsUsb[1], "fsUsb[1] %#x, expected %#x.\n",
+ fontsig.fsUsb[1], expected_signature.fsUsb[1]);
+ ok(fontsig.fsUsb[2] == expected_signature.fsUsb[2], "fsUsb[2] %#x, expected %#x.\n",
+ fontsig.fsUsb[2], expected_signature.fsUsb[2]);
+ ok(fontsig.fsUsb[3] == expected_signature.fsUsb[3], "fsUsb[3] %#x, expected %#x.\n",
+ fontsig.fsUsb[3], expected_signature.fsUsb[3]);
+
+ ok(fontsig.fsCsb[0] == expected_signature.fsCsb[0], "fsCsb[0] %#x, expected %#x.\n",
+ fontsig.fsCsb[0], expected_signature.fsCsb[0]);
+ ok(fontsig.fsCsb[1] == expected_signature.fsCsb[1], "fsCsb[1] %#x, expected %#x.\n",
+ fontsig.fsCsb[1], expected_signature.fsCsb[1]);
+
+ winetest_pop_context();
IDWriteFont_Release(font);
IDWriteFontFamily_Release(family);
@@ -9340,30 +9379,34 @@ static void test_CreateCustomRenderingParams(void)
for (i = 0; i < ARRAY_SIZE(params_tests); i++) {
IDWriteRenderingParams *params;
+ winetest_push_context("%u", i);
+
params = (void *)0xdeadbeef;
hr = IDWriteFactory_CreateCustomRenderingParams(factory, params_tests[i].gamma, params_tests[i].contrast,
params_tests[i].cleartype_level, params_tests[i].geometry, params_tests[i].rendering_mode, ¶ms);
- ok(hr == params_tests[i].hr, "%u: unexpected hr %#x, expected %#x.\n", i, hr, params_tests[i].hr);
+ ok(hr == params_tests[i].hr, "unexpected hr %#x, expected %#x.\n", hr, params_tests[i].hr);
if (hr == S_OK) {
- ok(params_tests[i].gamma == IDWriteRenderingParams_GetGamma(params), "%u: unexpected gamma %f, expected %f.\n",
- i, IDWriteRenderingParams_GetGamma(params), params_tests[i].gamma);
+ ok(params_tests[i].gamma == IDWriteRenderingParams_GetGamma(params), "unexpected gamma %f, expected %f.\n",
+ IDWriteRenderingParams_GetGamma(params), params_tests[i].gamma);
ok(params_tests[i].contrast == IDWriteRenderingParams_GetEnhancedContrast(params),
- "%u: unexpected contrast %f, expected %f.\n",
- i, IDWriteRenderingParams_GetEnhancedContrast(params), params_tests[i].contrast);
+ "unexpected contrast %f, expected %f.\n",
+ IDWriteRenderingParams_GetEnhancedContrast(params), params_tests[i].contrast);
ok(params_tests[i].cleartype_level == IDWriteRenderingParams_GetClearTypeLevel(params),
- "%u: unexpected ClearType level %f, expected %f.\n",
- i, IDWriteRenderingParams_GetClearTypeLevel(params), params_tests[i].cleartype_level);
+ "unexpected ClearType level %f, expected %f.\n",
+ IDWriteRenderingParams_GetClearTypeLevel(params), params_tests[i].cleartype_level);
ok(params_tests[i].geometry == IDWriteRenderingParams_GetPixelGeometry(params),
- "%u: unexpected pixel geometry %u, expected %u.\n", i, IDWriteRenderingParams_GetPixelGeometry(params),
+ "unexpected pixel geometry %u, expected %u.\n", IDWriteRenderingParams_GetPixelGeometry(params),
params_tests[i].geometry);
ok(params_tests[i].rendering_mode == IDWriteRenderingParams_GetRenderingMode(params),
- "%u: unexpected rendering mode %u, expected %u.\n", i, IDWriteRenderingParams_GetRenderingMode(params),
+ "unexpected rendering mode %u, expected %u.\n", IDWriteRenderingParams_GetRenderingMode(params),
params_tests[i].rendering_mode);
IDWriteRenderingParams_Release(params);
}
else
ok(params == NULL, "%u: expected NULL interface pointer on failure.\n", i);
+
+ winetest_pop_context();
}
ref = IDWriteFactory_Release(factory);
--
2.32.0