diff --git a/aegisub/src/setup.cpp b/aegisub/src/setup.cpp index d1e6a8035..f994d69cf 100644 --- a/aegisub/src/setup.cpp +++ b/aegisub/src/setup.cpp @@ -136,6 +136,10 @@ #pragma comment(lib,"libfontconfig.lib") #endif +#ifdef WITH_LIBASS +#pragma comment(lib, "libass.lib") +#endif + #endif // VisualC diff --git a/aegisub/src/subtitles_provider_libass.cpp b/aegisub/src/subtitles_provider_libass.cpp index 464b06dd9..135ed7b9a 100644 --- a/aegisub/src/subtitles_provider_libass.cpp +++ b/aegisub/src/subtitles_provider_libass.cpp @@ -63,7 +63,11 @@ extern "C" { /// static void msg_callback(int level, const char *fmt, va_list args, void *data) { char buf[256]; - snprintf(buf, sizeof(buf), fmt, args); +#ifdef _WIN32 + vsprintf_s(buf, sizeof(buf), fmt, args); +#else + vsnprintf(buf, sizeof(buf), fmt, args); +#endif if (level < 2) // warning/error LOG_I("subtitle/provider/libass") << buf; @@ -105,6 +109,10 @@ LibassSubtitlesProvider::LibassSubtitlesProvider(std::string) { config_dir = OSX_GetBundleResourcesDirectory(); snprintf(config_path, MAXPATHLEN, "%s/etc/fonts/fonts.conf", config_dir); free(config_dir); +#elif defined(_WIN32) + wxString config_file = StandardPaths::DecodePath(L"?user/fonts/fonts.conf"); + char config_path[MAX_PATH]; + strcpy_s(config_path, sizeof config_path, config_file.utf8_str()); #else const char *config_path = NULL; #endif diff --git a/aegisub/src/video_context.cpp b/aegisub/src/video_context.cpp index 230259bf1..91f637ff7 100644 --- a/aegisub/src/video_context.cpp +++ b/aegisub/src/video_context.cpp @@ -195,6 +195,7 @@ void VideoContext::SetVideo(const wxString &filename) { hasSubtitles = MatroskaWrapper::HasSubtitles(filename); } + provider->LoadSubtitles(grid->ass); UpdateDisplays(true); } catch (agi::UserCancelException const&) { }