mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 14:32:35 +01:00
Support an5 alignment for SMPTE-TT 2052 - thx Steve :)
This commit is contained in:
parent
92916bcfd4
commit
5d90b816c9
@ -120,6 +120,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
</styling>
|
||||
<layout>
|
||||
<region xml:id='bottom' tts:backgroundColor='transparent' tts:showBackground='whenActive' tts:origin='10% 55%' tts:extent='80% 80%' tts:displayAlign='after' />
|
||||
<region xml:id='centerCenter' tts:backgroundColor='transparent' tts:showBackground='whenActive' tts:origin='10% 32%' tts:extent='80% 80%' tts:displayAlign='center ' />
|
||||
<region xml:id='top' tts:backgroundColor='transparent' tts:showBackground='whenActive' tts:origin='10% 10%' tts:extent='80% 80%' tts:displayAlign='before' />
|
||||
</layout>
|
||||
</head>
|
||||
@ -149,8 +150,9 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
}
|
||||
}
|
||||
var div = xml.DocumentElement.SelectSingleNode("//ttml:body", nsmgr).SelectSingleNode("ttml:div", nsmgr);
|
||||
bool hasBottomCenterRegion = false;
|
||||
bool hasTopCenterRegion = false;
|
||||
var hasBottomCenterRegion = false;
|
||||
var hasTopCenterRegion = false;
|
||||
var hasMiddleRegion = false;
|
||||
foreach (XmlNode node in xml.DocumentElement.SelectNodes("//ttml:head/ttml:layout/ttml:region", nsmgr))
|
||||
{
|
||||
string id = null;
|
||||
@ -172,6 +174,11 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
{
|
||||
hasTopCenterRegion = true;
|
||||
}
|
||||
|
||||
if (id != null && (id == "centerCenter" || id == "center"))
|
||||
{
|
||||
hasMiddleRegion = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var p in subtitle.Paragraphs)
|
||||
@ -204,6 +211,11 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
paragraph.Attributes.Append(regionP);
|
||||
}
|
||||
}
|
||||
else if (hasMiddleRegion && (text.StartsWith("{\\an5}", StringComparison.Ordinal) || text.StartsWith("{\\an6}", StringComparison.Ordinal) || text.StartsWith("{\\an7}", StringComparison.Ordinal)))
|
||||
{
|
||||
regionP.InnerText = "centerCenter";
|
||||
paragraph.Attributes.Append(regionP);
|
||||
}
|
||||
else if (hasBottomCenterRegion)
|
||||
{
|
||||
regionP.InnerText = "bottom";
|
||||
|
@ -201,7 +201,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 50%\" tts:displayAlign=\"after\" tts:textAlign=\"start\" xml:id=\"bottomLeft\" />" + Environment.NewLine +
|
||||
// Middle column
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 10%\" tts:displayAlign=\"before\" tts:textAlign=\"center\" xml:id=\"topCenter\" />" + Environment.NewLine +
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 30%\" tts:displayAlign=\"center\" tts:textAlign=\"center\" xml:id=\"centerСenter\" />" + Environment.NewLine +
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 30%\" tts:displayAlign=\"center\" tts:textAlign=\"center\" xml:id=\"centerCenter\" />" + Environment.NewLine +
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 50%\" tts:displayAlign=\"after\" tts:textAlign=\"center\" xml:id=\"bottomCenter\" />" + Environment.NewLine +
|
||||
// Right column
|
||||
" <region tts:extent=\"80% 40%\" tts:origin=\"10% 10%\" tts:displayAlign=\"before\" tts:textAlign=\"end\" xml:id=\"topRight\" />" + Environment.NewLine +
|
||||
@ -448,7 +448,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
region = "centerLeft";
|
||||
}
|
||||
|
||||
if (text.StartsWith("{\\an5}", StringComparison.Ordinal) && AddDefaultRegionIfNotExists(xml, "centerСenter"))
|
||||
if (text.StartsWith("{\\an5}", StringComparison.Ordinal) && AddDefaultRegionIfNotExists(xml, "centerCenter"))
|
||||
{
|
||||
region = "centerСenter";
|
||||
}
|
||||
@ -882,7 +882,7 @@ namespace Nikse.SubtitleEdit.Core.SubtitleFormats
|
||||
new KeyValuePair<string, string>("bottomCenter", "{\\an2}"),
|
||||
new KeyValuePair<string, string>("bottomRight", "{\\an3}"),
|
||||
new KeyValuePair<string, string>("centerLeft", "{\\an4}"),
|
||||
new KeyValuePair<string, string>("centerСenter", "{\\an5}"),
|
||||
new KeyValuePair<string, string>("centerCenter", "{\\an5}"),
|
||||
new KeyValuePair<string, string>("centerRight", "{\\an6}"),
|
||||
new KeyValuePair<string, string>("topLeft", "{\\an7}"),
|
||||
new KeyValuePair<string, string>("topCenter", "{\\an8}"),
|
||||
|
Loading…
Reference in New Issue
Block a user