Does now accept [Graphics] in ASS files - thx Przewdziekowski :)

git-svn-id: https://subtitleedit.googlecode.com/svn/trunk@1529 99eadd0c-20b8-1223-b5c4-2a2b2df33de2
This commit is contained in:
niksedk 2012-12-06 20:07:19 +00:00
parent d7b9ece33b
commit edf1a3f972
2 changed files with 33 additions and 9 deletions

View File

@ -3,7 +3,7 @@
<General> <General>
<Title>Subtitle Edit</Title> <Title>Subtitle Edit</Title>
<Version>3.3</Version> <Version>3.3</Version>
<TranslatedBy>Quetsbeek en minouhse</TranslatedBy> <TranslatedBy>Vertaald door: Quetsbeek en minouhse</TranslatedBy>
<CultureName>nl-NL</CultureName> <CultureName>nl-NL</CultureName>
<HelpFile></HelpFile> <HelpFile></HelpFile>
<OK>&amp;Oké</OK> <OK>&amp;Oké</OK>
@ -73,7 +73,14 @@
</General> </General>
<About> <About>
<Title>Over Subtitle Edit</Title> <Title>Over Subtitle Edit</Title>
<AboutText1>Subtitle Edit is vrije software onder de GNU Public License. U mag het verspreiden, wijzigen en vrij gebruik van maken. C # broncode is beschikbaar op http://code.google.com ./p/subtitleedit Bezoek www.nikse.dk voor de nieuwste versie Suggesties zijn van harte welkom E-mail:. mailto: nikse. dk@gmail.com</AboutText1> <AboutText1>
Subtitle Edit is vrije software onder de GNU Public License.
U mag het verspreiden, wijzigen en vrij gebruik van maken.
C# broncode is beschikbaar op http://code.google.com/p/subtitleedit
Bezoek www.nikse.dk voor de nieuwste versie
Suggesties zijn van harte welkom E-mail: mailto:nikse.dk@gmail.com</AboutText1>
</About> </About>
<AddToNames> <AddToNames>
<Title>Toevoegen aan namen/etc lijst</Title> <Title>Toevoegen aan namen/etc lijst</Title>

View File

@ -129,7 +129,7 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
sb.AppendLine(string.Format(paragraphWriteFormat, start, end, FormatText(p), style, actor)); sb.AppendLine(string.Format(paragraphWriteFormat, start, end, FormatText(p), style, actor));
} }
if (!string.IsNullOrEmpty(subtitle.Footer) && subtitle.Footer.Contains("[fonts]" + Environment.NewLine)) if (!string.IsNullOrEmpty(subtitle.Footer) && (subtitle.Footer.Contains("[Fonts]" + Environment.NewLine) || subtitle.Footer.Contains("[Graphics]" + Environment.NewLine)))
{ {
sb.AppendLine(); sb.AppendLine();
sb.AppendLine(subtitle.Footer); sb.AppendLine(subtitle.Footer);
@ -595,6 +595,7 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
_errorCount = 0; _errorCount = 0;
bool eventsStarted = false; bool eventsStarted = false;
bool fontsStarted = false; bool fontsStarted = false;
bool graphicsStarted = false;
subtitle.Paragraphs.Clear(); subtitle.Paragraphs.Clear();
string[] format = "Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text".Split(','); string[] format = "Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text".Split(',');
int indexStart = 1; int indexStart = 1;
@ -606,11 +607,11 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
int lineNumber = 0; int lineNumber = 0;
var header = new StringBuilder(); var header = new StringBuilder();
var fonts = new StringBuilder(); var footer = new StringBuilder();
foreach (string line in lines) foreach (string line in lines)
{ {
lineNumber++; lineNumber++;
if (!eventsStarted && !fontsStarted) if (!eventsStarted && !fontsStarted && !graphicsStarted)
header.AppendLine(line); header.AppendLine(line);
if (line.Trim().Length == 0) if (line.Trim().Length == 0)
@ -625,22 +626,38 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
{ {
eventsStarted = true; eventsStarted = true;
fontsStarted = false; fontsStarted = false;
graphicsStarted = false;
} }
if (line.Trim().ToLower() == "[events]") if (line.Trim().ToLower() == "[events]")
{ {
eventsStarted = true; eventsStarted = true;
fontsStarted = false; fontsStarted = false;
graphicsStarted = false;
} }
else if (line.Trim().ToLower() == "[fonts]") else if (line.Trim().ToLower() == "[fonts]")
{ {
eventsStarted = false; eventsStarted = false;
fontsStarted = true; fontsStarted = true;
fonts.AppendLine("[fonts]"); graphicsStarted = false;
footer.AppendLine();
footer.AppendLine("[Fonts]");
}
else if (line.Trim().ToLower() == "[graphics]")
{
eventsStarted = false;
fontsStarted = false;
graphicsStarted = true;
footer.AppendLine();
footer.AppendLine("[Graphics]");
} }
else if (fontsStarted) else if (fontsStarted)
{ {
fonts.AppendLine(line); footer.AppendLine(line);
}
else if (graphicsStarted)
{
footer.AppendLine(line);
} }
else if (eventsStarted) else if (eventsStarted)
{ {
@ -721,8 +738,8 @@ Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
} }
if (header.Length > 0) if (header.Length > 0)
subtitle.Header = header.ToString(); subtitle.Header = header.ToString();
if (fonts.Length > 0) if (footer.Length > 0)
subtitle.Footer = fonts.ToString(); subtitle.Footer = footer.ToString().Trim();
subtitle.Renumber(1); subtitle.Renumber(1);
Errors = errors.ToString(); Errors = errors.ToString();
} }