pot/merge.
[dcpomatic.git] / src / lib / render_text.cc
index 77a8036e811e5c621869fbf64fef03d215b5371e..267e8619bce00293d700cd6b1f978ae3b2c07aaa 100644 (file)
@@ -51,11 +51,11 @@ static FcConfig* fc_config = 0;
 static list<pair<FontFiles, string> > fc_config_fonts;
 
 string
-marked_up (list<PlainText> subtitles, int target_height, float fade_factor)
+marked_up (list<StringText> subtitles, int target_height, float fade_factor)
 {
        string out;
 
-       BOOST_FOREACH (PlainText const & i, subtitles) {
+       BOOST_FOREACH (StringText const & i, subtitles) {
                out += "<span ";
                if (i.italic()) {
                        out += "style=\"italic\" ";
@@ -91,7 +91,7 @@ set_source_rgba (Cairo::RefPtr<Cairo::Context> context, dcp::Colour colour, floa
  *  at the same time and with the same fade in/out.
  */
 static PositionImage
-render_line (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size target, DCPTime time, int frame_rate)
+render_line (list<StringText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size target, DCPTime time, int frame_rate)
 {
        /* XXX: this method can only handle italic / bold changes mid-line,
           nothing else yet.
@@ -165,8 +165,8 @@ render_line (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size
 
        try {
                font_files.set (FontFiles::NORMAL, shared_path () / "LiberationSans-Regular.ttf");
-               font_files.set (FontFiles::ITALIC, shared_path () / "LiberationSans-Italic.ttf");
-               font_files.set (FontFiles::BOLD, shared_path () / "LiberationSans-Bold.ttf");
+//             font_files.set (FontFiles::ITALIC, shared_path () / "LiberationSans-Italic.ttf");
+//             font_files.set (FontFiles::BOLD, shared_path () / "LiberationSans-Bold.ttf");
        } catch (boost::filesystem::filesystem_error& e) {
 
        }
@@ -176,12 +176,12 @@ render_line (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size
        if (!font_files.get(FontFiles::NORMAL) || !boost::filesystem::exists(font_files.get(FontFiles::NORMAL).get())) {
                font_files.set (FontFiles::NORMAL, "/usr/share/fonts/truetype/liberation/LiberationSans-Regular.ttf");
        }
-       if (!font_files.get(FontFiles::ITALIC) || !boost::filesystem::exists(font_files.get(FontFiles::ITALIC).get())) {
-               font_files.set (FontFiles::ITALIC, "/usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf");
-       }
-       if (!font_files.get(FontFiles::BOLD) || !boost::filesystem::exists(font_files.get(FontFiles::BOLD).get())) {
-               font_files.set (FontFiles::BOLD, "/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf");
-       }
+       // if (!font_files.get(FontFiles::ITALIC) || !boost::filesystem::exists(font_files.get(FontFiles::ITALIC).get())) {
+       //      font_files.set (FontFiles::ITALIC, "/usr/share/fonts/truetype/liberation/LiberationSans-Italic.ttf");
+       // }
+       // if (!font_files.get(FontFiles::BOLD) || !boost::filesystem::exists(font_files.get(FontFiles::BOLD).get())) {
+       //      font_files.set (FontFiles::BOLD, "/usr/share/fonts/truetype/liberation/LiberationSans-Bold.ttf");
+       // }
 
        BOOST_FOREACH (shared_ptr<Font> i, fonts) {
                if (i->id() == subtitles.front().font() && i->file(FontFiles::NORMAL)) {
@@ -244,11 +244,6 @@ render_line (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size
        layout->set_alignment (Pango::ALIGN_LEFT);
 
        context->set_line_width (1);
-       context->set_antialias (Cairo::ANTIALIAS_GRAY);
-       Cairo::FontOptions fo;
-       context->get_font_options (fo);
-       fo.set_antialias (Cairo::ANTIALIAS_GRAY);
-       context->set_font_options (fo);
 
        /* Compute fade factor */
        float fade_factor = 1;
@@ -365,12 +360,12 @@ render_line (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size
  *  @param frame_rate DCP frame rate.
  */
 list<PositionImage>
-render_text (list<PlainText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size target, DCPTime time, int frame_rate)
+render_text (list<StringText> subtitles, list<shared_ptr<Font> > fonts, dcp::Size target, DCPTime time, int frame_rate)
 {
-       list<PlainText> pending;
+       list<StringText> pending;
        list<PositionImage> images;
 
-       BOOST_FOREACH (PlainText const & i, subtitles) {
+       BOOST_FOREACH (StringText const & i, subtitles) {
                if (!pending.empty() && fabs (i.v_position() - pending.back().v_position()) > 1e-4) {
                        images.push_back (render_line (pending, fonts, target, time, frame_rate));
                        pending.clear ();