[buffer] Templatize UTF-* functions
diff --git a/src/hb-buffer.cc b/src/hb-buffer.cc index 76bb10c..d920552 100644 --- a/src/hb-buffer.cc +++ b/src/hb-buffer.cc
@@ -1298,6 +1298,8 @@ unsigned int item_offset, int item_length) { + typedef hb_utf_t<T> utf_t; + assert (buffer->content_type == HB_BUFFER_CONTENT_TYPE_UNICODE || (!buffer->len && buffer->content_type == HB_BUFFER_CONTENT_TYPE_INVALID)); @@ -1305,7 +1307,7 @@ return; if (text_length == -1) - text_length = hb_utf_strlen (text); + text_length = utf_t::strlen (text); if (item_length == -1) item_length = text_length - item_offset; @@ -1328,7 +1330,7 @@ while (start < prev && buffer->context_len[0] < buffer->CONTEXT_LENGTH) { hb_codepoint_t u; - prev = hb_utf_prev (prev, start, &u); + prev = utf_t::prev (prev, start, &u); buffer->context[0][buffer->context_len[0]++] = u; } } @@ -1339,7 +1341,7 @@ { hb_codepoint_t u; const T *old_next = next; - next = hb_utf_next (next, end, &u); + next = utf_t::next (next, end, &u); buffer->add (u, old_next - (const T *) text); } @@ -1349,7 +1351,7 @@ while (next < end && buffer->context_len[1] < buffer->CONTEXT_LENGTH) { hb_codepoint_t u; - next = hb_utf_next (next, end, &u); + next = utf_t::next (next, end, &u); buffer->context[1][buffer->context_len[1]++] = u; }