| OLD | NEW |
| 1 /* | 1 /* |
| 2 ********************************************************************** | 2 ********************************************************************** |
| 3 * Copyright (C) 1999-2007, International Business Machines | 3 * Copyright (C) 1999-2007, International Business Machines |
| 4 * Corporation and others. All Rights Reserved. | 4 * Corporation and others. All Rights Reserved. |
| 5 ********************************************************************** | 5 ********************************************************************** |
| 6 * ucnv.h: | 6 * ucnv.h: |
| 7 * External APIs for the ICU's codeset conversion library | 7 * External APIs for the ICU's codeset conversion library |
| 8 * Bertrand A. Damiba | 8 * Bertrand A. Damiba |
| 9 * | 9 * |
| 10 * Modification History: | 10 * Modification History: |
| (...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 | 863 |
| 864 | 864 |
| 865 /** | 865 /** |
| 866 * Selectors for Unicode sets that can be returned by ucnv_getUnicodeSet(). | 866 * Selectors for Unicode sets that can be returned by ucnv_getUnicodeSet(). |
| 867 * @see ucnv_getUnicodeSet | 867 * @see ucnv_getUnicodeSet |
| 868 * @stable ICU 2.6 | 868 * @stable ICU 2.6 |
| 869 */ | 869 */ |
| 870 typedef enum UConverterUnicodeSet { | 870 typedef enum UConverterUnicodeSet { |
| 871 /** Select the set of roundtrippable Unicode code points. @stable ICU 2.6 */ | 871 /** Select the set of roundtrippable Unicode code points. @stable ICU 2.6 */ |
| 872 UCNV_ROUNDTRIP_SET, | 872 UCNV_ROUNDTRIP_SET, |
| 873 /** Select the set of Unicode code points with roundtrip or fallback mapping
s. @draft ICU 4.0 */ |
| 874 UCNV_ROUNDTRIP_AND_FALLBACK_SET, |
| 873 /** Number of UConverterUnicodeSet selectors. @stable ICU 2.6 */ | 875 /** Number of UConverterUnicodeSet selectors. @stable ICU 2.6 */ |
| 874 UCNV_SET_COUNT | 876 UCNV_SET_COUNT |
| 875 } UConverterUnicodeSet; | 877 } UConverterUnicodeSet; |
| 876 | 878 |
| 877 | 879 |
| 878 /** | 880 /** |
| 879 * Returns the set of Unicode code points that can be converted by an ICU conver
ter. | 881 * Returns the set of Unicode code points that can be converted by an ICU conver
ter. |
| 880 * | 882 * |
| 881 * The current implementation returns only one kind of set (UCNV_ROUNDTRIP_SET): | 883 * Returns one of several kinds of set: |
| 884 * |
| 885 * 1. UCNV_ROUNDTRIP_SET |
| 886 * |
| 882 * The set of all Unicode code points that can be roundtrip-converted | 887 * The set of all Unicode code points that can be roundtrip-converted |
| 883 * (converted without any data loss) with the converter. | 888 * (converted without any data loss) with the converter (ucnv_fromUnicode()). |
| 884 * This set will not include code points that have fallback mappings | 889 * This set will not include code points that have fallback mappings |
| 885 * or are only the result of reverse fallback mappings. | 890 * or are only the result of reverse fallback mappings. |
| 891 * This set will also not include PUA code points with fallbacks, although |
| 892 * ucnv_fromUnicode() will always uses those mappings despite ucnv_setFallback()
. |
| 886 * See UTR #22 "Character Mapping Markup Language" | 893 * See UTR #22 "Character Mapping Markup Language" |
| 887 * at http://www.unicode.org/reports/tr22/ | 894 * at http://www.unicode.org/reports/tr22/ |
| 888 * | 895 * |
| 889 * This is useful for example for | 896 * This is useful for example for |
| 890 * - checking that a string or document can be roundtrip-converted with a conver
ter, | 897 * - checking that a string or document can be roundtrip-converted with a conver
ter, |
| 891 * without/before actually performing the conversion | 898 * without/before actually performing the conversion |
| 892 * - testing if a converter can be used for text for typical text for a certain
locale, | 899 * - testing if a converter can be used for text for typical text for a certain
locale, |
| 893 * by comparing its roundtrip set with the set of ExemplarCharacters from | 900 * by comparing its roundtrip set with the set of ExemplarCharacters from |
| 894 * ICU's locale data or other sources | 901 * ICU's locale data or other sources |
| 895 * | 902 * |
| 903 * 2. UCNV_ROUNDTRIP_AND_FALLBACK_SET |
| 904 * |
| 905 * The set of all Unicode code points that can be converted with the converter (
ucnv_fromUnicode()) |
| 906 * when fallbacks are turned on (see ucnv_setFallback()). |
| 907 * This set includes all code points with roundtrips and fallbacks (but not reve
rse fallbacks). |
| 908 * |
| 896 * In the future, there may be more UConverterUnicodeSet choices to select | 909 * In the future, there may be more UConverterUnicodeSet choices to select |
| 897 * sets with different properties. | 910 * sets with different properties. |
| 898 * | 911 * |
| 899 * @param cnv The converter for which a set is requested. | 912 * @param cnv The converter for which a set is requested. |
| 900 * @param setFillIn A valid USet *. It will be cleared by this function before | 913 * @param setFillIn A valid USet *. It will be cleared by this function before |
| 901 * the converter's specific set is filled into the USet. | 914 * the converter's specific set is filled into the USet. |
| 902 * @param whichSet A UConverterUnicodeSet selector; | 915 * @param whichSet A UConverterUnicodeSet selector; |
| 903 * currently UCNV_ROUNDTRIP_SET is the only supported value. | 916 * currently UCNV_ROUNDTRIP_SET is the only supported value. |
| 904 * @param pErrorCode ICU error code in/out parameter. | 917 * @param pErrorCode ICU error code in/out parameter. |
| 905 * Must fulfill U_SUCCESS before the function call. | 918 * Must fulfill U_SUCCESS before the function call. |
| (...skipping 1039 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1945 * @return The number of chars in the state. -1 if an error is encountered. | 1958 * @return The number of chars in the state. -1 if an error is encountered. |
| 1946 * @stable ICU 3.4 | 1959 * @stable ICU 3.4 |
| 1947 */ | 1960 */ |
| 1948 U_STABLE int32_t U_EXPORT2 | 1961 U_STABLE int32_t U_EXPORT2 |
| 1949 ucnv_toUCountPending(const UConverter* cnv, UErrorCode* status); | 1962 ucnv_toUCountPending(const UConverter* cnv, UErrorCode* status); |
| 1950 | 1963 |
| 1951 #endif | 1964 #endif |
| 1952 | 1965 |
| 1953 #endif | 1966 #endif |
| 1954 /*_UCNV*/ | 1967 /*_UCNV*/ |
| OLD | NEW |