X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Ficu_I18N.h;h=f69daf905c8a360358a6c44d7a98191375de31b1;hb=6f7757087a49db5fb3fa4f3b12b8b67ebbbe3aa3;hp=61dbf70e995b9286d6a8755bb72f1a70822d9244;hpb=297aa7b45c3bd88aea2799f6810c8c85bc998f56;p=yaz-moved-to-github.git diff --git a/include/yaz/icu_I18N.h b/include/yaz/icu_I18N.h index 61dbf70..f69daf9 100644 --- a/include/yaz/icu_I18N.h +++ b/include/yaz/icu_I18N.h @@ -1,5 +1,5 @@ -/* - * Copyright (c) 1995-2007, Index Data +/* This file is part of the YAZ toolkit. + * Copyright (C) 1995-2008 Index Data. * All rights reserved. * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: @@ -25,13 +25,14 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/** \file + \brief Internal header for ICU utilities +*/ + #ifndef ICU_I18NL_H #define ICU_I18NL_H -#include - -#include -#include +#include #include /* Basic ICU data types */ #include /* char names */ @@ -40,6 +41,7 @@ #include #include +#include /* declared structs and functions */ @@ -47,9 +49,9 @@ int icu_check_status (UErrorCode status); struct icu_buf_utf16 { - UChar * utf16; - int32_t utf16_len; - int32_t utf16_cap; + UChar * utf16; + int32_t utf16_len; + int32_t utf16_cap; }; struct icu_buf_utf16 * icu_buf_utf16_create(size_t capacity); @@ -98,33 +100,31 @@ UErrorCode icu_utf16_to_utf8(struct icu_buf_utf8 * dest8, struct icu_casemap { - char locale[16]; char action; }; -struct icu_casemap * icu_casemap_create(const char *locale, char action, - UErrorCode *status); +struct icu_casemap * icu_casemap_create(char action, UErrorCode *status); void icu_casemap_destroy(struct icu_casemap * casemap); int icu_casemap_casemap(struct icu_casemap * casemap, struct icu_buf_utf16 * dest16, struct icu_buf_utf16 * src16, - UErrorCode *status); + UErrorCode *status, + const char *locale); int icu_utf16_casemap(struct icu_buf_utf16 * dest16, struct icu_buf_utf16 * src16, const char *locale, char action, UErrorCode *status); -UErrorCode icu_sortkey8_from_utf16(UCollator *coll, - struct icu_buf_utf8 * dest8, - struct icu_buf_utf16 * src16, - UErrorCode * status); +void icu_sortkey8_from_utf16(UCollator *coll, + struct icu_buf_utf8 * dest8, + struct icu_buf_utf16 * src16, + UErrorCode * status); struct icu_tokenizer { - char locale[16]; char action; UBreakIterator* bi; struct icu_buf_utf16 * buf16; @@ -166,7 +166,7 @@ struct icu_normalizer { char action; struct icu_buf_utf16 * rules16; - UParseError parse_error[256]; + UParseError parse_error; UTransliterator * trans; }; @@ -210,7 +210,7 @@ struct icu_chain_step struct icu_chain; -struct icu_chain_step * icu_chain_step_create(struct icu_chain * chain, +struct icu_chain_step * icu_chain_step_create(yaz_icu_chain_t chain, enum icu_chain_step_type type, const uint8_t * rule, struct icu_buf_utf16 * buf16, @@ -222,7 +222,7 @@ void icu_chain_step_destroy(struct icu_chain_step * step); struct icu_chain { - uint8_t locale[16]; + char *locale; int sort; const char * src8cstr; @@ -244,46 +244,18 @@ struct icu_chain struct icu_chain_step * steps; }; -struct icu_chain * icu_chain_create(const uint8_t * locale, - int sort, - UErrorCode * status); - -void icu_chain_destroy(struct icu_chain * chain); - -struct icu_chain * icu_chain_xml_config(xmlNode *xml_node, - const uint8_t * locale, - int sort, - UErrorCode * status); - -struct icu_chain_step * icu_chain_insert_step(struct icu_chain * chain, +struct icu_chain_step * icu_chain_insert_step(yaz_icu_chain_t chain, enum icu_chain_step_type type, const uint8_t * rule, UErrorCode *status); -int icu_chain_step_next_token(struct icu_chain * chain, +int icu_chain_step_next_token(yaz_icu_chain_t chain, struct icu_chain_step * step, UErrorCode *status); -int icu_chain_assign_cstr(struct icu_chain * chain, - const char * src8cstr, - UErrorCode *status); - -int icu_chain_next_token(struct icu_chain * chain, - UErrorCode *status); - -int icu_chain_token_number(struct icu_chain * chain); - -/*int icu_chain_token_start(struct icu_chain * chain); */ - -/*int icu_chain_token_end(struct icu_chain * chain); */ - -const char * icu_chain_token_display(struct icu_chain * chain); - -const char * icu_chain_token_norm(struct icu_chain * chain); - -const char * icu_chain_token_sortkey(struct icu_chain * chain); +int icu_chain_token_number(yaz_icu_chain_t chain); -const UCollator * icu_chain_get_coll(struct icu_chain * chain); +const UCollator * icu_chain_get_coll(yaz_icu_chain_t chain); #endif /* ICU_I18NL_H */