CrossWordsField::CrossWordsField(int dimX, int dimY, int wordsToInsert) { PlacedWords = std::stack<PlacedWord>(); _wordsToInsert = wordsToInsert; DimX = dimX; DimY = dimY; //InternalMatrix = InternalChar[DimX][ DimY]; for (int i = 0; i < DimX; i++) { for (int j = 0; j < DimY; j++) { InternalMatrix[i][j] = InternalChar(0, DefSymbol); } } }
std::vector<SubtitleRenderer::InternalChar> SubtitleRenderer:: get_internal_chars(const std::string& str) { std::vector<InternalChar> internal_chars; bool italic{}; auto c_str = str.c_str(); for (size_t i = 0, len = str.length(); i < len;) { try { auto cp = decodeUtf8(c_str, len, i); internal_chars.push_back(InternalChar({cp, italic})); } catch (...) { ++i; // Keep going } } return internal_chars; }
std::vector<SubtitleRenderer::InternalChar> SubtitleRenderer:: get_internal_chars(const std::string& str, TagTracker& tag_tracker) { std::vector<InternalChar> internal_chars; auto c_str = str.c_str(); for (size_t i = 0, len = str.length(); i < len;) { try { auto cp = decodeUtf8(c_str, len, i); tag_tracker.put(cp); if (!tag_tracker.in_tag()) internal_chars.push_back(InternalChar(cp, tag_tracker.italic())); } catch (...) { ++i; // Keep going } } return internal_chars; }