diff --git a/icu4c/readme.html b/icu4c/readme.html index bffff75922..dfefd15fac 100644 --- a/icu4c/readme.html +++ b/icu4c/readme.html @@ -2,9 +2,6 @@
- -Version: 2004-Aug-04
+
Version: 2004-Oct-25
Copyright © 1997-2004 International Business Machines Corporation and
others. All Rights Reserved.
The following list concentrates on changes that affect existing applications migrating from previous ICU releases. For more news about this release, see the ICU 3.0 download + "http://oss.software.ibm.com/icu/download/3.2/index.html">ICU 3.2 download page.
-In 3.0, do not set the ICU data path to a short name consisting of only - a directory or package name. For example, if your resource package is named - 'mydata', and resides in a directory named 'mydata', the following will - fail:
--u_setDataDirectory("mydata"); -ures_open("mydata", NULL, &status); - -+
Starting in ICU 3.2, the unicode/utypes.h and unicode/putil.h headers + are no longer circularly dependent on each other. This means that if you + use any of the functions from unicode/putil.h and only included + unicode/utypes.h, you will now have to include unicode/putil.h too. No + stable API functions have been removed from these headers, but some + internal function declarations (marked with @internal) have been moved to + internal headers.
-When the data directory and the path (first argument to ures_open) are - exactly the same string, ICU will load the ICU data rather than your - 'mydata' package. This is a known bug and is #3841. The solution - is to make sure these strings are different. For example, setting a path of - "mydata:/otherdir" would work, because there are two path segments and the - path is not identical to "mydata". Another solution would be to use a full - or relative path such as "C:\\path\\to\\mydata", "./mydata", "./mydata/" or - "mydata/".
- -The ICU locale identifier format has recently changed. In order to
- improve support for RFC 3066 identifiers and to support keyword
- identifiers, some minor breaking changes have been introduced. When your
- application is working with POSIX locale identifiers or .NET locale
- identifiers, you should use uloc_canonicalize()
- to convert it to an ICU locale identifier. It was an undocumented feature
- that you could pass a POSIX locale to ICU, and ICU would convert it for you
- automatically. For example, if you used @EURO or @PREEURO to identify
- certain currencies, you should now be using the "@currency=" keyword for
- the locale identifiers. If you use the uloc_canonicalize()
- function, it will convert the @PREEURO variants to the proper ICU locale
- identifier. For example, it will convert "fr-fr@PREEURO" to
- "fr_FR@currency=FRF". More information about keywords can be found in the
- Locale
- Section of the User's Guide and on the OpenI18N
- site.
Some ISO 15924 script codes are used in some RFC 3066 language tags. - This is especially helpful when you need to differentiate cases where a - language can be written with more than one script. Since ICU now supports - ISO 15924 script codes in the locale identifier, you can now specify - locales like "zh_Hant" to specify Traditional Chinese. Previously, people - had to use "zh_TW" to specify Traditional Chinese, which isn't quite - correct because the locale identifier is specifying the language of a - region and not the type of language. The current locale identifiers, like - en_US, still work, and do not require any changes in your code. Future - versions of ICU will move the data into the proper locale resources, and - the locale infrastructure will be improved.
- -In order to differentiate between the two library names on all - platforms, static libraries now use an "s" as a prefix to differentiate - between the shared and static libraries. For example, "libicuuc.a" is now - "libsicuuc.a". This means that if you used "-licuuc" to - link the common library into your application, you now need to use - "-lsicuuc".
- -The ICUIO library is still unsupported (this was previously called the - ustdio library), and some breaking fixes have been made to the library. %S - should be used for UTF-16 strings, and %C should be used for UChar for the - format strings. The %K and %U format specifiers are deprecated and will be - removed in a future version of ICU. Also u_fgets now uses the same argument - ordering as stdio fgets, which will make it easier for people to migrate - their existing stdio implementations to use ICUIO. Fortunately, u_fgets now - follows the Unicode algorithm for detecting hard line breaks, and some - performance enhancements to this library have been implemented so that most - of the formatting and parsing functions will run faster.
- -ICU4C 2.6 introduces a library initialization function. It is required
- to call it before using any ICU services in a multi-threaded environment.
- For details please see the documentation of
- u_init()
in the unicode/uclean.h
header file.
ICU supports over 500 TimeZone identifiers. Most of these are current - Olson identifiers (see TimeZone documentation). However, some of these are - obsolete names for current identifiers. There are two sources of obsolete - identifiers: the Olson database itself, and JDK legacy identifiers. (For - example, the Olson database defines "US/Pacific" as an old identifier for - "America/Los_Angeles". JDK 1.5 defines "PST" as a legacy identifier - equivalent to "America/Los_Angeles".) Currently, the ICU TimeZone API does - not distinguish between current identifiers and obsolete identifiers. This - section lists obsolete identifiers and their modern equivalents.
- -As of ICU 3.0 there are 136 obsolete Olson names (modern names given in - parentheses): America/Atka (America/Adak), America/Ensenada - (America/Tijuana), America/Fort_Wayne (America/Indianapolis), - America/Indiana/Indianapolis (America/Indianapolis), - America/Kentucky/Louisville (America/Louisville), America/Knox_IN - (America/Indiana/Knox), America/Porto_Acre (America/Rio_Branco), - America/Rosario (America/Cordoba), America/Shiprock (America/Denver), - America/Virgin (America/St_Thomas), Antarctica/South_Pole - (Antarctica/McMurdo), Arctic/Longyearbyen (Europe/Oslo), Asia/Ashkhabad - (Asia/Ashgabat), Asia/Chungking (Asia/Chongqing), Asia/Dacca (Asia/Dhaka), - Asia/Istanbul (Europe/Istanbul), Asia/Macao (Asia/Macau), Asia/Tel_Aviv - (Asia/Jerusalem), Asia/Thimbu (Asia/Thimphu), Asia/Ujung_Pandang - (Asia/Makassar), Asia/Ulan_Bator (Asia/Ulaanbaatar), Atlantic/Jan_Mayen - (Europe/Oslo), Australia/ACT (Australia/Sydney), Australia/Canberra - (Australia/Sydney), Australia/LHI (Australia/Lord_Howe), Australia/NSW - (Australia/Sydney), Australia/North (Australia/Darwin), - Australia/Queensland (Australia/Brisbane), Australia/South - (Australia/Adelaide), Australia/Tasmania (Australia/Hobart), - Australia/Victoria (Australia/Melbourne), Australia/West (Australia/Perth), - Australia/Yancowinna (Australia/Broken_Hill), Brazil/Acre - (America/Porto_Acre), Brazil/DeNoronha (America/Noronha), Brazil/East - (America/Sao_Paulo), Brazil/West (America/Manaus), CST6CDT - (America/Chicago), Canada/Atlantic (America/Halifax), Canada/Central - (America/Winnipeg), Canada/East-Saskatchewan (America/Regina), - Canada/Eastern (America/Toronto), Canada/Mountain (America/Edmonton), - Canada/Newfoundland (America/St_Johns), Canada/Pacific (America/Vancouver), - Canada/Saskatchewan (America/Regina), Canada/Yukon (America/Whitehorse), - Chile/Continental (America/Santiago), Chile/EasterIsland (Pacific/Easter), - Cuba (America/Havana), EST (America/Indianapolis), EST5EDT - (America/New_York), Egypt (Africa/Cairo), Eire (Europe/Dublin), Etc/GMT+0 - (Etc/GMT), Etc/GMT-0 (Etc/GMT), Etc/GMT0 (Etc/GMT), Etc/Greenwich - (Etc/GMT), Etc/Universal (Etc/UTC), Etc/Zulu (Etc/UTC), Europe/Bratislava - (Europe/Prague), Europe/Ljubljana (Europe/Belgrade), Europe/Nicosia - (Asia/Nicosia), Europe/San_Marino (Europe/Rome), Europe/Sarajevo - (Europe/Belgrade), Europe/Skopje (Europe/Belgrade), Europe/Tiraspol - (Europe/Chisinau), Europe/Vatican (Europe/Rome), Europe/Zagreb - (Europe/Belgrade), GB (Europe/London), GB-Eire (Europe/London), GMT - (Etc/GMT), GMT+0 (Etc/GMT+0), GMT-0 (Etc/GMT-0), GMT0 (Etc/GMT0), Greenwich - (Etc/Greenwich), HST (Pacific/Honolulu), Hongkong (Asia/Hong_Kong), Iceland - (Atlantic/Reykjavik), Iran (Asia/Tehran), Israel (Asia/Jerusalem), Jamaica - (America/Jamaica), Japan (Asia/Tokyo), Kwajalein (Pacific/Kwajalein), Libya - (Africa/Tripoli), MST (America/Phoenix), MST7MDT (America/Denver), - Mexico/BajaNorte (America/Tijuana), Mexico/BajaSur (America/Mazatlan), - Mexico/General (America/Mexico_City), Mideast/Riyadh87 (Asia/Riyadh87), - Mideast/Riyadh88 (Asia/Riyadh88), Mideast/Riyadh89 (Asia/Riyadh89), NZ - (Pacific/Auckland), NZ-CHAT (Pacific/Chatham), Navajo (America/Denver), PRC - (Asia/Shanghai), PST8PDT (America/Los_Angeles), Pacific/Samoa - (Pacific/Pago_Pago), Poland (Europe/Warsaw), Portugal (Europe/Lisbon), ROC - (Asia/Taipei), ROK (Asia/Seoul), Singapore (Asia/Singapore), SystemV/AST4 - (America/Puerto_Rico), SystemV/AST4ADT (America/Halifax), SystemV/CST6 - (America/Regina), SystemV/CST6CDT (America/Chicago), SystemV/EST5 - (America/Indianapolis), SystemV/EST5EDT (America/New_York), SystemV/HST10 - (Pacific/Honolulu), SystemV/MST7 (America/Phoenix), SystemV/MST7MDT - (America/Denver), SystemV/PST8 (Pacific/Pitcairn), SystemV/PST8PDT - (America/Los_Angeles), SystemV/YST9 (Pacific/Gambier), SystemV/YST9YDT - (America/Anchorage), Turkey (Europe/Istanbul), UCT (Etc/UCT), US/Alaska - (America/Anchorage), US/Aleutian (America/Adak), US/Arizona - (America/Phoenix), US/Central (America/Chicago), US/East-Indiana - (America/Indianapolis), US/Eastern (America/New_York), US/Hawaii - (Pacific/Honolulu), US/Indiana-Starke (America/Indiana/Knox), US/Michigan - (America/Detroit), US/Mountain (America/Denver), US/Pacific - (America/Los_Angeles), US/Pacific-New (America/Los_Angeles), US/Samoa - (Pacific/Pago_Pago), UTC (Etc/UTC), Universal (Etc/Universal), W-SU - (Europe/Moscow), Zulu (Etc/Zulu).
- -As of ICU 3.0 there are 25 legacy JDK identifiers (modern names given in - parentheses): ACT (Australia/Darwin), AET (Australia/Sydney), AGT - (America/Buenos_Aires), ART (Africa/Cairo), AST (America/Anchorage), BET - (America/Sao_Paulo), BST (Asia/Dhaka), CAT (Africa/Harare), CNT - (America/St_Johns), CST (America/Chicago), CTT (Asia/Shanghai), EAT - (Africa/Addis_Ababa), ECT (Europe/Paris), IET (America/Indianapolis), IST - (Asia/Calcutta), JST (Asia/Tokyo), MIT (Pacific/Apia), NET (Asia/Yerevan), - NST (Pacific/Auckland), PLT (Asia/Karachi), PNT (America/Phoenix), PRT - (America/Puerto_Rico), PST (America/Los_Angeles), SST - (Pacific/Guadalcanal), VST (Asia/Saigon).
-This change was announced on the icu mailing list, and it was done to + fix some header dependency issues that appeared while trying to make some + changes to the utf.h header macros.
Following these guidelines prevents other applications that use a - standard ICU distribution from conflicting with any libraries that you need. On - operating systems that do not have a standard C++ ABI (name mangling) for - compilers, it is recommended to do this special packaging anyway. More - details on customizing ICU are available in the User's Guide. The ICU Source Code Organization section of this readme.html gives a more complete description of the libraries.
diff --git a/icu4c/source/common/common.dsp b/icu4c/source/common/common.dsp index 8cedf476eb..237ebf6484 100644 --- a/icu4c/source/common/common.dsp +++ b/icu4c/source/common/common.dsp @@ -55,7 +55,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /machine:I386 /out:"..\..\bin\icuuc31.dll" /implib:"..\..\lib\icuuc.lib" /libpath:"..\..\lib" +# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /machine:I386 /out:"..\..\bin\icuuc32.dll" /implib:"..\..\lib\icuuc.lib" /libpath:"..\..\lib" # SUBTRACT LINK32 /pdb:none /debug !ELSEIF "$(CFG)" == "common - Win32 Debug" @@ -82,7 +82,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /debug /machine:I386 /out:"..\..\bin\icuuc31d.dll" /implib:"..\..\lib\icuucd.lib" /pdbtype:sept /libpath:"..\..\lib" +# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /debug /machine:I386 /out:"..\..\bin\icuuc32d.dll" /implib:"..\..\lib\icuucd.lib" /pdbtype:sept /libpath:"..\..\lib" # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "common - Win64 Release" @@ -109,7 +109,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:IX86 /machine:IA64 -# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /machine:IX86 /out:"..\..\bin\icuuc31.dll" /implib:"..\..\lib\icuuc.lib" /libpath:"..\..\lib" /machine:IA64 +# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /machine:IX86 /out:"..\..\bin\icuuc32.dll" /implib:"..\..\lib\icuuc.lib" /libpath:"..\..\lib" /machine:IA64 # SUBTRACT LINK32 /debug !ELSEIF "$(CFG)" == "common - Win64 Debug" @@ -136,7 +136,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:IX86 /pdbtype:sept /machine:IA64 -# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /incremental:no /debug /machine:IX86 /out:"..\..\bin\icuuc31d.dll" /implib:"..\..\lib\icuucd.lib" /pdbtype:sept /libpath:"..\..\lib" /machine:IA64 +# ADD LINK32 icudt.lib kernel32.lib user32.lib advapi32.lib shell32.lib /nologo /base:"0x4a800000" /dll /incremental:no /debug /machine:IX86 /out:"..\..\bin\icuuc32d.dll" /implib:"..\..\lib\icuucd.lib" /pdbtype:sept /libpath:"..\..\lib" /machine:IA64 !ENDIF diff --git a/icu4c/source/common/common.vcproj b/icu4c/source/common/common.vcproj index 7fdb46d441..46026cde13 100644 --- a/icu4c/source/common/common.vcproj +++ b/icu4c/source/common/common.vcproj @@ -41,10 +41,10 @@ Name="VCCustomBuildTool"/>