site  contact  subhomenews

Cutdown icu

November 25, 2014 — BarryK
I made an extremely interesting discovery. I have lamented the size of icu, and the drift of many packages to adopt it as a dependency.

There is one file, /usr/lib/libicudata.so.<version>, that is 22 - 25MB. That is a massive file, one that I would love to remove or reduce when striving for a lean-and-mean Quirky (and earlier, Puppy).

Well, I have found that I can. If the icu source is configured with "--with-data-packaging=archive", the database inside that library file is taken out. In the case of icu version 51.2, that I am using in Buildroot, the data file is /usr/share/icu/51.2/icudt51l.dat

The library file /usr/lib/libicudata.so.51.2 becomes a mere 3KB, and icudt51l.dat becomes 22MB.

The fat has just moved, however, I discovered this site:
http://apps.icu-project.org/datacustom/

...which enables one to create a cutdown .dat file.

Not having a clue what I am doing, I unticked all the boxes, leaving just the bottom 'base data' box ticked, and generated a icudt51l.dat file of only 320KB.

Now the remarkable thing is, testing this in my Quirky Erik, running Midori browser, which requires webkitgtk, which requires icu, browsing around on the Internet, I can't see any difference compared with having the full icudt51l.dat

Hmmm, maybe it's because I only looked at English sites.

Tags: linux