Blame


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