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)
{
if (_subtitle.Paragraphs.Count > 0 && SubtitleListview1.SelectedItems.Count > 0)
{
MakeHistoryForUndo(_language.BeforeSettingFontToNormal);
bool isSsa = GetCurrentSubtitleFormat().FriendlyName == new SubStationAlpha().FriendlyName ||
GetCurrentSubtitleFormat().FriendlyName == new AdvancedSubStationAlpha().FriendlyName;
foreach (ListViewItem item in SubtitleListview1.SelectedItems)
{
Paragraph p = _subtitle.GetParagraphOrDefault(item.Index);
if (p != null)
{
p.Text = Utilities.RemoveHtmlTags(p.Text);
if (isSsa)
p.Text = RemoveSsaStyle(p.Text);
SubtitleListview1.SetText(item.Index, p.Text);
if (_subtitleAlternate != null)
@ -4448,6 +4466,8 @@ namespace Nikse.SubtitleEdit.Forms
if (original != null)
{
original.Text = Utilities.RemoveHtmlTags(original.Text);
if (isSsa)
original.Text = RemoveSsaStyle(original.Text);
SubtitleListview1.SetAlternateText(item.Index, original.Text);
_changeAlternate = true;
}

View File

@ -246,7 +246,13 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
foreach (string line in lines)
{
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]")
{