summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2020-04-03 17:57:43 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2024-04-13 15:28:07 -0700
commit55e9fceffc45bb4cbbeabe8fd45028f50caec906 (patch)
treeb14f06f8a386f16db0a5c18cbeabf92c3052e71f
parent95a84fd5584873885f3123f25b6424008409afc1 (diff)
Fix core AA text tests which now fail due to change in fontconfig
Xft can no longer support 'render' in font names due to a change in fontconfig. Work around this by removing that from the font names and apply it to the pattern manually whenever the 'bfont' name is not NULL. Signed-off-by: Keith Packard <keithp@keithp.com> Part-of: <https://gitlab.freedesktop.org/xorg/test/x11perf/-/merge_requests/1>
-rw-r--r--do_tests.c18
-rw-r--r--do_text.c13
2 files changed, 21 insertions, 10 deletions
diff --git a/do_tests.c b/do_tests.c
index 402f4f2..5e02247 100644
--- a/do_tests.c
+++ b/do_tests.c
@@ -1047,39 +1047,39 @@ Test test[] = {
{"-caa10text", "Char in 80-char aa core line (DejaVu Sans 10)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 10, "DejaVu Sans:antialias=true:render=false:rgba=0:pixelsize=10", NULL}},
+ {80, 10, "DejaVu Sans:antialias=true:rgba=0:pixelsize=10", "render=false"}},
{"-caa24text", "Char in 30-char aa core line (DejaVu Sans 24)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {30, 24, "DejaVu Sans:antialias=true:render=false:rgba=0:pixelsize=24", NULL}},
+ {30, 24, "DejaVu Sans:antialias=true:rgba=0:pixelsize=24", "render=false"}},
{"-caaftext", "Char in 80-char aa core line (Courier 12)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 12, "Courier:antialias=true:render=false:rgba=0:pixelsize=12", NULL}},
+ {80, 12, "Courier:antialias=true:rgba=0:pixelsize=12", "render=false"}},
{"-ca10text", "Char in 80-char a core line (DejaVu Sans 10)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 10, "DejaVu Sans:antialias=false:render=false:rgba=0:pixelsize=10", NULL}},
+ {80, 10, "DejaVu Sans:antialias=false:rgba=0:pixelsize=10", "render=false"}},
{"-ca24text", "Char in 30-char a core line (DejaVu Sans 24)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {30, 24, "DejaVu Sans:antialias=false:render=false:rgba=0:pixelsize=24", NULL}},
+ {30, 24, "DejaVu Sans:antialias=false:rgba=0:pixelsize=24", "render=false"}},
{"-caftext", "Char in 80-char a core line (Courier 12)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 12, "Courier:antialias=false:render=false:rgba=0:pixelsize=12", NULL}},
+ {80, 12, "Courier:antialias=false:rgba=0:pixelsize=12", "render=false"}},
{"-crgb10text", "Char in 80-char rgb core line (DejaVu Sans 10)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 10, "DejaVu Sans:antialias=true:render=false:rgba=rgb:pixelsize=10", NULL}},
+ {80, 10, "DejaVu Sans:antialias=true:rgba=rgb:pixelsize=10", "render=false"}},
{"-crgb24text", "Char in 30-char rgb core line (DejaVu Sans 24)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {30, 24, "DejaVu Sans:antialias=true:render=false:rgba=rgb:pixelsize=24", NULL}},
+ {30, 24, "DejaVu Sans:antialias=true:rgba=rgb:pixelsize=24", "render=false"}},
{"-crgbftext", "Char in 80-char rgb core line (Courier 12)", NULL,
InitAAText, DoAAText, ClearTextWin, EndAAText,
V1_5FEATURE, NONROP, 0,
- {80, 12, "Courier:antialias=true:render=false:rgba=rgb:pixelsize=12", NULL}},
+ {80, 12, "Courier:antialias=true:rgba=rgb:pixelsize=12", "render=false"}},
#endif
{"-scroll10", "Scroll 10x10 pixels", NULL,
InitScroll, DoScroll, MidScroll, EndScroll,
diff --git a/do_text.c b/do_text.c
index 355ba8d..6ac9d02 100644
--- a/do_text.c
+++ b/do_text.c
@@ -411,8 +411,19 @@ InitAAText(XParms xp, Parms p, int64_t reps)
XRenderColor color;
FcValue value;
int v_len;
+ FcPattern *pat;
+ FcPattern *match;
+ FcResult result;
+
+ pat = FcNameParse((FcChar8 *) p->font);
+ match = XftFontMatch(xp->d, DefaultScreen(xp->d), pat, &result);
+ FcPatternDestroy(pat);
+ if (p->bfont) {
+ FcPatternDel(match, XFT_RENDER);
+ FcPatternAddBool(match, XFT_RENDER, False);
+ }
- aafont = XftFontOpenName (xp->d, DefaultScreen (xp->d), p->font);
+ aafont = XftFontOpenPattern (xp->d, match);
if (aafont == NULL)
{