diff options
author | Karl Berry <karl@freefriends.org> | 2018-01-12 18:35:28 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-01-12 18:35:28 +0000 |
commit | 39cc3fec95f3782316910590bb86993918c9dcdf (patch) | |
tree | 2315d3b06410f34b2cfd5c73ba6cc53610752030 /Build/source/libs/icu/icu-src/readme.html | |
parent | 424a61bc1ceab7381e71b1535c7639f61d2645ba (diff) |
icu-60.2
git-svn-id: svn://tug.org/texlive/trunk@46290 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/icu/icu-src/readme.html')
-rw-r--r-- | Build/source/libs/icu/icu-src/readme.html | 248 |
1 files changed, 83 insertions, 165 deletions
diff --git a/Build/source/libs/icu/icu-src/readme.html b/Build/source/libs/icu/icu-src/readme.html index 6327fed2d04..dfa5e3b8e94 100644 --- a/Build/source/libs/icu/icu-src/readme.html +++ b/Build/source/libs/icu/icu-src/readme.html @@ -3,7 +3,7 @@ <html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> <head> - <title>ReadMe for ICU 58.2</title> + <title>ReadMe for ICU 60.2</title> <meta name="COPYRIGHT" content= "Copyright (C) 2016 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html"/> <!-- meta name="COPYRIGHT" content= @@ -32,7 +32,7 @@ International Components for Unicode<br/> <span class="only-rc">Release Candidate</span> <span class="only-milestone">(Milestone Release)</span> - <abbr title="International Components for Unicode">ICU</abbr> 58.2 ReadMe + <abbr title="International Components for Unicode">ICU</abbr> 60.2 ReadMe </h1> <!-- Shouldn't need to comment/uncomment this paragraph, just change the body class --> @@ -44,12 +44,15 @@ <p class="note only-rc">This is a release candidate version of ICU4C. It is not recommended for production use.</p> - <p>Last updated: 2016-Dec-8<br/> + <p>Last updated: 2017-Dec-07<br/> Copyright © 2016 and later: Unicode, Inc. and others. License & terms of use: <a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a><br/> Copyright © 1997-2016 International Business Machines Corporation and others. All Rights Reserved.</p> <!-- Remember that there is a copyright at the end too --> + + <p class="note">This is a maintenance update of ICU 60, + with a small number of bug fixes but no API changes.</p> <hr/> <h2 class="TOC">Table of Contents</h2> @@ -59,9 +62,7 @@ <li><a href="#GettingStarted">Getting Started</a></li> - <li><a href="#News">What Is New In This release?</a></li> - - <li><a href="#RecentPreviousChanges">Changes in recent previous releases</a></li> + <li><a href="#News">What Is New In This Release?</a></li> <li><a href="#Download">How To Download the Source Code</a></li> @@ -230,148 +231,24 @@ </table> <p><strong>Important:</strong> Please make sure you understand the <a href= - "http://source.icu-project.org/repos/icu/icu/trunk/LICENSE">Copyright and License Information</a>.</p> - - <h2><a name="News" href="#News" id="News">What is new in this - release?</a></h2> - - <h3>New License</h3> - <p>This is the first release of ICU since the project - <a href="http://blog.unicode.org/2016/05/icu-joins-unicode-consortium.html">joined - the Unicode Consortium</a>. The license has changed to the - <a href="http://www.unicode.org/copyright.html#License">Unicode license</a> - (which is similar to the ICU 1.8.1-57 license).</p> - - <h3>Layout Engine Removed</h3> - <p>The LayoutEngine was deprecated in ICU 54 and has now been removed. - see <a href='http://userguide.icu-project.org/layoutengine'>the - User's Guide</a> for more details and migration recommendations. - </p> - <p> - Note that the ParagraphLayout (layoutex) library is not deprecated. - There is a new option, <tt>--enable-layoutex</tt> which will build - the ParagraphLayout library using <a href="http://harfbuzz.org">HarfBuzz</a> - instead of ICU as the layout engine. See <a href="http://userguide.icu-project.org/layoutengine"> - the users' guide</a> for more information about how to build. - </p> - <p> - The options <tt>--disable-layout</tt> - or <tt>--with-layout=false</tt> are being retained for - compatibility, but have no effect. - </p> - - <h3>Changes in CLDR 30 data</h3> - <ul> - <li>For some combinations of numbering system (arab, arabext, latn) and/or locale - (ar, fa, he), there were changes to the bidirectional control characters used - with certain symbols (percent, minus, plus), and changes to number patterns - (currency and/or percent, including addition of bidirectional control - characters in some cases).</li> - <li>The bidirectional controls used for such purposes now include U+061C ARABIC - LETTER MARK (ALM), which requires use of the bidirectional algorithm from - Unicode 6.3 or later.</li> - <li>The time separator for Norwegian locales (nb, nn) was changed to be ‘:’ - throughout.</li> - <li>For more information on CLDR 30 changes, see - <a href="http://cldr.unicode.org/index/downloads/cldr-30">CLDR 30 download - page</a>.</li> - </ul> + "http://source.icu-project.org/repos/icu/trunk/icu4c/LICENSE">Copyright and License Information</a>.</p> - <h3>Windows build changes</h3> - <p>Windows builds using Visual Studio now require Visual Studio 2015; otherwise you can - use cygwin or similar to build for Windows.</p> - <h3>API Changes</h3> - <p>See the <a href="APIChangeReport.html">API Change Report</a> for a complete - list of APIs added, removed, or changed in this release.</p> + <h2><a name="News" href="#News" id="News">What Is New In This Release?</a></h2> - <!-- standing item --> - <h3>Full release notes and the latest updates</h3> - <p>The previous list concentrates on <em>changes that affect existing - applications migrating from previous ICU releases</em>. - For more news about this release, as well as late-breaking news, see the - <a href="http://site.icu-project.org/download/57">ICU download page</a>.</p> + <p>See the <a href="http://site.icu-project.org/download/60">ICU 60 download page</a> + for an overview of this release, important changes, new features, bug fixes, known issues, + changes to supported platforms and build environments, + and migration issues for existing applications migrating from previous ICU releases.</p> - <h3>Upcoming changes</h3> - <p>Please note the following changes planned for an upcoming ICU4C release (likely ICU 59):</p> - <ul> - <li>Compiler support for C++11 will be required.</li> - <li>Support for Windows XP will be removed.</li> - </ul> + <p>See the <a href="APIChangeReport.html">API Change Report</a> for a complete list of + APIs added, removed, or changed in this release.</p> - <h2><a name="RecentPreviousChanges" href="#RecentPreviousChanges" id="RecentPreviousChanges">Changes in recent - previous releases</a></h2> + <p><a name="RecentPreviousChanges" id="RecentPreviousChanges"></a>For + changes in previous releases, see the + main <a href="http://site.icu-project.org/download">ICU download page</a> + with its version-specific subpages.</p> - <!-- ICU 57 items --> - <h3>ICU 57: Changes related to new CLDR data and specifications</h3> - <ul> - <li>Time formats may include the new day period characters b, B, and - these may produced in response to the new skeleton character C used - with DateTimePatternGenerator.</li> - <li>In day period rules, the use of "after" has been deprecated.</li> - <li>The measurement unit "proportion-karat" has been renamed to - "concentr-karat".</li> - </ul> - - <!-- ICU 56 items --> - <h3>ICU 56: COLON withdrawn as date/time pattern character</h3> - <p>In ICU 55, COLON was introduced as a date/time pattern character - to be replaced by the value of the timeSeparator for the number - system being used; a corresponding new UDateFormatField - UDAT_TIME_SEPARATOR_FIELD was added. Use of COLON caused some - backwards compatibility problems, so it is being withdrawn as a - pattern character. However, UDAT_TIME_SEPARATOR_FIELD remains - as does the mechanism for replacing a pattern character with the - value of the timeSeparator; a new pattern character may be - assigned in the future.</p> - - <h3>ICU 56: ICU Plugins are disabled by default</h3> - <p>ICU Plugins are now disabled by default. They may be enabled - with the configure option - <tt>--enable-plugins</tt> or by means of - <tt>#define UCONFIG_ENABLE_PLUGINS</tt>. - </p> - - <h3>ICU 55: Deprecations in PluralRules (plurrule.h)</h3> - <p>The following PluralRules methods never had an implementation - but were inadvertently marked @stable; they have now been - deprecated. [#<a href="http://bugs.icu-project.org/trac/ticket/10759">10759</a>]</p> - <ul> - <li><tt>double icu::PluralRules::getUniqueKeywordValue(const UnicodeString&)</tt></li> - <li><tt>int32_t icu::PluralRules::getAllKeywordValues(const UnicodeString&, double*, int32_t, UErrorCode&)</tt></li> - </ul> - - <h3>ICU 55: Deprecate uidna.h functions for IDNA2003 support</h3> - <p>The IDNA2003 API has been deprecated; use the API for IDNA2008 / UTS #46 instead via - uidna_openUTS46() or class IDNA [#<a href="http://bugs.icu-project.org/trac/ticket/8477">8477</a>]. - This applies to the following:</p> - <ul> - <li><tt>enum value UIDNA_ALLOW_UNASSIGNED</tt></li> - <li><tt>uidna_IDNToASCII</tt></li> - <li><tt>uidna_IDNToUnicode</tt></li> - <li><tt>uidna_compare</tt></li> - <li><tt>uidna_toASCII</tt></li> - <li><tt>uidna_toUnicode</tt></li> - </ul> - - <h3>ICU 54: Deprecation of Collation Short Strings</h3> - <p>The collation short naming scheme and its API functions are deprecated. - Use ucol_open() with language tag collation keywords instead (see <a href="http://userguide.icu-project.org/collation/api">Collation API Details</a>). For example, <code>ucol_open("de-u-co-phonebk-ka-shifted", &errorCode)</code> - for German Phonebook order with "ignore punctuation" mode.</p> - - <h3>ICU 54: Deprecation of UCOL_TAILORINGS_VERSION</h3> - <p>This was originally intended to be the version of collation tailorings, - but that information is actually in the tailorings data and this - constant has always been (and now will continue to be) 1.</p> - - <!-- ICU 53 items --> - <h3>ICU 53: Deprecation of TimeUnitFormat</h3> - <p>The TimeUnitFormat and its methods were actually deprecated in ICU 53 and the - class as a whole was tagged as deprecated in that release, but the status tags for - the individual methods did not correctly indicate the deprecated status; they - do as of ICU 54. Use the MeasureFormat class and its methods instead.</p> - - <!-- end of What's New items --> <h2><a name="Download" href="#Download" id="Download">How To Download the Source Code</a></h2> @@ -505,12 +382,31 @@ <li><b>brkitr/</b> Data files for character, word, sentence, title casing and line boundary analysis.</li> + <li><b>coll/</b> Data for collation tailorings. The makefile + <b>colfiles.mk</b> contains the list of resource bundle files.</li> + <li><b>locales/</b> These .txt files contain ICU language and culture-specific localization data. Two special bundles are <b>root</b>, which is the fallback data and parent of other bundles, and <b>index</b>, which contains a list of installed bundles. The makefile <b>resfiles.mk</b> contains the list of resource bundle - files.</li> + files. Some of the locale data is split out into the type-specific + directories curr, lang, region, unit, and zone, described below.</li> + + <li><b>curr/</b> Locale data for currency symbols and names (including + plural forms), with its own makefile <b>resfiles.mk</b>.</li> + + <li><b>lang/</b> Locale data for names of languages, scripts, and locale + key names and values, with its own makefile <b>resfiles.mk</b>.</li> + + <li><b>region/</b> Locale data for names of regions, with its own + makefile <b>resfiles.mk</b>.</li> + + <li><b>unit/</b> Locale data for measurement unit patterns and names, + with its own makefile <b>resfiles.mk</b>.</li> + + <li><b>zone/</b> Locale data for time zone names, with its own + makefile <b>resfiles.mk</b>.</li> <li><b>mappings/</b> Here are the code page converter tables. These .ucm files contain mappings to and from Unicode. These are compiled @@ -532,9 +428,9 @@ information.</li> <li><b>misc/</b> The misc directory contains other data files which - did not fit into the above categories. Currently it only contains - time zone information, and a name preperation file for <a href= - "http://www.ietf.org/rfc/rfc3490.txt">IDNA</a>.</li> + did not fit into the above categories, including time zone + information, region-specific data, and other data derived from CLDR + supplemental data.</li> <li><b>out/</b> This directory contains the assembled memory mapped files.</li> @@ -690,7 +586,7 @@ we recommend hardcoding ICU's default charset to UTF-8. This means that some implementation code becomes simpler and faster, and statically linked ICU libraries become smaller. - (See the <a href="http://icu-project.org/apiref/icu4c/utypes_8h.html#0a33e1edf3cd23d9e9c972b63c9f7943">U_CHARSET_IS_UTF8</a> + (See the <a href="http://icu-project.org/apiref/icu4c/platform_8h.html#a0a33e1edf3cd23d9e9c972b63c9f7943">U_CHARSET_IS_UTF8</a> API documentation for more details.)<br /> You can <code>-DU_CHARSET_IS_UTF8=1</code> or modify unicode/utypes.h (in ICU 4.8 and below) @@ -737,6 +633,14 @@ (via -D or uconfig.h, as above) and include those header files explicitly that you actually need.<br /> Note: The ICU test suites cannot be compiled with this setting.</li> + <li><b>utf_old.h:</b> + All of utf_old.h is deprecated or obsolete.<br /> + Beginning with ICU 60, + you should define <code>U_HIDE_OBSOLETE_UTF_OLD_H</code> to 1 + (via -D or uconfig.h, as above). + Use of any of these macros should be replaced as noted + in the comments for the obsolete macro.<br /> + Note: The ICU test suites <i>can</i> be compiled with this setting.</li> <li><b>.dat file:</b> By default, the ICU data is built into a shared library (DLL). This is convenient because it requires no install-time or runtime configuration, @@ -779,7 +683,7 @@ source file tree clean and have build output files written to a different location. This is called an "out-of-source build". Simply invoke the configure script from the target location: -<pre>~/icu$ svn export http://source.icu-project.org/repos/icu/icu/trunk +<pre>~/icu$ svn export http://source.icu-project.org/repos/icu/trunk/icu4c ~/icu$ mkdir trunk-dev ~/icu$ cd trunk-dev ~/icu/trunk-dev$ ../trunk/source/runConfigureICU Linux @@ -851,7 +755,9 @@ <ul> <li>Microsoft Windows</li> - <li>Microsoft Visual C++ (see the ICU download page for the currently compatible version)</li> + <li>Microsoft Visual C++ (part of <a href="https://www.visualstudio.com/">Visual Studio</a>) (see the ICU download page for the currently compatible version)</li> + + <li><i><b>Optional:</b></i> A version of the <a href="https://developer.microsoft.com/windows/downloads">Windows 10 SDK</a> (if you want to build the UWP projects)</li> </ul> <p class="note"><a href="#HowToBuildCygwin">Cygwin</a> is required if using a version of MSVC other than the one compatible with the supplied project files or if other compilers are used to build ICU. (e.g. GCC)</p> @@ -874,6 +780,11 @@ "#HowToBuildWindowsCommandLine">command line note below</a> if you want to build from the command line instead.</li> + <li>You may need to re-target the UWP projects to the version of the SDK that you have installed. In Visual Studio you can + right-click on the UWP projects and select the option 'Retarget SDK Version'. Note: You do not need to have a copy of + the Windows 10 SDK installed in order to build the non-UWP projects in Visual Studio. If the SDK is not installed then the + UWP projects will simply not be loaded.</li> + <li>Set the active platform to "Win32" or "x64" (See <a href="#HowToBuildWindowsPlatform">Windows platform note</a> below) and configuration to "Debug" or "Release" (See <a href="#HowToBuildWindowsConfig">Windows configuration note</a> below).</li> @@ -932,9 +843,11 @@ "HowToBuildWindowsCommandLine"><strong>Using MSDEV At The Command Line Note:</strong></a> You can build ICU from the command line. Assuming that you have properly installed Microsoft Visual C++ to support command line - execution, you can run the following command, 'devenv.com - <i><ICU></i>\source\allinone\allinone.sln /build "Win32|Release"'. You can also - use Cygwin with this compiler to build ICU, and you can refer to the <a href= + execution, you can run the following command to build the 32-bit Release version: + <code>'devenv.com <i><ICU></i>\source\allinone\allinone.sln /build "Release|Win32"'</code>. + Or to build the 64-bit Release version from the command line: + <code>'devenv.com <i><ICU></i>\source\allinone\allinone.sln /build "Release|x64"'</code>. + <br />You can also use Cygwin with this compiler to build ICU, and you can refer to the <a href= "#HowToBuildCygwin">How To Build And Install On Windows with Cygwin</a> section for more details.</p> @@ -981,7 +894,7 @@ <ul> <li>Microsoft Windows</li> - <li>Microsoft Visual C++ (when gcc isn't used).</li> + <li>Microsoft Visual C++ (from Visual Studio 2015 or newer, when gcc isn't used).</li> <li> Cygwin with the following installed: @@ -1016,11 +929,11 @@ Visual C++ compiler will not work with a bash command prompt.</li> <li>If the computer isn't set up to use Visual C++ from the command line, - you need to run vcvars32.bat.<br />For example:<br />"<tt>C:\Program Files\Microsoft - Visual Studio 8\VC\bin\vcvars32.bat</tt>" can be used for 32-bit builds - <strong>or</strong> <br />"<tt>C:\Program Files (x86)\Microsoft Visual Studio - 8\VC\bin\amd64\vcvarsamd64.bat</tt>" can be used for 64-bit builds on - Windows x64.</li> + you need to run vcvars32.bat.<br />For example:<br /> + "<tt>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat</tt>" + can be used for 32-bit builds <strong>or</strong> <br /> + "<tt>C:\Program Files (x86)\Microsoft Visual Studio 14\VC\bin\x86_amd64\vcvarsx86_amd64.bat</tt>" + can be used for 64-bit builds on Windows x64.</li> <li>Unzip the icu-XXXX.zip file into any convenient location. Using command line zip, type "unzip -a icu-XXXX.zip -d drive:\directory", or just use @@ -1229,9 +1142,9 @@ configure option.</li> <li>The latest versions of z/OS use <a - href="http://www.ibm.com/support/docview.wss?uid=swg2120240">XPLINK + href="https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcux01/oebind6.htm">XPLINK version (C128) of the C++ standard library</a> by default. You may see <a - href="http://www.ibm.com/support/docview.wss?uid=swg21376279">an + href="https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcux01/oebind5.htm">an error</a> when running with XPLINK disabled. To avoid this error, set the following environment variable or similar: @@ -1405,7 +1318,7 @@ cd ../../..</samp></pre> <li>Test ICU. <pre><samp>gmake check</samp></pre> (The <tt> QIBM_MULTI_THREADED=Y</tt> flag will be automatically applied to intltest - you can look at the <a href= - "http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/concept4.htm"> + "https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzahw/rzahwceeco.htm"> iSeries Information Center</a> for more details regarding the running of multiple threads on IBM i.)</li> </ol> @@ -1657,7 +1570,7 @@ gnumake</pre> <p>In order to avoid synchronization and threading issues, developers are <strong>suggested</strong> to strictly follow the compiling and linking guidelines for multithreaded applications, specified in the following - document from Sun Microsystems. Most notably, pay strict attention to the + SUn Solaris document available from Oracle. Most notably, pay strict attention to the following statements from Sun:</p> <blockquote> @@ -1671,10 +1584,15 @@ gnumake</pre> <p>Failure to do this may cause spurious lock conflicts, recursive mutex failure, and deadlock.</p> - <p>Source: "<i>Solaris Multithreaded Programming Guide, Compiling and - Debugging</i>", Sun Microsystems, Inc., Apr 2004<br /> + <p>Source: "<i>Multithreaded Programming Guide, Compiling and + Debugging</i>", Sun Microsystems, 2002 <br /> + <a href= + "https://docs.oracle.com/cd/E19683-01/806-6867/compile-74765/index.html">https://docs.oracle.com/cd/E19683-01/806-6867/compile-74765/index.html</a></p> + + <p>Note, a version of that chapter from a 2008 document update covering both Solaris 9 + and Solaris 10 is available here:<br /> <a href= - "http://docs.sun.com/app/docs/doc/816-5137/6mba5vpke?a=view">http://docs.sun.com/app/docs/doc/816-5137/6mba5vpke?a=view</a></p> + "http://docs.oracle.com/cd/E19253-01/816-5137/compile-94179/index.html">http://docs.oracle.com/cd/E19253-01/816-5137/compile-94179/index.html</a></p> <h3><a name="ImportantNotesWindows" href="#ImportantNotesWindows" id= "ImportantNotesWindows">Windows Platform</a></h3> |