[MPlayer-cvslog] r25379 - in trunk: DOCS/man/en/mplayer.1 cfg-common.h libass/ass_fontconfig.c libass/ass_mp.c libvo/font_load_ft.c mencoder.c mplayer.c
ulion
subversion at mplayerhq.hu
Wed Dec 12 11:00:35 CET 2007
Author: ulion
Date: Wed Dec 12 11:00:34 2007
New Revision: 25379
Log:
Fix libass to support -nofontconfig.
For history reason, fontconfig is auto-enabled when ass is enabled,
we keep this behavior and document it clearly.
Modified:
trunk/cfg-common.h
trunk/libass/ass_fontconfig.c
trunk/libass/ass_mp.c
trunk/libvo/font_load_ft.c
trunk/mencoder.c
trunk/mplayer.c
Changes in other areas also in this revision:
Modified:
trunk/DOCS/man/en/mplayer.1
Modified: trunk/cfg-common.h
==============================================================================
--- trunk/cfg-common.h (original)
+++ trunk/cfg-common.h Wed Dec 12 11:00:34 2007
@@ -329,8 +329,8 @@
{"ass-hinting", &ass_hinting, CONF_TYPE_INT, CONF_RANGE, 0, 7, NULL},
#endif
#ifdef HAVE_FONTCONFIG
- {"fontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 0, 1, NULL},
- {"nofontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 1, 0, NULL},
+ {"fontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, -1, 1, NULL},
+ {"nofontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 1, -1, NULL},
#else
{"fontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
{"nofontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
Modified: trunk/libass/ass_fontconfig.c
==============================================================================
--- trunk/libass/ass_fontconfig.c (original)
+++ trunk/libass/ass_fontconfig.c Wed Dec 12 11:00:34 2007
@@ -40,6 +40,8 @@
#include <fontconfig/fcfreetype.h>
#endif
+extern int font_fontconfig;
+
struct fc_instance_s {
#ifdef HAVE_FONTCONFIG
FcConfig* config;
@@ -153,6 +155,10 @@ char* fontconfig_select(fc_instance_t* p
uint32_t code)
{
char* res = 0;
+ if (font_fontconfig < 0) {
+ *index = priv->index_default;
+ return priv->path_default;
+ }
if (family && *family)
res = _select_font(priv, family, bold, italic, index, code);
if (!res && priv->family_default) {
@@ -320,6 +326,14 @@ fc_instance_t* fontconfig_init(ass_libra
const char* dir = library->fonts_dir;
int i;
+ if (font_fontconfig < 0) {
+ mp_msg(MSGT_ASS, MSGL_WARN,
+ MSGTR_LIBASS_FontconfigDisabledDefaultFontWillBeUsed);
+ priv->path_default = strdup(path);
+ priv->index_default = 0;
+ return priv;
+ }
+
rc = FcInit();
assert(rc);
Modified: trunk/libass/ass_mp.c
==============================================================================
--- trunk/libass/ass_mp.c (original)
+++ trunk/libass/ass_mp.c Wed Dec 12 11:00:34 2007
@@ -56,7 +56,7 @@ int ass_hinting = ASS_HINTING_NATIVE + 4
#ifdef HAVE_FONTCONFIG
extern int font_fontconfig;
#else
-static int font_fontconfig = 0;
+static int font_fontconfig = -1;
#endif
extern char* font_name;
extern float text_font_scale_factor;
@@ -90,7 +90,7 @@ ass_track_t* ass_default_track(ass_libra
sid = ass_alloc_style(track);
style = track->styles + sid;
style->Name = strdup("Default");
- style->FontName = (font_fontconfig && font_name) ? strdup(font_name) : strdup("Sans");
+ style->FontName = (font_fontconfig >= 0 && font_name) ? strdup(font_name) : strdup("Sans");
fs = track->PlayResY * text_font_scale_factor / 100.;
// approximate autoscale coefficients
@@ -234,9 +234,9 @@ void ass_configure(ass_renderer_t* priv,
void ass_configure_fonts(ass_renderer_t* priv) {
char *dir, *path, *family;
dir = get_path("fonts");
- if (!font_fontconfig && font_name) path = strdup(font_name);
+ if (font_fontconfig < 0 && font_name) path = strdup(font_name);
else path = get_path("subfont.ttf");
- if (font_fontconfig && font_name) family = strdup(font_name);
+ if (font_fontconfig >= 0 && font_name) family = strdup(font_name);
else family = 0;
ass_set_fonts(priv, path, family);
Modified: trunk/libvo/font_load_ft.c
==============================================================================
--- trunk/libvo/font_load_ft.c (original)
+++ trunk/libvo/font_load_ft.c Wed Dec 12 11:00:34 2007
@@ -1139,7 +1139,7 @@ void load_font_ft(int width, int height,
if (vo_font) free_font_desc(vo_font);
#ifdef HAVE_FONTCONFIG
- if (font_fontconfig)
+ if (font_fontconfig > 0)
{
if (!font_name)
font_name = strdup("sans-serif");
Modified: trunk/mencoder.c
==============================================================================
--- trunk/mencoder.c (original)
+++ trunk/mencoder.c Wed Dec 12 11:00:34 2007
@@ -533,7 +533,7 @@ if (frameno_filename) {
init_freetype();
#endif
#ifdef HAVE_FONTCONFIG
- if(!font_fontconfig)
+ if(font_fontconfig <= 0)
{
#endif
#ifdef HAVE_BITMAP_FONT
Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c (original)
+++ trunk/mplayer.c Wed Dec 12 11:00:34 2007
@@ -2528,7 +2528,7 @@ if(!codecs_file || !parse_codec_cfg(code
init_freetype();
#endif
#ifdef HAVE_FONTCONFIG
- if(!font_fontconfig)
+ if(font_fontconfig <= 0)
{
#endif
#ifdef HAVE_BITMAP_FONT
More information about the MPlayer-cvslog
mailing list