X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=include%2Fyaz%2Ficu_I18N.h;h=61dbf70e995b9286d6a8755bb72f1a70822d9244;hb=297aa7b45c3bd88aea2799f6810c8c85bc998f56;hp=e4f5c8c250de130c984d1b837c354a07c4cb7f68;hpb=e005fd551460aab9ccefb561e42c746cc58fd302;p=yaz-moved-to-github.git diff --git a/include/yaz/icu_I18N.h b/include/yaz/icu_I18N.h index e4f5c8c..61dbf70 100644 --- a/include/yaz/icu_I18N.h +++ b/include/yaz/icu_I18N.h @@ -41,7 +41,6 @@ #include - /* declared structs and functions */ int icu_check_status (UErrorCode status); @@ -185,8 +184,6 @@ int icu_normalizer_normalize(struct icu_normalizer * normalizer, enum icu_chain_step_type { ICU_chain_step_type_none, ICU_chain_step_type_display, /* convert to utf8 display format */ - ICU_chain_step_type_index, /* convert to utf8 index format */ - ICU_chain_step_type_sortkey, /* convert to utf8 sortkey format */ ICU_chain_step_type_casemap, /* apply utf16 charmap */ ICU_chain_step_type_normalize, /* apply utf16 normalization */ ICU_chain_step_type_tokenize /* apply utf16 tokenization */ @@ -225,8 +222,12 @@ void icu_chain_step_destroy(struct icu_chain_step * step); struct icu_chain { - uint8_t identifier[128]; uint8_t locale[16]; + int sort; + + const char * src8cstr; + + UCollator * coll; /* number of tokens returned so far */ int32_t token_count; @@ -243,22 +244,22 @@ struct icu_chain struct icu_chain_step * steps; }; -struct icu_chain * icu_chain_create( // const uint8_t * identifier, - const uint8_t * locale); +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, + const uint8_t * locale, + int sort, UErrorCode * status); - struct icu_chain_step * icu_chain_insert_step(struct icu_chain * chain, enum icu_chain_step_type type, const uint8_t * rule, UErrorCode *status); - int icu_chain_step_next_token(struct icu_chain * chain, struct icu_chain_step * step, UErrorCode *status); @@ -270,13 +271,19 @@ int icu_chain_assign_cstr(struct icu_chain * chain, int icu_chain_next_token(struct icu_chain * chain, UErrorCode *status); -int icu_chain_get_token_count(struct icu_chain * chain); +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_get_display(struct icu_chain * chain); +const char * icu_chain_token_norm(struct icu_chain * chain); -const char * icu_chain_get_norm(struct icu_chain * chain); +const char * icu_chain_token_sortkey(struct icu_chain * chain); -const char * icu_chain_get_sort(struct icu_chain * chain); +const UCollator * icu_chain_get_coll(struct icu_chain * chain); #endif /* ICU_I18NL_H */