mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-25 04:33:04 +01:00
Some minor optimizations inspired by #1814 - thx invandrofly :)
Fix #1814
This commit is contained in:
parent
8918e96039
commit
ff8a832f1b
@ -56,7 +56,7 @@ namespace Nikse.SubtitleEdit.Core.Forms.FixCommonErrors
|
|||||||
}
|
}
|
||||||
else if (!string.IsNullOrEmpty(nextText) && next != null &&
|
else if (!string.IsNullOrEmpty(nextText) && next != null &&
|
||||||
next.Text.Length > 0 &&
|
next.Text.Length > 0 &&
|
||||||
Utilities.UppercaseLetters.Contains(nextText[0]) &&
|
char.IsUpper(nextText[0]) &&
|
||||||
tempNoHtml.Length > 0 &&
|
tempNoHtml.Length > 0 &&
|
||||||
!ExpectedString1.Contains(tempNoHtml[tempNoHtml.Length - 1]))
|
!ExpectedString1.Contains(tempNoHtml[tempNoHtml.Length - 1]))
|
||||||
{
|
{
|
||||||
@ -103,7 +103,7 @@ namespace Nikse.SubtitleEdit.Core.Forms.FixCommonErrors
|
|||||||
{
|
{
|
||||||
var st = new StripableText(next.Text);
|
var st = new StripableText(next.Text);
|
||||||
if (st.StrippedText.Length > 0 && st.StrippedText != st.StrippedText.ToUpper() &&
|
if (st.StrippedText.Length > 0 && st.StrippedText != st.StrippedText.ToUpper() &&
|
||||||
Utilities.UppercaseLetters.Contains(st.StrippedText[0]))
|
char.IsUpper(st.StrippedText[0]))
|
||||||
{
|
{
|
||||||
if (callbacks.AllowFix(p, fixAction))
|
if (callbacks.AllowFix(p, fixAction))
|
||||||
{
|
{
|
||||||
@ -134,7 +134,7 @@ namespace Nikse.SubtitleEdit.Core.Forms.FixCommonErrors
|
|||||||
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 3, StringComparison.Ordinal);
|
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i>-", 3, StringComparison.Ordinal);
|
||||||
if (indexOfNewLine < 0)
|
if (indexOfNewLine < 0)
|
||||||
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 3, StringComparison.Ordinal);
|
indexOfNewLine = p.Text.IndexOf(Environment.NewLine + "<i> -", 3, StringComparison.Ordinal);
|
||||||
if (indexOfNewLine > 0 && Configuration.Settings.General.UppercaseLetters.Contains(char.ToUpper(p.Text[indexOfNewLine - 1])) && callbacks.AllowFix(p, fixAction))
|
if (indexOfNewLine > 0 && char.IsUpper(char.ToUpper(p.Text[indexOfNewLine - 1])) && callbacks.AllowFix(p, fixAction))
|
||||||
{
|
{
|
||||||
string oldText = p.Text;
|
string oldText = p.Text;
|
||||||
|
|
||||||
|
@ -330,10 +330,10 @@ namespace Nikse.SubtitleEdit.Core.Forms
|
|||||||
if (arr0.Length > 0 && arr1.Length > 1)
|
if (arr0.Length > 0 && arr1.Length > 1)
|
||||||
{
|
{
|
||||||
// line continuation?
|
// line continuation?
|
||||||
if (Utilities.LowercaseLetters.Contains(arr1[0])) // second line starts with lower case letter
|
if (char.IsLower(arr1[0])) // second line starts with lower case letter
|
||||||
{
|
{
|
||||||
char c = arr0[arr0.Length - 1];
|
char c = arr0[arr0.Length - 1];
|
||||||
if (Utilities.LowercaseLetters.Contains(c) || c == ',') // first line ends with comma or lower case letter
|
if (char.IsLower(c) || c == ',') // first line ends with comma or lower case letter
|
||||||
{
|
{
|
||||||
if (!arr1Stripable.Pre.Contains("..."))
|
if (!arr1Stripable.Pre.Contains("..."))
|
||||||
{
|
{
|
||||||
|
@ -257,7 +257,7 @@ namespace Nikse.SubtitleEdit.Core
|
|||||||
if (s == ']' && idx > 1)
|
if (s == ']' && idx > 1)
|
||||||
{ // I [Motor roaring] love you!
|
{ // I [Motor roaring] love you!
|
||||||
string temp = sb.ToString(0, idx - 1).Trim();
|
string temp = sb.ToString(0, idx - 1).Trim();
|
||||||
if (temp.Length > 0 && !Utilities.LowercaseLetters.Contains(temp[temp.Length - 1]))
|
if (temp.Length > 0 && !char.IsLower(temp[temp.Length - 1]))
|
||||||
lastWasBreak = true;
|
lastWasBreak = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -227,7 +227,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
if (merge && (p.Text.TrimEnd().EndsWith('!') || p.Text.TrimEnd().EndsWith('.')))
|
if (merge && (p.Text.TrimEnd().EndsWith('!') || p.Text.TrimEnd().EndsWith('.')))
|
||||||
{
|
{
|
||||||
var st = new StripableText(p.Text);
|
var st = new StripableText(p.Text);
|
||||||
if (st.StrippedText.Length > 0 && Utilities.UppercaseLetters.Contains(st.StrippedText[0].ToString(CultureInfo.InvariantCulture)))
|
if (st.StrippedText.Length > 0 && char.IsUpper(st.StrippedText[0]))
|
||||||
merge = false;
|
merge = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -603,7 +603,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
suggestions = DoSuggest(_currentWord); // TODO: 0.9.6 fails on "Lt'S"
|
suggestions = DoSuggest(_currentWord); // TODO: 0.9.6 fails on "Lt'S"
|
||||||
if (_languageName.StartsWith("fr_", StringComparison.Ordinal) && (_currentWord.StartsWith("I'", StringComparison.Ordinal) || _currentWord.StartsWith("I’", StringComparison.Ordinal)))
|
if (_languageName.StartsWith("fr_", StringComparison.Ordinal) && (_currentWord.StartsWith("I'", StringComparison.Ordinal) || _currentWord.StartsWith("I’", StringComparison.Ordinal)))
|
||||||
{
|
{
|
||||||
if (_currentWord.Length > 3 && Utilities.LowercaseLetters.Contains(_currentWord[2]) && _currentSpellCheckWord.Index > 3)
|
if (_currentWord.Length > 3 && char.IsLower(_currentWord[2]) && _currentSpellCheckWord.Index > 3)
|
||||||
{
|
{
|
||||||
string ending = _currentParagraph.Text.Substring(0, _currentSpellCheckWord.Index - 1).Trim();
|
string ending = _currentParagraph.Text.Substring(0, _currentSpellCheckWord.Index - 1).Trim();
|
||||||
if (ending.Length > 1 && !".!?".Contains(ending[ending.Length - 1]))
|
if (ending.Length > 1 && !".!?".Contains(ending[ending.Length - 1]))
|
||||||
|
@ -449,22 +449,22 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
lastLine.EndsWith(".</font>", StringComparison.Ordinal) || lastLine.EndsWith("!</font>", StringComparison.Ordinal) || lastLine.EndsWith("?</font>", StringComparison.Ordinal);
|
lastLine.EndsWith(".</font>", StringComparison.Ordinal) || lastLine.EndsWith("!</font>", StringComparison.Ordinal) || lastLine.EndsWith("?</font>", StringComparison.Ordinal);
|
||||||
if (text.StartsWith(tag.TrimStart(), StringComparison.Ordinal) && text.Length > 3)
|
if (text.StartsWith(tag.TrimStart(), StringComparison.Ordinal) && text.Length > 3)
|
||||||
{
|
{
|
||||||
if (endingBeforeThis || Utilities.UppercaseLetters.Contains(text[2]))
|
if (endingBeforeThis || char.IsUpper(text[2]))
|
||||||
{
|
{
|
||||||
text = @"L" + text.Substring(1);
|
text = @"L" + text.Substring(1);
|
||||||
}
|
}
|
||||||
else if (Utilities.LowercaseLetters.Contains(text[2]))
|
else if (char.IsLower(text[2]))
|
||||||
{
|
{
|
||||||
text = @"l" + text.Substring(1);
|
text = @"l" + text.Substring(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (text.StartsWith("<i>" + tag.TrimStart(), StringComparison.Ordinal) && text.Length > 6)
|
else if (text.StartsWith("<i>" + tag.TrimStart(), StringComparison.Ordinal) && text.Length > 6)
|
||||||
{
|
{
|
||||||
if (endingBeforeThis || Utilities.UppercaseLetters.Contains(text[5]))
|
if (endingBeforeThis || char.IsUpper(text[5]))
|
||||||
{
|
{
|
||||||
text = text.Remove(3, 1).Insert(3, "L");
|
text = text.Remove(3, 1).Insert(3, "L");
|
||||||
}
|
}
|
||||||
else if (Utilities.LowercaseLetters.Contains(text[5]))
|
else if (char.IsLower(text[5]))
|
||||||
{
|
{
|
||||||
text = text.Remove(3, 1).Insert(3, "l");
|
text = text.Remove(3, 1).Insert(3, "l");
|
||||||
}
|
}
|
||||||
@ -532,11 +532,11 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
endingBeforeThis = string.IsNullOrEmpty(lastLine) || lastLine.EndsWith('.') || lastLine.EndsWith('!') || lastLine.EndsWith('?') || lastLine.EndsWith(".</i>", StringComparison.Ordinal);
|
endingBeforeThis = string.IsNullOrEmpty(lastLine) || lastLine.EndsWith('.') || lastLine.EndsWith('!') || lastLine.EndsWith('?') || lastLine.EndsWith(".</i>", StringComparison.Ordinal);
|
||||||
if (start < text.Length - 8)
|
if (start < text.Length - 8)
|
||||||
{
|
{
|
||||||
if (endingBeforeThis || Utilities.UppercaseLetters.Contains(text[start + 5 + Environment.NewLine.Length]))
|
if (endingBeforeThis || char.IsUpper(text[start + 5 + Environment.NewLine.Length]))
|
||||||
{
|
{
|
||||||
text = text.Remove(start + Environment.NewLine.Length + 3, 1).Insert(start + Environment.NewLine.Length + 3, "L");
|
text = text.Remove(start + Environment.NewLine.Length + 3, 1).Insert(start + Environment.NewLine.Length + 3, "L");
|
||||||
}
|
}
|
||||||
else if (Utilities.LowercaseLetters.Contains(text[start + 5 + Environment.NewLine.Length]))
|
else if (char.IsLower(text[start + 5 + Environment.NewLine.Length]))
|
||||||
{
|
{
|
||||||
text = text.Remove(start + Environment.NewLine.Length + 3, 1).Insert(start + Environment.NewLine.Length + 3, "l");
|
text = text.Remove(start + Environment.NewLine.Length + 3, 1).Insert(start + Environment.NewLine.Length + 3, "l");
|
||||||
}
|
}
|
||||||
@ -783,24 +783,24 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
input = input.Remove(0, 1);
|
input = input.Remove(0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.Length > 2 && input[0] == '-' && Utilities.UppercaseLetters.Contains(input[1]))
|
if (input.Length > 2 && input[0] == '-' && char.IsUpper(input[1]))
|
||||||
{
|
{
|
||||||
input = input.Insert(1, " ");
|
input = input.Insert(1, " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (input.Length > 5 && input.StartsWith("<i>-", StringComparison.Ordinal) && Utilities.UppercaseLetters.Contains(input[4]))
|
if (input.Length > 5 && input.StartsWith("<i>-", StringComparison.Ordinal) && char.IsUpper(input[4]))
|
||||||
{
|
{
|
||||||
input = input.Insert(4, " ");
|
input = input.Insert(4, " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
int idx = input.IndexOf(Environment.NewLine + "-", StringComparison.Ordinal);
|
int idx = input.IndexOf(Environment.NewLine + "-", StringComparison.Ordinal);
|
||||||
if (idx > 0 && idx + Environment.NewLine.Length + 1 < input.Length && Utilities.UppercaseLetters.Contains(input[idx + Environment.NewLine.Length + 1]))
|
if (idx > 0 && idx + Environment.NewLine.Length + 1 < input.Length && char.IsUpper(input[idx + Environment.NewLine.Length + 1]))
|
||||||
{
|
{
|
||||||
input = input.Insert(idx + Environment.NewLine.Length + 1, " ");
|
input = input.Insert(idx + Environment.NewLine.Length + 1, " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
idx = input.IndexOf(Environment.NewLine + "<i>-", StringComparison.Ordinal);
|
idx = input.IndexOf(Environment.NewLine + "<i>-", StringComparison.Ordinal);
|
||||||
if (idx > 0 && Utilities.UppercaseLetters.Contains(input[idx + Environment.NewLine.Length + 4]))
|
if (idx > 0 && char.IsUpper(input[idx + Environment.NewLine.Length + 4]))
|
||||||
{
|
{
|
||||||
input = input.Insert(idx + Environment.NewLine.Length + 4, " ");
|
input = input.Insert(idx + Environment.NewLine.Length + 4, " ");
|
||||||
}
|
}
|
||||||
@ -1154,9 +1154,10 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
int uppercase = 0;
|
int uppercase = 0;
|
||||||
for (int i = 0; i < word.Length; i++)
|
for (int i = 0; i < word.Length; i++)
|
||||||
{
|
{
|
||||||
if (Utilities.LowercaseLetters.Contains(word[i]))
|
var ch = word[i];
|
||||||
|
if (char.IsLower(ch))
|
||||||
lowercase++;
|
lowercase++;
|
||||||
else if (Utilities.UppercaseLetters.Contains(word[i]))
|
else if (char.IsUpper(ch))
|
||||||
uppercase++;
|
uppercase++;
|
||||||
}
|
}
|
||||||
if (uppercase > lowercase)
|
if (uppercase > lowercase)
|
||||||
|
Loading…
Reference in New Issue
Block a user