From 9ada93e99ab3cdfc9542a5facbeacd582d2c5227 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 26 Dec 2021 11:45:41 +0100 Subject: Update to use version 1 of libgrapheme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libskrift_get_cluster_glyph.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'libskrift_get_cluster_glyph.c') diff --git a/libskrift_get_cluster_glyph.c b/libskrift_get_cluster_glyph.c index 6b3abaa..67ddf72 100644 --- a/libskrift_get_cluster_glyph.c +++ b/libskrift_get_cluster_glyph.c @@ -8,10 +8,12 @@ libskrift_get_cluster_glyph(LIBSKRIFT_CONTEXT *ctx, const char *text, size_t tex struct libskrift_saved_grapheme *saved, double x, double y, struct libskrift_glyph **glyphp) { struct libskrift_glyph *glyph0, *glyph1, *glyph2; - uint32_t cp0, cp1; - int state = 0; + uint_least32_t cp0, cp1; + GRAPHEME_STATE state; size_t r, len; + memset(&state, 0, sizeof(state)); + *glyphp = NULL; if (!text_length) { @@ -23,7 +25,7 @@ libskrift_get_cluster_glyph(LIBSKRIFT_CONTEXT *ctx, const char *text, size_t tex cp0 = saved->cp; len = saved->len; } else { - len = grapheme_cp_decode(&cp0, (const void *)text, text_length); + len = grapheme_decode_utf8(text, text_length, &cp0); } if (libskrift_get_grapheme_glyph(ctx, cp0, x, y, &glyph0)) @@ -32,8 +34,8 @@ libskrift_get_cluster_glyph(LIBSKRIFT_CONTEXT *ctx, const char *text, size_t tex x += glyph0->advance * ctx->char_x_advancement; y += glyph0->advance * ctx->char_y_advancement; for (; len < text_length; cp0 = cp1, len += r) { - r = grapheme_cp_decode(&cp1, (const void *)&text[len], text_length - len); - if (grapheme_boundary(cp0, cp1, &state)) { + r = grapheme_decode_utf8((const void *)&text[len], text_length - len, &cp1); + if (grapheme_is_character_break(cp0, cp1, &state)) { if (saved) { saved->have_saved = 1; saved->cp = cp1; -- cgit v1.2.3-70-g09d2