From d2e9b26069d341171b70e01f3c63a605fcc11d0f Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Mon, 11 Sep 2023 20:43:45 -0500 Subject: [PATCH] Emit alternate non breaking space in XHTML I don't love this, but android html rendering hardcodes space collapse so maybe it's ok for now? --- src/cheogram/java/com/cheogram/android/SpannedToXHTML.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/cheogram/java/com/cheogram/android/SpannedToXHTML.java b/src/cheogram/java/com/cheogram/android/SpannedToXHTML.java index 306d73536b45c22e4d883e1f8f41bed809bbb543..daa525c1f17150be2eed300d1bf9b7fca6a021d8 100644 --- a/src/cheogram/java/com/cheogram/android/SpannedToXHTML.java +++ b/src/cheogram/java/com/cheogram/android/SpannedToXHTML.java @@ -134,10 +134,16 @@ public class SpannedToXHTML { } } String content = text.subSequence(i, next).toString(); + boolean prevSpace = false; for (int c = 0; c < content.length(); c++) { if (content.charAt(c) == '\n') { + prevSpace = false; out.addChild("br"); + } else if (prevSpace && content.charAt(c) == ' ') { + prevSpace = false; + out.addChild(new TextNode("\u00A0")); } else { + prevSpace = content.charAt(c) == ' '; out.addChild(new TextNode("" + content.charAt(c))); } }