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 | |
| 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).
| -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( |
