#pragma once #include #include #include #include #include namespace mbgl { class BiDi; class BiDiImpl; std::u16string applyArabicShaping(const std::u16string&); class BiDi : private util::noncopyable { public: BiDi(); ~BiDi(); std::vector processText(const std::u16string&, std::set); private: void mergeParagraphLineBreaks(std::set&); std::vector applyLineBreaking(std::set); std::u16string getLine(std::size_t start, std::size_t end); std::unique_ptr impl; }; } // end namespace mbgl