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;
|
||||
FcValueList *l;
|
||||
FcPattern *m;
|
||||
FcStrSet *strs;
|
||||
|
||||
if (!config)
|
||||
{
|
||||
|
@ -1434,6 +1435,23 @@ FcConfigSubstituteWithPat (FcConfig *config,
|
|||
return FcFalse;
|
||||
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)
|
||||
{
|
||||
printf ("FcConfigSubstitute ");
|
||||
|
|
Loading…
Reference in New Issue