[Development] ICU decision?

John Layt jlayt at kde.org
Thu Aug 8 00:43:20 CEST 2013

On Wednesday 07 Aug 2013 08:21:28 Thiago Macieira wrote:
> On quarta-feira, 7 de agosto de 2013 08:00:27, Knoll Lars wrote:
> > >The only "degraded experience" I would accept is "full functionality for
> > >C and
> > >system locales". It would be acceptable for the classes to not have any
> > >support for other locales, like trying to get number formatting for
> > >Azerbaijani on a German Windows.
> > 
> > That would be acceptable for now IMO.
> > 
> > The third option we discussed:
> > 
> > * Require ICU, but have a 'fake' ICU lib available to deploy with Qt on
> > Windows/Android for those who want to ship with minimal i18n support. Add
> > some support to our packaging to choose which ICU lib to take.
> Thanks for the suggestions.
> If we go straight for option 3, can we get this fake library done in the
> next couple of months?

I can't, I have my hands full for 5.2 already, and I doubt I have the 
technical skills required to do the faking.  It also seems a high risk 
strategy to me give ICU's reputation around symbols, and I'm not entirely sure 
I understand the advantage.  It still requires Windows devs to ship a copy of 
ICU to do anything more that the default.

> If we go for option 2 first, we'd have to investigate if there is any system
> API to provide QCollator support for the system locale. Does anyone know of
> such a thing?
> I'm sorry, but I will block any task on making QCollator public until we
> know that we can have a working QtCore without an ICU dependency.

Well, I don't have time to look into collation right now, but I do have some 
provisional details on what Win32 lacks in number and date formatting 
(although I'm still researching so could be wrong).

Number Format features that ICU and OSX offer that it appears Win32 does not:

* Spellout Style, e.g "ten"
* Ordinal Style, e.g. "10th" - ICU only
* Currency Name Style, e.g. "10 US Dollars" - ICU only
* Decimal Pattern  - user defined pattern and symbols
* Padding - alter pad char, pad width, pad position
* Rounding - change mode and increment
* Currency format using ISO currency code - pass the ISO code and correct 
symbol and decimal places are used
* Choice of defining min/max int/frac, or significant digits
* Lenient / Strict parsing modes

The spellout, ordinal, and currency features are things KDE is particularly 
interested in.

For date/time, it only looks to be full, medium, and relative date formats 
that Win32 doesn't provide, all of which KDE wants.


More information about the Development mailing list