mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-11-22 11:12:36 +01:00
More subtitle format refactor
This commit is contained in:
parent
2fc8abcc75
commit
59978497b0
@ -20,8 +20,15 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
if (!string.IsNullOrEmpty(fileName) && fileName.EndsWith(".cmft", StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
var parser = new CmafParser(fileName);
|
||||
return parser.Subtitle.Paragraphs.Count > 0;
|
||||
try
|
||||
{
|
||||
var parser = new CmafParser(fileName);
|
||||
return parser.Subtitle.Paragraphs.Count > 0;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
@ -507,10 +507,10 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
return new SubtitleFormat[]
|
||||
{
|
||||
new Ebu() { BatchMode = batchMode }, new Pac() { BatchMode = batchMode }, new PacUnicode(), new Cavena890() { BatchMode = batchMode },
|
||||
new Spt(), new CheetahCaption(), new TSB4(), new Chk(), new Ayato(), new CapMakerPlus(), new Ultech130(), new NciCaption(),
|
||||
new AvidStl(), new WinCaps32(), new IsmtDfxp(), new Cavena890(), new Spt(), new Sptx(), new IaiSub(),
|
||||
new ELRStudioClosedCaption(), new CaptionsInc()
|
||||
new Ebu { BatchMode = batchMode }, new Pac { BatchMode = batchMode }, new PacUnicode(), new Cavena890 { BatchMode = batchMode },
|
||||
new Spt(), new CheetahCaption(), new CheetahCaptionOld(), new TSB4(), new Chk(), new Ayato(), new CapMakerPlus(), new Ultech130(),
|
||||
new NciCaption(), new AvidStl(), new WinCaps32(), new IsmtDfxp(), new Cavena890(), new Spt(), new Sptx(), new IaiSub(),
|
||||
new ELRStudioClosedCaption(), new CaptionsInc(), new TimeLineMvt(), new Cmaft(), new Pns()
|
||||
};
|
||||
}
|
||||
|
||||
@ -518,9 +518,9 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
return new SubtitleFormat[]
|
||||
{
|
||||
new DlDd(),new Ted20(), new Captionate(),
|
||||
new TimeLineAscii(), new TimeLineFootageAscii(), new TimedTextImage(), new FinalCutProImage(),
|
||||
new SpuImage(), new Dost(), new SeImageHtmlIndex(), new BdnXml()
|
||||
new DlDd(), new Ted20(), new Captionate(), new TimeLineAscii(), new TimeLineFootageAscii(), new TimedTextImage(),
|
||||
new FinalCutProImage(), new SpuImage(), new Dost(), new SeImageHtmlIndex(), new BdnXml(), new Wsb(),
|
||||
new JsonTypeOnlyLoad1(), new TranscriptiveJson()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -10,6 +10,15 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
|
||||
public override string Name => "WSB";
|
||||
|
||||
public override bool IsMine(List<string> lines, string fileName)
|
||||
{
|
||||
if (fileName != null && !fileName.EndsWith(Extension, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return base.IsMine(lines, fileName);
|
||||
}
|
||||
|
||||
public override string ToText(Subtitle subtitle, string title)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
@ -2339,35 +2339,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
ShowHideTextBasedFeatures(format);
|
||||
|
||||
bool justConverted = false;
|
||||
if (format == null)
|
||||
{
|
||||
var ebu = new Ebu();
|
||||
if (ebu.IsMine(null, fileName))
|
||||
{
|
||||
ebu.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = ebu;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var pac = new Pac();
|
||||
if (pac.IsMine(null, fileName))
|
||||
{
|
||||
pac.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = pac;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (ext == ".m2ts" || ext == ".textst")
|
||||
{
|
||||
@ -2384,293 +2355,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var pns = new Pns();
|
||||
if (pns.IsMine(null, fileName))
|
||||
{
|
||||
pns.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = pns;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var cavena890 = new Cavena890();
|
||||
if (cavena890.IsMine(null, fileName))
|
||||
{
|
||||
cavena890.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = cavena890;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var spt = new Spt();
|
||||
if (spt.IsMine(null, fileName))
|
||||
{
|
||||
spt.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = spt;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var sptx = new Sptx();
|
||||
if (sptx.IsMine(null, fileName))
|
||||
{
|
||||
sptx.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = sptx;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null && ext == ".wsb")
|
||||
{
|
||||
var wsb = new Wsb();
|
||||
var list = new List<string>(File.ReadAllLines(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName)));
|
||||
if (wsb.IsMine(list, fileName))
|
||||
{
|
||||
wsb.LoadSubtitle(_subtitle, list, fileName);
|
||||
_oldSubtitleFormat = wsb;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var cheetahCaption = new CheetahCaption();
|
||||
if (cheetahCaption.IsMine(null, fileName))
|
||||
{
|
||||
cheetahCaption.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = cheetahCaption;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var cheetahCaption = new CheetahCaptionOld();
|
||||
if (cheetahCaption.IsMine(null, fileName))
|
||||
{
|
||||
cheetahCaption.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = cheetahCaption;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var capMakerPlus = new CapMakerPlus();
|
||||
if (capMakerPlus.IsMine(null, fileName))
|
||||
{
|
||||
capMakerPlus.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = capMakerPlus;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var captionsInc = new CaptionsInc();
|
||||
if (captionsInc.IsMine(null, fileName))
|
||||
{
|
||||
captionsInc.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = captionsInc;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var ultech130 = new Ultech130();
|
||||
if (ultech130.IsMine(null, fileName))
|
||||
{
|
||||
ultech130.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = ultech130;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var nciCaption = new NciCaption();
|
||||
if (nciCaption.IsMine(null, fileName))
|
||||
{
|
||||
nciCaption.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = nciCaption;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var tsb4 = new TSB4();
|
||||
if (tsb4.IsMine(null, fileName))
|
||||
{
|
||||
tsb4.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = tsb4;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var avidStl = new AvidStl();
|
||||
if (avidStl.IsMine(null, fileName))
|
||||
{
|
||||
avidStl.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = avidStl;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var chk = new Chk();
|
||||
if (chk.IsMine(null, fileName))
|
||||
{
|
||||
chk.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = chk;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var ayato = new Ayato();
|
||||
if (ayato.IsMine(null, fileName))
|
||||
{
|
||||
ayato.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = ayato;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var pacUnicode = new PacUnicode();
|
||||
if (pacUnicode.IsMine(null, fileName))
|
||||
{
|
||||
pacUnicode.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = pacUnicode;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var iai = new IaiSub();
|
||||
if (iai.IsMine(null, fileName))
|
||||
{
|
||||
iai.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = iai;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new DlDd();
|
||||
var list = new List<string>(File.ReadAllLines(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName)));
|
||||
if (f.IsMine(list, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, list, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new Ted20();
|
||||
if (f.IsMine(null, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new TimeCodesOnly1();
|
||||
@ -2703,38 +2387,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new JsonTypeOnlyLoad1();
|
||||
var list = new List<string>(File.ReadAllLines(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName)));
|
||||
if (f.IsMine(list, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, list, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new TranscriptiveJson();
|
||||
var list = new List<string>(File.ReadAllLines(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName)));
|
||||
if (f.IsMine(list, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, list, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
try
|
||||
@ -2823,66 +2475,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var elr = new ELRStudioClosedCaption();
|
||||
if (elr.IsMine(null, fileName))
|
||||
{
|
||||
elr.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = elr;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var asc = new TimeLineAscii();
|
||||
if (asc.IsMine(null, fileName))
|
||||
{
|
||||
asc.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = asc;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var asc = new TimeLineFootageAscii();
|
||||
if (asc.IsMine(null, fileName))
|
||||
{
|
||||
asc.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = asc;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var mtv = new TimeLineMvt();
|
||||
if (mtv.IsMine(null, fileName))
|
||||
{
|
||||
mtv.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = mtv;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var arib = new AribB36();
|
||||
@ -2964,27 +2556,6 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var cmaf = new Cmaft();
|
||||
if (cmaf.IsMine(null, fileName))
|
||||
{
|
||||
cmaf.LoadSubtitle(_subtitle, null, fileName);
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null || format.Name == Scenarist.NameOfFormat)
|
||||
{
|
||||
try
|
||||
@ -3104,31 +2675,38 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new WinCaps32();
|
||||
if (f.IsMine(null, fileName))
|
||||
foreach (var f in SubtitleFormat.GetBinaryFormats(false))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
if (f.IsMine(null, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (format == null)
|
||||
{
|
||||
var f = new IsmtDfxp();
|
||||
if (f.IsMine(null, fileName))
|
||||
var lines = FileUtil.ReadAllTextShared(fileName, LanguageAutoDetect.GetEncodingFromFile(fileName)).SplitToLines();
|
||||
foreach (var f in SubtitleFormat.GetTextOtherFormats())
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
if (f.IsMine(lines, fileName))
|
||||
{
|
||||
f.LoadSubtitle(_subtitle, null, fileName);
|
||||
_oldSubtitleFormat = f;
|
||||
SetCurrentFormat(Configuration.Settings.General.DefaultSubtitleFormat);
|
||||
SetEncoding(Configuration.Settings.General.DefaultEncoding);
|
||||
encoding = GetCurrentEncoding();
|
||||
justConverted = true;
|
||||
format = GetCurrentSubtitleFormat();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -9862,7 +9440,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
if (currentParagraph.Text.StartsWith("<i>", StringComparison.Ordinal) && !currentParagraph.Text.Contains("</i>") &&
|
||||
newParagraph.Text.EndsWith("</i>", StringComparison.Ordinal) && !newParagraph.Text.Contains("<i>"))
|
||||
{
|
||||
if (currentParagraph.Text.StartsWith("<i>-", StringComparison.Ordinal) && (currentParagraph.Text.EndsWith(".", StringComparison.Ordinal) || currentParagraph.Text.EndsWith("?", StringComparison.Ordinal) ||
|
||||
if (currentParagraph.Text.StartsWith("<i>-", StringComparison.Ordinal) && (currentParagraph.Text.EndsWith(".", StringComparison.Ordinal) || currentParagraph.Text.EndsWith("?", StringComparison.Ordinal) ||
|
||||
currentParagraph.Text.EndsWith("!", StringComparison.Ordinal) || currentParagraph.Text.EndsWith("؟", StringComparison.Ordinal)) && newParagraph.Text.StartsWith("-", StringComparison.Ordinal))
|
||||
{
|
||||
currentParagraph.Text = "<i>" + currentParagraph.Text.Remove(0, 4).Trim();
|
||||
@ -11328,7 +10906,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
|
||||
private void BreakUnbreakTextBox(bool unbreak, TextBox tb)
|
||||
{
|
||||
{
|
||||
var textCaretPos = tb.SelectionStart;
|
||||
var startText = tb.Text.Substring(0, textCaretPos);
|
||||
var numberOfNewLines = Utilities.CountTagInText(startText, Environment.NewLine);
|
||||
@ -11361,7 +10939,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
s = Utilities.AutoBreakLine(tb.Text);
|
||||
}
|
||||
|
||||
|
||||
while (i < textCaretPos && i < s.Length)
|
||||
{
|
||||
var ch = s[i];
|
||||
|
Loading…
Reference in New Issue
Block a user