From 9726a58f44d52d235b027225ddd68c6acf83c733 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 6 Jul 2022 12:25:15 +0200 Subject: Handle vertical alignment of subs correctly wrt the difference between Interop and SMPTE. --- src/lib/text_decoder.cc | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'src/lib/text_decoder.cc') diff --git a/src/lib/text_decoder.cc b/src/lib/text_decoder.cc index b1b6cbcc4..930262a74 100644 --- a/src/lib/text_decoder.cc +++ b/src/lib/text_decoder.cc @@ -102,12 +102,17 @@ set_forced_appearance(shared_ptr content, StringText& subtitl void -TextDecoder::emit_plain_start (ContentTime from, vector subtitles) +TextDecoder::emit_plain_start (ContentTime from, vector subtitles, dcp::Standard valign_standard) { vector string_texts; for (auto& subtitle: subtitles) { - auto string_text = StringText(subtitle, content()->outline_width(), subtitle.font() ? content()->get_font(*subtitle.font()) : shared_ptr()); + auto string_text = StringText( + subtitle, + content()->outline_width(), + subtitle.font() ? content()->get_font(*subtitle.font()) : shared_ptr(), + valign_standard + ); string_text.set_text(escape_text(string_text.text())); set_forced_appearance(content(), string_text); string_texts.push_back(string_text); @@ -265,7 +270,12 @@ TextDecoder::emit_plain_start (ContentTime from, sub::Subtitle const & sub_subti 0 ); - auto string_text = StringText(dcp_subtitle, content()->outline_width(), content()->get_font(block.font.get_value_or(""))); + auto string_text = StringText( + dcp_subtitle, + content()->outline_width(), + content()->get_font(block.font.get_value_or("")), + dcp::Standard::SMPTE + ); set_forced_appearance(content(), string_text); string_texts.push_back(string_text); } @@ -284,9 +294,9 @@ TextDecoder::emit_stop (ContentTime to) void -TextDecoder::emit_plain (ContentTimePeriod period, vector subtitles) +TextDecoder::emit_plain (ContentTimePeriod period, vector subtitles, dcp::Standard valign_standard) { - emit_plain_start (period.from, subtitles); + emit_plain_start (period.from, subtitles, valign_standard); emit_stop (period.to); } -- cgit v1.2.3