1 /* ################################################################### */
2 /* Copyright 2015, Pierre Gentile (p.gen.progs@gmail.com) */
4 /* This Source Code Form is subject to the terms of the Mozilla Public */
5 /* License, v. 2.0. If a copy of the MPL was not distributed with this */
6 /* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
7 /* ################################################################### */
14 typedef struct langinfo_s langinfo_t
;
16 /* Locale information. */
17 /* """"""""""""""""""" */
20 int utf8
; /* charset is UTF-8 */
21 int bits
; /* number of bits in the charset */
25 utf8_get_length(unsigned char c
);
28 utf8_offset(char const *, size_t);
31 utf8_strprefix(char *d
, char const *s
, long n
, long *pos
);
34 utf8_strlen(char const *str
);
37 utf8_strtowcs(char *s
);
40 utf8_sanitize(char *s
, char sc
);
43 cptoutf8(char *utf8_str
, uint32_t c
);
46 utf8_interpret(char *s
, char sc
);
49 utf8_validate(char *str
);
52 utf8_prev(const char *str
, const char *p
);
58 utf8_strtolower(char *dst
, char *src
);