#ifdef DCPOMATIC_WINDOWS
putenv ("PANGOCAIRO_BACKEND=fontconfig");
- putenv (String::compose("FONTCONFIG_PATH=%1", shared_path().string()).c_str());
+ putenv (String::compose("FONTCONFIG_PATH=%1", resources_path().string()).c_str());
#endif
#ifdef DCPOMATIC_OSX
setenv ("PANGOCAIRO_BACKEND", "fontconfig", 1);
- setenv ("FONTCONFIG_PATH", shared_path().string().c_str(), 1);
+ setenv ("FONTCONFIG_PATH", resources_path().string().c_str(), 1);
#endif
Pango::init ();
- dcp::init ();
+ dcp::init (tags_path());
#if defined(DCPOMATIC_WINDOWS) || defined(DCPOMATIC_OSX)
/* Render something to fontconfig to create its cache */
case dcp::CENTRE:
case dcp::LS:
case dcp::RS:
- case dcp::LC:
- case dcp::RC:
case dcp::BSL:
case dcp::BSR:
++non_lfe;
break;
case dcp::HI:
case dcp::VI:
+ case dcp::MOTION_DATA:
+ case dcp::SYNC_SIGNAL:
+ case dcp::SIGN_LANGUAGE:
+ case dcp::CHANNEL_COUNT:
break;
}
}
emit_subtitle_image (ContentTimePeriod period, dcp::SubtitleImage sub, dcp::Size size, shared_ptr<TextDecoder> decoder)
{
/* XXX: this is rather inefficient; decoding the image just to get its size */
- FFmpegImageProxy proxy (sub.png_image());
+ FFmpegImageProxy proxy (sub.png_image(), VIDEO_RANGE_FULL);
shared_ptr<Image> image = proxy.image().image;
/* set up rect with height and width */
dcpomatic::Rect<double> rect(0, 0, image->size().width / double(size.width), image->size().height / double(size.height));
}
}
+
+boost::filesystem::path
+default_font_file ()
+{
+ boost::filesystem::path liberation_normal;
+ try {
+ liberation_normal = resources_path() / "LiberationSans-Regular.ttf";
+ if (!boost::filesystem::exists (liberation_normal)) {
+ /* Hack for unit tests */
+ liberation_normal = resources_path() / "fonts" / "LiberationSans-Regular.ttf";
+ }
+ } catch (boost::filesystem::filesystem_error& e) {
+
+ }
+
+ if (!boost::filesystem::exists(liberation_normal)) {
+ liberation_normal = "/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf";
+ }
+
+ return liberation_normal;
+}