mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Merge branch 'master' of https://github.com/SubtitleEdit/subtitleedit
This commit is contained in:
commit
1cb4ffddbd
@ -273,7 +273,6 @@
|
||||
<name>Corban</name>
|
||||
<name>Corbin</name>
|
||||
<name>Coverdale</name>
|
||||
<name>Crew</name>
|
||||
<name>Cristiano</name>
|
||||
<name>Dacca</name>
|
||||
<name>Dahlia</name>
|
||||
|
@ -52,7 +52,6 @@
|
||||
<name>Asbjørn</name>
|
||||
<name>Asclepio</name>
|
||||
<name>Assim</name>
|
||||
<name>Audi</name>
|
||||
<name>Aurelio</name>
|
||||
<name>Avner</name>
|
||||
<name>Avraham</name>
|
||||
@ -428,7 +427,6 @@
|
||||
<name>Janaína</name>
|
||||
<name>Jannik</name>
|
||||
<name>Jardim</name>
|
||||
<name>Jeep</name>
|
||||
<name>Jens</name>
|
||||
<name>Jinora</name>
|
||||
<name>Johan</name>
|
||||
@ -754,7 +752,6 @@
|
||||
<name>Rohypnol</name>
|
||||
<name>Romalis</name>
|
||||
<name>Romford</name>
|
||||
<name>Ronaldo</name>
|
||||
<name>Rosetta</name>
|
||||
<name>Roshan</name>
|
||||
<name>Rotenone</name>
|
||||
|
@ -367,7 +367,6 @@
|
||||
<name>Budweiserin</name>
|
||||
<name>Buffalon</name>
|
||||
<name>Buffalosta</name>
|
||||
<name>Bugatti</name>
|
||||
<name>Bugsy</name>
|
||||
<name>Building</name>
|
||||
<name>Buist</name>
|
||||
@ -1603,7 +1602,6 @@
|
||||
<name>Lew</name>
|
||||
<name>Lewisille</name>
|
||||
<name>Lewisin</name>
|
||||
<name>Lexus</name>
|
||||
<name>Liang</name>
|
||||
<name>Liangin</name>
|
||||
<name>Libertyn</name>
|
||||
@ -1800,7 +1798,6 @@
|
||||
<name>May</name>
|
||||
<name>Mayn</name>
|
||||
<name>Maynard</name>
|
||||
<name>Mazda</name>
|
||||
<name>McArdle's</name>
|
||||
<name>McClafferty</name>
|
||||
<name>McClain</name>
|
||||
|
@ -58,6 +58,7 @@ This file is generated/updated by Multi Translator
|
||||
<name>Adelle</name>
|
||||
<name>Adelles</name>
|
||||
<name>Aden</name>
|
||||
<name>Adidas</name>
|
||||
<name>Adipex</name>
|
||||
<name>Aditya</name>
|
||||
<name>Adolf</name>
|
||||
@ -3867,6 +3868,7 @@ This file is generated/updated by Multi Translator
|
||||
<name>Nigeriens</name>
|
||||
<name>Nik</name>
|
||||
<name>Nikahd</name>
|
||||
<name>Nike</name>
|
||||
<name>Niki</name>
|
||||
<name>Nikki</name>
|
||||
<name>Niklas</name>
|
||||
@ -4319,6 +4321,7 @@ This file is generated/updated by Multi Translator
|
||||
<name>Rebecca</name>
|
||||
<name>Red Sox</name>
|
||||
<name>Redding</name>
|
||||
<name>Reebok</name>
|
||||
<name>Reed</name>
|
||||
<name>Reese</name>
|
||||
<name>Reeves</name>
|
||||
@ -4436,6 +4439,7 @@ This file is generated/updated by Multi Translator
|
||||
<name>Romilda</name>
|
||||
<name>Ron</name>
|
||||
<name>Ronald</name>
|
||||
<name>Ronaldo</name>
|
||||
<name>Ronins</name>
|
||||
<name>Ronnie</name>
|
||||
<name>Ronny</name>
|
||||
|
@ -3761,7 +3761,6 @@
|
||||
<name>Romário</name>
|
||||
<name>Romã</name>
|
||||
<name>Romão</name>
|
||||
<name>Ronaldo</name>
|
||||
<name>Ronance</name>
|
||||
<name>Ronanse</name>
|
||||
<name>Rondina</name>
|
||||
|
@ -2616,15 +2616,73 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
|
||||
if (italicBeginTagCount == 0 && italicEndTagCount == 1)
|
||||
{
|
||||
string cleanText = RemoveHtmlTags(text);
|
||||
bool isFixed= false;
|
||||
|
||||
// Foo.</i>
|
||||
if (text.EndsWith(endTag) && !cleanText.StartsWith("-") && !cleanText.Contains(Environment.NewLine + "-"))
|
||||
{
|
||||
text = beginTag + text;
|
||||
isFixed = true;
|
||||
}
|
||||
|
||||
// - Foo</i> | - Foo.
|
||||
// - Bar. | - Foo.</i>
|
||||
if (!isFixed && CountTagInText(cleanText, Environment.NewLine) == 1)
|
||||
{
|
||||
int newLineIndex = text.IndexOf(Environment.NewLine);
|
||||
if (newLineIndex > 0)
|
||||
{
|
||||
var firstLine = text.Substring(0, newLineIndex).Trim();
|
||||
var secondLine = text.Substring(newLineIndex + 2).Trim();
|
||||
if (firstLine.EndsWith(endTag))
|
||||
{
|
||||
firstLine = beginTag + firstLine;
|
||||
isFixed = true;
|
||||
}
|
||||
if (secondLine.EndsWith(endTag))
|
||||
{
|
||||
secondLine = beginTag + secondLine;
|
||||
isFixed = true;
|
||||
}
|
||||
text = firstLine + Environment.NewLine + secondLine;
|
||||
}
|
||||
}
|
||||
if (!isFixed)
|
||||
text = text.Replace(endTag, string.Empty);
|
||||
}
|
||||
|
||||
// - foo.</i>
|
||||
// - bar.</i>
|
||||
if (italicBeginTagCount == 0 && italicEndTagCount == 2 && text.Contains(endTag + Environment.NewLine) && text.EndsWith(endTag))
|
||||
{
|
||||
text = text.Replace(endTag, string.Empty);
|
||||
text = beginTag + text + endTag;
|
||||
}
|
||||
|
||||
if (italicBeginTagCount == 0 && italicEndTagCount == 2 && text.StartsWith("</i>") && text.EndsWith("</i>"))
|
||||
{
|
||||
int firstIndex = text.IndexOf(endTag);
|
||||
text = text.Remove(firstIndex, endTag.Length).Insert(firstIndex, "<i>");
|
||||
}
|
||||
|
||||
// <i>Foo</i>
|
||||
// <i>Bar</i>
|
||||
if(italicBeginTagCount == 2 && italicEndTagCount == 2 && CountTagInText(text, Environment.NewLine) == 1)
|
||||
{
|
||||
int index = text.IndexOf(Environment.NewLine);
|
||||
if (index > 0 && text.Length > index + (beginTag.Length + endTag.Length))
|
||||
{
|
||||
var firstLine = text.Substring(0, index).Trim();
|
||||
var secondLine = text.Substring(index + 2).Trim();
|
||||
if (StartsAndEndsWithTag(firstLine, beginTag, endTag) && StartsAndEndsWithTag(secondLine, beginTag, endTag))
|
||||
{
|
||||
text = text.Replace(beginTag, String.Empty).Replace(endTag, String.Empty);
|
||||
text = beginTag + text + endTag;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
text = text.Replace("<i></i>", string.Empty);
|
||||
text = text.Replace("<i> </i>", string.Empty);
|
||||
text = text.Replace("<i> </i>", string.Empty);
|
||||
@ -2632,6 +2690,38 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
return text;
|
||||
}
|
||||
|
||||
public static bool StartsAndEndsWithTag(string text, string startTag, string endTag)
|
||||
{
|
||||
if (text == null)
|
||||
return false;
|
||||
if (text.Trim().Length == 0)
|
||||
return false;
|
||||
if (!text.Contains(startTag) || !text.Contains(endTag))
|
||||
return false;
|
||||
|
||||
while (text.Contains(" "))
|
||||
text = text.Replace(" ", " ");
|
||||
|
||||
var s1 = "- " + startTag;
|
||||
var s2 = "-" + startTag;
|
||||
var s3 = "- ..." + startTag;
|
||||
var s4 = "- " + startTag + "..."; // - <i>...
|
||||
|
||||
var e1 = endTag + ".";
|
||||
var e2 = endTag + "!";
|
||||
var e3 = endTag + "?";
|
||||
var e4 = endTag + "...";
|
||||
var e5 = endTag + "-";
|
||||
|
||||
bool isStart = false;
|
||||
bool isEnd = false;
|
||||
if(text.StartsWith(startTag) || text.StartsWith(s1) || text.StartsWith(s2) || text.StartsWith(s3) || text.StartsWith(s4))
|
||||
isStart = true;
|
||||
if (text.EndsWith(endTag) || text.EndsWith(e1) || text.EndsWith(e2) || text.EndsWith(e3) || text.EndsWith(e4) || text.EndsWith(e5))
|
||||
isEnd = true;
|
||||
return isStart == isEnd;
|
||||
}
|
||||
|
||||
public static Paragraph GetOriginalParagraph(int index, Paragraph paragraph, List<Paragraph> originalParagraphs)
|
||||
{
|
||||
if (index < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user