/* Grapheme cluster breaks. */
-/* Returns true if there is an grapheme cluster boundary between Unicode code
+/* Returns true if there is a grapheme cluster boundary between Unicode code
points A and B. A "grapheme cluster" is an approximation to a
user-perceived character, which sometimes corresponds to multiple code
points. For example, an English letter followed by an acute accent can be
Use A == 0 or B == 0 to indicate start of text or end of text,
respectively. */
extern bool
- uc_is_grapheme_cluster_break (ucs4_t a, ucs4_t b);
-
-/* Returns the length (in units) of the first grapheme cluster in the N units
- in S. If the return value is N, then extending the string could extend the
- length of the grapheme cluster too. Returns 0 only if N is zero. */
-extern size_t
- u8_grapheme_len (const uint8_t *s, size_t n);
-extern size_t
- u16_grapheme_len (const uint16_t *s, size_t n);
-extern size_t
- u32_grapheme_len (const uint32_t *s, size_t n);
+ uc_is_grapheme_break (ucs4_t a, ucs4_t b);
/* Returns the start of the next grapheme cluster following S, or NULL if the
- end of the string has ben reached. */
+ end of the string has been reached. */
extern const uint8_t *
u8_grapheme_next (const uint8_t *s, const uint8_t *end);
extern const uint16_t *
u32_grapheme_next (const uint32_t *s, const uint32_t *end);
/* Returns the start of the previous grapheme cluster before S, or NULL if the
- start of the string has ben reached. */
+ start of the string has been reached. */
extern const uint8_t *
u8_grapheme_prev (const uint8_t *s, const uint8_t *start);
extern const uint16_t *