aboutsummaryrefslogtreecommitdiff
path: root/fontconfig
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig')
-rw-r--r--fontconfig/conf.d/30-metric-aliases.conf16
-rw-r--r--fontconfig/src/fcmatch.c10
2 files changed, 25 insertions, 1 deletions
diff --git a/fontconfig/conf.d/30-metric-aliases.conf b/fontconfig/conf.d/30-metric-aliases.conf
index ccc3e246d..f25052a29 100644
--- a/fontconfig/conf.d/30-metric-aliases.conf
+++ b/fontconfig/conf.d/30-metric-aliases.conf
@@ -15,10 +15,12 @@
Microsoft fonts:
Arial
+ Arial Narrow
Times New Roman
Courier New
Liberation fonts:
Liberation Sans
+ Liberation Sans Narrow
Liberation Serif
Liberation Mono
StarOffice fonts:
@@ -93,6 +95,13 @@
</alias>
<alias binding="same">
+ <family>Liberation Sans Narrow</family>
+ <default>
+ <family>Arial Narrow</family>
+ </default>
+ </alias>
+
+ <alias binding="same">
<family>Albany</family>
<default>
<family>Arial</family>
@@ -252,6 +261,13 @@
</alias>
<alias binding="same">
+ <family>Arial Narrow</family>
+ <accept>
+ <family>Liberation Sans Narrow</family>
+ </accept>
+ </alias>
+
+ <alias binding="same">
<family>Times New Roman</family>
<accept>
<family>Tinos</family>
diff --git a/fontconfig/src/fcmatch.c b/fontconfig/src/fcmatch.c
index fa8800a04..23f985a6c 100644
--- a/fontconfig/src/fcmatch.c
+++ b/fontconfig/src/fcmatch.c
@@ -269,7 +269,8 @@ FcObjectToMatcher (FcObject object,
break;
}
}
- if (!_FcMatchers[object].compare ||
+ if (object > FC_MAX_BASE_OBJECT ||
+ !_FcMatchers[object].compare ||
_FcMatchers[object].strong == -1 ||
_FcMatchers[object].weak == -1)
return NULL;
@@ -910,6 +911,13 @@ FcFontSetSort (FcConfig *config FC_UNUSED,
}
patternLangSat[i] = FcTrue;
satisfies = FcTrue;
+ /* adjust score to ensure it's not more than 10000.0
+ * which would means the lang didn't satisfy the requirements
+ */
+ if (nodeps[f]->score[PRI_LANG_STRONG] > 10000.0)
+ nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
+ if (nodeps[f]->score[PRI_LANG_WEAK] > 10000.0)
+ nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
break;
}
}