Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UNICODE_GRAPHEME_BRE(3)      Courier Unicode Library	 UNICODE_GRAPHEME_BRE(3)

NAME
     unicode_grapheme_break,	      unicode_grapheme_break_init,	    uni-
     code_grapheme_break_next, unicode_grapheme_break_deinit - unicode	grapheme
     cluster boundary rules

SYNOPSIS
     #include <courier-unicode.h>

     unicode_grapheme_break_info_t unicode_grapheme_break_init(void);

     int	     unicode_grapheme_next(unicode_grapheme_break_info_t handle,
			       char32_t c);

     void unicode_grapheme_deinit(unicode_grapheme_break_info_t handle);

     int unicode_grapheme_break(char32_t a, char32_t b);

DESCRIPTION
     These functions implement the unicode grapheme cluster breaking  algorithm.
     Invoke  unicode_grapheme_break_init()  to	initialize  the grapheme cluster
     breaking algorithm.  unicode_grapheme_break_init() returns an  opaque  han-
     dle. Each subsequent call to unicode_grapheme_break_next() passes this han-
     dle, and the next character.  unicode_grapheme_break_next() returns a non-0
     value  if	there's  a grapheme break before the character, in a sequence of
     Unicode characters.  unicode_grapheme_break_deinit() releases all resources
     used by the grapheme breaking handle, and the unicode_grapheme_break_info_t
     handle is no longer valid after this call.

     The first call to unicode_grapheme_break_next() always  returns  non-0,  as
     per the GB1 rule.

     unicode_grapheme_break() is a simplified interface that returns non-zero if
     there  is	a grapheme break between two unicode characters a and b. This is
     is equivalent to calling  unicode_grapheme_break_init(),  followed  by  two
     calls to
      unicode_grapheme_break_next(),	      and	   finally	    uni-
     code_grapheme_break_deinit(), then returning the result of the second  call
     to unicode_grapheme_break_next().

SEE ALSO
     TR-29[1],	    courier-unicode(7),      unicode_convert_tocase(3),     uni-
     code_line_break(3), unicode_word_break(3).

AUTHOR
     Sam Varshavchik
	 Author

NOTES
      1. TR-29
	 https://www.unicode.org/reports/tr29/tr29-47.html

Courier Unicode Library 	   04/12/2026		 UNICODE_GRAPHEME_BRE(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unicode_grapheme_break&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help