diff --git a/src/folia_impl.cxx b/src/folia_impl.cxx index 31cc36f..69873b5 100644 --- a/src/folia_impl.cxx +++ b/src/folia_impl.cxx @@ -1919,8 +1919,7 @@ namespace folia { } UnicodeString result; bool pendingspace = false; - bool trim_spaces = !tp.is_set( TEXT_FLAGS::NO_TRIM_SPACES) - && !tp.is_set( TEXT_FLAGS::ADD_FORMATTING ); + bool trim_spaces = !tp.is_set( TEXT_FLAGS::NO_TRIM_SPACES); for ( const auto& d : _data ){ if (d->isinstance( XmlText_t)) { // 'true' text child diff --git a/src/folia_subclasses.cxx b/src/folia_subclasses.cxx index 6c3b216..6810cf8 100644 --- a/src/folia_subclasses.cxx +++ b/src/folia_subclasses.cxx @@ -2977,7 +2977,9 @@ namespace folia { */ UnicodeString result = " "; if ( tp.is_set( TEXT_FLAGS::ADD_FORMATTING ) ){ - result = AbstractElement::private_text( tp ); + TextPolicy tmp(tp); + tmp.set( TEXT_FLAGS::NO_TRIM_SPACES ); + result = AbstractElement::private_text( tmp ); if ( result.isEmpty() ){ result = " "; } @@ -2994,7 +2996,9 @@ namespace folia { */ UnicodeString result; if ( tp.is_set( TEXT_FLAGS::ADD_FORMATTING ) ){ - result = AbstractElement::private_text( tp ); + TextPolicy tmp(tp); + tmp.set( TEXT_FLAGS::NO_TRIM_SPACES ); + result = AbstractElement::private_text( tmp ); if ( result.isEmpty() ){ result = "-"; }