diff --git a/crunchy-cli-core/src/utils/download.rs b/crunchy-cli-core/src/utils/download.rs index daae9a5..a17875d 100644 --- a/crunchy-cli-core/src/utils/download.rs +++ b/crunchy-cli-core/src/utils/download.rs @@ -1295,7 +1295,7 @@ const FONTS: [(&str, &str); 68] = [ ("Webdings", "webdings.woff2"), ]; lazy_static::lazy_static! { - static ref FONT_REGEX: Regex = Regex::new(r"(?m)^Style:\s.+?,(?P.+?),").unwrap(); + static ref FONT_REGEX: Regex = Regex::new(r"(?m)^(?:Style:\s.+?,(?P.+?),|(?:Dialogue:\s(?:.+?,)+,\{(?:\\.*)?\\fn(?P[\w\s]+)(?:\\.*)?)\})").unwrap(); } /// Get the fonts used in the subtitle. @@ -1309,6 +1309,12 @@ fn get_subtitle_stats(path: &Path) -> Result> { fonts.push(font_string) } } + if let Some(override_font) = capture.name("overrideFont") { + let font_string = override_font.as_str().to_string(); + if !fonts.contains(&font_string) { + fonts.push(font_string) + } + } } Ok(fonts)