#pragma once namespace xtr::index { static constexpr auto UNICODE_SUB_0 = 0x2080; static constexpr auto UNICODE_SUB_1 = 0x2081; static constexpr auto UNICODE_SUB_2 = 0x2082; static constexpr auto UNICODE_SUB_3 = 0x2083; static constexpr auto UNICODE_SUB_4 = 0x2084; static constexpr auto UNICODE_SUB_5 = 0x2085; static constexpr auto UNICODE_SUB_6 = 0x2086; static constexpr auto UNICODE_SUB_7 = 0x2087; static constexpr auto UNICODE_SUB_8 = 0x2088; static constexpr auto UNICODE_SUB_9 = 0x2089; //! Indecies formatting options enumeration enum class Digits : uint32_t { plainText = 1, subText }; //! Indexing symbol options struct IndexingParams { Digits global{ Digits::plainText }; Digits local{ Digits::plainText }; Digits operators{ Digits::subText }; }; inline void FixLegacy(CString& input) { input.Replace(UNICODE_SUB_0, '0'); input.Replace(UNICODE_SUB_1, '1'); input.Replace(UNICODE_SUB_2, '2'); input.Replace(UNICODE_SUB_3, '3'); input.Replace(UNICODE_SUB_4, '4'); input.Replace(UNICODE_SUB_5, '5'); input.Replace(UNICODE_SUB_6, '6'); input.Replace(UNICODE_SUB_7, '7'); input.Replace(UNICODE_SUB_8, '8'); input.Replace(UNICODE_SUB_9, '9'); } } // namespace xtr::index