# HG changeset patch # User eugeni # Date 1209771149 0 # Node ID c37a85037fc2c455e0b36f93dfc28d518d0efb30 # Parent 75154771f2f355b86d9b36e39c6efabf6ccf0050 Print more info about selected font. diff -r 75154771f2f3 -r c37a85037fc2 libass/ass_fontconfig.c --- a/libass/ass_fontconfig.c Fri May 02 23:32:28 2008 +0000 +++ b/libass/ass_fontconfig.c Fri May 02 23:32:29 2008 +0000 @@ -66,9 +66,9 @@ FcBool rc; FcResult result; FcPattern *pat = 0, *rpat; - int r_index; + int r_index, r_slant, r_weight; FcChar8 *r_family, *r_style, *r_file, *r_fullname; - FcBool r_outline; + FcBool r_outline, r_embolden; FcCharSet* r_charset; FcFontSet* fset = 0; int curf; @@ -157,6 +157,28 @@ !(r_fullname && strcasecmp((const char*)r_fullname, family) == 0)) mp_msg(MSGT_ASS, MSGL_WARN, MSGTR_LIBASS_SelectedFontFamilyIsNotTheRequestedOne, (const char*)(r_family ? r_family : r_fullname), family); + + result = FcPatternGetString(rpat, FC_STYLE, 0, &r_style); + if (result != FcResultMatch) + r_style = NULL; + + result = FcPatternGetInteger(rpat, FC_SLANT, 0, &r_slant); + if (result != FcResultMatch) + r_slant = 0; + + result = FcPatternGetInteger(rpat, FC_WEIGHT, 0, &r_weight); + if (result != FcResultMatch) + r_weight = 0; + + result = FcPatternGetBool(rpat, FC_EMBOLDEN, 0, &r_embolden); + if (result != FcResultMatch) + r_embolden = 0; + + mp_msg(MSGT_ASS, MSGL_V, "[ass] Font info: family '%s', style '%s', fullname '%s'," + " slant %d, weight %d%s\n", + (const char*)r_family, (const char*)r_style, (const char*)r_fullname, + r_slant, r_weight, r_embolden ? ", embolden" : ""); + error: if (pat) FcPatternDestroy(pat); if (fset) FcFontSetDestroy(fset);