From 39cc3fec95f3782316910590bb86993918c9dcdf Mon Sep 17 00:00:00 2001
From: Karl Berry
Date: Fri, 12 Jan 2018 18:35:28 +0000
Subject: icu-60.2
git-svn-id: svn://tug.org/texlive/trunk@46290 c570f23f-e606-0410-a88d-b1316a301751
---
Build/source/libs/icu/icu-src/readme.html | 248 ++++++++++--------------------
1 file changed, 83 insertions(+), 165 deletions(-)
(limited to 'Build/source/libs/icu/icu-src/readme.html')
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 @@
- ReadMe for ICU 58.2
+ ReadMe for ICU 60.2
@@ -44,12 +44,15 @@
This is a release candidate version of ICU4C.
It is not recommended for production use.
- Last updated: 2016-Dec-8
+
Last updated: 2017-Dec-07
Copyright © 2016 and later: Unicode, Inc. and others. License & terms of use:
http://www.unicode.org/copyright.html
Copyright © 1997-2016 International Business Machines Corporation and others.
All Rights Reserved.
+
+ This is a maintenance update of ICU 60,
+ with a small number of bug fixes but no API changes.
Table of Contents
@@ -59,9 +62,7 @@
Getting Started
- What Is New In This release?
-
- Changes in recent previous releases
+ What Is New In This Release?
How To Download the Source Code
@@ -230,148 +231,24 @@
Important: Please make sure you understand the Copyright and License Information.
-
-
-
- New License
- This is the first release of ICU since the project
- joined
- the Unicode Consortium. The license has changed to the
- Unicode license
- (which is similar to the ICU 1.8.1-57 license).
-
- Layout Engine Removed
- The LayoutEngine was deprecated in ICU 54 and has now been removed.
- see the
- User's Guide for more details and migration recommendations.
-
-
- Note that the ParagraphLayout (layoutex) library is not deprecated.
- There is a new option, --enable-layoutex which will build
- the ParagraphLayout library using HarfBuzz
- instead of ICU as the layout engine. See
- the users' guide for more information about how to build.
-
-
- The options --disable-layout
- or --with-layout=false are being retained for
- compatibility, but have no effect.
-
-
- Changes in CLDR 30 data
-
- - 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).
- - 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.
- - The time separator for Norwegian locales (nb, nn) was changed to be ‘:’
- throughout.
- - For more information on CLDR 30 changes, see
- CLDR 30 download
- page.
-
+ "http://source.icu-project.org/repos/icu/trunk/icu4c/LICENSE">Copyright and License Information.
- Windows build changes
- Windows builds using Visual Studio now require Visual Studio 2015; otherwise you can
- use cygwin or similar to build for Windows.
- API Changes
- See the API Change Report for a complete
- list of APIs added, removed, or changed in this release.
+
-
- Full release notes and the latest updates
- The previous list concentrates on changes that affect existing
- applications migrating from previous ICU releases.
- For more news about this release, as well as late-breaking news, see the
- ICU download page.
+ See the ICU 60 download page
+ 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.
- Upcoming changes
- Please note the following changes planned for an upcoming ICU4C release (likely ICU 59):
-
- - Compiler support for C++11 will be required.
- - Support for Windows XP will be removed.
-
+ See the API Change Report for a complete list of
+ APIs added, removed, or changed in this release.
-
+ For
+ changes in previous releases, see the
+ main ICU download page
+ with its version-specific subpages.
-
- ICU 57: Changes related to new CLDR data and specifications
-
- - 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.
- - In day period rules, the use of "after" has been deprecated.
- - The measurement unit "proportion-karat" has been renamed to
- "concentr-karat".
-
-
-
- ICU 56: COLON withdrawn as date/time pattern character
- 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.
-
- ICU 56: ICU Plugins are disabled by default
- ICU Plugins are now disabled by default. They may be enabled
- with the configure option
- --enable-plugins or by means of
- #define UCONFIG_ENABLE_PLUGINS.
-
-
- ICU 55: Deprecations in PluralRules (plurrule.h)
- The following PluralRules methods never had an implementation
- but were inadvertently marked @stable; they have now been
- deprecated. [#10759]
-
- - double icu::PluralRules::getUniqueKeywordValue(const UnicodeString&)
- - int32_t icu::PluralRules::getAllKeywordValues(const UnicodeString&, double*, int32_t, UErrorCode&)
-
-
- ICU 55: Deprecate uidna.h functions for IDNA2003 support
- The IDNA2003 API has been deprecated; use the API for IDNA2008 / UTS #46 instead via
- uidna_openUTS46() or class IDNA [#8477].
- This applies to the following:
-
- - enum value UIDNA_ALLOW_UNASSIGNED
- - uidna_IDNToASCII
- - uidna_IDNToUnicode
- - uidna_compare
- - uidna_toASCII
- - uidna_toUnicode
-
-
- ICU 54: Deprecation of Collation Short Strings
- The collation short naming scheme and its API functions are deprecated.
- Use ucol_open() with language tag collation keywords instead (see Collation API Details). For example, ucol_open("de-u-co-phonebk-ka-shifted", &errorCode)
- for German Phonebook order with "ignore punctuation" mode.
-
- ICU 54: Deprecation of UCOL_TAILORINGS_VERSION
- 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.
-
-
- ICU 53: Deprecation of TimeUnitFormat
- 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.
-
-
@@ -505,12 +382,31 @@
brkitr/ Data files for character, word, sentence, title
casing and line boundary analysis.
+ coll/ Data for collation tailorings. The makefile
+ colfiles.mk contains the list of resource bundle files.
+
locales/ These .txt files contain ICU language and
culture-specific localization data. Two special bundles are
root, which is the fallback data and parent of other bundles,
and index, which contains a list of installed bundles. The
makefile resfiles.mk contains the list of resource bundle
- files.
+ files. Some of the locale data is split out into the type-specific
+ directories curr, lang, region, unit, and zone, described below.
+
+ curr/ Locale data for currency symbols and names (including
+ plural forms), with its own makefile resfiles.mk.
+
+ lang/ Locale data for names of languages, scripts, and locale
+ key names and values, with its own makefile resfiles.mk.
+
+ region/ Locale data for names of regions, with its own
+ makefile resfiles.mk.
+
+ unit/ Locale data for measurement unit patterns and names,
+ with its own makefile resfiles.mk.
+
+ zone/ Locale data for time zone names, with its own
+ makefile resfiles.mk.
mappings/ Here are the code page converter tables. These
.ucm files contain mappings to and from Unicode. These are compiled
@@ -532,9 +428,9 @@
information.
misc/ 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 IDNA.
+ did not fit into the above categories, including time zone
+ information, region-specific data, and other data derived from CLDR
+ supplemental data.
out/ This directory contains the assembled memory mapped
files.
@@ -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 U_CHARSET_IS_UTF8
+ (See the U_CHARSET_IS_UTF8
API documentation for more details.)
You can -DU_CHARSET_IS_UTF8=1
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.
Note: The ICU test suites cannot be compiled with this setting.
+ utf_old.h:
+ All of utf_old.h is deprecated or obsolete.
+ Beginning with ICU 60,
+ you should define U_HIDE_OBSOLETE_UTF_OLD_H
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.
+ Note: The ICU test suites can be compiled with this setting.
.dat file: 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:
-~/icu$ svn export http://source.icu-project.org/repos/icu/icu/trunk
+~/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 @@
- Microsoft Windows
- - Microsoft Visual C++ (see the ICU download page for the currently compatible version)
+ - Microsoft Visual C++ (part of Visual Studio) (see the ICU download page for the currently compatible version)
+
+ - Optional: A version of the Windows 10 SDK (if you want to build the UWP projects)
Cygwin 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)
@@ -874,6 +780,11 @@
"#HowToBuildWindowsCommandLine">command line note below if you want to
build from the command line instead.
+ 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.
+
Set the active platform to "Win32" or "x64" (See Windows platform note below)
and configuration to "Debug" or "Release" (See Windows configuration note below).
@@ -932,9 +843,11 @@
"HowToBuildWindowsCommandLine">Using MSDEV At The Command Line
Note: 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
- <ICU>\source\allinone\allinone.sln /build "Win32|Release"'. You can also
- use Cygwin with this compiler to build ICU, and you can refer to the 'devenv.com <ICU>\source\allinone\allinone.sln /build "Release|Win32"'.
+ Or to build the 64-bit Release version from the command line:
+ 'devenv.com <ICU>\source\allinone\allinone.sln /build "Release|x64"'
.
+
You can also use Cygwin with this compiler to build ICU, and you can refer to the How To Build And Install On Windows with Cygwin
section for more details.
@@ -981,7 +894,7 @@
- Microsoft Windows
- - Microsoft Visual C++ (when gcc isn't used).
+ - Microsoft Visual C++ (from Visual Studio 2015 or newer, when gcc isn't used).
-
Cygwin with the following installed:
@@ -1016,11 +929,11 @@
Visual C++ compiler will not work with a bash command prompt.
- If the computer isn't set up to use Visual C++ from the command line,
- you need to run vcvars32.bat.
For example:
"C:\Program Files\Microsoft
- Visual Studio 8\VC\bin\vcvars32.bat" can be used for 32-bit builds
- or
"C:\Program Files (x86)\Microsoft Visual Studio
- 8\VC\bin\amd64\vcvarsamd64.bat" can be used for 64-bit builds on
- Windows x64.
+ you need to run vcvars32.bat.
For example:
+ "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
+ can be used for 32-bit builds or
+ "C:\Program Files (x86)\Microsoft Visual Studio 14\VC\bin\x86_amd64\vcvarsx86_amd64.bat"
+ can be used for 64-bit builds on Windows x64.
- 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.
- The latest versions of z/OS use 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 by default. You may see an
+ href="https://www.ibm.com/support/knowledgecenter/SSLTBW_2.2.0/com.ibm.zos.v2r2.cbcux01/oebind5.htm">an
error when running with XPLINK disabled. To avoid this error,
set the following environment variable or similar:
@@ -1405,7 +1318,7 @@ cd ../../..
- Test ICU.
gmake check
(The QIBM_MULTI_THREADED=Y flag will be automatically applied to intltest -
you can look at the
+ "https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/rzahw/rzahwceeco.htm">
iSeries Information Center for more details regarding the running of multiple threads
on IBM i.)
@@ -1657,7 +1570,7 @@ gnumake
In order to avoid synchronization and threading issues, developers are
suggested 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:
@@ -1671,10 +1584,15 @@ gnumake
Failure to do this may cause spurious lock conflicts, recursive mutex
failure, and deadlock.
- Source: "Solaris Multithreaded Programming Guide, Compiling and
- Debugging", Sun Microsystems, Inc., Apr 2004
+
Source: "Multithreaded Programming Guide, Compiling and
+ Debugging", Sun Microsystems, 2002
+ https://docs.oracle.com/cd/E19683-01/806-6867/compile-74765/index.html
+
+ Note, a version of that chapter from a 2008 document update covering both Solaris 9
+ and Solaris 10 is available here:
http://docs.sun.com/app/docs/doc/816-5137/6mba5vpke?a=view
+ "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
--
cgit v1.2.3