From d10c176bb67dd842d927624df1eabbb9e1cc2655 Mon Sep 17 00:00:00 2001 From: Cristian Ritter Date: Thu, 12 Jun 2025 12:52:13 -0300 Subject: [PATCH] re-adding u32string if ASCII instead of use only Boost.Locale --- src/ifcparse/IfcCharacterDecoder.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ifcparse/IfcCharacterDecoder.cpp b/src/ifcparse/IfcCharacterDecoder.cpp index 0935b70e6c..7e62910808 100644 --- a/src/ifcparse/IfcCharacterDecoder.cpp +++ b/src/ifcparse/IfcCharacterDecoder.cpp @@ -422,5 +422,15 @@ std::string IfcUtil::convert_utf8(const std::u32string& string) { } std::u32string IfcUtil::convert_utf8(const std::string& s) { + bool is_ascii = true; + for (char c : s) { + if (static_cast(c) >= 128) { + is_ascii = false; + break; + } + } + if (is_ascii) { + return std::u32string(s.begin(), s.end()); + } return boost::locale::conv::utf_to_utf(s); }