mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Merge pull request #287 from SubtitleEdit/tools
Creation of a Core namespace
This commit is contained in:
commit
6ef5674746
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Controls
|
namespace Nikse.SubtitleEdit.Controls
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System;
|
using System;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
||||||
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
|
||||||
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Controls
|
namespace Nikse.SubtitleEdit.Controls
|
||||||
{
|
{
|
||||||
@ -307,7 +308,7 @@ namespace Nikse.SubtitleEdit.Controls
|
|||||||
|
|
||||||
// remove styles for display text (except italic)
|
// remove styles for display text (except italic)
|
||||||
string text = RemoveSubStationAlphaFormatting(_subtitleText);
|
string text = RemoveSubStationAlphaFormatting(_subtitleText);
|
||||||
text = HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagBold, HtmlUtils.TagUnderline);
|
text = HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagBold, HtmlUtil.TagUnderline);
|
||||||
|
|
||||||
// display italic
|
// display italic
|
||||||
var sb = new StringBuilder();
|
var sb = new StringBuilder();
|
||||||
|
@ -1,14 +1,45 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Logic.TransportStream;
|
||||||
|
using Nikse.SubtitleEdit.Logic.VobSub;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic
|
namespace Nikse.SubtitleEdit.Core
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// File related utilities.
|
/// File related utilities.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static class FileUtils
|
internal static class FileUtil
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Opens a binary file in read/write shared mode, reads the contents of the file into a
|
||||||
|
/// byte array, and then closes the file.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="path">The file to open for reading. </param>
|
||||||
|
/// <returns>A byte array containing the contents of the file.</returns>
|
||||||
|
public static byte[] ReadAllBytesShared(string path)
|
||||||
|
{
|
||||||
|
using (var fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||||
|
{
|
||||||
|
var index = 0;
|
||||||
|
var fileLength = fs.Length;
|
||||||
|
if (fileLength > Int32.MaxValue)
|
||||||
|
throw new IOException("File too long");
|
||||||
|
var count = (int)fileLength;
|
||||||
|
var bytes = new byte[count];
|
||||||
|
while (count > 0)
|
||||||
|
{
|
||||||
|
var n = fs.Read(bytes, index, count);
|
||||||
|
if (n == 0)
|
||||||
|
throw new InvalidOperationException("End of file reached before expected");
|
||||||
|
index += n;
|
||||||
|
count -= n;
|
||||||
|
}
|
||||||
|
return bytes;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Opens an existing file for reading, and allow the user to retry if it fails.
|
/// Opens an existing file for reading, and allow the user to retry if it fails.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -85,7 +116,7 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
System.Diagnostics.Debug.WriteLine(ex.Message);
|
Debug.WriteLine(ex.Message);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
finally
|
finally
|
||||||
@ -101,7 +132,7 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
{
|
{
|
||||||
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||||
{
|
{
|
||||||
var tsp = new TransportStream.TransportStreamParser();
|
var tsp = new TransportStreamParser();
|
||||||
tsp.DetectFormat(fs);
|
tsp.DetectFormat(fs);
|
||||||
return tsp.IsM2TransportStream;
|
return tsp.IsM2TransportStream;
|
||||||
}
|
}
|
||||||
@ -113,8 +144,8 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
{
|
{
|
||||||
var buffer = new byte[4];
|
var buffer = new byte[4];
|
||||||
fs.Read(buffer, 0, 4);
|
fs.Read(buffer, 0, 4);
|
||||||
return VobSub.VobSubParser.IsMpeg2PackHeader(buffer)
|
return VobSubParser.IsMpeg2PackHeader(buffer)
|
||||||
|| VobSub.VobSubParser.IsPrivateStream1(buffer, 0);
|
|| VobSubParser.IsPrivateStream1(buffer, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -122,13 +153,13 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
{
|
{
|
||||||
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
using (var fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
|
||||||
{
|
{
|
||||||
var buffer = new byte[VobSub.SpHeader.SpHeaderLength];
|
var buffer = new byte[SpHeader.SpHeaderLength];
|
||||||
if (fs.Read(buffer, 0, buffer.Length) != buffer.Length)
|
if (fs.Read(buffer, 0, buffer.Length) != buffer.Length)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var header = new VobSub.SpHeader(buffer);
|
var header = new SpHeader(buffer);
|
||||||
if (header.Identifier != "SP" || header.NextBlockPosition < 5)
|
if (header.Identifier != "SP" || header.NextBlockPosition < 5)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
@ -140,13 +171,13 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer = new byte[VobSub.SpHeader.SpHeaderLength];
|
buffer = new byte[SpHeader.SpHeaderLength];
|
||||||
if (fs.Read(buffer, 0, buffer.Length) != buffer.Length)
|
if (fs.Read(buffer, 0, buffer.Length) != buffer.Length)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
header = new VobSub.SpHeader(buffer);
|
header = new SpHeader(buffer);
|
||||||
return header.Identifier == "SP";
|
return header.Identifier == "SP";
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -3,12 +3,12 @@ using System.Linq;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic
|
namespace Nikse.SubtitleEdit.Core
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// HTML specific string manipulations.
|
/// HTML specific string manipulations.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static class HtmlUtils
|
internal static class HtmlUtil
|
||||||
{
|
{
|
||||||
public const string TagItalic = "i";
|
public const string TagItalic = "i";
|
||||||
public const string TagBold = "b";
|
public const string TagBold = "b";
|
43
src/Core/RegistryUtil.cs
Normal file
43
src/Core/RegistryUtil.cs
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
using Microsoft.Win32;
|
||||||
|
using System.Security;
|
||||||
|
|
||||||
|
namespace Nikse.SubtitleEdit.Core
|
||||||
|
{
|
||||||
|
internal static class RegistryUtil
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Retrieves the specified registry subkey value.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="keyName">The path of the subkey to open.</param>
|
||||||
|
/// <param name="valueName">The name of the value to retrieve.</param>
|
||||||
|
/// <returns>The value of the subkey requested, or <b>null</b> if the operation failed.</returns>
|
||||||
|
public static string GetValue(string keyName, string valueName)
|
||||||
|
{
|
||||||
|
RegistryKey key = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
key = Registry.LocalMachine.OpenSubKey(keyName);
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
var value = key.GetValue(valueName);
|
||||||
|
if (value != null)
|
||||||
|
{
|
||||||
|
return (string)value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (SecurityException)
|
||||||
|
{
|
||||||
|
// The user does not have the permissions required to read the registry key.
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
if (key != null)
|
||||||
|
{
|
||||||
|
key.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,12 +1,11 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic
|
namespace Nikse.SubtitleEdit.Core
|
||||||
{
|
{
|
||||||
public static class Extensions
|
internal static class StringExtensions
|
||||||
{
|
{
|
||||||
|
public static bool StartsWith(this string s, char c)
|
||||||
public static bool StartsWith(this String s, char c)
|
|
||||||
{
|
{
|
||||||
return s.Length > 0 && s[0] == c;
|
return s.Length > 0 && s[0] == c;
|
||||||
}
|
}
|
||||||
@ -16,7 +15,7 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
return sb.Length > 0 && sb[0] == c;
|
return sb.Length > 0 && sb[0] == c;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool EndsWith(this String s, char c)
|
public static bool EndsWith(this string s, char c)
|
||||||
{
|
{
|
||||||
return s.Length > 0 && s[s.Length - 1] == c;
|
return s.Length > 0 && s[s.Length - 1] == c;
|
||||||
}
|
}
|
||||||
@ -35,6 +34,5 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
{
|
{
|
||||||
return source.IndexOf(value, comparisonType) >= 0;
|
return source.IndexOf(value, comparisonType) >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
using Nikse.SubtitleEdit.Logic.VideoFormats;
|
using Nikse.SubtitleEdit.Logic.VideoFormats;
|
||||||
@ -361,11 +362,11 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (format == null)
|
if (format == null)
|
||||||
{
|
{
|
||||||
if (FileUtils.IsBluRaySup(fileName))
|
if (FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
item.SubItems.Add("Blu-ray");
|
item.SubItems.Add("Blu-ray");
|
||||||
}
|
}
|
||||||
else if (FileUtils.IsVobSub(fileName))
|
else if (FileUtil.IsVobSub(fileName))
|
||||||
{
|
{
|
||||||
item.SubItems.Add("VobSub");
|
item.SubItems.Add("VobSub");
|
||||||
}
|
}
|
||||||
@ -680,12 +681,12 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
var bluRaySubtitles = new List<BluRaySupParser.PcsData>();
|
var bluRaySubtitles = new List<BluRaySupParser.PcsData>();
|
||||||
bool isVobSub = false;
|
bool isVobSub = false;
|
||||||
bool isMatroska = false;
|
bool isMatroska = false;
|
||||||
if (format == null && fileName.EndsWith(".sup", StringComparison.OrdinalIgnoreCase) && FileUtils.IsBluRaySup(fileName))
|
if (format == null && fileName.EndsWith(".sup", StringComparison.OrdinalIgnoreCase) && FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
var log = new StringBuilder();
|
var log = new StringBuilder();
|
||||||
bluRaySubtitles = BluRaySupParser.ParseBluRaySup(fileName, log);
|
bluRaySubtitles = BluRaySupParser.ParseBluRaySup(fileName, log);
|
||||||
}
|
}
|
||||||
else if (format == null && fileName.EndsWith(".sub", StringComparison.OrdinalIgnoreCase) && FileUtils.IsVobSub(fileName))
|
else if (format == null && fileName.EndsWith(".sub", StringComparison.OrdinalIgnoreCase) && FileUtil.IsVobSub(fileName))
|
||||||
{
|
{
|
||||||
isVobSub = true;
|
isVobSub = true;
|
||||||
}
|
}
|
||||||
@ -1178,11 +1179,11 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
if (ext != ".png" && ext != ".jpg" && ext != ".dll" && ext != ".exe" && ext != ".zip")
|
if (ext != ".png" && ext != ".jpg" && ext != ".dll" && ext != ".exe" && ext != ".zip")
|
||||||
{
|
{
|
||||||
var fi = new FileInfo(fileName);
|
var fi = new FileInfo(fileName);
|
||||||
if (ext == ".sub" && FileUtils.IsVobSub(fileName))
|
if (ext == ".sub" && FileUtil.IsVobSub(fileName))
|
||||||
{
|
{
|
||||||
AddFromSearch(fileName, fi, "VobSub");
|
AddFromSearch(fileName, fi, "VobSub");
|
||||||
}
|
}
|
||||||
else if (ext == ".sup" && FileUtils.IsBluRaySup(fileName))
|
else if (ext == ".sup" && FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
AddFromSearch(fileName, fi, "Blu-ray");
|
AddFromSearch(fileName, fi, "Blu-ray");
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using System.Drawing.Text;
|
using System.Drawing.Text;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
{
|
{
|
||||||
@ -219,7 +220,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
g = Graphics.FromImage(bmp);
|
g = Graphics.FromImage(bmp);
|
||||||
|
|
||||||
var lefts = new List<float>();
|
var lefts = new List<float>();
|
||||||
foreach (var line in HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagItalic, HtmlUtils.TagFont).Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
foreach (var line in HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagItalic, HtmlUtil.TagFont).Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
||||||
{
|
{
|
||||||
if (subtitleAlignLeft)
|
if (subtitleAlignLeft)
|
||||||
lefts.Add(5);
|
lefts.Add(5);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Controls;
|
using Nikse.SubtitleEdit.Controls;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
using System;
|
using System;
|
||||||
@ -111,7 +112,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (FileUtils.IsVobSub(openFileDialog1.FileName) || FileUtils.IsBluRaySup(openFileDialog1.FileName))
|
if (FileUtil.IsVobSub(openFileDialog1.FileName) || FileUtil.IsBluRaySup(openFileDialog1.FileName))
|
||||||
{
|
{
|
||||||
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
||||||
return;
|
return;
|
||||||
@ -154,7 +155,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
if (openFileDialog1.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (FileUtils.IsVobSub(openFileDialog1.FileName) || FileUtils.IsBluRaySup(openFileDialog1.FileName))
|
if (FileUtil.IsVobSub(openFileDialog1.FileName) || FileUtil.IsBluRaySup(openFileDialog1.FileName))
|
||||||
{
|
{
|
||||||
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
||||||
return;
|
return;
|
||||||
@ -873,7 +874,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
if (!listExt.Contains(Path.GetExtension(filePath)))
|
if (!listExt.Contains(Path.GetExtension(filePath)))
|
||||||
return;
|
return;
|
||||||
if (FileUtils.IsVobSub(filePath) || FileUtils.IsBluRaySup(filePath))
|
if (FileUtil.IsVobSub(filePath) || FileUtil.IsBluRaySup(filePath))
|
||||||
{
|
{
|
||||||
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
MessageBox.Show(Configuration.Settings.Language.CompareSubtitles.CannotCompareWithImageBasedSubtitles);
|
||||||
return;
|
return;
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
using Nikse.SubtitleEdit.Logic.VobSub;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
|
||||||
using Nikse.SubtitleEdit.Logic.VobSub;
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
{
|
{
|
||||||
@ -209,7 +210,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
long firstNavStartPTS = 0;
|
long firstNavStartPTS = 0;
|
||||||
|
|
||||||
using (var fs = FileUtils.RetryOpenRead(vobFileName))
|
using (var fs = FileUtil.RetryOpenRead(vobFileName))
|
||||||
{
|
{
|
||||||
byte[] buffer = new byte[0x800];
|
byte[] buffer = new byte[0x800];
|
||||||
long position = 0;
|
long position = 0;
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using System.Text.RegularExpressions;
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
using Nikse.SubtitleEdit.Logic.VobSub;
|
using Nikse.SubtitleEdit.Logic.VobSub;
|
||||||
@ -11,6 +11,7 @@ using System.Drawing.Text;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
@ -1793,7 +1794,7 @@ $DROP=[DROPVALUE]" + Environment.NewLine + Environment.NewLine +
|
|||||||
text = text.Replace("</B>", "</b>");
|
text = text.Replace("</B>", "</b>");
|
||||||
|
|
||||||
// no support for underline
|
// no support for underline
|
||||||
text = HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagUnderline);
|
text = HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagUnderline);
|
||||||
|
|
||||||
Font font = SetFont(parameter, parameter.SubtitleFontSize);
|
Font font = SetFont(parameter, parameter.SubtitleFontSize);
|
||||||
var lineHeight = parameter.LineHeight; // (textSize.Height * 0.64f);
|
var lineHeight = parameter.LineHeight; // (textSize.Height * 0.64f);
|
||||||
@ -1852,7 +1853,7 @@ $DROP=[DROPVALUE]" + Environment.NewLine + Environment.NewLine +
|
|||||||
{
|
{
|
||||||
foreach (string line in text.Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
foreach (string line in text.Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
||||||
{
|
{
|
||||||
var lineNoHtml = HtmlUtils.RemoveOpenCloseTags(line, HtmlUtils.TagItalic, HtmlUtils.TagFont);
|
var lineNoHtml = HtmlUtil.RemoveOpenCloseTags(line, HtmlUtil.TagItalic, HtmlUtil.TagFont);
|
||||||
if (parameter.AlignLeft)
|
if (parameter.AlignLeft)
|
||||||
lefts.Add(5);
|
lefts.Add(5);
|
||||||
else if (parameter.AlignRight)
|
else if (parameter.AlignRight)
|
||||||
@ -1863,7 +1864,7 @@ $DROP=[DROPVALUE]" + Environment.NewLine + Environment.NewLine +
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
foreach (var line in HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagItalic, HtmlUtils.TagFont).Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
foreach (var line in HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagItalic, HtmlUtil.TagFont).Split(Utilities.NewLineChars, StringSplitOptions.RemoveEmptyEntries))
|
||||||
{
|
{
|
||||||
if (parameter.AlignLeft)
|
if (parameter.AlignLeft)
|
||||||
lefts.Add(5);
|
lefts.Add(5);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using Nikse.SubtitleEdit.Logic.Forms;
|
using Nikse.SubtitleEdit.Logic.Forms;
|
||||||
using Nikse.SubtitleEdit.Logic.Ocr;
|
using Nikse.SubtitleEdit.Logic.Ocr;
|
||||||
|
@ -6,6 +6,7 @@ using System.Net;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
|
@ -6,6 +6,7 @@ using System.IO;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Controls;
|
using Nikse.SubtitleEdit.Controls;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
||||||
using Nikse.SubtitleEdit.Logic.Enums;
|
using Nikse.SubtitleEdit.Logic.Enums;
|
||||||
@ -2259,12 +2260,12 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (ext == ".sup")
|
if (ext == ".sup")
|
||||||
{
|
{
|
||||||
if (FileUtils.IsBluRaySup(fileName))
|
if (FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
ImportAndOcrBluRaySup(fileName, _loading);
|
ImportAndOcrBluRaySup(fileName, _loading);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (FileUtils.IsSpDvdSup(fileName))
|
else if (FileUtil.IsSpDvdSup(fileName))
|
||||||
{
|
{
|
||||||
ImportAndOcrSpDvdSup(fileName, _loading);
|
ImportAndOcrSpDvdSup(fileName, _loading);
|
||||||
return;
|
return;
|
||||||
@ -2297,13 +2298,13 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
var fi = new FileInfo(fileName);
|
var fi = new FileInfo(fileName);
|
||||||
|
|
||||||
if ((ext == ".ts" || ext == ".rec" || ext == ".mpeg" || ext == ".mpg") && fi.Length > 10000 && FileUtils.IsTransportStream(fileName))
|
if ((ext == ".ts" || ext == ".rec" || ext == ".mpeg" || ext == ".mpg") && fi.Length > 10000 && FileUtil.IsTransportStream(fileName))
|
||||||
{
|
{
|
||||||
ImportSubtitleFromTransportStream(fileName);
|
ImportSubtitleFromTransportStream(fileName);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((ext == ".m2ts") && fi.Length > 10000 && FileUtils.IsM2TransportStream(fileName))
|
if ((ext == ".m2ts") && fi.Length > 10000 && FileUtil.IsM2TransportStream(fileName))
|
||||||
{
|
{
|
||||||
ImportSubtitleFromTransportStream(fileName);
|
ImportSubtitleFromTransportStream(fileName);
|
||||||
return;
|
return;
|
||||||
@ -2321,7 +2322,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
|
|
||||||
// retry Blu-ray sup (file with wrong extension)
|
// retry Blu-ray sup (file with wrong extension)
|
||||||
if (FileUtils.IsBluRaySup(fileName))
|
if (FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
ImportAndOcrBluRaySup(fileName, _loading);
|
ImportAndOcrBluRaySup(fileName, _loading);
|
||||||
return;
|
return;
|
||||||
@ -2770,14 +2771,14 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
// retry Blu-ray (file with wrong extension)
|
// retry Blu-ray (file with wrong extension)
|
||||||
if (format == null && fi.Length > 500 && FileUtils.IsBluRaySup(fileName))
|
if (format == null && fi.Length > 500 && FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
ImportAndOcrBluRaySup(fileName, _loading);
|
ImportAndOcrBluRaySup(fileName, _loading);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// retry SP DVD (file with wrong extension)
|
// retry SP DVD (file with wrong extension)
|
||||||
if (format == null && fi.Length > 500 && FileUtils.IsSpDvdSup(fileName))
|
if (format == null && fi.Length > 500 && FileUtil.IsSpDvdSup(fileName))
|
||||||
{
|
{
|
||||||
ImportAndOcrSpDvdSup(fileName, _loading);
|
ImportAndOcrSpDvdSup(fileName, _loading);
|
||||||
return;
|
return;
|
||||||
@ -2794,7 +2795,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check for .rar file
|
// check for .rar file
|
||||||
if (format == null && fi.Length > 100 && FileUtils.IsRar(fileName))
|
if (format == null && fi.Length > 100 && FileUtil.IsRar(fileName))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(_language.ErrorLoadRar))
|
if (string.IsNullOrEmpty(_language.ErrorLoadRar))
|
||||||
MessageBox.Show("This file seems to be a compressed .rar file. Subtitle Edit cannot open compressed files.");
|
MessageBox.Show("This file seems to be a compressed .rar file. Subtitle Edit cannot open compressed files.");
|
||||||
@ -2804,7 +2805,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
|
|
||||||
// check for .zip file
|
// check for .zip file
|
||||||
if (format == null && fi.Length > 100 && FileUtils.IsZip(fileName))
|
if (format == null && fi.Length > 100 && FileUtil.IsZip(fileName))
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(_language.ErrorLoadZip))
|
if (string.IsNullOrEmpty(_language.ErrorLoadZip))
|
||||||
MessageBox.Show("This file seems to be a compressed .zip file. Subtitle Edit cannot open compressed files.");
|
MessageBox.Show("This file seems to be a compressed .zip file. Subtitle Edit cannot open compressed files.");
|
||||||
@ -5236,11 +5237,11 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
// do not allow blu-ray/vobsub
|
// do not allow blu-ray/vobsub
|
||||||
string extension = Path.GetExtension(fileName).ToLower();
|
string extension = Path.GetExtension(fileName).ToLower();
|
||||||
if (extension == ".sub" && (IsVobSubFile(fileName, false) || FileUtils.IsSpDvdSup(fileName)))
|
if (extension == ".sub" && (IsVobSubFile(fileName, false) || FileUtil.IsSpDvdSup(fileName)))
|
||||||
{
|
{
|
||||||
format = null;
|
format = null;
|
||||||
}
|
}
|
||||||
else if (extension == ".sup" && FileUtils.IsBluRaySup(fileName))
|
else if (extension == ".sup" && FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
format = null;
|
format = null;
|
||||||
}
|
}
|
||||||
@ -7131,7 +7132,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
if (textBoxListViewText.Text.Contains("<i>"))
|
if (textBoxListViewText.Text.Contains("<i>"))
|
||||||
{
|
{
|
||||||
textBoxListViewText.Text = HtmlUtils.RemoveOpenCloseTags(textBoxListViewText.Text, HtmlUtils.TagItalic);
|
textBoxListViewText.Text = HtmlUtil.RemoveOpenCloseTags(textBoxListViewText.Text, HtmlUtil.TagItalic);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -8089,7 +8090,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
if (allLinesStartAndEndsWithItalic)
|
if (allLinesStartAndEndsWithItalic)
|
||||||
{
|
{
|
||||||
text = HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagItalic).Trim();
|
text = HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagItalic).Trim();
|
||||||
text = "<i>" + text + "</i>";
|
text = "<i>" + text + "</i>";
|
||||||
}
|
}
|
||||||
return text;
|
return text;
|
||||||
@ -10149,15 +10150,15 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
OpenSubtitle(fileName, null);
|
OpenSubtitle(fileName, null);
|
||||||
}
|
}
|
||||||
else if (fi.Length < 250000000 && ext == ".sup" && FileUtils.IsBluRaySup(fileName)) // max 250 mb
|
else if (fi.Length < 250000000 && ext == ".sup" && FileUtil.IsBluRaySup(fileName)) // max 250 mb
|
||||||
{
|
{
|
||||||
OpenSubtitle(fileName, null);
|
OpenSubtitle(fileName, null);
|
||||||
}
|
}
|
||||||
else if ((ext == ".ts" || ext == ".rec" || ext == ".mpg" || ext == ".mpeg") && FileUtils.IsTransportStream(fileName))
|
else if ((ext == ".ts" || ext == ".rec" || ext == ".mpg" || ext == ".mpeg") && FileUtil.IsTransportStream(fileName))
|
||||||
{
|
{
|
||||||
OpenSubtitle(fileName, null);
|
OpenSubtitle(fileName, null);
|
||||||
}
|
}
|
||||||
else if (ext == ".m2ts" && FileUtils.IsM2TransportStream(fileName))
|
else if (ext == ".m2ts" && FileUtil.IsM2TransportStream(fileName))
|
||||||
{
|
{
|
||||||
OpenSubtitle(fileName, null);
|
OpenSubtitle(fileName, null);
|
||||||
}
|
}
|
||||||
@ -10349,7 +10350,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
bool isHeaderOk = FileUtils.IsVobSub(subFileName);
|
bool isHeaderOk = FileUtil.IsVobSub(subFileName);
|
||||||
if (isHeaderOk)
|
if (isHeaderOk)
|
||||||
{
|
{
|
||||||
if (!verbose)
|
if (!verbose)
|
||||||
@ -12622,12 +12623,12 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (Path.GetExtension(fileName).Equals(".sup", StringComparison.OrdinalIgnoreCase))
|
if (Path.GetExtension(fileName).Equals(".sup", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
if (FileUtils.IsBluRaySup(fileName))
|
if (FileUtil.IsBluRaySup(fileName))
|
||||||
{
|
{
|
||||||
MessageBox.Show("Blu-ray sup files not supported here");
|
MessageBox.Show("Blu-ray sup files not supported here");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (FileUtils.IsSpDvdSup(fileName))
|
else if (FileUtil.IsSpDvdSup(fileName))
|
||||||
{
|
{
|
||||||
MessageBox.Show("DVD sup files not supported here");
|
MessageBox.Show("DVD sup files not supported here");
|
||||||
return;
|
return;
|
||||||
@ -17014,7 +17015,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
{
|
{
|
||||||
if (textBoxListViewTextAlternate.Text.Contains("<i>"))
|
if (textBoxListViewTextAlternate.Text.Contains("<i>"))
|
||||||
{
|
{
|
||||||
textBoxListViewTextAlternate.Text = HtmlUtils.RemoveOpenCloseTags(textBoxListViewTextAlternate.Text, HtmlUtils.TagItalic);
|
textBoxListViewTextAlternate.Text = HtmlUtil.RemoveOpenCloseTags(textBoxListViewTextAlternate.Text, HtmlUtil.TagItalic);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Controls;
|
using Nikse.SubtitleEdit.Controls;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Networking;
|
using Nikse.SubtitleEdit.Logic.Networking;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Forms
|
namespace Nikse.SubtitleEdit.Forms
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System;
|
using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Forms;
|
using Nikse.SubtitleEdit.Logic.Forms;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
||||||
using System;
|
using System;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using Nikse.SubtitleEdit.Logic.Enums;
|
using Nikse.SubtitleEdit.Logic.Enums;
|
||||||
using Nikse.SubtitleEdit.Logic.SpellCheck;
|
using Nikse.SubtitleEdit.Logic.SpellCheck;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Forms;
|
using Nikse.SubtitleEdit.Logic.Forms;
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
|
|
||||||
|
@ -6,6 +6,7 @@ using System.Drawing.Text;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@ using System.Drawing.Text;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
using Nikse.SubtitleEdit.Logic.SubtitleFormats;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Nikse.SubtitleEdit.Controls;
|
using Nikse.SubtitleEdit.Controls;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
using Nikse.SubtitleEdit.Logic.VideoPlayers;
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.Ocr.Binary;
|
using Nikse.SubtitleEdit.Logic.Ocr.Binary;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
using System.Net;
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
using Nikse.SubtitleEdit.Logic.BluRaySup;
|
||||||
using Nikse.SubtitleEdit.Logic.Ocr;
|
using Nikse.SubtitleEdit.Logic.Ocr;
|
||||||
@ -12,6 +12,7 @@ using System.Diagnostics;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Net;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@ -4720,7 +4721,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (allItalic && matches.Count > 0)
|
if (allItalic && matches.Count > 0)
|
||||||
{
|
{
|
||||||
var temp = HtmlUtils.RemoveOpenCloseTags(paragraph.ToString(), HtmlUtils.TagItalic);
|
var temp = HtmlUtil.RemoveOpenCloseTags(paragraph.ToString(), HtmlUtil.TagItalic);
|
||||||
paragraph.Clear();
|
paragraph.Clear();
|
||||||
paragraph.Append("<i>");
|
paragraph.Append("<i>");
|
||||||
paragraph.Append(temp);
|
paragraph.Append(temp);
|
||||||
@ -4742,7 +4743,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
&& (wordNonItalics == 0 || wordNonItalics < 2 && lineLettersNonItalics < 3 && line.ToString().TrimStart().StartsWith('-')))
|
&& (wordNonItalics == 0 || wordNonItalics < 2 && lineLettersNonItalics < 3 && line.ToString().TrimStart().StartsWith('-')))
|
||||||
{
|
{
|
||||||
paragraph.Append("<i>");
|
paragraph.Append("<i>");
|
||||||
paragraph.Append(HtmlUtils.RemoveOpenCloseTags(line.ToString(), HtmlUtils.TagItalic));
|
paragraph.Append(HtmlUtil.RemoveOpenCloseTags(line.ToString(), HtmlUtil.TagItalic));
|
||||||
paragraph.Append("</i>");
|
paragraph.Append("</i>");
|
||||||
paragraph.Append(appendString);
|
paragraph.Append(appendString);
|
||||||
}
|
}
|
||||||
@ -5713,7 +5714,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
if (line.Contains('[') && line.Contains(']'))
|
if (line.Contains('[') && line.Contains(']'))
|
||||||
line = line.Replace("[", string.Empty).Replace("]", string.Empty);
|
line = line.Replace("[", string.Empty).Replace("]", string.Empty);
|
||||||
|
|
||||||
line = HtmlUtils.RemoveOpenCloseTags(line, HtmlUtils.TagItalic);
|
line = HtmlUtil.RemoveOpenCloseTags(line, HtmlUtil.TagItalic);
|
||||||
|
|
||||||
int count = 0;
|
int count = 0;
|
||||||
var arr = line.Replace("a.m", string.Empty).Replace("p.m", string.Empty).Replace("o.r", string.Empty)
|
var arr = line.Replace("a.m", string.Empty).Replace("p.m", string.Empty).Replace("o.r", string.Empty)
|
||||||
@ -5799,16 +5800,16 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!checkBoxTesseractItalicsOn.Checked)
|
if (!checkBoxTesseractItalicsOn.Checked)
|
||||||
textWithOutFixes = HtmlUtils.RemoveOpenCloseTags(textWithOutFixes, HtmlUtils.TagItalic);
|
textWithOutFixes = HtmlUtil.RemoveOpenCloseTags(textWithOutFixes, HtmlUtil.TagItalic);
|
||||||
|
|
||||||
// Sometimes Tesseract has problems with small fonts - it helps to make the image larger
|
// Sometimes Tesseract has problems with small fonts - it helps to make the image larger
|
||||||
if (HtmlUtils.RemoveOpenCloseTags(textWithOutFixes, HtmlUtils.TagItalic).Replace("@", string.Empty).Replace("%", string.Empty).Replace("|", string.Empty).Trim().Length < 3
|
if (HtmlUtil.RemoveOpenCloseTags(textWithOutFixes, HtmlUtil.TagItalic).Replace("@", string.Empty).Replace("%", string.Empty).Replace("|", string.Empty).Trim().Length < 3
|
||||||
|| Utilities.CountTagInText("\n", textWithOutFixes) > 2)
|
|| Utilities.CountTagInText("\n", textWithOutFixes) > 2)
|
||||||
{
|
{
|
||||||
string rs = TesseractResizeAndRetry(bitmap);
|
string rs = TesseractResizeAndRetry(bitmap);
|
||||||
textWithOutFixes = rs;
|
textWithOutFixes = rs;
|
||||||
if (!checkBoxTesseractItalicsOn.Checked)
|
if (!checkBoxTesseractItalicsOn.Checked)
|
||||||
textWithOutFixes = HtmlUtils.RemoveOpenCloseTags(textWithOutFixes, HtmlUtils.TagItalic);
|
textWithOutFixes = HtmlUtil.RemoveOpenCloseTags(textWithOutFixes, HtmlUtil.TagItalic);
|
||||||
}
|
}
|
||||||
|
|
||||||
// fix italics
|
// fix italics
|
||||||
@ -5990,7 +5991,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
wordsNotFound = modiWordsNotFound;
|
wordsNotFound = modiWordsNotFound;
|
||||||
correctWords = modiCorrectWords;
|
correctWords = modiCorrectWords;
|
||||||
|
|
||||||
line = HtmlUtils.RemoveOpenCloseTags(line, HtmlUtils.TagItalic).Trim();
|
line = HtmlUtil.RemoveOpenCloseTags(line, HtmlUtil.TagItalic).Trim();
|
||||||
|
|
||||||
if (line.Length > 7 && unItalicText.Length > 7 && unItalicText.StartsWith("I ") &&
|
if (line.Length > 7 && unItalicText.Length > 7 && unItalicText.StartsWith("I ") &&
|
||||||
line.StartsWith(unItalicText.Remove(0, 2).Substring(0, 4)))
|
line.StartsWith(unItalicText.Remove(0, 2).Substring(0, 4)))
|
||||||
@ -5998,11 +5999,11 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
|
|
||||||
if (checkBoxTesseractMusicOn.Checked)
|
if (checkBoxTesseractMusicOn.Checked)
|
||||||
{
|
{
|
||||||
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtils.RemoveOpenCloseTags(unItalicText, HtmlUtils.TagItalic).Substring(1, 2) == "' ")
|
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtil.RemoveOpenCloseTags(unItalicText, HtmlUtil.TagItalic).Substring(1, 2) == "' ")
|
||||||
{
|
{
|
||||||
unItalicText = "♪ " + unItalicText.Remove(0, 2).TrimStart();
|
unItalicText = "♪ " + unItalicText.Remove(0, 2).TrimStart();
|
||||||
}
|
}
|
||||||
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtils.RemoveOpenCloseTags(unItalicText, HtmlUtils.TagItalic)[1] == ' ')
|
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtil.RemoveOpenCloseTags(unItalicText, HtmlUtil.TagItalic)[1] == ' ')
|
||||||
{
|
{
|
||||||
bool ita = unItalicText.StartsWith("<i>") && unItalicText.EndsWith("</i>");
|
bool ita = unItalicText.StartsWith("<i>") && unItalicText.EndsWith("</i>");
|
||||||
unItalicText = Utilities.RemoveHtmlTags(unItalicText);
|
unItalicText = Utilities.RemoveHtmlTags(unItalicText);
|
||||||
@ -6010,7 +6011,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
if (ita)
|
if (ita)
|
||||||
unItalicText = "<i>" + unItalicText + "</i>";
|
unItalicText = "<i>" + unItalicText + "</i>";
|
||||||
}
|
}
|
||||||
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtils.RemoveOpenCloseTags(unItalicText, HtmlUtils.TagItalic)[2] == ' ')
|
if ((line.StartsWith("J' ") || line.StartsWith("J“ ") || line.StartsWith("J* ") || line.StartsWith("♪ ")) && unItalicText.Length > 3 && HtmlUtil.RemoveOpenCloseTags(unItalicText, HtmlUtil.TagItalic)[2] == ' ')
|
||||||
{
|
{
|
||||||
bool ita = unItalicText.StartsWith("<i>") && unItalicText.EndsWith("</i>");
|
bool ita = unItalicText.StartsWith("<i>") && unItalicText.EndsWith("</i>");
|
||||||
unItalicText = Utilities.RemoveHtmlTags(unItalicText);
|
unItalicText = Utilities.RemoveHtmlTags(unItalicText);
|
||||||
@ -6177,7 +6178,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
unItalicText += "?";
|
unItalicText += "?";
|
||||||
}
|
}
|
||||||
|
|
||||||
line = HtmlUtils.RemoveOpenCloseTags(unItalicText, HtmlUtils.TagItalic);
|
line = HtmlUtil.RemoveOpenCloseTags(unItalicText, HtmlUtil.TagItalic);
|
||||||
if (checkBoxAutoFixCommonErrors.Checked)
|
if (checkBoxAutoFixCommonErrors.Checked)
|
||||||
{
|
{
|
||||||
if (line.Contains("'.") && !textWithOutFixes.Contains("'.") && textWithOutFixes.Contains(':') && !line.EndsWith("'.") && Configuration.Settings.Tools.OcrFixUseHardcodedRules)
|
if (line.Contains("'.") && !textWithOutFixes.Contains("'.") && textWithOutFixes.Contains(':') && !line.EndsWith("'.") && Configuration.Settings.Tools.OcrFixUseHardcodedRules)
|
||||||
@ -6371,7 +6372,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
subtitleListView1.SetBackgroundColor(index, Color.Orange);
|
subtitleListView1.SetBackgroundColor(index, Color.Orange);
|
||||||
else if (badWords > 0 || line.Contains('_') || HasSingleLetters(line))
|
else if (badWords > 0 || line.Contains('_') || HasSingleLetters(line))
|
||||||
subtitleListView1.SetBackgroundColor(index, Color.Yellow);
|
subtitleListView1.SetBackgroundColor(index, Color.Yellow);
|
||||||
else if (string.IsNullOrWhiteSpace(HtmlUtils.RemoveOpenCloseTags(line, HtmlUtils.TagItalic)))
|
else if (string.IsNullOrWhiteSpace(HtmlUtil.RemoveOpenCloseTags(line, HtmlUtil.TagItalic)))
|
||||||
subtitleListView1.SetBackgroundColor(index, Color.Orange);
|
subtitleListView1.SetBackgroundColor(index, Color.Orange);
|
||||||
else
|
else
|
||||||
subtitleListView1.SetBackgroundColor(index, Color.LightGreen);
|
subtitleListView1.SetBackgroundColor(index, Color.LightGreen);
|
||||||
@ -6417,7 +6418,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
s = ("<i>I " + s.Remove(0, 5)).Replace(" ", " ");
|
s = ("<i>I " + s.Remove(0, 5)).Replace(" ", " ");
|
||||||
else if (italicStartCount == 1 && s.Length > 20 &&
|
else if (italicStartCount == 1 && s.Length > 20 &&
|
||||||
s.IndexOf("<i>", StringComparison.Ordinal) > 1 && s.IndexOf("<i>", StringComparison.Ordinal) < 10 && s.EndsWith("</i>"))
|
s.IndexOf("<i>", StringComparison.Ordinal) > 1 && s.IndexOf("<i>", StringComparison.Ordinal) < 10 && s.EndsWith("</i>"))
|
||||||
s = "<i>" + HtmlUtils.RemoveOpenCloseTags(s, HtmlUtils.TagItalic) + "</i>";
|
s = "<i>" + HtmlUtil.RemoveOpenCloseTags(s, HtmlUtil.TagItalic) + "</i>";
|
||||||
s = s.Replace("</i>" + Environment.NewLine + "<i>", Environment.NewLine);
|
s = s.Replace("</i>" + Environment.NewLine + "<i>", Environment.NewLine);
|
||||||
|
|
||||||
return Utilities.FixInvalidItalicTags(s);
|
return Utilities.FixInvalidItalicTags(s);
|
||||||
@ -7665,7 +7666,7 @@ namespace Nikse.SubtitleEdit.Forms
|
|||||||
int selectionStart = tb.SelectionStart;
|
int selectionStart = tb.SelectionStart;
|
||||||
if (text.Contains("<i>"))
|
if (text.Contains("<i>"))
|
||||||
{
|
{
|
||||||
text = HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagItalic);
|
text = HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagItalic);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic;
|
using Nikse.SubtitleEdit.Logic;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic
|
namespace Nikse.SubtitleEdit.Logic
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Configuration settings via Singleton pattern (note: Do not call Utilities from this class)
|
/// Configuration settings via Singleton pattern
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Configuration
|
public class Configuration
|
||||||
{
|
{
|
||||||
@ -160,50 +161,15 @@ namespace Nikse.SubtitleEdit.Logic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Retrieves the specified registry subkey value.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="keyName">The path of the subkey to open.</param>
|
|
||||||
/// <param name="valueName">The name of the value to retrieve.</param>
|
|
||||||
/// <returns>The value of the subkey requested, or <b>null</b> if the operation failed.</returns>
|
|
||||||
public static string GetRegistryValue(string keyName, string valueName)
|
|
||||||
{
|
|
||||||
Microsoft.Win32.RegistryKey key = null;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(keyName);
|
|
||||||
if (key != null)
|
|
||||||
{
|
|
||||||
var value = key.GetValue(valueName);
|
|
||||||
if (value != null)
|
|
||||||
{
|
|
||||||
return (string)value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (System.Security.SecurityException)
|
|
||||||
{
|
|
||||||
// The user does not have the permissions required to read the registry key.
|
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
if (key != null)
|
|
||||||
{
|
|
||||||
key.Dispose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static string GetInstallerPath()
|
private static string GetInstallerPath()
|
||||||
{
|
{
|
||||||
var value = GetRegistryValue(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SubtitleEdit_is1", "InstallLocation");
|
var value = RegistryUtil.GetValue(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SubtitleEdit_is1", "InstallLocation");
|
||||||
if (value != null && Directory.Exists(value))
|
if (value != null && Directory.Exists(value))
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
}
|
}
|
||||||
|
|
||||||
value = GetRegistryValue(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\SubtitleEdit_is1", "InstallLocation");
|
value = RegistryUtil.GetValue(@"SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\SubtitleEdit_is1", "InstallLocation");
|
||||||
if (value != null && Directory.Exists(value))
|
if (value != null && Directory.Exists(value))
|
||||||
{
|
{
|
||||||
return value;
|
return value;
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Dictionaries
|
namespace Nikse.SubtitleEdit.Logic.Dictionaries
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,7 @@ using System.Text;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Dictionaries
|
namespace Nikse.SubtitleEdit.Logic.Dictionaries
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Net;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Forms
|
namespace Nikse.SubtitleEdit.Logic.Forms
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Forms
|
namespace Nikse.SubtitleEdit.Logic.Forms
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.Forms
|
namespace Nikse.SubtitleEdit.Logic.Forms
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using Nikse.SubtitleEdit.Logic.VobSub;
|
using Nikse.SubtitleEdit.Logic.VobSub;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Forms;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Forms;
|
||||||
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
using Nikse.SubtitleEdit.Logic.Dictionaries;
|
||||||
using Nikse.SubtitleEdit.Logic.SpellCheck;
|
using Nikse.SubtitleEdit.Logic.SpellCheck;
|
||||||
using System;
|
using System;
|
||||||
@ -985,7 +986,7 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
string word = words[i].TrimStart('\'');
|
string word = words[i].TrimStart('\'');
|
||||||
string wordNotEndTrimmed = word;
|
string wordNotEndTrimmed = word;
|
||||||
word = word.TrimEnd('\'');
|
word = word.TrimEnd('\'');
|
||||||
string wordNoItalics = HtmlUtils.RemoveOpenCloseTags(word, HtmlUtils.TagItalic);
|
string wordNoItalics = HtmlUtil.RemoveOpenCloseTags(word, HtmlUtil.TagItalic);
|
||||||
if (!IsWordKnownOrNumber(wordNoItalics, line) && !localIgnoreWords.Contains(wordNoItalics))
|
if (!IsWordKnownOrNumber(wordNoItalics, line) && !localIgnoreWords.Contains(wordNoItalics))
|
||||||
{
|
{
|
||||||
bool correct = DoSpell(word);
|
bool correct = DoSpell(word);
|
||||||
@ -1160,7 +1161,7 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
private static string GetDashedWordBefore(string word, string line, string[] words, int index)
|
private static string GetDashedWordBefore(string word, string line, string[] words, int index)
|
||||||
{
|
{
|
||||||
if (index > 0 && line.Contains(words[index - 1] + "-" + word))
|
if (index > 0 && line.Contains(words[index - 1] + "-" + word))
|
||||||
return HtmlUtils.RemoveOpenCloseTags(words[index - 1] + "-" + word, HtmlUtils.TagItalic);
|
return HtmlUtil.RemoveOpenCloseTags(words[index - 1] + "-" + word, HtmlUtil.TagItalic);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1168,7 +1169,7 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
private static string GetDashedWordAfter(string word, string line, string[] words, int index)
|
private static string GetDashedWordAfter(string word, string line, string[] words, int index)
|
||||||
{
|
{
|
||||||
if (index < words.Length - 1 && line.Contains(word + "-" + words[index + 1].Replace("</i>", string.Empty)))
|
if (index < words.Length - 1 && line.Contains(word + "-" + words[index + 1].Replace("</i>", string.Empty)))
|
||||||
return HtmlUtils.RemoveOpenCloseTags(word + "-" + words[index + 1], HtmlUtils.TagItalic);
|
return HtmlUtil.RemoveOpenCloseTags(word + "-" + words[index + 1], HtmlUtil.TagItalic);
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -1402,7 +1403,7 @@ namespace Nikse.SubtitleEdit.Logic.Ocr
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int wordsNotFound = 0;
|
int wordsNotFound = 0;
|
||||||
var words = HtmlUtils.RemoveOpenCloseTags(line, HtmlUtils.TagItalic).Split((Environment.NewLine + " ¡¿,.!?:;()[]{}+-$£\"#&%…“”").ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
var words = HtmlUtil.RemoveOpenCloseTags(line, HtmlUtil.TagItalic).Split((Environment.NewLine + " ¡¿,.!?:;()[]{}+-$£\"#&%…“”").ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
|
||||||
for (int i = 0; i < words.Length; i++)
|
for (int i = 0; i < words.Length; i++)
|
||||||
{
|
{
|
||||||
string word = words[i];
|
string word = words[i];
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic
|
namespace Nikse.SubtitleEdit.Logic
|
||||||
{
|
{
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -128,7 +129,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
var fi = new FileInfo(fileName);
|
var fi = new FileInfo(fileName);
|
||||||
if (fi.Length > 1150 && fi.Length < 1024000) // not too small or too big
|
if (fi.Length > 1150 && fi.Length < 1024000) // not too small or too big
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
if (buffer[0] == 0x38 &&
|
if (buffer[0] == 0x38 &&
|
||||||
buffer[1] == 0x35 &&
|
buffer[1] == 0x35 &&
|
||||||
buffer[2] == 0x30 &&
|
buffer[2] == 0x30 &&
|
||||||
@ -177,7 +178,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int index = 1024;
|
int index = 1024;
|
||||||
while (index <= buffer.Length - 128)
|
while (index <= buffer.Length - 128)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@ -267,7 +268,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
|
|
||||||
private static string EncodeText(string s)
|
private static string EncodeText(string s)
|
||||||
{
|
{
|
||||||
s = HtmlUtils.RemoveOpenCloseTags(s, HtmlUtils.TagBold, HtmlUtils.TagUnderline, HtmlUtils.TagFont);
|
s = HtmlUtil.RemoveOpenCloseTags(s, HtmlUtil.TagBold, HtmlUtil.TagUnderline, HtmlUtil.TagFont);
|
||||||
if (s.StartsWith("{\\an3}") || s.StartsWith("{\\an6}"))
|
if (s.StartsWith("{\\an3}") || s.StartsWith("{\\an6}"))
|
||||||
s = "/STYLE RIGHT" + Environment.NewLine + s.Remove(0, 6).Trim();
|
s = "/STYLE RIGHT" + Environment.NewLine + s.Remove(0, 6).Trim();
|
||||||
if (s.StartsWith("{\\an1}") || s.StartsWith("{\\an4}"))
|
if (s.StartsWith("{\\an1}") || s.StartsWith("{\\an4}"))
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -150,7 +151,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
if (buffer[0] == 0x2b) // "+"
|
if (buffer[0] == 0x2b) // "+"
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -180,7 +181,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int i = 128;
|
int i = 128;
|
||||||
Paragraph last = null;
|
Paragraph last = null;
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
@ -144,7 +145,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int i = 256;
|
int i = 256;
|
||||||
Paragraph last = null;
|
Paragraph last = null;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -619,7 +620,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
|
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
_languageIdLine1 = buffer[146];
|
_languageIdLine1 = buffer[146];
|
||||||
if (_languageIdLine1 == 0)
|
if (_languageIdLine1 == 0)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -219,7 +220,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
for (int i = 0; i < buffer.Length - 20; i++)
|
for (int i = 0; i < buffer.Length - 20; i++)
|
||||||
{
|
{
|
||||||
if (buffer[i + 0] == 0xEA &&
|
if (buffer[i + 0] == 0xEA &&
|
||||||
@ -247,7 +248,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int i = 128;
|
int i = 128;
|
||||||
Paragraph last = null;
|
Paragraph last = null;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@ -31,7 +32,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
if (fileName.EndsWith(".chk", StringComparison.OrdinalIgnoreCase))
|
if (fileName.EndsWith(".chk", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
var buffer = Utilities.ReadAllBytes(fileName);
|
var buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
return buffer.Length > 0 && buffer[0] == 0x1d;
|
return buffer.Length > 0 && buffer[0] == 0x1d;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@ -44,7 +45,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
|
|
||||||
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
||||||
{
|
{
|
||||||
var buffer = Utilities.ReadAllBytes(fileName);
|
var buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
int index = 256;
|
int index = 256;
|
||||||
_errorCount = 0;
|
_errorCount = 0;
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,7 @@ using System.IO.Compression;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Schema;
|
using System.Xml.Schema;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -5,6 +5,7 @@ using System.IO.Compression;
|
|||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Xml.Schema;
|
using System.Xml.Schema;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -39,7 +40,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
if (fileName.EndsWith(".elr", StringComparison.OrdinalIgnoreCase))
|
if (fileName.EndsWith(".elr", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
byte[] compareBuffer = { 0x05, 0x01, 0x0D, 0x15, 0x11, 0x00, 0xA9, 0x00, 0x45, 0x00, 0x6C, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00 };
|
byte[] compareBuffer = { 0x05, 0x01, 0x0D, 0x15, 0x11, 0x00, 0xA9, 0x00, 0x45, 0x00, 0x6C, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x20, 0x00, 0x53, 0x00, 0x74, 0x00, 0x75, 0x00, 0x64, 0x00, 0x69, 0x00, 0x6F, 0x00 };
|
||||||
|
|
||||||
for (int i = 6; i < compareBuffer.Length; i++)
|
for (int i = 6; i < compareBuffer.Length; i++)
|
||||||
@ -65,7 +66,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
_errorCount = 0;
|
_errorCount = 0;
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int i = 128;
|
int i = 128;
|
||||||
while (i < buffer.Length - 40)
|
while (i < buffer.Length - 40)
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Nikse.SubtitleEdit.Forms;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Forms;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
@ -576,7 +577,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
EbuGeneralSubtitleInformation header = ReadHeader(buffer);
|
EbuGeneralSubtitleInformation header = ReadHeader(buffer);
|
||||||
if (header.DiskFormatCode.StartsWith("STL23") ||
|
if (header.DiskFormatCode.StartsWith("STL23") ||
|
||||||
header.DiskFormatCode.StartsWith("STL24") ||
|
header.DiskFormatCode.StartsWith("STL24") ||
|
||||||
@ -609,7 +610,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
EbuGeneralSubtitleInformation header = ReadHeader(buffer);
|
EbuGeneralSubtitleInformation header = ReadHeader(buffer);
|
||||||
subtitle.Header = Encoding.UTF8.GetString(buffer);
|
subtitle.Header = Encoding.UTF8.GetString(buffer);
|
||||||
Paragraph last = null;
|
Paragraph last = null;
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
// - Mom, when you were my age what did you want to do?
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
// - Mom, when you were my age what did you want to do?
|
||||||
public class FinalCutProTest2Xml : SubtitleFormat
|
public class FinalCutProTest2Xml : SubtitleFormat
|
||||||
{
|
{
|
||||||
public override string Extension
|
public override string Extension
|
||||||
@ -121,7 +122,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
||||||
string fontStyle = "1"; //1==plain
|
string fontStyle = "1"; //1==plain
|
||||||
var s = HtmlUtils.RemoveOpenCloseTags(p.Text, HtmlUtils.TagFont).Trim();
|
var s = HtmlUtil.RemoveOpenCloseTags(p.Text, HtmlUtil.TagFont).Trim();
|
||||||
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
||||||
fontStyle = "4"; //4==bold/italic
|
fontStyle = "4"; //4==bold/italic
|
||||||
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
// - Mom, when you were my age what did you want to do?
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
// - Mom, when you were my age what did you want to do?
|
||||||
public class FinalCutProTestXml : SubtitleFormat
|
public class FinalCutProTestXml : SubtitleFormat
|
||||||
{
|
{
|
||||||
public override string Extension
|
public override string Extension
|
||||||
@ -191,7 +192,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
||||||
string fontStyle = "1"; //1==plain
|
string fontStyle = "1"; //1==plain
|
||||||
var s = HtmlUtils.RemoveOpenCloseTags(p.Text, HtmlUtils.TagFont).Trim();
|
var s = HtmlUtil.RemoveOpenCloseTags(p.Text, HtmlUtil.TagFont).Trim();
|
||||||
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
||||||
fontStyle = "4"; //4==bold/italic
|
fontStyle = "4"; //4==bold/italic
|
||||||
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
|
||||||
// - Mom, when you were my age what did you want to do?
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
// - Mom, when you were my age what did you want to do?
|
||||||
public class FinalCutProXml : SubtitleFormat
|
public class FinalCutProXml : SubtitleFormat
|
||||||
{
|
{
|
||||||
public override string Extension
|
public override string Extension
|
||||||
@ -404,7 +405,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
XmlNode generatorItem = xml.CreateElement("generatoritem");
|
||||||
string fontStyle = "1"; //1==plain
|
string fontStyle = "1"; //1==plain
|
||||||
var s = HtmlUtils.RemoveOpenCloseTags(p.Text, HtmlUtils.TagFont).Trim();
|
var s = HtmlUtil.RemoveOpenCloseTags(p.Text, HtmlUtil.TagFont).Trim();
|
||||||
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
if ((s.StartsWith("<i><b>") && s.EndsWith("</b></i>")) || (s.StartsWith("<b><i>") && s.EndsWith("</i></b>")))
|
||||||
fontStyle = "4"; //4==bold/italic
|
fontStyle = "4"; //4==bold/italic
|
||||||
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
else if (s.StartsWith("<i>") && s.EndsWith("</i>"))
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -39,7 +40,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
if (fileName.EndsWith(".cap", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
return ((buffer[0] == 0x43 && // CAPT.2.0
|
return ((buffer[0] == 0x43 && // CAPT.2.0
|
||||||
buffer[1] == 0x41 &&
|
buffer[1] == 0x41 &&
|
||||||
@ -89,7 +90,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
|
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
string title = Encoding.ASCII.GetString(buffer, 82, 66);
|
string title = Encoding.ASCII.GetString(buffer, 82, 66);
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
using Nikse.SubtitleEdit.Forms;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using Nikse.SubtitleEdit.Forms;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
// The PAC format was developed by Screen Electronics
|
|
||||||
// The PAC format save the contents, time code, position, justification, and italicization of each subtitle. The choice of font is not saved.
|
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
// The PAC format was developed by Screen Electronics
|
||||||
|
// The PAC format save the contents, time code, position, justification, and italicization of each subtitle. The choice of font is not saved.
|
||||||
public class Pac : SubtitleFormat
|
public class Pac : SubtitleFormat
|
||||||
{
|
{
|
||||||
public static TimeCode PacNullTime = new TimeCode(655, 35, 00, 0);
|
public static TimeCode PacNullTime = new TimeCode(655, 35, 00, 0);
|
||||||
@ -848,7 +847,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
|
|
||||||
private static string MakePacItalicsAndRemoveOtherTags(string text)
|
private static string MakePacItalicsAndRemoveOtherTags(string text)
|
||||||
{
|
{
|
||||||
text = HtmlUtils.RemoveOpenCloseTags(text, HtmlUtils.TagFont, HtmlUtils.TagUnderline).Trim();
|
text = HtmlUtil.RemoveOpenCloseTags(text, HtmlUtil.TagFont, HtmlUtil.TagUnderline).Trim();
|
||||||
if (!text.Contains("<i>", StringComparison.OrdinalIgnoreCase))
|
if (!text.Contains("<i>", StringComparison.OrdinalIgnoreCase))
|
||||||
return text;
|
return text;
|
||||||
|
|
||||||
@ -921,7 +920,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
var fi = new FileInfo(fileName);
|
var fi = new FileInfo(fileName);
|
||||||
if (fi.Length > 100 && fi.Length < 1024000) // not too small or too big
|
if (fi.Length > 100 && fi.Length < 1024000) // not too small or too big
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
if (buffer[00] == 1 && // These bytes seems to be PAC files... TODO: Verify!
|
if (buffer[00] == 1 && // These bytes seems to be PAC files... TODO: Verify!
|
||||||
buffer[01] == 0 &&
|
buffer[01] == 0 &&
|
||||||
@ -969,7 +968,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
_fileName = fileName;
|
_fileName = fileName;
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
subtitle.Header = null;
|
subtitle.Header = null;
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int index = 0;
|
int index = 0;
|
||||||
while (index < buffer.Length)
|
while (index < buffer.Length)
|
||||||
@ -1206,7 +1205,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(_fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(_fileName);
|
||||||
int index = 0;
|
int index = 0;
|
||||||
int count = 0;
|
int count = 0;
|
||||||
_codePage = 0;
|
_codePage = 0;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
@ -188,9 +189,9 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 1)
|
if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 1)
|
||||||
return WebUtility.HtmlEncode(text);
|
return WebUtility.HtmlEncode(text);
|
||||||
else if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 2)
|
else if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 2)
|
||||||
return HtmlUtils.EncodeNamed(text);
|
return HtmlUtil.EncodeNamed(text);
|
||||||
else if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 3)
|
else if (Configuration.Settings.SubtitleSettings.SamiHtmlEncodeMode == 3)
|
||||||
return HtmlUtils.EncodeNumeric(text);
|
return HtmlUtil.EncodeNumeric(text);
|
||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ using System.Drawing;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -85,7 +86,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
FileInfo fi = new FileInfo(fileName);
|
FileInfo fi = new FileInfo(fileName);
|
||||||
if (fi.Length > 100 && fi.Length < 1024000) // not too small or too big
|
if (fi.Length > 100 && fi.Length < 1024000) // not too small or too big
|
||||||
{
|
{
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
if (buffer[00] > 10 &&
|
if (buffer[00] > 10 &&
|
||||||
buffer[01] == 0 &&
|
buffer[01] == 0 &&
|
||||||
@ -109,7 +110,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
public override void LoadSubtitle(Subtitle subtitle, List<string> lines, string fileName)
|
||||||
{
|
{
|
||||||
subtitle.Paragraphs.Clear();
|
subtitle.Paragraphs.Clear();
|
||||||
byte[] buffer = Utilities.ReadAllBytes(fileName);
|
byte[] buffer = FileUtil.ReadAllBytesShared(fileName);
|
||||||
|
|
||||||
int index = buffer[0]; // go to first subtitle paragraph
|
int index = buffer[0]; // go to first subtitle paragraph
|
||||||
while (index < buffer.Length)
|
while (index < buffer.Length)
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
@ -232,7 +233,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(Utilities.ReadAllBytes(pluginFileName));
|
System.Reflection.Assembly assembly = System.Reflection.Assembly.Load(FileUtil.ReadAllBytesShared(pluginFileName));
|
||||||
string objectName = Path.GetFileNameWithoutExtension(pluginFileName);
|
string objectName = Path.GetFileNameWithoutExtension(pluginFileName);
|
||||||
if (assembly != null)
|
if (assembly != null)
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
byte[] array;
|
byte[] array;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
array = Utilities.ReadAllBytes(fileName);
|
array = FileUtil.ReadAllBytesShared(fileName);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
@ -65,7 +66,7 @@ namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
|||||||
foreach (Paragraph p in subtitle.Paragraphs)
|
foreach (Paragraph p in subtitle.Paragraphs)
|
||||||
{
|
{
|
||||||
count++;
|
count++;
|
||||||
var text = HtmlUtils.RemoveOpenCloseTags(p.Text, HtmlUtils.TagFont);
|
var text = HtmlUtil.RemoveOpenCloseTags(p.Text, HtmlUtil.TagFont);
|
||||||
sb.AppendLine(string.Format(paragraphWriteFormat, p.StartFrame, p.EndFrame, text));
|
sb.AppendLine(string.Format(paragraphWriteFormat, p.StartFrame, p.EndFrame, text));
|
||||||
}
|
}
|
||||||
return sb.ToString().Trim();
|
return sb.ToString().Trim();
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -7,6 +7,7 @@ using System.Xml;
|
|||||||
//http://www.w3.org/TR/ttaf1-dfxp/
|
//http://www.w3.org/TR/ttaf1-dfxp/
|
||||||
//Timed Text Markup Language (TTML) 1.0
|
//Timed Text Markup Language (TTML) 1.0
|
||||||
//W3C Recommendation 18 November 2010
|
//W3C Recommendation 18 November 2010
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using Nikse.SubtitleEdit.Core;
|
||||||
|
|
||||||
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
namespace Nikse.SubtitleEdit.Logic.SubtitleFormats
|
||||||
{
|
{
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user