68 lines
1.5 KiB
Bash
68 lines
1.5 KiB
Bash
if [ "$ENCODING" = "utf8" ]; then
|
|
UNIT="byte"
|
|
ARRAYTYPE="UTF-8-encoded string"
|
|
SUFFIX="_utf8"
|
|
ANTISUFFIX=""
|
|
DATATYPE="char"
|
|
else
|
|
UNIT="codepoint"
|
|
ARRAYTYPE="codepoint array"
|
|
SUFFIX=""
|
|
ANTISUFFIX="_utf8"
|
|
DATATYPE="uint_least32_t"
|
|
fi
|
|
|
|
cat << EOF
|
|
.Dd ${MAN_DATE}
|
|
.Dt GRAPHEME_IS_$(printf "%s%s" "$CASE" "$SUFFIX" | tr [:lower:] [:upper:]) 3
|
|
.Os suckless.org
|
|
.Sh NAME
|
|
.Nm grapheme_is_${CASE}${SUFFIX}
|
|
.Nd check if ${ARRAYTYPE} is ${CASE}
|
|
.Sh SYNOPSIS
|
|
.In grapheme.h
|
|
.Ft size_t
|
|
.Fn grapheme_is_${CASE}${SUFFIX} "const ${DATATYPE} *str" "size_t len" "size_t *caselen"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Fn grapheme_is_${CASE}${SUFFIX}
|
|
function checks if the ${ARRAYTYPE}
|
|
.Va str
|
|
is ${CASE} and writes the length of the matching ${CASE}-sequence to the integer pointed to by
|
|
.Va caselen ,
|
|
unless
|
|
.Va caselen
|
|
is set to
|
|
.Dv NULL .
|
|
.Pp
|
|
If
|
|
.Va len
|
|
is set to
|
|
.Dv SIZE_MAX
|
|
(stdint.h is already included by grapheme.h) the ${ARRAYTYPE}
|
|
.Va src
|
|
is interpreted to be NUL-terminated and processing stops when a
|
|
NUL-byte is encountered.
|
|
.Pp
|
|
For $(if [ "$ENCODING" != "utf8" ]; then printf "UTF-8-encoded"; else printf "non-UTF-8"; fi) input data
|
|
.Xr grapheme_is_${CASE}${ANTISUFFIX} 3
|
|
can be used instead.
|
|
.Sh RETURN VALUES
|
|
The
|
|
.Fn grapheme_is_${CASE}${SUFFIX}
|
|
function returns
|
|
.Dv true
|
|
if the ${ARRAYTYPE}
|
|
.Va str
|
|
is ${CASE}, otherwise
|
|
.Dv false .
|
|
.Sh SEE ALSO
|
|
.Xr grapheme_is_${CASE}${ANTISUFFIX} 3 ,
|
|
.Xr libgrapheme 7
|
|
.Sh STANDARDS
|
|
.Fn grapheme_is_${CASE}${SUFFIX}
|
|
is compliant with the Unicode ${UNICODE_VERSION} specification.
|
|
.Sh AUTHORS
|
|
.An Laslo Hunhold Aq Mt dev@frign.de
|
|
EOF
|