Skip to content

Commit 2cb52f6

Browse files
committed
fix showing text alignment
1 parent 171a016 commit 2cb52f6

4 files changed

Lines changed: 31 additions & 11 deletions

File tree

modules/basetextsubs/src/main/java/com/panayotis/jubler/subs/loader/text/W3CFamily.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,12 @@ protected SubEntry parseSubtitleElement(Element element) {
339339
if (!regionId.isEmpty() && regionMap.containsKey(regionId)) {
340340
RegionInfo region = regionMap.get(regionId);
341341
SubStyle.Direction direction = region.getDirection();
342-
if (entry.getStyle() != null) {
343-
SubStyle newStyle = new SubStyle(entry.getStyle());
342+
SubStyle baseStyle = entry.getStyle();
343+
if (baseStyle == null && subtitle_list != null && subtitle_list.getStyleList() != null && !subtitle_list.getStyleList().isEmpty()) {
344+
baseStyle = subtitle_list.getStyleList().get(0);
345+
}
346+
if (baseStyle != null) {
347+
SubStyle newStyle = new SubStyle(baseStyle);
344348
newStyle.set(StyleType.DIRECTION, direction);
345349
entry.setStyle(newStyle);
346350
}

modules/basetextsubs/src/main/java/com/panayotis/jubler/subs/loader/text/WebVTT.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,15 @@ private void applyAlignSetting(SubEntry entry, String alignValue) {
202202
return; // Unknown align value
203203
}
204204

205-
// Apply as style override
206-
entry.getStyle().set(StyleType.DIRECTION, direction);
205+
SubStyle baseStyle = entry.getStyle();
206+
if (baseStyle == null && subtitle_list != null && subtitle_list.getStyleList() != null && !subtitle_list.getStyleList().isEmpty()) {
207+
baseStyle = subtitle_list.getStyleList().get(0);
208+
}
209+
if (baseStyle != null) {
210+
SubStyle newStyle = new SubStyle(baseStyle);
211+
newStyle.set(StyleType.DIRECTION, direction);
212+
entry.setStyle(newStyle);
213+
}
207214
}
208215

209216
/**
@@ -260,7 +267,11 @@ private void applySizeSetting(SubEntry entry, String sizeValue) {
260267
*/
261268
private void applyLineSetting(SubEntry entry, String lineValue) {
262269
try {
263-
if (entry.getStyle() == null) {
270+
SubStyle baseStyle = entry.getStyle();
271+
if (baseStyle == null && subtitle_list != null && subtitle_list.getStyleList() != null && !subtitle_list.getStyleList().isEmpty()) {
272+
baseStyle = subtitle_list.getStyleList().get(0);
273+
}
274+
if (baseStyle == null) {
264275
return;
265276
}
266277

@@ -269,7 +280,7 @@ private void applyLineSetting(SubEntry entry, String lineValue) {
269280
String numericValue = lineValue.replace("%", "").trim();
270281
float linePercent = Float.parseFloat(numericValue);
271282

272-
SubStyle newStyle = new SubStyle(entry.getStyle());
283+
SubStyle newStyle = new SubStyle(baseStyle);
273284
// Map line percentage to Jubler's vertical positioning
274285
if (linePercent <= 25) {
275286
// Top positioning
@@ -287,7 +298,7 @@ private void applyLineSetting(SubEntry entry, String lineValue) {
287298
int lineNumber = Integer.parseInt(lineValue);
288299
// Map line numbers to vertical margins
289300
int verticalMargin = Math.max(0, lineNumber * 5);
290-
SubStyle newStyle = new SubStyle(entry.getStyle());
301+
SubStyle newStyle = new SubStyle(baseStyle);
291302
newStyle.set(StyleType.VERTICAL, verticalMargin);
292303
entry.setStyle(newStyle);
293304
}

modules/core/src/main/java/com/panayotis/jubler/subs/JSubEditor.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,7 @@ public void setData(SubEntry entry) {
143143
}
144144
showStyle();
145145
if (overstyle != null) {
146-
int pos = SubText.getCaretPosition();
147-
overstyle.updateVisualData(entry.getStyle(), entry.getStyleovers(), pos, pos, entry.getText());
146+
overstyle.updateVisualData(entry.getStyle(), entry.getStyleovers(), 0, 0, entry.getText());
148147
}
149148
}
150149

modules/core/src/main/java/com/panayotis/jubler/subs/style/SubStyleList.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,17 @@ public String getNameAt(int i) {
4242

4343
public int getStyleIndex(SubEntry entry) {
4444
SubStyle style = entry.getStyle();
45-
int res;
46-
if (style == null || (res = indexOf(style)) < 0) {
45+
if (style == null) {
4746
entry.setStyle(get(0));
4847
return 0;
4948
}
49+
int res = indexOf(style);
50+
if (res < 0) {
51+
res = findStyleIndex(style.Name);
52+
if (res < 0) {
53+
res = 0;
54+
}
55+
}
5056
return res;
5157
}
5258

0 commit comments

Comments
 (0)