X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fssa_reader.cc;h=416d317650a5f70a97341c289580d1236d6fae0e;hb=f06acc5d2b9fa65639788fb011c3ada104400083;hp=dad0f2617215c99b8ef47a0b6656adf5199011e8;hpb=42ff0632f46a8b1918f16035baa67972eb221282;p=libsub.git diff --git a/src/ssa_reader.cc b/src/ssa_reader.cc index dad0f26..416d317 100644 --- a/src/ssa_reader.cc +++ b/src/ssa_reader.cc @@ -488,8 +488,16 @@ SSAReader::read (function ()> get_line) "they seem to mean literally nothing". Go figure... */ trim_left_if (event[i], boost::is_any_of ("*")); - SUB_ASSERT (styles.find(event[i]) != styles.end()); - style = styles[event[i]]; + /* Use the specified style unless it's not defined, in which case use + * "Default" (if it exists). + */ + if (styles.find(event[i]) != styles.end()) { + style = styles[event[i]]; + } else if (styles.find("Default") != styles.end()) { + style = styles["Default"]; + } else { + continue; + } sub.font = style->font_name; sub.font_size = FontSize::from_proportional(static_cast(style->font_size) / play_res_y); sub.colour = style->primary_colour;