Lines Matching refs:unresolved

35     // Find all unresolved blocks
43 // Fill all the gaps between unresolved blocks with resolved ones
45 // No unresolved blocks added - we resolved the block with one run entirely
49 auto& unresolved = fUnresolvedBlocks.back();
50 if (fCurrentRun->textRange() == unresolved.fText) {
54 unresolved.fRun = front.fRun;
55 unresolved.fGlyphs = front.fGlyphs;
69 SkDebugf("[%zu:%zu) unresolved\n",
85 for (const auto& unresolved : fUnresolvedBlocks) {
86 SkDebugf("[%zu:%zu)\n", unresolved.fText.start, unresolved.fText.end);
92 // Fill out gaps between all unresolved blocks
105 auto& unresolved = *begin;
107 if (unresolved.fText == prevText) {
109 unresolved.fText = EMPTY_TEXT;
112 prevText = unresolved.fText;
115 TextRange resolvedText(resolvedTextStart, fCurrentRun->leftToRight() ? unresolved.fText.start : unresolved.fText.end);
121 GlyphRange resolvedGlyphs(resolvedGlyphsStart, unresolved.fGlyphs.start);
125 // Extend the unresolved block with an empty resolved
126 if (unresolved.fText.end <= resolved.fText.start) {
127 unresolved.fText.end = resolved.fText.end;
129 if (unresolved.fText.start >= resolved.fText.end) {
130 unresolved.fText.start = resolved.fText.start;
136 resolvedGlyphsStart = unresolved.fGlyphs.end;
138 ? unresolved.fText.end
139 : unresolved.fText.start;
160 // Add all unresolved blocks to resolved blocks
162 auto unresolved = fUnresolvedBlocks.front();
164 if (unresolved.fText.width() == 0) {
167 fResolvedBlocks.emplace_back(unresolved);
168 fUnresolvedGlyphs += unresolved.fGlyphs.width();
169 fParagraph->addUnresolvedCodepoints(unresolved.fText);
282 RunBlock unresolved(fCurrentRun, extendedText, glyphRange, 0);
283 if (unresolved.fGlyphs.width() == fCurrentRun->size()) {
284 SkASSERT(unresolved.fText.width() == fCurrentRun->fTextRange.width());
290 if (lastUnresolved.fText.end == unresolved.fText.start) {
292 lastUnresolved.fText.end = unresolved.fText.end;
295 } else if(lastUnresolved.fText == unresolved.fText) {
298 } else if (lastUnresolved.fText.contains(unresolved.fText)) {
299 // We get here for the very first unresolved piece
301 } else if (lastUnresolved.fText.intersects(unresolved.fText)) {
302 // Few pieces of the same unresolved text block can ignore the second one
310 fUnresolvedBlocks.emplace_back(unresolved);
313 // Glue whitespaces to the next/prev unresolved blocks
331 // Do not count control codepoints as unresolved
338 // Found unresolved glyph - the entire grapheme is unresolved now
344 // Start new unresolved block
348 // Keep skipping unresolved block
354 // This is the end of unresolved block
459 // Some unresolved subblocks might be resolved with different fallback fonts
466 // but we still need to keep track of all SkUnichars used in this unresolved block
730 // Walk through all the currently unresolved blocks
751 // Map the block's features to subranges within the unresolved range.