1 /* $Id: icu_I18N.h,v 1.5 2007-05-07 09:31:36 marc Exp $
2 Copyright (c) 2006-2007, Index Data.
4 This file is part of Pazpar2.
6 Pazpar2 is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License as published by the Free
8 Software Foundation; either version 2, or (at your option) any later
11 Pazpar2 is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 You should have received a copy of the GNU General Public License
17 along with Pazpar2; see the file LICENSE. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
30 #include <unicode/utypes.h> /* Basic ICU data types */
31 #include <unicode/uchar.h> /* char names */
33 //#include <unicode/ustdio.h>
34 #include <unicode/ucol.h>
35 //#include <unicode/ucnv.h> /* C Converter API */
36 //#include <unicode/ustring.h> /* some more string fcns*/
37 //#include <unicode/uloc.h>
38 //#include <unicode/ubrk.h>
39 //#include <unicode/unistr.h>
42 int icu_check_status (UErrorCode status);
51 struct icu_buf_utf16 * icu_buf_utf16_create(size_t capacity);
52 struct icu_buf_utf16 * icu_buf_utf16_resize(struct icu_buf_utf16 * buf16,
54 void icu_buf_utf16_destroy(struct icu_buf_utf16 * buf16);
65 struct icu_buf_utf8 * icu_buf_utf8_create(size_t capacity);
66 struct icu_buf_utf8 * icu_buf_utf8_resize(struct icu_buf_utf8 * buf8,
68 void icu_buf_utf8_destroy(struct icu_buf_utf8 * buf8);
71 UErrorCode icu_utf16_from_utf8(struct icu_buf_utf16 * dest16,
72 struct icu_buf_utf8 * src8,
75 UErrorCode icu_utf16_from_utf8_cstr(struct icu_buf_utf16 * dest16,
76 const char * src8cstr,
79 UErrorCode icu_sortkey8_from_utf16(UCollator *coll,
80 struct icu_buf_utf8 * dest8,
81 struct icu_buf_utf16 * src16,
92 // CRAP to Follow here ...
97 char * sort_key; // standard C string '\0' terminated
98 char * norm_term; // standard C utf-8 string
99 char * disp_term; // standard C utf-8 string
102 struct icu_termmap * icu_termmap_create(NMEM nmem);
104 int icu_termmap_cmp(const void *vp1, const void *vp2);
106 char * icu_casemap(NMEM nmem, char *buf, size_t buf_cap,
107 size_t *dest8_len, const char *src8,
108 const char *locale, char action);
110 char * icu_sortmap(NMEM nmem, char *buf, size_t buf_cap,
111 size_t *dest8_len, const char *src8,
118 #endif // ICU_I18NL_H