From f7548d6d28c313cf80e6f3ef89aed16a19815df1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:51:24 +0200 Subject: Adding upstream version 1:2.3.19.1+dfsg1. Signed-off-by: Daniel Baumann --- src/lib-fts/fts-icu.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/lib-fts/fts-icu.h (limited to 'src/lib-fts/fts-icu.h') diff --git a/src/lib-fts/fts-icu.h b/src/lib-fts/fts-icu.h new file mode 100644 index 0000000..5b0f3dc --- /dev/null +++ b/src/lib-fts/fts-icu.h @@ -0,0 +1,28 @@ +#ifndef HAVE_FTS_ICU_H +#define HAVE_FTS_ICU_H + +#include +#include + +ARRAY_DEFINE_TYPE(icu_utf16, UChar); + +/* Convert UTF-8 input to UTF-16 output. */ +void fts_icu_utf8_to_utf16(ARRAY_TYPE(icu_utf16) *dest_utf16, + const char *src_utf8); +/* Convert UTF-16 input to UTF-8 output. */ +void fts_icu_utf16_to_utf8(string_t *dest_utf8, const UChar *src_utf16, + unsigned int src_len); +/* Run ICU translation for the string. Returns 0 on success, -1 on error. */ +int fts_icu_translate(ARRAY_TYPE(icu_utf16) *dest_utf16, const UChar *src_utf16, + unsigned int src_len, UTransliterator *transliterator, + const char **error_r); +/* Lowercase the given UTF-8 string. */ +void fts_icu_lcase(string_t *dest_utf8, const char *src_utf8); + +/* Free all the memory used by ICU functions. */ +void fts_icu_deinit(void); + +int fts_icu_transliterator_create(const char *id, + UTransliterator **transliterator_r, + const char **error_r) ; +#endif -- cgit v1.2.3