summaryrefslogtreecommitdiff
path: root/Build/source/libs/icu/icu-src/readme.html
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-01-12 18:35:28 +0000
committerKarl Berry <karl@freefriends.org>2018-01-12 18:35:28 +0000
commit39cc3fec95f3782316910590bb86993918c9dcdf (patch)
tree2315d3b06410f34b2cfd5c73ba6cc53610752030 /Build/source/libs/icu/icu-src/readme.html
parent424a61bc1ceab7381e71b1535c7639f61d2645ba (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.html248
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 &amp; 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 &copy; 2016 and later: Unicode, Inc. and others. License &amp; terms of use:
<a href="http://www.unicode.org/copyright.html">http://www.unicode.org/copyright.html</a><br/>
Copyright &copy; 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&amp;)</tt></li>
- <li><tt>int32_t icu::PluralRules::getAllKeywordValues(const UnicodeString&amp;, double*, int32_t, UErrorCode&amp;)</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", &amp;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>&lt;ICU&gt;</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>&lt;ICU&gt;</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>&lt;ICU&gt;</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>