Skip alignment in tables

pull/187/head
M66B 5 years ago
parent a8c222ddf6
commit 550362e4c3

@ -2129,23 +2129,36 @@ public class HtmlHelper {
setSpan(ssb, new StrikethroughSpan(), start, ssb.length()); setSpan(ssb, new StrikethroughSpan(), start, ssb.length());
break; break;
case "text-align": case "text-align":
// https://developer.mozilla.org/en-US/docs/Web/CSS/text-align boolean table = false;
Layout.Alignment alignment = null; Element e = element;
switch (value) { while (e != null) {
case "left": if ("table".equals(e.tagName()) ||
case "start": "true".equals(e.attr("x-table"))) {
alignment = (ltr ? Layout.Alignment.ALIGN_NORMAL : Layout.Alignment.ALIGN_OPPOSITE); table = true;
break;
case "center":
alignment = Layout.Alignment.ALIGN_CENTER;
break;
case "right":
case "end":
alignment = (ltr ? Layout.Alignment.ALIGN_OPPOSITE : Layout.Alignment.ALIGN_NORMAL);
break; break;
}
e = e.parent();
}
// https://developer.mozilla.org/en-US/docs/Web/CSS/text-align
if (!table) {
Layout.Alignment alignment = null;
switch (value) {
case "left":
case "start":
alignment = (ltr ? Layout.Alignment.ALIGN_NORMAL : Layout.Alignment.ALIGN_OPPOSITE);
break;
case "center":
alignment = Layout.Alignment.ALIGN_CENTER;
break;
case "right":
case "end":
alignment = (ltr ? Layout.Alignment.ALIGN_OPPOSITE : Layout.Alignment.ALIGN_NORMAL);
break;
}
if (alignment != null)
setSpan(ssb, new AlignmentSpan.Standard(alignment), start, ssb.length());
} }
if (alignment != null)
setSpan(ssb, new AlignmentSpan.Standard(alignment), start, ssb.length());
break; break;
} }
} }

Loading…
Cancel
Save