From: cristy Date: Sun, 21 Oct 2012 13:29:22 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~4804 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ac1eddd302f92717bf2ab351a76a3f4580d97919;p=imagemagick --- diff --git a/MagickCore/type.c b/MagickCore/type.c index d68ccf20f..65b86a932 100644 --- a/MagickCore/type.c +++ b/MagickCore/type.c @@ -622,10 +622,6 @@ MagickExport char **GetTypeList(const char *pattern,size_t *number_fonts, MagickExport MagickBooleanType LoadFontConfigFonts(SplayTreeInfo *type_list, ExceptionInfo *exception) { -#if !defined(FC_FULLNAME) -#define FC_FULLNAME "fullname" -#endif - char extension[MaxTextExtent], name[MaxTextExtent]; @@ -705,14 +701,23 @@ MagickExport MagickBooleanType LoadFontConfigFonts(SplayTreeInfo *type_list, (void) ResetMagickMemory(type_info,0,sizeof(*type_info)); type_info->path=ConstantString("System Fonts"); type_info->signature=MagickSignature; - (void) CopyMagickString(name,(const char *) family,MaxTextExtent); - (void) ConcatenateMagickString(name," ",MaxTextExtent); - status=FcPatternGetString(font_set->fonts[i],FC_STYLE,0,&style); - if (status == FcResultMatch) - (void) ConcatenateMagickString(name,(const char *) style,MaxTextExtent); + (void) CopyMagickString(name,"Unknown",MaxTextExtent); status=FcPatternGetString(font_set->fonts[i],FC_FULLNAME,0,&fullname); - if (status == FcResultMatch) + if ((status == FcResultMatch) && (fullname != (FcChar8 *) NULL)) (void) CopyMagickString(name,(const char *) fullname,MaxTextExtent); + else + { + if (family != (FcChar8 *) NULL) + (void) CopyMagickString(name,(const char *) family,MaxTextExtent); + status=FcPatternGetString(font_set->fonts[i],FC_STYLE,0,&style); + if ((status == FcResultMatch) && (style != (FcChar8 *) NULL) && + (LocaleCompare((const char *) style,"Regular") != 0)) + { + (void) ConcatenateMagickString(name," ",MaxTextExtent); + (void) ConcatenateMagickString(name,(const char *) style, + MaxTextExtent); + } + } type_info->name=ConstantString(name); (void) SubstituteString(&type_info->name," ","-"); (void) SubstituteString(&type_info->name,"-L-","-");