From 2b0399ac8febd104a382b57d82d62539609f7e17 Mon Sep 17 00:00:00 2001 From: ivandrofly Date: Fri, 27 Jun 2014 00:11:45 +0100 Subject: [PATCH 1/3] Added: < / I> to italic fix. --- src/Logic/Utilities.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Logic/Utilities.cs b/src/Logic/Utilities.cs index 742d28794..6f2d5fdcb 100644 --- a/src/Logic/Utilities.cs +++ b/src/Logic/Utilities.cs @@ -2520,6 +2520,7 @@ namespace Nikse.SubtitleEdit.Logic text = text.Replace("< /I>", endTag); text = text.Replace("", endTag); text = text.Replace("< /I>", endTag); + text = text.Replace("< / I >", endTag); text = text.Replace(" ", "_@_"); text = text.Replace(" _@_", "_@_"); From bc4acfed4c194fd0ba71162399d2dad58ac5b4d4 Mon Sep 17 00:00:00 2001 From: ivandrofly Date: Fri, 27 Jun 2014 00:15:23 +0100 Subject: [PATCH 2/3] Refact: in FixInvalidItalicTags --- src/Forms/FixCommonErrors.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Forms/FixCommonErrors.cs b/src/Forms/FixCommonErrors.cs index 06218a2b3..d1a1309d1 100644 --- a/src/Forms/FixCommonErrors.cs +++ b/src/Forms/FixCommonErrors.cs @@ -958,11 +958,13 @@ namespace Nikse.SubtitleEdit.Forms const string endTag = ""; string fixAction = _language.FixInvalidItalicTag; int noOfInvalidHtmlTags = 0; + listViewFixes.BeginUpdate(); for (int i = 0; i < _subtitle.Paragraphs.Count; i++) { - if (_subtitle.Paragraphs[i].Text.Contains("<")) + var text = _subtitle.Paragraphs[i].Text; + if (text.Contains("<")) { - string text = _subtitle.Paragraphs[i].Text.Replace(beginTag.ToUpper(), beginTag).Replace(endTag.ToUpper(), endTag); + text = text.Replace(beginTag.ToUpper(), beginTag).Replace(endTag.ToUpper(), endTag); string oldText = text; text = Utilities.FixInvalidItalicTags(text); @@ -978,6 +980,8 @@ namespace Nikse.SubtitleEdit.Forms } } } + listViewFixes.EndUpdate(); + listViewFixes.Refresh(); if (noOfInvalidHtmlTags > 0) LogStatus(_language.FixInvalidItalicTags, string.Format(_language.XInvalidHtmlTagsFixed, noOfInvalidHtmlTags)); } From ca88ae7cd64c7de58b7d1bb6a694c47a24cf6389 Mon Sep 17 00:00:00 2001 From: ivandrofly Date: Fri, 27 Jun 2014 00:36:37 +0100 Subject: [PATCH 3/3] More refact --- src/Logic/Utilities.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/Logic/Utilities.cs b/src/Logic/Utilities.cs index 6f2d5fdcb..001516d50 100644 --- a/src/Logic/Utilities.cs +++ b/src/Logic/Utilities.cs @@ -326,11 +326,18 @@ namespace Nikse.SubtitleEdit.Logic private static bool IsPartOfNumber(string s, int position) { + if (s == null || s.Trim().Length == 0) + return false; + + if (position + 2 > s.Length) + return false; + + const string numbers = "1234567890"; if (",.".Contains(s[position].ToString())) { if (position > 0 && position < s.Length - 1) { - return "1234567890".Contains(s[position - 1].ToString()) && "1234567890".Contains(s[position + 1].ToString()); + return numbers.Contains(s[position - 1].ToString()) && numbers.Contains(s[position + 1].ToString()); } } return false; @@ -805,6 +812,9 @@ namespace Nikse.SubtitleEdit.Logic if (!s.Contains("<")) return s; + if(s.Contains("< ")) + s = FixInvalidItalicTags(s); + s = s.Replace("", string.Empty); s = s.Replace("<і>", string.Empty); // different unicode chars s = s.Replace("", string.Empty); @@ -2746,7 +2756,7 @@ namespace Nikse.SubtitleEdit.Logic return null; } - /// + /// /// HTML-encodes a string /// /// Text string to encode