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_reallo-
     cate, unicode::compose, unicode::compose_default_callback - unicode canoni-
     cal 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::vec-
				       tor<std::tuple<size_t, size_t>> &list);

     void    decompose(std::u32string &string,	 int flags=0,	const std::func-
		    tion<void (std::u32string &, const std::vector<std::tu-
		    ple<size_t, size_t>>)> &reallocate=decompose_default_reallo-
		    cate);

     void compose_default_callback(unicode_composition_t &compositions);

     void    compose(std::u32string &string,	int flags=0,	const std::func-
		  tion<void (unicode_composi-
		  tion_t &)> &cb=compose_default_reallocate);

DESCRIPTION
     These  functions  implement the C++ interface for the Unicode Canonical De-
     composition and Composition[1], See the description of the underlying  uni-
     code_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.  uni-
	 code::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 Uni-
	 code 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-ini-
	 tialization 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-57.html

Courier Unicode Library 	   04/12/2026		   UNICODE::CANONICAL(3)

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

home | help