Blob


1 if [ "$ENCODING" = "utf8" ]; then
2 UNIT="byte"
3 ARRAYTYPE="UTF-8-encoded string"
4 SUFFIX="_utf8"
5 ANTISUFFIX=""
6 DATATYPE="char"
7 else
8 UNIT="codepoint"
9 ARRAYTYPE="codepoint array"
10 SUFFIX=""
11 ANTISUFFIX="_utf8"
12 DATATYPE="uint_least32_t"
13 fi
15 cat << EOF
16 .Dd ${MAN_DATE}
17 .Dt GRAPHEME_IS_$(printf "%s%s" "$CASE" "$SUFFIX" | tr [:lower:] [:upper:]) 3
18 .Os suckless.org
19 .Sh NAME
20 .Nm grapheme_is_${CASE}${SUFFIX}
21 .Nd check if ${ARRAYTYPE} is ${CASE}
22 .Sh SYNOPSIS
23 .In grapheme.h
24 .Ft size_t
25 .Fn grapheme_is_${CASE}${SUFFIX} "const ${DATATYPE} *str" "size_t len" "size_t *caselen"
26 .Sh DESCRIPTION
27 The
28 .Fn grapheme_is_${CASE}${SUFFIX}
29 function checks if the ${ARRAYTYPE}
30 .Va str
31 is ${CASE} and writes the length of the matching ${CASE}-sequence to the integer pointed to by
32 .Va caselen ,
33 unless
34 .Va caselen
35 is set to
36 .Dv NULL .
37 .Pp
38 If
39 .Va len
40 is set to
41 .Dv SIZE_MAX
42 (stdint.h is already included by grapheme.h) the ${ARRAYTYPE}
43 .Va src
44 is interpreted to be NUL-terminated and processing stops when a
45 NUL-byte is encountered.
46 .Pp
47 For $(if [ "$ENCODING" != "utf8" ]; then printf "UTF-8-encoded"; else printf "non-UTF-8"; fi) input data
48 .Xr grapheme_is_${CASE}${ANTISUFFIX} 3
49 can be used instead.
50 .Sh RETURN VALUES
51 The
52 .Fn grapheme_is_${CASE}${SUFFIX}
53 function returns
54 .Dv true
55 if the ${ARRAYTYPE}
56 .Va str
57 is ${CASE}, otherwise
58 .Dv false .
59 .Sh SEE ALSO
60 .Xr grapheme_is_${CASE}${ANTISUFFIX} 3 ,
61 .Xr libgrapheme 7
62 .Sh STANDARDS
63 .Fn grapheme_is_${CASE}${SUFFIX}
64 is compliant with the Unicode ${UNICODE_VERSION} specification.
65 .Sh AUTHORS
66 .An Laslo Hunhold Aq Mt dev@frign.de
67 EOF