Fix compilation with FontConfig <= 2.2.96.

It lacks FcPatternRemove function. The code will work fine, but produce an
incorrect "Selected font is not the requested one" warning in rare cases.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26851 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
eugeni 2008-05-22 08:58:06 +00:00
parent 08678c2c6a
commit 6ead8919a9
1 changed files with 2 additions and 0 deletions

View File

@ -150,11 +150,13 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold
if (curf >= fset->nfont) if (curf >= fset->nfont)
goto error; goto error;
#if (FC_VERSION >= 20297)
// Remove all extra family names from original pattern. // Remove all extra family names from original pattern.
// After this, FcFontRenderPrepare will select the most relevant family // After this, FcFontRenderPrepare will select the most relevant family
// name in case there are more than one of them. // name in case there are more than one of them.
for (; family_cnt > 1; --family_cnt) for (; family_cnt > 1; --family_cnt)
FcPatternRemove(pat, FC_FAMILY, family_cnt - 1); FcPatternRemove(pat, FC_FAMILY, family_cnt - 1);
#endif
rpat = FcFontRenderPrepare(priv->config, pat, fset->fonts[curf]); rpat = FcFontRenderPrepare(priv->config, pat, fset->fonts[curf]);
if (!rpat) if (!rpat)