Try doing it after Pango::init().
[dcpomatic.git] / src / lib / util.cc
index ac1c96f975f9318f5b9588b9c6b37f0f724d6f59..fe8b193d6f8778d4e149863e97f16cc9c706dbd2 100644 (file)
@@ -38,6 +38,9 @@
 #include "crypto.h"
 #include "compose.hpp"
 #include "audio_buffers.h"
+#include "string_text.h"
+#include "font.h"
+#include "render_text.h"
 #include <dcp/locale_convert.h>
 #include <dcp/util.h>
 #include <dcp/raw_convert.h>
@@ -366,6 +369,17 @@ dcpomatic_setup ()
        Pango::init ();
        dcp::init ();
 
+#ifdef DCPOMATIC_WINDOWS
+       /* Render something to fontconfig to create its cache */
+       list<StringText> subs;
+       dcp::SubtitleString ss(
+               optional<string>(), false, false, false, dcp::Colour(), 42, 1, dcp::Time(), dcp::Time(), 0, dcp::HALIGN_CENTER, 0, dcp::VALIGN_CENTER, dcp::DIRECTION_LTR,
+               "Hello dolly", dcp::NONE, dcp::Colour(), dcp::Time(), dcp::Time()
+               );
+       subs.push_back (StringText(ss, 0));
+       render_text (subs, list<shared_ptr<Font> >(), dcp::Size(640, 480), DCPTime(), 24);
+#endif
+
        Ratio::setup_ratios ();
        PresetColourConversion::setup_colour_conversion_presets ();
        VideoContentScale::setup_scales ();
@@ -839,6 +853,29 @@ utf8_strlen (string s)
        return N;
 }
 
+string
+day_of_week_to_string (boost::gregorian::greg_weekday d)
+{
+       switch (d.as_enum()) {
+       case boost::date_time::Sunday:
+               return _("Sunday");
+       case boost::date_time::Monday:
+               return _("Monday");
+       case boost::date_time::Tuesday:
+               return _("Tuesday");
+       case boost::date_time::Wednesday:
+               return _("Wednesday");
+       case boost::date_time::Thursday:
+               return _("Thursday");
+       case boost::date_time::Friday:
+               return _("Friday");
+       case boost::date_time::Saturday:
+               return _("Saturday");
+       }
+
+       return d.as_long_string ();
+}
+
 #ifdef DCPOMATIC_VARIANT_SWAROOP
 
 /* Make up a key from the machine UUID */