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

FreeBSD Manual Pages

  
 
  

home | help
UNICODE::CANONICAL(3)	    Courier Unicode Library	 UNICODE::CANONICAL(3)

NAME
       unicode::canonical, unicode::decompose,
       unicode::decompose_default_reallocate, unicode::compose,
       unicode::compose_default_callback - unicode canonical normalization and
       denormalization

SYNOPSIS
       #include	<courier-unicode.h>

       constexpr int decompose_flag_qc=UNICODE_DECOMPOSE_FLAG_QC;
       constexpr int decompose_flag_compat=UNICODE_DECOMPOSE_FLAG_COMPAT;

       constexpr int compose_flag_removeunused=UNICODE_COMPOSE_FLAG_REMOVEUNUSED;
       constexpr int compose_flag_oneshot=UNICODE_COMPOSE_FLAG_ONESHOT;

       void decompose_default_reallocate(std::u32string	&string,
					 const std::vector<std::tuple<size_t, size_t>> &list);

       void decompose(std::u32string &string, int flags=0,
		      const std::function<void (std::u32string &, const	std::vector<std::tuple<size_t, size_t>>)> &reallocate=decompose_default_reallocate);

       void compose_default_callback(unicode_composition_t &compositions);

       void compose(std::u32string &string, int	flags=0,
		    const std::function<void (unicode_composition_t &)>	&cb=compose_default_reallocate);

DESCRIPTION
       These functions implement the C++ interface for the Unicode Canonical
       Decomposition and Composition[1], See the description of	the underlying
       unicode_canonical(3) C library API for more information.	C++ specific
       notes:

          The C++ decomposition reallocate callback receives a	single vector
	   of offset and size tuples instead of	two separate arrays or
	   vectors.  unicode::decompose_default_reallocate() is	the C++
	   version of the default reallocate callback. It receives the
	   receiving the same tuple vector parameter, too. The C++ interface
	   use std::u32strings to represent Unicode text strings, and
	   unicode::decompose_default_reallocate() resizes it.

	   Like	the C callback,	the C++	one gets called	0 or more times.

          unicode::compose() takes care of initializing, applying, and
	   de-initialization the unicode_composition_t object, for
	   decomposition. The callback receives	a reference to the
	   unicode_composition_t object, which the callback should not modify
	   in any way.

SEE ALSO
       courier-unicode(7), unicode_canonical(3).

AUTHOR
       Sam Varshavchik
	   Author

NOTES
	1. Unicode Canonical Decomposition and Composition
	   https://www.unicode.org/reports/tr15/tr15-54.html

Courier	Unicode	Library		  05/18/2024		 UNICODE::CANONICAL(3)

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

home | help