readme.txt
1This directory is used for building our Android
2ICU data file. Unfortunately this requires some
3manual tweaking, since the ICU build process is
4not (yet) completely integrated into the Android
5one. Fortunately it is supported by a script. :)
6
7Quick tour:
8
9- icudt38l/* contains the resources in unpacked
10 form. It includes everything that comes with
11 a vanilla ICU 3.8 as well as a couple of
12 additional encodings required by Android.
13 These are
14
15 - gsm-03.38-2000.cnv
16 - iso-8859_16-2001.cnv
17 - docomo-shift_jis-2007.cnv
18 - kddi-jisx-208-2007.cnv
19 - kddi-shift_jis-2007.cnv
20 - softbank-jisx-208-2007.cnv
21 - softbank-shift_jis-2007.cnv
22
23 Also, all character translation tables have
24 been created with the "--small" option, so
25 they use less space than in the vanilla ICU.
26
27- Each of the cfg-* directories contains a
28 different configuration for an ICU data file.
29 Each of these configurations consists of a
30 couple of files the directory structure of
31 which mimics the structure in icudt38l/*.
32
33 - icudt38l.txt contains the main manifest of
34 our data file. It currently includes a lot
35 of character conversion tables, locale data
36 for various countries as well as timezone
37 information.
38
39 - Local manifest files named res_index.txt
40 are residing in the following directories:
41
42 - icudt38l
43 - icudt38l/brkitr
44 - icudt38l/coll
45 - icudt38l/rbnf
46
47 These also need to be updated to reflect
48 any changes to the resources we want in
49 Android.
50
51- The actual data files are named using the
52 same pattern, that is, icudt38l-<foo> is
53 the data file geenrated from cfg-<foo>. The
54 files currently need to be rebuilt manually
55 whenever one of the manifests changes (don't
56 forget to submit!). This can be conveniently
57 done by running the ./helper.sh script as
58 follows:
59
60 ./helper foo
61
62 Here, foo is the name of the configuration
63 to build.
64
65 Note: The script assumes you have done
66 envsetup.sh and choosecombo before, because
67 it relies on an enviroment variable pointing
68 to the prebuilt tools. It also assumes the
69 directory contents are writable, so as a
70 Perforce user you might want to do a
71
72 g4 edit ...
73
74 before you run it.
75
76- Currently we have these data files and
77 configurations:
78
79 - default .... what we had in Android 1.0
80 - us-euro .... adds some Euro locales
81 - us-japan ... adds full Japanese locale
82 and Docomo/KDDI/Softbank
83 support
84
85 Note that very large data files are likely
86 to break the prelink map. So this needs to
87 be modified as well.
88
89- The correct data file is chosen by the
90 build depending on the PRODUCT_LOCALES
91 variable. Note that is it possible you have
92 to touch something in this directory for
93 the build process to notice the changed
94 selection.
95