diff --git a/Changelog.txt b/Changelog.txt
index ad3d823f4..b1e30ca11 100644
--- a/Changelog.txt
+++ b/Changelog.txt
@@ -9,6 +9,8 @@
* Add new shortcut for split + auto-br - thx oep42
* Add "Sort by" in "Batch convert" - thx Masina86
* Add image format RhozetHarmonic (only read) - thx Arianna
+ * Add "Toggle custom surround text with" shortcut - thx HadiSparrow
+ * Add "Go to next/previous time code from video position" shortcuts - thx faon-92
* IMPROVED:
* Update French translation - thx Pierre
* Update Hungarian translation - thx Zityi
@@ -43,6 +45,9 @@
* Fix minor left/right cropping issue in image export - thx nissansz
* Fix possible crash after choosing folder in image export
* Fix italic/font issue with DFXP - thx IngunnHelge
+ * Fix for image export baseline - thx Matt
+ * Fix cash in "Generate blank video"
+ * Fix too many {\an1} in SCC
3.6.11 (30th January 2023)
diff --git a/src/Test/Logic/SubtitleFormats/SubtitleFormatsTest.cs b/src/Test/Logic/SubtitleFormats/SubtitleFormatsTest.cs
index a1ae47e76..87c9527b5 100644
--- a/src/Test/Logic/SubtitleFormats/SubtitleFormatsTest.cs
+++ b/src/Test/Logic/SubtitleFormats/SubtitleFormatsTest.cs
@@ -858,6 +858,16 @@ Dialogue: Marked=0,0:00:01.00,0:00:03.00,Default,NTP,0000,0000,0000,!Effect," +
Assert.IsTrue(text.Contains("Red"));
}
+ [TestMethod]
+ public void DcinemaSmpteColorAndItalicNoSpaceBeforeAndAfterFont()
+ {
+ var target = new DCinemaSmpte2010();
+ var subtitle = new Subtitle();
+ subtitle.Paragraphs.Add(new Paragraph("Red", 1000, 5000));
+ var text = target.ToText(subtitle, "title");
+ Assert.IsTrue(text.Contains(">Red<"));
+ }
+
#endregion DCinema smpte (.xml)
#region DCinema interop (.xml)
diff --git a/src/libse/SubtitleFormats/DCinemaSmpte2007.cs b/src/libse/SubtitleFormats/DCinemaSmpte2007.cs
index 54415d65e..a566660be 100644
--- a/src/libse/SubtitleFormats/DCinemaSmpte2007.cs
+++ b/src/libse/SubtitleFormats/DCinemaSmpte2007.cs
@@ -563,6 +563,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
Errors = "Error validating xml via SMPTE-428-7-2007-DCST.xsd: " + exception.Message;
}
}
+
return DCinemaSmpte2010.FixDcsTextSameLine(result);
}
diff --git a/src/libse/SubtitleFormats/DCinemaSmpte2010.cs b/src/libse/SubtitleFormats/DCinemaSmpte2010.cs
index fc7d55de6..f22a59e43 100644
--- a/src/libse/SubtitleFormats/DCinemaSmpte2010.cs
+++ b/src/libse/SubtitleFormats/DCinemaSmpte2010.cs
@@ -575,11 +575,11 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
///
internal static string FixDcsTextSameLine(string xml)
{
- var index = xml.IndexOf(" 0 && endIndex > 0)
{
- endIndex = xml.IndexOf("", index, StringComparison.Ordinal);
+ endIndex = xml.IndexOf("", index, StringComparison.Ordinal);
if (endIndex > 0)
{
var part = xml.Substring(index, endIndex - index);
@@ -593,10 +593,24 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
part = part.Replace("> <", "><");
}
xml = xml.Remove(index, endIndex - index).Insert(index, part);
- index = xml.IndexOf("", "")
+ .Replace("\r", "")
+ .Replace("\n", "")
+ .Replace("\r", "")
+
+ .Replace("\r", "")
+ .Replace("\n", "")
+ .Replace("\r", "")
+ .Replace("\n", "")
+
+ .Replace(" ", "")
+ ;
+
return xml;
}
diff --git a/src/libse/SubtitleFormats/DCinemaSmpte2014.cs b/src/libse/SubtitleFormats/DCinemaSmpte2014.cs
index 6d19b33d3..ed4ae11d7 100644
--- a/src/libse/SubtitleFormats/DCinemaSmpte2014.cs
+++ b/src/libse/SubtitleFormats/DCinemaSmpte2014.cs
@@ -568,36 +568,8 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
Errors = "Error validating xml via SMPTE-428-7-2014-DCST.xsd: " + exception.Message;
}
}
- return FixDcsTextSameLine(result);
- }
- ///
- /// All space characters present inside the content of a Text element shall be rendered
- ///
- internal static string FixDcsTextSameLine(string xml)
- {
- var index = xml.IndexOf(" 0 && endIndex > 0)
- {
- endIndex = xml.IndexOf("", index, StringComparison.Ordinal);
- if (endIndex > 0)
- {
- var part = xml.Substring(index, endIndex - index);
- if (part.Contains(Environment.NewLine))
- {
- part = part.Replace(Environment.NewLine, " ");
- while (part.Contains(" "))
- {
- part = part.Replace(" ", " ");
- }
- part = part.Replace("> <", "><");
- }
- xml = xml.Remove(index, endIndex - index).Insert(index, part);
- index = xml.IndexOf("