chsvlib
chsv helper source code

◆ ucp_isprint()

int Chusov::String::ucp_isprint ( ucp_t  ch)
noexcept

Returns a flag that indicates whether a given Unicode character can be displayed on an output device.

Parameters
chis the character to check.
Returns
A nonzero value, if ch belongs to any of the Unicode general categories, for which ucp_isgraph returns a nonzero value, or if ch belongs to the "Separator, Space" general category of Unicode.

The function firstly checks if ch belongs to the ASCII code space. If it does, the function returns the result of a call to ucp_isprint_ascii. Otherwise, if ch is not an ASCII character the function checks if ch belongs to any of the respective Unicode general categories.

The function does not take Unicode surrogate pairs into account and simply returns 0, if ch appertains the range \(\left[\textrm{0xd800}; \textrm{0xf8ff}\right]\). The function also returns 0, if ch does not belong to the range of valid Unicode code points.