From c5c121e6a10cb826204a6b66b7d699348f2702ca Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 25 Sep 2019 18:05:13 +0200 Subject: [PATCH] Fixed/improved pre processing --- .../java/eu/faircode/email/HtmlHelper.java | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/HtmlHelper.java b/app/src/main/java/eu/faircode/email/HtmlHelper.java index 7ac8910b0c..8ed04dcb05 100644 --- a/app/src/main/java/eu/faircode/email/HtmlHelper.java +++ b/app/src/main/java/eu/faircode/email/HtmlHelper.java @@ -233,7 +233,10 @@ public class HtmlHelper { } } - span.attr("style", sb.toString()); + if (sb.length() == 0) + span.removeAttr("style"); + else + span.attr("style", sb.toString()); } } @@ -255,30 +258,28 @@ public class HtmlHelper { // Pre formatted text for (Element pre : document.select("pre")) { - Element div = document.createElement("div"); + Element div = document.createElement("font"); + div.attr("face", "monospace"); - for (TextNode tnode : pre.textNodes()) { - String[] lines = tnode.getWholeText().split("\\r?\\n"); - for (String line : lines) { - line = Html.escapeHtml(line); + String[] lines = pre.wholeText().split("\\r?\\n"); + for (String line : lines) { + line = Html.escapeHtml(line); - StringBuilder sb = new StringBuilder(); - int len = line.length(); - for (int j = 0; j < len; j++) { - char kar = line.charAt(j); - if (kar == ' ' && - j + 1 < len && line.charAt(j + 1) == ' ') - sb.append(" "); - else - sb.append(kar); - } - - Element span = document.createElement("span"); - span.html(sb.toString()); - div.appendChild(span); - div.appendElement("br"); - Log.i("span html=" + span.html()); + StringBuilder sb = new StringBuilder(); + int len = line.length(); + for (int j = 0; j < len; j++) { + char kar = line.charAt(j); + if (kar == ' ' && + j + 1 < len && line.charAt(j + 1) == ' ') + sb.append(" "); + else + sb.append(kar); } + + Element span = document.createElement("span"); + span.html(sb.toString()); + div.appendChild(span); + div.appendElement("br"); } pre.replaceWith(div);