summaryrefslogtreecommitdiffstats
path: root/libass
diff options
context:
space:
mode:
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-05-11 20:17:21 +0000
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-05-11 20:17:21 +0000
commit8a5ba8d99c552da36a74a91082f095378c9f5602 (patch)
tree820665259c7bafe55a529fe9e283f419fb28d510 /libass
parent38836c783795a66d98ec2f010a532a6c6e81ff22 (diff)
downloadmpv-8a5ba8d99c552da36a74a91082f095378c9f5602.tar.bz2
mpv-8a5ba8d99c552da36a74a91082f095378c9f5602.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')
-rw-r--r--libass/ass_fontconfig.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/libass/ass_fontconfig.c b/libass/ass_fontconfig.c
index 58dc10be6e..ed64d81171 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);