X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Flib%2Fstring_text_file_content.cc;h=3750b0a5026a70db90b54dfdfe67ea2465fe6a62;hp=2ce343f2edb4d700eabff7c8c8916aa52bf1a4af;hb=5a820bb8fae34591be5ac6d19a73461b9dab532a;hpb=9a7b67aee32a40539f29bc2d7017edd4a4f65f11 diff --git a/src/lib/string_text_file_content.cc b/src/lib/string_text_file_content.cc index 2ce343f2e..3750b0a50 100644 --- a/src/lib/string_text_file_content.cc +++ b/src/lib/string_text_file_content.cc @@ -61,14 +61,29 @@ void StringTextFileContent::examine (shared_ptr film, shared_ptr job) { Content::examine (film, job); - StringTextFile s (shared_from_this()); + StringTextFile file (shared_from_this()); /* Default to turning these subtitles on */ only_text()->set_use (true); + std::set names; + for (auto const& subtitle: file.subtitles()) { + for (auto const& line: subtitle.lines) { + for (auto const& block: line.blocks) { + names.insert(block.font.get_value_or("")); + } + } + } + + for (auto name: names) { + /* Make a font for each family name that somebody might later + * ask about. + */ + only_text()->add_font(make_shared(name)); + } + boost::mutex::scoped_lock lm (_mutex); - _length = s.length (); - only_text()->add_font (make_shared(TEXT_FONT_ID)); + _length = file.length(); }