Lines Matching refs:start
61 bool GraphemeBreak::isGraphemeBreak(const float* advances, const uint16_t* buf, size_t start,
69 if (offset <= start || offset >= start + count) {
80 U16_PREV(buf, start, offset_back, c1);
81 U16_NEXT(buf, offset_forward, start + count, c2);
115 const bool c2_has_advance = (advances != nullptr && advances[offset - start] != 0.0);
138 if (p0 == U_GCB_EXTEND && offset_backback > start) {
140 U16_PREV(buf, start, offset_backback, c0);
153 if (p1 == U_GCB_ZWJ && isEmoji(c2) && offset_back > start) {
157 U16_PREV(buf, start, offset_backback, c0);
158 if (c0 == 0xFE0F && offset_backback > start) {
160 U16_PREV(buf, start, offset_backback, c0);
180 const size_t lookback_barrier = std::max((ssize_t)start, (ssize_t)offset_back - 1000);
207 size_t GraphemeBreak::getTextRunCursor(const float* advances, const uint16_t* buf, size_t start,
211 if (offset < start + count) {
216 while (!isGraphemeBreak(advances, buf, start, count, offset)) {
221 if (offset > start) {
226 while (!isGraphemeBreak(advances, buf, start, count, offset)) {
231 if (!isGraphemeBreak(advances, buf, start, count, offset)) {