Commit 049a5774 authored by Laurent Aimar's avatar Laurent Aimar Committed by Jean-Baptiste Kempf

libass: set windows/fonts as default directory

Initial patch by Hannes Domani with the comments:
"Hello

 this fixes the problem when font is not attached in mkv.

 was mentioned in:
 http://forum.videolan.org/viewtopic.php?f=14&t=51096&p=166340
 http://forum.videolan.org/viewtopic.php?f=7&t=50534&p=163900
"
(cherry picked from commit afec80a7)
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent ee050aed
......@@ -43,6 +43,10 @@
#include <ass/ass.h>
#if defined(WIN32)
# include <vlc_charset.h>
#endif
/*****************************************************************************
* Module descriptor
*****************************************************************************/
......@@ -696,7 +700,31 @@ static ass_handle_t *AssHandleYield( decoder_t *p_dec )
}
free( pp_attachments );
char *psz_font_dir = config_GetCacheDir();
char *psz_font_dir = NULL;
#if defined(WIN32)
const UINT uPath = GetSystemWindowsDirectory( NULL, 0 );
if( uPath > 0 )
{
wchar_t *psw_path = calloc( uPath + 1, sizeof(wchar_t) );
if( psw_path )
{
if( GetSystemWindowsDirectoryW( psw_path, uPath + 1 ) > 0 )
{
char *psz_tmp = FromWide( psw_path );
if( psz_tmp &&
asprintf( &psz_font_dir, "%s\\Fonts", psz_tmp ) < 0 )
psz_font_dir = NULL;
free( psz_tmp );
}
free( psw_path );
}
}
#endif
if( !psz_font_dir )
psz_font_dir = config_GetCacheDir();
if( !psz_font_dir )
goto error;
ass_set_fonts_dir( p_library, psz_font_dir );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment