+ DRAFT
+ International Components for Unicode
+
+ Release Candidate
+ (Milestone Release)
+ ICU 54.1 (m1) ReadMe
+
-
-
International Components for Unicode
- ICU 54.1 (m1) ReadMe
-
-
Note: This is a development milestone release of ICU4C 54
- This milestone is intended for those wishing to get an early look at ICU 54 new features and API changes.
+
+
+
This is a development milestone release of ICU
+ This milestone is intended for those wishing to get an early look at new features and API changes.
It is not recommended for production use.
-
-
-
Last updated: 2014-June-25
+
+
This is a release candidate version of ICU4C.
+ It is not recommended for production use.
See the API Change Report for a complete
+ list of APIs added, removed, or changed in this release.
-
-
The following list concentrates on changes that affect existing
- applications migrating from previous ICU releases.
- For more news about this release, see the
- ICU download page.
-
-
-
-
Layout Engine deprecation
+
Deprecation: Layout Engine
The LayoutEngine is now deprecated. Please
see the
User's Guide for more details and migration recommendations.
- Passing "--enable-layout" to configure is required to enable the layout
- engine, it is not built by default.
-
-
-
ICU4C now requires C99
-
ICU4C must be built with compilers (or compiler options) that support C99 (ISO/IEC 9899:1999).
-
-
Collation code re-implemented
-
-
New, incompatible data format of the binary collation data in
- coll/*.res and coll/ucadata.icu data files.
- coll/invuca.icu has been removed.
-
Data loading will not fall back to building from rules any more
- when the binary data is missing or does not match the current implementation.
- (This removes the dependency from the "runtime" code on the builder.)
-
Rule syntax and semantics tightened and improved, matching
- LDML 25 Collation Rule Syntax
- (TODO: update link for released LDML 25)
-
-
In particular, rule chains now must start with a reset.
-
-
-
Setting of variableTop deprecated, and not supported in rule syntax any more
-
-
Replaced by the new maxVariable setting; see
- LDML 25 Collation Settings
- (TODO: update link for released LDML 25)
-
-
-
+ Passing "--enable-layout" to configure is now required to
+ enable the layout engine, as it is not built by default.
+
+
Deprecation: 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.
+
+
+
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.
Contains the ICU layout engine (not a rasterizer).
+
Contains the ICU complex text layout engine. (Deprecated)
+
+
+
<ICU>/source/layoutex/
+
+
Contains the ICU paragraph layout engine.
@@ -551,7 +555,8 @@
(This is for historical reasons: Originally, ICU4C did not use namespaces,
and some compilers did not support them. The default "using" statement
preserves source code compatibility.)
- We recommend you turn this off via -DU_USING_ICU_NAMESPACE=0
+ If this compatibility is not an issue, we recommend you turn this off
+ via -DU_USING_ICU_NAMESPACE=0
or by modifying unicode/uversion.h:
Microsoft Visual C++ (see the ICU download page for the currently compatible version)
-
-
NOTE: 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)
+
Microsoft Visual C++ (see the ICU download page for the currently compatible version)
+
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)
The steps are:
@@ -776,14 +780,11 @@
So, for example:
- <ICU>\source\allinone\icucheck.bat x86Debug
-
- or
- <ICU>\source\allinone\icucheck.bat x86Release
-
- or
- <ICU>\source\allinone\icucheck.bat x64Release
-
+ <ICU>\source\allinone\icucheck.bat x86Debug
+ or
+ <ICU>\source\allinone\icucheck.bat x86Release
+ or
+ <ICU>\source\allinone\icucheck.bat x64Release
Running the Tests from within Visual Studio
@@ -985,36 +986,36 @@
Decompress the icu-X.Y.tgz (or
- icu-X.Y.tar.gz) file. For example, "gunzip -d <
- icu-X.Y.tgz | tar xvf -"
+ icu-X.Y.tar.gz) file. For example, gunzip -d < icu-X.Y.tgz | tar xvf -
-
Change directory to the "icu/source".
+
Change directory to icu/source.
+ cd icu/source
+
-
Run "chmod +x runConfigureICU configure install-sh" because
- these files may have the wrong permissions.
+
Some files may have the wrong permissions.chmod +x runConfigureICU configure install-sh
Type "gmake" (or "make" if GNU make is the default make on
+
Now build: gmake (or just make if GNU make is the default make on
your platform) to compile the libraries and all the data files. The proper
name of the GNU make command is printed at the end of the configuration
- run, as in "You must use gmake to compile ICU".
+ run, as in "You must use gmake to compile ICU".
Note that the compilation command output may be simplified on your platform. If this is the case, you will see just:
-
- .
+ gcc -DU_NO_DEFAULT_INCLUDE_UTF_HEADERS=1 -D_REENTRANT -I../common -DU_ATTRIBUTE_DEPRECATED= -O2 -Wall -std=c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o stubdata.o stubdata.c
+
If you need to see the whole compilation line, use "gmake VERBOSE=1". The full compilation line will print if an error occurs.
-
Optionally, type "gmake check" to run the test suite, which
+
Optionally,gmake check will run the test suite, which
checks for ICU's functionality integrity (See testing note below).
-
Type "gmake install" to install ICU. If you used the --prefix=
+
To install, gmake install to install ICU. If you used the --prefix=
option on configure or runConfigureICU, ICU will be installed to the
directory you specified. (See installation
note below).
@@ -1324,7 +1325,7 @@ gnumake
Set PATH or other variables as needed, such as CPPFLAGS.
Build ICU in /buildB
-
Note: "--with-cross-build" takes an absolute path.
+
"--with-cross-build" takes an absolute path.
cd /buildB
sh /icu/source/configure --host=i586-pc-haiku --with-cross-build=/buildA
gnumake