mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
commit
8506c54d68
@ -457,7 +457,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
|
||||
int italicBeginTagCount = Utilities.CountTagInText(text, beginTag);
|
||||
int italicEndTagCount = Utilities.CountTagInText(text, endTag);
|
||||
int noOfLines = Utilities.CountTagInText(text, Environment.NewLine) + 1;
|
||||
int noOfLines = Utilities.GetNumberOfLines(text);
|
||||
if (italicBeginTagCount + italicEndTagCount > 0)
|
||||
{
|
||||
if (italicBeginTagCount == 1 && italicEndTagCount == 1 && text.IndexOf(beginTag, StringComparison.Ordinal) > text.IndexOf(endTag, StringComparison.Ordinal))
|
||||
@ -546,7 +546,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
|
||||
// - Foo</i> | - Foo.
|
||||
// - Bar. | - Foo.</i>
|
||||
if (!isFixed && Utilities.CountTagInText(cleanText, Environment.NewLine) == 1)
|
||||
if (!isFixed && Utilities.GetNumberOfLines(cleanText) == 2)
|
||||
{
|
||||
int newLineIndex = text.IndexOf(Environment.NewLine, StringComparison.Ordinal);
|
||||
if (newLineIndex > 0)
|
||||
@ -586,7 +586,7 @@ namespace Nikse.SubtitleEdit.Core
|
||||
|
||||
// <i>Foo</i>
|
||||
// <i>Bar</i>
|
||||
if (italicBeginTagCount == 2 && italicEndTagCount == 2 && Utilities.CountTagInText(text, Environment.NewLine) == 1)
|
||||
if (italicBeginTagCount == 2 && italicEndTagCount == 2 && Utilities.GetNumberOfLines(text) == 2)
|
||||
{
|
||||
int index = text.IndexOf(Environment.NewLine, StringComparison.Ordinal);
|
||||
if (index > 0 && text.Length > index + (beginTag.Length + endTag.Length))
|
||||
@ -644,14 +644,14 @@ namespace Nikse.SubtitleEdit.Core
|
||||
|
||||
//<i>- You think they're they gone?<i>
|
||||
//<i>- That can't be.</i>
|
||||
if ((italicBeginTagCount == 3 && italicEndTagCount == 1) && Utilities.CountTagInText(text, Environment.NewLine) == 1)
|
||||
if ((italicBeginTagCount == 3 && italicEndTagCount == 1) && Utilities.GetNumberOfLines(text) == 2)
|
||||
{
|
||||
var newLineIdx = text.IndexOf(Environment.NewLine, StringComparison.Ordinal);
|
||||
var firstLine = text.Substring(0, newLineIdx).Trim();
|
||||
var secondLine = text.Substring(newLineIdx).Trim();
|
||||
|
||||
if (Utilities.StartsAndEndsWithTag(firstLine, beginTag, beginTag) && Utilities.StartsAndEndsWithTag(secondLine, beginTag, endTag) ||
|
||||
Utilities.StartsAndEndsWithTag(secondLine, beginTag, beginTag) && Utilities.StartsAndEndsWithTag(firstLine, beginTag, endTag))
|
||||
if ((Utilities.StartsAndEndsWithTag(firstLine, beginTag, beginTag) && Utilities.StartsAndEndsWithTag(secondLine, beginTag, endTag)) ||
|
||||
(Utilities.StartsAndEndsWithTag(secondLine, beginTag, beginTag) && Utilities.StartsAndEndsWithTag(firstLine, beginTag, endTag)))
|
||||
{
|
||||
text = text.Replace("<i>", string.Empty);
|
||||
text = text.Replace("</i>", string.Empty);
|
||||
|
@ -3678,18 +3678,14 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
private void TextBoxSourceKeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
ShowSourceLineNumber();
|
||||
e.Handled = false;
|
||||
|
||||
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.A)
|
||||
{
|
||||
textBoxSource.SelectAll();
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.D)
|
||||
{
|
||||
textBoxSource.SelectionLength = 0;
|
||||
e.Handled = true;
|
||||
e.SuppressKeyPress = true;
|
||||
}
|
||||
}
|
||||
|
@ -269,58 +269,58 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
private static string EncodeText(string s)
|
||||
{
|
||||
s = HtmlUtil.RemoveOpenCloseTags(s, HtmlUtil.TagBold, HtmlUtil.TagUnderline, HtmlUtil.TagFont);
|
||||
if (s.StartsWith("{\\an3}") || s.StartsWith("{\\an6}"))
|
||||
if (s.StartsWith("{\\an3}", StringComparison.Ordinal) || s.StartsWith("{\\an6}", StringComparison.Ordinal))
|
||||
s = "/STYLE RIGHT" + Environment.NewLine + s.Remove(0, 6).Trim();
|
||||
if (s.StartsWith("{\\an1}") || s.StartsWith("{\\an4}"))
|
||||
if (s.StartsWith("{\\an1}", StringComparison.Ordinal) || s.StartsWith("{\\an4}", StringComparison.Ordinal))
|
||||
s = "/STYLE LEFT" + Environment.NewLine + s.Remove(0, 6).Trim();
|
||||
if (s.StartsWith("{\\an7}") || s.StartsWith("{\\an8}") || s.StartsWith("{\\an9}"))
|
||||
if (s.StartsWith("{\\an7}", StringComparison.Ordinal) || s.StartsWith("{\\an8}", StringComparison.Ordinal) || s.StartsWith("{\\an9}", StringComparison.Ordinal))
|
||||
s = "/STYLE VERTICAL(-25)" + Environment.NewLine + s.Remove(0, 6).Trim();
|
||||
if (s.StartsWith("{\\an2}") || s.StartsWith("{\\an5}"))
|
||||
if (s.StartsWith("{\\an2}", StringComparison.Ordinal) || s.StartsWith("{\\an5}", StringComparison.Ordinal))
|
||||
s = s.Remove(0, 6).Trim();
|
||||
return s;
|
||||
}
|
||||
|
||||
private static string DecodeText(StringBuilder sb)
|
||||
{
|
||||
string s = sb.ToString().Trim();
|
||||
var s = sb.ToString().Trim();
|
||||
s = s.Replace(Environment.NewLine + Environment.NewLine, Environment.NewLine).Replace(Environment.NewLine + Environment.NewLine, Environment.NewLine);
|
||||
if (s.StartsWith("/STYLE RIGHT" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE RIGHT" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an3}" + s.Remove(0, 12).Trim();
|
||||
if (s.StartsWith("/STYLE LEFT" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE LEFT" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an1}" + s.Remove(0, 11).Trim();
|
||||
if (s.StartsWith("/STYLE TOP" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE TOP" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 10).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-25)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-25)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-24)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-24)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-23)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-23)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-22)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-22)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-21)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-21)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-20)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-20)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-19)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-19)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an8}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-18)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-18)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-17)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-17)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-16)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-16)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-15)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-15)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-14)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-14)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-13)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-13)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-12)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-12)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-11)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-11)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
if (s.StartsWith("/STYLE VERTICAL(-10)" + Environment.NewLine))
|
||||
if (s.StartsWith("/STYLE VERTICAL(-10)" + Environment.NewLine, StringComparison.Ordinal))
|
||||
s = "{\\an5}" + s.Remove(0, 20).Trim();
|
||||
s = HtmlUtil.FixInvalidItalicTags(s);
|
||||
return s;
|
||||
|
@ -74,31 +74,31 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
};
|
||||
|
||||
string text = p.Text;
|
||||
if (text.StartsWith("{\\a6}"))
|
||||
if (text.StartsWith("{\\a6}", StringComparison.Ordinal))
|
||||
{
|
||||
text = p.Text.Remove(0, 5);
|
||||
buffer[7] = 0; // align top
|
||||
}
|
||||
else if (text.StartsWith("{\\a1}"))
|
||||
else if (text.StartsWith("{\\a1}", StringComparison.Ordinal))
|
||||
{
|
||||
text = p.Text.Remove(0, 5);
|
||||
buffer[2] = 0; // align left
|
||||
buffer[3] = 0; // align left
|
||||
}
|
||||
else if (text.StartsWith("{\\a3}"))
|
||||
else if (text.StartsWith("{\\a3}", StringComparison.Ordinal))
|
||||
{
|
||||
text = p.Text.Remove(0, 5);
|
||||
buffer[2] = 0; // align right
|
||||
buffer[3] = 0xc0; // align right
|
||||
}
|
||||
else if (text.StartsWith("{\\a5}"))
|
||||
else if (text.StartsWith("{\\a5}", StringComparison.Ordinal))
|
||||
{
|
||||
text = p.Text.Remove(0, 5);
|
||||
buffer[7] = 0; // align top
|
||||
buffer[2] = 0; // align left
|
||||
buffer[3] = 0; // align left
|
||||
}
|
||||
else if (text.StartsWith("{\\a7}"))
|
||||
else if (text.StartsWith("{\\a7}", StringComparison.Ordinal))
|
||||
{
|
||||
text = p.Text.Remove(0, 5);
|
||||
buffer[7] = 0; // align top
|
||||
@ -106,7 +106,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
buffer[3] = 0xc0; // align right
|
||||
}
|
||||
|
||||
if (text.StartsWith("<i>") && text.EndsWith("</i>"))
|
||||
if (text.StartsWith("<i>", StringComparison.Ordinal) && text.EndsWith("</i>", StringComparison.Ordinal))
|
||||
buffer[10] = 3;
|
||||
fs.Write(buffer, 0, buffer.Length);
|
||||
|
||||
|
@ -77,9 +77,9 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||
paragraph.Attributes.Append(text);
|
||||
|
||||
XmlAttribute align = xml.CreateAttribute("Align");
|
||||
if (p.Text.StartsWith("{\\an1}") || p.Text.StartsWith("{\\an4}") || p.Text.StartsWith("{\\an7}"))
|
||||
if (p.Text.StartsWith("{\\an1}", StringComparison.Ordinal) || p.Text.StartsWith("{\\an4}", StringComparison.Ordinal) || p.Text.StartsWith("{\\an7}", StringComparison.Ordinal))
|
||||
align.InnerText = "Left";
|
||||
else if (p.Text.StartsWith("{\\an3}") || p.Text.StartsWith("{\\an6}") || p.Text.StartsWith("{\\an9}"))
|
||||
else if (p.Text.StartsWith("{\\an3}", StringComparison.Ordinal) || p.Text.StartsWith("{\\an6}", StringComparison.Ordinal) || p.Text.StartsWith("{\\an9}", StringComparison.Ordinal))
|
||||
align.InnerText = "Right";
|
||||
else
|
||||
align.InnerText = "Center";
|
||||
|
Loading…
Reference in New Issue
Block a user