mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-07 09:33:39 +02:00
Added support for font display
This commit is contained in:
@@ -319,6 +319,7 @@ public class HtmlHelper {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean text_color = prefs.getBoolean("text_color", true);
|
||||
boolean text_size = prefs.getBoolean("text_size", true);
|
||||
boolean text_font = prefs.getBoolean("text_font", true);
|
||||
boolean text_align = prefs.getBoolean("text_align", true);
|
||||
boolean display_hidden = prefs.getBoolean("display_hidden", false);
|
||||
boolean disable_tracking = prefs.getBoolean("disable_tracking", true);
|
||||
@@ -448,7 +449,6 @@ public class HtmlHelper {
|
||||
.addTags("hr", "abbr", "big", "font", "dfn", "del", "s", "tt")
|
||||
.addAttributes(":all", "class")
|
||||
.addAttributes(":all", "style")
|
||||
.addAttributes("font", "size")
|
||||
.addAttributes("div", "x-plain")
|
||||
.removeTags("col", "colgroup", "thead", "tbody")
|
||||
.removeAttributes("table", "width")
|
||||
@@ -460,6 +460,10 @@ public class HtmlHelper {
|
||||
.addProtocols("a", "href", "full", "xmpp", "geo", "tel");
|
||||
if (text_color)
|
||||
whitelist.addAttributes("font", "color");
|
||||
if (text_size)
|
||||
whitelist.addAttributes("font", "size");
|
||||
if (text_font)
|
||||
whitelist.addAttributes("font", "face");
|
||||
if (text_align)
|
||||
whitelist.addTags("center").addAttributes(":all", "align");
|
||||
if (!view)
|
||||
@@ -475,6 +479,7 @@ public class HtmlHelper {
|
||||
String style = font.attr("style");
|
||||
String color = font.attr("color");
|
||||
String size = font.attr("size");
|
||||
String face = font.attr("face");
|
||||
|
||||
style = style.trim();
|
||||
if (!TextUtils.isEmpty(style) && !style.endsWith(";"))
|
||||
@@ -482,6 +487,7 @@ public class HtmlHelper {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
|
||||
font.removeAttr("color");
|
||||
font.removeAttr("size");
|
||||
font.removeAttr("face");
|
||||
|
||||
StringBuilder sb = new StringBuilder(style);
|
||||
|
||||
@@ -503,6 +509,9 @@ public class HtmlHelper {
|
||||
}
|
||||
}
|
||||
|
||||
if (!TextUtils.isEmpty(face))
|
||||
sb.append("font-family:").append(face).append(";");
|
||||
|
||||
font.attr("style", sb.toString());
|
||||
|
||||
font.tagName("span");
|
||||
@@ -600,6 +609,14 @@ public class HtmlHelper {
|
||||
}
|
||||
break;
|
||||
|
||||
case "font-family":
|
||||
if (!text_font)
|
||||
continue;
|
||||
|
||||
// https://developer.mozilla.org/en-US/docs/Web/CSS/font-family
|
||||
sb.append(key).append(":").append(value).append(";");
|
||||
break;
|
||||
|
||||
case "text-decoration":
|
||||
// https://developer.mozilla.org/en-US/docs/Web/CSS/text-decoration
|
||||
if (value.contains("line-through"))
|
||||
@@ -1975,6 +1992,9 @@ public class HtmlHelper {
|
||||
Log.i(ex);
|
||||
}
|
||||
break;
|
||||
case "font-family":
|
||||
ssb.setSpan(new TypefaceSpan(value), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
break;
|
||||
case "text-decoration":
|
||||
if ("line-through".equals(value))
|
||||
ssb.setSpan(new StrikethroughSpan(), start, ssb.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
|
||||
|
||||
Reference in New Issue
Block a user