Minor fix for subtitle format ass

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@675 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2011-09-29 17:52:24 +00:00
parent 55d1910093
commit 5fdb2d8e3a
2 changed files with 27 additions and 1 deletions

View File

@ -4429,17 +4429,35 @@ namespace Nikse.SubtitleEdit.Forms
} }
} }
private string RemoveSsaStyle(string text)
{
int indexOfBegin = text.IndexOf("{");
while (indexOfBegin >= 0 && text.IndexOf("}") > indexOfBegin)
{
int indexOfEnd = text.IndexOf("}");
text = text.Remove(indexOfBegin, (indexOfEnd - indexOfBegin) + 1);
indexOfBegin = text.IndexOf("{");
}
return text;
}
private void NormalToolStripMenuItemClick(object sender, EventArgs e) private void NormalToolStripMenuItemClick(object sender, EventArgs e)
{ {
if (_subtitle.Paragraphs.Count > 0 && SubtitleListview1.SelectedItems.Count > 0) if (_subtitle.Paragraphs.Count > 0 && SubtitleListview1.SelectedItems.Count > 0)
{ {
MakeHistoryForUndo(_language.BeforeSettingFontToNormal); MakeHistoryForUndo(_language.BeforeSettingFontToNormal);
bool isSsa = GetCurrentSubtitleFormat().FriendlyName == new SubStationAlpha().FriendlyName ||
GetCurrentSubtitleFormat().FriendlyName == new AdvancedSubStationAlpha().FriendlyName;
foreach (ListViewItem item in SubtitleListview1.SelectedItems) foreach (ListViewItem item in SubtitleListview1.SelectedItems)
{ {
Paragraph p = _subtitle.GetParagraphOrDefault(item.Index); Paragraph p = _subtitle.GetParagraphOrDefault(item.Index);
if (p != null) if (p != null)
{ {
p.Text = Utilities.RemoveHtmlTags(p.Text); p.Text = Utilities.RemoveHtmlTags(p.Text);
if (isSsa)
p.Text = RemoveSsaStyle(p.Text);
SubtitleListview1.SetText(item.Index, p.Text); SubtitleListview1.SetText(item.Index, p.Text);
if (_subtitleAlternate != null) if (_subtitleAlternate != null)
@ -4448,6 +4466,8 @@ namespace Nikse.SubtitleEdit.Forms
if (original != null) if (original != null)
{ {
original.Text = Utilities.RemoveHtmlTags(original.Text); original.Text = Utilities.RemoveHtmlTags(original.Text);
if (isSsa)
original.Text = RemoveSsaStyle(original.Text);
SubtitleListview1.SetAlternateText(item.Index, original.Text); SubtitleListview1.SetAlternateText(item.Index, original.Text);
_changeAlternate = true; _changeAlternate = true;
} }

View File

@ -248,6 +248,12 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
if (!eventsStarted && !fontsStarted) if (!eventsStarted && !fontsStarted)
header.AppendLine(line); header.AppendLine(line);
if (line.Trim().ToLower().StartsWith("dialogue:")) // fix faulty font tags...
{
eventsStarted = true;
fontsStarted = false;
}
if (line.Trim().ToLower() == "[events]") if (line.Trim().ToLower() == "[events]")
{ {
eventsStarted = true; eventsStarted = true;