#pragma once #include #include #include class LanguageHyphenator; class Hyphenator { public: struct BreakInfo { size_t byteOffset; bool requiresInsertedHyphen; }; // Returns byte offsets where the word may be hyphenated. When includeFallback is true, all positions obeying the // minimum prefix/suffix constraints are returned even if no language-specific rule matches. static std::vector breakOffsets(const std::string& word, bool includeFallback); // Provide a publication-level language hint (e.g. "en", "en-US", "ru") used to select hyphenation rules. static void setPreferredLanguage(const std::string& lang); private: static const LanguageHyphenator* cachedHyphenator_; };