Add the default language to the pattern prior to do build the substitution
the default language is referred from the FC_LANG environment variable or the current locale
This commit is contained in:
parent
2261a64ce1
commit
550fd49d4f
18
src/fccfg.c
18
src/fccfg.c
|
@ -1407,6 +1407,7 @@ FcConfigSubstituteWithPat (FcConfig *config,
|
||||||
FcEdit *e;
|
FcEdit *e;
|
||||||
FcValueList *l;
|
FcValueList *l;
|
||||||
FcPattern *m;
|
FcPattern *m;
|
||||||
|
FcStrSet *strs;
|
||||||
|
|
||||||
if (!config)
|
if (!config)
|
||||||
{
|
{
|
||||||
|
@ -1434,6 +1435,23 @@ FcConfigSubstituteWithPat (FcConfig *config,
|
||||||
return FcFalse;
|
return FcFalse;
|
||||||
FcMemAlloc (FC_MEM_SUBSTATE, config->maxObjects * sizeof (FcSubState));
|
FcMemAlloc (FC_MEM_SUBSTATE, config->maxObjects * sizeof (FcSubState));
|
||||||
|
|
||||||
|
strs = FcGetDefaultLangs ();
|
||||||
|
if (strs)
|
||||||
|
{
|
||||||
|
FcStrList *l = FcStrListCreate (strs);
|
||||||
|
FcChar8 *lang;
|
||||||
|
FcValue v;
|
||||||
|
|
||||||
|
FcStrSetDestroy (strs);
|
||||||
|
while (l && (lang = FcStrListNext (l)))
|
||||||
|
{
|
||||||
|
v.type = FcTypeString;
|
||||||
|
v.u.s = lang;
|
||||||
|
FcPatternObjectAddWithBinding (p, FC_LANG_OBJECT, v, FcValueBindingWeak, FcTrue);
|
||||||
|
}
|
||||||
|
FcStrListDone (l);
|
||||||
|
}
|
||||||
|
|
||||||
if (FcDebug () & FC_DBG_EDIT)
|
if (FcDebug () & FC_DBG_EDIT)
|
||||||
{
|
{
|
||||||
printf ("FcConfigSubstitute ");
|
printf ("FcConfigSubstitute ");
|
||||||
|
|
Loading…
Reference in New Issue