diff options
author | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-05-11 20:17:21 +0000 |
---|---|---|
committer | eugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2008-05-11 20:17:21 +0000 |
commit | b1d01cd02045c16c5eb9c04ca4508f38f8286120 (patch) | |
tree | 82d8737a0900a2078dbb189ce9e7262b1efee332 /libass/ass_fontconfig.c | |
parent | 0f11b6e891ccae5cd887c93a0d041b33a310b9ed (diff) | |
download | libass-b1d01cd02045c16c5eb9c04ca4508f38f8286120.tar.bz2 libass-b1d01cd02045c16c5eb9c04ca4508f38f8286120.tar.xz |
When building font pattern, treat both ' ' and '-' as word separators.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26742 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libass/ass_fontconfig.c')
-rw-r--r-- | libass/ass_fontconfig.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c index 58dc10be..ed64d811 100644 --- a/libass/ass_fontconfig.c +++ b/libass/ass_fontconfig.c @@ -105,13 +105,15 @@ static char* _select_font(fc_instance_t* priv, const char* family, unsigned bold // An alternative approach could be to reimplement FcFontSort // using FC_FULLNAME instead of FC_FAMILY. family_cnt = 1; - if (strchr(family, ' ')) { - char *p, *s = strdup(family); - while (p = strrchr(s, ' ')) { - *p = '\0'; - FcPatternAddString(pat, FC_FAMILY, (const FcChar8*)s); - ++ family_cnt; - } + { + char* s = strdup(family); + char* p = s + strlen(s); + while (--p > s) + if (*p == ' ' || *p == '-') { + *p = '\0'; + FcPatternAddString(pat, FC_FAMILY, (const FcChar8*)s); + ++ family_cnt; + } free(s); } FcPatternAddBool(pat, FC_OUTLINE, FcTrue); |