diff --git a/IfcPlusPlus/src/ifcpp/writer/WriterUtil.cpp b/IfcPlusPlus/src/ifcpp/writer/WriterUtil.cpp index 834029d60..0947208a0 100644 --- a/IfcPlusPlus/src/ifcpp/writer/WriterUtil.cpp +++ b/IfcPlusPlus/src/ifcpp/writer/WriterUtil.cpp @@ -192,7 +192,13 @@ std::string encodeStepString( const std::wstring& str ) while( *stream_pos != '\0' ) { wchar_t append_char = *stream_pos; - if( append_char == 10 ) + if( append_char == 9 ) + { + closeUnicodeBlockIfOpened(); + // encode tab + result_str.append("\\X\\09"); + } + else if( append_char == 10 ) { closeUnicodeBlockIfOpened(); // encode new line