changeset 26616:c37a85037fc2

Print more info about selected font.
author eugeni
date Fri, 02 May 2008 23:32:29 +0000
parents 75154771f2f3
children ae0fc984184f
files libass/ass_fontconfig.c
diffstat 1 files changed, 24 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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);