diff options
| author | Carl Hetherington <cth@carlh.net> | 2023-03-04 21:57:22 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2023-03-04 21:57:22 +0100 |
| commit | 42ff0632f46a8b1918f16035baa67972eb221282 (patch) | |
| tree | 004228aecc35fd676d16f68b1d0e2283ef635813 | |
| parent | 5be50d30b8c5360e0b197b708133165095feefc4 (diff) | |
Support single quotes in font color tags.v1.6.44
| -rw-r--r-- | src/subrip_reader.cc | 2 | ||||
| -rw-r--r-- | test/subrip_reader_test.cc | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/subrip_reader.cc b/src/subrip_reader.cc index 268582d..c0ef21c 100644 --- a/src/subrip_reader.cc +++ b/src/subrip_reader.cc @@ -261,7 +261,7 @@ SubripReader::convert_line (string t, RawSubtitle& p) p.underline = false; } else if (has_next(t, i, "<font") || has_next(t, i, "<Font")) { maybe_content (p); - boost::regex re (".*color=\"?#([[:xdigit:]]+)\"?"); + boost::regex re (".*color=[\"\']?#([[:xdigit:]]+)[\"\']?"); boost::smatch match; string tag; while (i < t.size() && t[i] != '>') { diff --git a/test/subrip_reader_test.cc b/test/subrip_reader_test.cc index dc9698d..8f23abb 100644 --- a/test/subrip_reader_test.cc +++ b/test/subrip_reader_test.cc @@ -335,6 +335,17 @@ BOOST_AUTO_TEST_CASE (subrip_reader_convert_line_test) BOOST_CHECK_CLOSE (r._subs.front().colour.b, 1, 0.1); r._subs.clear (); + /* single quotes are apparently also allowed */ + rs = sub::RawSubtitle(); + r.convert_line("<font color=\'#ff00ff\'>simple color</font>", rs); + BOOST_CHECK_EQUAL(r._subs.size(), 1); + BOOST_CHECK_EQUAL(r._subs.front().text, "simple color"); + BOOST_CHECK_EQUAL(r._subs.front().bold, false); + BOOST_CHECK_CLOSE(r._subs.front().colour.r, 1, 0.1); + BOOST_CHECK(fabs(r._subs.front().colour.g) < 0.01); + BOOST_CHECK_CLOSE(r._subs.front().colour.b, 1, 0.1); + r._subs.clear(); + rs = sub::RawSubtitle(); r.convert_line ("<font color=\"#FF00FF\">simple color in capitals</font>", rs); BOOST_CHECK_EQUAL (r._subs.size(), 1); @@ -616,6 +627,7 @@ BOOST_AUTO_TEST_CASE (subrip_reader_test5) BOOST_CHECK_CLOSE (r._subs.front().colour.b, 3.0 / 255, 0.1); } + /** Test alignment */ BOOST_AUTO_TEST_CASE (subrip_reader_test6) { |
