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,
       unicode_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 handle. Each subsequent call to
       unicode_grapheme_break_next() passes this handle, 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
       unicode_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),
       unicode_line_break(3), unicode_word_break(3).

AUTHOR
       Sam Varshavchik
	   Author

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

Courier	Unicode	Library		  05/18/2024	       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_init&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help