diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-06-10 21:39:34 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-06-11 09:52:28 +0200 |
| commit | 8995370ef76ff4d3511ec57f5f60fcf6ec5b0c63 (patch) | |
| tree | 58353560803c3ab6fc0f197329fb61df4435a1da /src/lib/text_decoder.cc | |
| parent | a224ef26f48e1a9a9189c2b935abb06147b342bc (diff) | |
Fall back to default font file if a font ID is not found in the content.
This should not happen, but seems rather likely given the mess that is
building (especially with users switching between versions).
Diffstat (limited to 'src/lib/text_decoder.cc')
| -rw-r--r-- | src/lib/text_decoder.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/text_decoder.cc b/src/lib/text_decoder.cc index 75fa33605..945ffaa03 100644 --- a/src/lib/text_decoder.cc +++ b/src/lib/text_decoder.cc @@ -20,6 +20,7 @@ #include "compose.hpp" +#include "dcpomatic_log.h" #include "log.h" #include "text_content.h" #include "text_decoder.h" @@ -306,6 +307,10 @@ TextDecoder::emit_plain_start (ContentTime from, sub::Subtitle const & sub_subti ); auto font = content()->get_font(block.font.get_value_or("")); + if (!font) { + LOG_WARNING("Could not find font '%1' in content; falling back to default", block.font.get_value_or("")); + font = std::make_shared<dcpomatic::Font>(block.font.get_value_or(""), default_font_file()); + } DCPOMATIC_ASSERT(font); auto string_text = StringText( |
