Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: source/i18n/unicode/ucol.h

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/i18n/unicode/ucal.h ('k') | source/i18n/unicode/ucurr.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 ******************************************************************************* 2 *******************************************************************************
3 * Copyright (c) 1996-2014, International Business Machines Corporation and other s. 3 * Copyright (c) 1996-2015, International Business Machines Corporation and other s.
4 * All Rights Reserved. 4 * All Rights Reserved.
5 ******************************************************************************* 5 *******************************************************************************
6 */ 6 */
7 7
8 #ifndef UCOL_H 8 #ifndef UCOL_H
9 #define UCOL_H 9 #define UCOL_H
10 10
11 #include "unicode/utypes.h" 11 #include "unicode/utypes.h"
12 12
13 #if !UCONFIG_NO_COLLATION 13 #if !UCONFIG_NO_COLLATION
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 U_STABLE void U_EXPORT2 678 U_STABLE void U_EXPORT2
679 ucol_setStrength(UCollator *coll, 679 ucol_setStrength(UCollator *coll,
680 UCollationStrength strength); 680 UCollationStrength strength);
681 681
682 /** 682 /**
683 * Retrieves the reordering codes for this collator. 683 * Retrieves the reordering codes for this collator.
684 * These reordering codes are a combination of UScript codes and UColReorderCode entries. 684 * These reordering codes are a combination of UScript codes and UColReorderCode entries.
685 * @param coll The UCollator to query. 685 * @param coll The UCollator to query.
686 * @param dest The array to fill with the script ordering. 686 * @param dest The array to fill with the script ordering.
687 * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the function 687 * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the function
688 * will only return the length of the result without writing any of the result s tring (pre-flighting). 688 * will only return the length of the result without writing any codes (pre-flig hting).
689 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate a 689 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate a
690 * failure before the function call. 690 * failure before the function call.
691 * @return The number of reordering codes written to the dest array. 691 * @return The number of reordering codes written to the dest array.
692 * @see ucol_setReorderCodes 692 * @see ucol_setReorderCodes
693 * @see ucol_getEquivalentReorderCodes 693 * @see ucol_getEquivalentReorderCodes
694 * @see UScriptCode 694 * @see UScriptCode
695 * @see UColReorderCode 695 * @see UColReorderCode
696 * @stable ICU 4.8 696 * @stable ICU 4.8
697 */ 697 */
698 U_STABLE int32_t U_EXPORT2 698 U_STABLE int32_t U_EXPORT2
699 ucol_getReorderCodes(const UCollator* coll, 699 ucol_getReorderCodes(const UCollator* coll,
700 int32_t* dest, 700 int32_t* dest,
701 int32_t destCapacity, 701 int32_t destCapacity,
702 UErrorCode *pErrorCode); 702 UErrorCode *pErrorCode);
703 /** 703 /**
704 * Sets the reordering codes for this collator. 704 * Sets the reordering codes for this collator.
705 * Collation reordering allows scripts and some other defined blocks of characte rs 705 * Collation reordering allows scripts and some other groups of characters
706 * to be moved relative to each other as a block. This reordering is done on top of 706 * to be moved relative to each other. This reordering is done on top of
707 * the DUCET/CLDR standard collation order. Reordering can specify groups to be placed 707 * the DUCET/CLDR standard collation order. Reordering can specify groups to be placed
708 * at the start and/or the end of the collation order. These groups are specifie d using 708 * at the start and/or the end of the collation order. These groups are specifie d using
709 * UScript codes and UColReorderCode entries. 709 * UScript codes and UColReorderCode entries.
710 *
710 * <p>By default, reordering codes specified for the start of the order are plac ed in the 711 * <p>By default, reordering codes specified for the start of the order are plac ed in the
711 * order given after a group of "special" non-script blocks. These special group s of characters 712 * order given after several special non-script blocks. These special groups of characters
712 * are space, punctuation, symbol, currency, and digit. These special groups are represented with 713 * are space, punctuation, symbol, currency, and digit. These special groups are represented with
713 * UColReorderCode entries. Script groups can be intermingled with 714 * UColReorderCode entries. Script groups can be intermingled with
714 * these special non-script blocks if those special blocks are explicitly specif ied in the reordering. 715 * these special non-script groups if those special groups are explicitly specif ied in the reordering.
716 *
715 * <p>The special code OTHERS stands for any script that is not explicitly 717 * <p>The special code OTHERS stands for any script that is not explicitly
716 * mentioned in the list of reordering codes given. Anything that is after OTHER S 718 * mentioned in the list of reordering codes given. Anything that is after OTHER S
717 * will go at the very end of the reordering in the order given. 719 * will go at the very end of the reordering in the order given.
720 *
718 * <p>The special reorder code DEFAULT will reset the reordering for this collat or 721 * <p>The special reorder code DEFAULT will reset the reordering for this collat or
719 * to the default for this collator. The default reordering may be the DUCET/CLD R order or may be a reordering that 722 * to the default for this collator. The default reordering may be the DUCET/CLD R order or may be a reordering that
720 * was specified when this collator was created from resource data or from rules . The 723 * was specified when this collator was created from resource data or from rules . The
721 * DEFAULT code <b>must</b> be the sole code supplied when it used. If not 724 * DEFAULT code <b>must</b> be the sole code supplied when it is used.
722 * that will result in a U_ILLEGAL_ARGUMENT_ERROR being set. 725 * If not, then U_ILLEGAL_ARGUMENT_ERROR will be set.
726 *
723 * <p>The special reorder code NONE will remove any reordering for this collator . 727 * <p>The special reorder code NONE will remove any reordering for this collator .
724 * The result of setting no reordering will be to have the DUCET/CLDR ordering u sed. The 728 * The result of setting no reordering will be to have the DUCET/CLDR ordering u sed. The
725 * NONE code <b>must</b> be the sole code supplied when it used. 729 * NONE code <b>must</b> be the sole code supplied when it is used.
730 *
726 * @param coll The UCollator to set. 731 * @param coll The UCollator to set.
727 * @param reorderCodes An array of script codes in the new order. This can be NU LL if the 732 * @param reorderCodes An array of script codes in the new order. This can be NU LL if the
728 * length is also set to 0. An empty array will clear any reordering codes on th e collator. 733 * length is also set to 0. An empty array will clear any reordering codes on th e collator.
729 * @param reorderCodesLength The length of reorderCodes. 734 * @param reorderCodesLength The length of reorderCodes.
730 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate a 735 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate a
731 * failure before the function call. 736 * failure before the function call.
732 * @see ucol_getReorderCodes 737 * @see ucol_getReorderCodes
733 * @see ucol_getEquivalentReorderCodes 738 * @see ucol_getEquivalentReorderCodes
734 * @see UScriptCode 739 * @see UScriptCode
735 * @see UColReorderCode 740 * @see UColReorderCode
736 * @stable ICU 4.8 741 * @stable ICU 4.8
737 */ 742 */
738 U_STABLE void U_EXPORT2 743 U_STABLE void U_EXPORT2
739 ucol_setReorderCodes(UCollator* coll, 744 ucol_setReorderCodes(UCollator* coll,
740 const int32_t* reorderCodes, 745 const int32_t* reorderCodes,
741 int32_t reorderCodesLength, 746 int32_t reorderCodesLength,
742 UErrorCode *pErrorCode); 747 UErrorCode *pErrorCode);
743 748
744 /** 749 /**
745 * Retrieves the reorder codes that are grouped with the given reorder code. Som e reorder 750 * Retrieves the reorder codes that are grouped with the given reorder code. Som e reorder
746 * codes will be grouped and must reorder together. 751 * codes will be grouped and must reorder together.
752 * Beginning with ICU 55, scripts only reorder together if they are primary-equa l,
753 * for example Hiragana and Katakana.
754 *
747 * @param reorderCode The reorder code to determine equivalence for. 755 * @param reorderCode The reorder code to determine equivalence for.
748 * @param dest The array to fill with the script ordering. 756 * @param dest The array to fill with the script ordering.
749 * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the function 757 * @param destCapacity The length of dest. If it is 0, then dest may be NULL and the function
750 * will only return the length of the result without writing any of the result s tring (pre-flighting). 758 * will only return the length of the result without writing any codes (pre-flig hting).
751 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate 759 * @param pErrorCode Must be a valid pointer to an error code value, which must not indicate
752 * a failure before the function call. 760 * a failure before the function call.
753 * @return The number of reordering codes written to the dest array. 761 * @return The number of reordering codes written to the dest array.
754 * @see ucol_setReorderCodes 762 * @see ucol_setReorderCodes
755 * @see ucol_getReorderCodes 763 * @see ucol_getReorderCodes
756 * @see UScriptCode 764 * @see UScriptCode
757 * @see UColReorderCode 765 * @see UColReorderCode
758 * @stable ICU 4.8 766 * @stable ICU 4.8
759 */ 767 */
760 U_STABLE int32_t U_EXPORT2 768 U_STABLE int32_t U_EXPORT2
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 * @return attribute value 1193 * @return attribute value
1186 * @param status to indicate whether the operation went on smoothly or there wer e errors 1194 * @param status to indicate whether the operation went on smoothly or there wer e errors
1187 * @see UColAttribute 1195 * @see UColAttribute
1188 * @see UColAttributeValue 1196 * @see UColAttributeValue
1189 * @see ucol_setAttribute 1197 * @see ucol_setAttribute
1190 * @stable ICU 2.0 1198 * @stable ICU 2.0
1191 */ 1199 */
1192 U_STABLE UColAttributeValue U_EXPORT2 1200 U_STABLE UColAttributeValue U_EXPORT2
1193 ucol_getAttribute(const UCollator *coll, UColAttribute attr, UErrorCode *status) ; 1201 ucol_getAttribute(const UCollator *coll, UColAttribute attr, UErrorCode *status) ;
1194 1202
1195 #ifndef U_HIDE_DRAFT_API
1196
1197 /** 1203 /**
1198 * Sets the variable top to the top of the specified reordering group. 1204 * Sets the variable top to the top of the specified reordering group.
1199 * The variable top determines the highest-sorting character 1205 * The variable top determines the highest-sorting character
1200 * which is affected by UCOL_ALTERNATE_HANDLING. 1206 * which is affected by UCOL_ALTERNATE_HANDLING.
1201 * If that attribute is set to UCOL_NON_IGNORABLE, then the variable top has no effect. 1207 * If that attribute is set to UCOL_NON_IGNORABLE, then the variable top has no effect.
1202 * @param coll the collator 1208 * @param coll the collator
1203 * @param group one of UCOL_REORDER_CODE_SPACE, UCOL_REORDER_CODE_PUNCTUATION, 1209 * @param group one of UCOL_REORDER_CODE_SPACE, UCOL_REORDER_CODE_PUNCTUATION,
1204 * UCOL_REORDER_CODE_SYMBOL, UCOL_REORDER_CODE_CURRENCY; 1210 * UCOL_REORDER_CODE_SYMBOL, UCOL_REORDER_CODE_CURRENCY;
1205 * or UCOL_REORDER_CODE_DEFAULT to restore the default max variable group 1211 * or UCOL_REORDER_CODE_DEFAULT to restore the default max variable group
1206 * @param pErrorCode Standard ICU error code. Its input value must 1212 * @param pErrorCode Standard ICU error code. Its input value must
1207 * pass the U_SUCCESS() test, or else the function returns 1213 * pass the U_SUCCESS() test, or else the function returns
1208 * immediately. Check for U_FAILURE() on output or use with 1214 * immediately. Check for U_FAILURE() on output or use with
1209 * function chaining. (See User Guide for details.) 1215 * function chaining. (See User Guide for details.)
1210 * @see ucol_getMaxVariable 1216 * @see ucol_getMaxVariable
1211 * @draft ICU 53 1217 * @stable ICU 53
1212 */ 1218 */
1213 U_DRAFT void U_EXPORT2 1219 U_STABLE void U_EXPORT2
1214 ucol_setMaxVariable(UCollator *coll, UColReorderCode group, UErrorCode *pErrorCo de); 1220 ucol_setMaxVariable(UCollator *coll, UColReorderCode group, UErrorCode *pErrorCo de);
1215 1221
1216 /** 1222 /**
1217 * Returns the maximum reordering group whose characters are affected by UCOL_AL TERNATE_HANDLING. 1223 * Returns the maximum reordering group whose characters are affected by UCOL_AL TERNATE_HANDLING.
1218 * @param coll the collator 1224 * @param coll the collator
1219 * @return the maximum variable reordering group. 1225 * @return the maximum variable reordering group.
1220 * @see ucol_setMaxVariable 1226 * @see ucol_setMaxVariable
1221 * @draft ICU 53 1227 * @stable ICU 53
1222 */ 1228 */
1223 U_DRAFT UColReorderCode U_EXPORT2 1229 U_STABLE UColReorderCode U_EXPORT2
1224 ucol_getMaxVariable(const UCollator *coll); 1230 ucol_getMaxVariable(const UCollator *coll);
1225 1231
1226 #endif /* U_HIDE_DRAFT_API */
1227
1228 #ifndef U_HIDE_DEPRECATED_API 1232 #ifndef U_HIDE_DEPRECATED_API
1229 /** 1233 /**
1230 * Sets the variable top to the primary weight of the specified string. 1234 * Sets the variable top to the primary weight of the specified string.
1231 * 1235 *
1232 * Beginning with ICU 53, the variable top is pinned to 1236 * Beginning with ICU 53, the variable top is pinned to
1233 * the top of one of the supported reordering groups, 1237 * the top of one of the supported reordering groups,
1234 * and it must not be beyond the last of those groups. 1238 * and it must not be beyond the last of those groups.
1235 * See ucol_setMaxVariable(). 1239 * See ucol_setMaxVariable().
1236 * @param coll the collator 1240 * @param coll the collator
1237 * @param varTop one or more (if contraction) UChars to which the variable top s hould be set 1241 * @param varTop one or more (if contraction) UChars to which the variable top s hould be set
(...skipping 20 matching lines...) Expand all
1258 * @param status error code (not changed by function). If error code is set, 1262 * @param status error code (not changed by function). If error code is set,
1259 * the return value is undefined. 1263 * the return value is undefined.
1260 * @return the variable top primary weight 1264 * @return the variable top primary weight
1261 * @see ucol_getMaxVariable 1265 * @see ucol_getMaxVariable
1262 * @see ucol_setVariableTop 1266 * @see ucol_setVariableTop
1263 * @see ucol_restoreVariableTop 1267 * @see ucol_restoreVariableTop
1264 * @stable ICU 2.0 1268 * @stable ICU 2.0
1265 */ 1269 */
1266 U_STABLE uint32_t U_EXPORT2 ucol_getVariableTop(const UCollator *coll, UErrorCod e *status); 1270 U_STABLE uint32_t U_EXPORT2 ucol_getVariableTop(const UCollator *coll, UErrorCod e *status);
1267 1271
1272 #ifndef U_HIDE_DEPRECATED_API
1268 /** 1273 /**
1269 * Sets the variable top to the specified primary weight. 1274 * Sets the variable top to the specified primary weight.
1270 * 1275 *
1271 * Beginning with ICU 53, the variable top is pinned to 1276 * Beginning with ICU 53, the variable top is pinned to
1272 * the top of one of the supported reordering groups, 1277 * the top of one of the supported reordering groups,
1273 * and it must not be beyond the last of those groups. 1278 * and it must not be beyond the last of those groups.
1274 * See ucol_setMaxVariable(). 1279 * See ucol_setMaxVariable().
1275 * @param varTop primary weight, as returned by ucol_setVariableTop or ucol_getV ariableTop 1280 * @param varTop primary weight, as returned by ucol_setVariableTop or ucol_getV ariableTop
1276 * @param status error code 1281 * @param status error code
1277 * @see ucol_getVariableTop 1282 * @see ucol_getVariableTop
1278 * @see ucol_setVariableTop 1283 * @see ucol_setVariableTop
1279 * @deprecated ICU 53 Call ucol_setMaxVariable() instead. 1284 * @deprecated ICU 53 Call ucol_setMaxVariable() instead.
1280 */ 1285 */
1281 U_DEPRECATED void U_EXPORT2 1286 U_DEPRECATED void U_EXPORT2
1282 ucol_restoreVariableTop(UCollator *coll, const uint32_t varTop, UErrorCode *stat us); 1287 ucol_restoreVariableTop(UCollator *coll, const uint32_t varTop, UErrorCode *stat us);
1288 #endif /* U_HIDE_DEPRECATED_API */
1283 1289
1284 /** 1290 /**
1285 * Thread safe cloning operation. The result is a clone of a given collator. 1291 * Thread safe cloning operation. The result is a clone of a given collator.
1286 * @param coll collator to be cloned 1292 * @param coll collator to be cloned
1287 * @param stackBuffer <em>Deprecated functionality as of ICU 52, use NULL.</em>< br> 1293 * @param stackBuffer <em>Deprecated functionality as of ICU 52, use NULL.</em>< br>
1288 * user allocated space for the new clone. 1294 * user allocated space for the new clone.
1289 * If NULL new memory will be allocated. 1295 * If NULL new memory will be allocated.
1290 * If buffer is not large enough, new memory will be allocated. 1296 * If buffer is not large enough, new memory will be allocated.
1291 * Clients can use the U_COL_SAFECLONE_BUFFERSIZE. 1297 * Clients can use the U_COL_SAFECLONE_BUFFERSIZE.
1292 * @param pBufferSize <em>Deprecated functionality as of ICU 52, use NULL or 1.< /em><br> 1298 * @param pBufferSize <em>Deprecated functionality as of ICU 52, use NULL or 1.< /em><br>
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
1465 */ 1471 */
1466 U_STABLE UCollator* U_EXPORT2 1472 U_STABLE UCollator* U_EXPORT2
1467 ucol_openBinary(const uint8_t *bin, int32_t length, 1473 ucol_openBinary(const uint8_t *bin, int32_t length,
1468 const UCollator *base, 1474 const UCollator *base,
1469 UErrorCode *status); 1475 UErrorCode *status);
1470 1476
1471 1477
1472 #endif /* #if !UCONFIG_NO_COLLATION */ 1478 #endif /* #if !UCONFIG_NO_COLLATION */
1473 1479
1474 #endif 1480 #endif
OLDNEW
« no previous file with comments | « source/i18n/unicode/ucal.h ('k') | source/i18n/unicode/ucurr.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698