summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-06-10 21:39:34 +0200
committerCarl Hetherington <cth@carlh.net>2024-06-11 09:52:28 +0200
commit8995370ef76ff4d3511ec57f5f60fcf6ec5b0c63 (patch)
tree58353560803c3ab6fc0f197329fb61df4435a1da
parenta224ef26f48e1a9a9189c2b935abb06147b342bc (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.cc5
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(