• Home
  • Raw
  • Download

Lines Matching full:utf8

105     // ICU bidi iterator works with utf16 but clients (Flutter for instance) may work with utf8
107 …static std::unique_ptr<SkBidiIterator> makeBidiIterator(const char utf8[], int utf8Units, Directio… in makeBidiIterator() argument
108 // Convert utf8 into utf16 since ubidi only accepts utf16 in makeBidiIterator()
115 int utf16Units = SkUTF::UTF8ToUTF16(nullptr, 0, utf8, utf8Units); in makeBidiIterator()
117 SkDEBUGF("Bidi error: Invalid utf8 input"); in makeBidiIterator()
121 SkDEBUGCODE(int dstLen =) SkUTF::UTF8ToUTF16(utf16.get(), utf16Units, utf8, utf8Units); in makeBidiIterator()
129 static std::vector<Region> getBidiRegions(const char utf8[], int utf8Units, Direction dir) { in getBidiRegions() argument
131 auto bidiIterator = makeBidiIterator(utf8, utf8Units, dir); in getBidiRegions()
133 const char* start8 = utf8; in getBidiRegions()
134 const char* end8 = utf8 + utf8Units; in getBidiRegions()
145 auto end = SkTo<Position>(start8 - utf8); in getBidiRegions()
153 auto end = start8 - utf8; in getBidiRegions()
279 static bool extractBidi(const char utf8[], in extractBidi() argument
285 auto utf16 = convertUtf8ToUtf16(utf8, utf8Units); in extractBidi()
305 // Iterate through bidi regions and the result positions into utf8 in extractBidi()
306 const char* start8 = utf8; in extractBidi()
307 const char* end8 = utf8 + utf8Units; in extractBidi()
318 Position end = start8 - utf8; in extractBidi()
326 Position end = start8 - utf8; in extractBidi()
367 (const char utf8[], int utf8Units, BreakType type, std::function<void(int, int)> setBreak) { in extractPositions() argument
370 ICUUText text(sk_utext_openUTF8(nullptr, &utf8[0], utf8Units, &status)); in extractPositions()
404 const char* end = utf8 + utf8Units; in extractPositions()
405 const char* ch = utf8; in extractPositions()
409 setBreak(ch - utf8, UBRK_LINE_HARD); in extractPositions()
446 bool isControl(SkUnichar utf8) override { in isControl() argument
447 return sk_u_iscntrl(utf8); in isControl()
450 bool isWhitespace(SkUnichar utf8) override { in isWhitespace() argument
451 return sk_u_isWhitespace(utf8); in isWhitespace()
454 bool isSpace(SkUnichar utf8) override { in isSpace() argument
455 return sk_u_isspace(utf8); in isSpace()
458 static bool isHardLineBreak(SkUnichar utf8) { in isHardLineBreak() argument
459 auto property = sk_u_getIntPropertyValue(utf8, UCHAR_LINE_BREAK); in isHardLineBreak()
481 // ... and back to utf8 'cause that's what we want. in toUpper()
485 bool getBidiRegions(const char utf8[], in getBidiRegions() argument
489 return extractBidi(utf8, utf8Units, dir, results); in getBidiRegions()
492 bool getLineBreaks(const char utf8[], in getLineBreaks() argument
496 return extractPositions(utf8, utf8Units, BreakType::kLines, in getLineBreaks()
504 bool getWords(const char utf8[], int utf8Units, std::vector<Position>* results) override { in getWords() argument
507 auto utf16 = convertUtf8ToUtf16(utf8, utf8Units); in getWords()
511 bool getGraphemes(const char utf8[], int utf8Units, std::vector<Position>* results) override { in getGraphemes() argument
513 return extractPositions(utf8, utf8Units, BreakType::kGraphemes, in getGraphemes()