A “stream of Unicode characters” is essentially a function that accepts an
ucs4_t argument repeatedly, optionally combined with a function that
“flushes” the stream.
This is the data type of a stream of Unicode characters that normalizes its input according to a given normalization form and passes the normalized character sequence to the encapsulated stream of Unicode characters.
Creates and returns a normalization filter for Unicode characters.
The pair (stream_func, stream_data) is the encapsulated stream. stream_func
(stream_data,uc)receives the Unicode character uc and returns 0 if successful, or -1 witherrnoset upon failure.Returns the new filter, or NULL with
errnoset upon failure.
Stuffs a Unicode character into a normalizing filter. Returns 0 if successful, or -1 with
errnoset upon failure.
Brings data buffered in the filter to its destination, the encapsulated stream.
Returns 0 if successful, or -1 with
errnoset upon failure.Note! If after calling this function, additional characters are written into the filter, the resulting character sequence in the encapsulated stream will not necessarily be normalized.