From: buliabyak Date: Sat, 10 Feb 2007 20:39:52 +0000 (+0000) Subject: more correct whitespace handling per http://www.w3.org/TR/SVG11/text.html#WhiteSpace... X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=efe7bbfa8afcaf45ab2bb883e49424189e8a7e3e;p=inkscape.git more correct whitespace handling per w3.org/TR/SVG11/text.html#WhiteSpace, fixes what remains of bug 1614678. Note that our parser does not seem to fully comply - it does not convert 0xd into 0xa, so here we must handle both. --- diff --git a/src/sp-string.cpp b/src/sp-string.cpp index ddea5abc7..871338ad5 100644 --- a/src/sp-string.cpp +++ b/src/sp-string.cpp @@ -121,7 +121,7 @@ sp_string_read_content(SPObject *object) if (object->xml_space.value == SP_XML_SPACE_PRESERVE) { for ( ; *xml_string ; xml_string = g_utf8_next_char(xml_string) ) { gunichar c = g_utf8_get_char(xml_string); - if (c == '\n' || c == '\t') c = ' '; + if (c == 0xa || c == 0xd || c == '\t') c = ' '; string->string += c; } } @@ -129,7 +129,7 @@ sp_string_read_content(SPObject *object) bool whitespace = false; for ( ; *xml_string ; xml_string = g_utf8_next_char(xml_string) ) { gunichar c = g_utf8_get_char(xml_string); - if (c == '\n') continue; + if (c == 0xa || c == 0xd) continue; if (c == ' ' || c == '\t') whitespace = true; else { if (whitespace && (!string->string.empty() || SP_OBJECT_PREV(object) != NULL))