diff options
Diffstat (limited to 'libass/ass_parse.c')
-rw-r--r-- | libass/ass_parse.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/libass/ass_parse.c b/libass/ass_parse.c index 58693d41..d2feff3b 100644 --- a/libass/ass_parse.c +++ b/libass/ass_parse.c @@ -775,20 +775,16 @@ char *parse_tag(ASS_Renderer *render_priv, char *p, double pwr) render_priv->state.be = 0; render_priv->state.bm_run_id++; } else if (mystrcmp(&p, "b")) { - int b; - if (mystrtoi(&p, &b)) { - if (pwr >= .5) - render_priv->state.bold = b; - } else - render_priv->state.bold = render_priv->state.style->Bold; + int val; + if (!mystrtoi(&p, &val)) + val = render_priv->state.style->Bold; + render_priv->state.bold = val; update_font(render_priv); } else if (mystrcmp(&p, "i")) { - int i; - if (mystrtoi(&p, &i)) { - if (pwr >= .5) - render_priv->state.italic = i; - } else - render_priv->state.italic = render_priv->state.style->Italic; + int val; + if (!mystrtoi(&p, &val)) + val = render_priv->state.style->Italic; + render_priv->state.italic = val; update_font(render_priv); } else if (mystrcmp(&p, "kf") || mystrcmp(&p, "K")) { int val = 0; |