summaryrefslogtreecommitdiffstats
path: root/libass/ass_fontconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_fontconfig.c')
-rw-r--r--libass/ass_fontconfig.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c
index 33ef976..d3dddea 100644
--- a/libass/ass_fontconfig.c
+++ b/libass/ass_fontconfig.c
@@ -179,6 +179,14 @@ static char *select_font(ASS_Library *library, FCInstance *priv,
rc = FcConfigSubstitute(priv->config, pat, FcMatchPattern);
if (!rc)
goto error;
+ /* Fontconfig defaults include a language setting, which it sets based on
+ * some environment variables or defaults to "en". Unset this as we don't
+ * know the real language, and because some some attached fonts lack
+ * non-ascii characters included in fontconfig's list of characters
+ * required for English support and therefore don't match the lang=en
+ * criterion.
+ */
+ FcPatternDel(pat, "lang");
fsorted = FcFontSort(priv->config, pat, FcTrue, NULL, &result);
ffullname = match_fullname(library, priv, family, bold, italic);