i18nutil/source/utility/unicode.cxx | 13 ++++++++++++- vcl/source/control/field.cxx | 1 + vcl/source/src/units.src | 1 - 3 files changed, 13 insertions(+), 2 deletions(-)
New commits: commit f03ce265db73388f3e0de97e4b0c8129cfc85d1f Author: Caolán McNamara <[email protected]> Date: Wed Jan 22 13:06:52 2014 +0000 drop translation of % now that we use icu to format it Change-Id: Ia53815018cc5438ffbc2fecf2ec65ce69f1b90c5 diff --git a/vcl/source/control/field.cxx b/vcl/source/control/field.cxx index b765ded..96bfbdb 100644 --- a/vcl/source/control/field.cxx +++ b/vcl/source/control/field.cxx @@ -1440,6 +1440,7 @@ OUString MetricFormatter::CreateFieldText( sal_Int64 nValue ) const { if (meUnit != FUNIT_NONE && meUnit != FUNIT_DEGREE) aStr += " "; + assert(meUnit != FUNIT_PERCENT); aStr += ImplMetricToString( meUnit ); } return aStr; diff --git a/vcl/source/src/units.src b/vcl/source/src/units.src index 2e40585..5de6209 100644 --- a/vcl/source/src/units.src +++ b/vcl/source/src/units.src @@ -42,7 +42,6 @@ StringArray SV_FUNIT_STRINGS < "mile" ; FUNIT_MILE ; > ; < "ch" ; FUNIT_CHAR ; > ; < "line" ; FUNIT_LINE ; > ; - < "%" ; FUNIT_PERCENT ; > ; < "pixels" ; FUNIT_PIXEL ; > ; < "pixel" ; FUNIT_PIXEL ; > ; < "°" ; FUNIT_DEGREE ; > ; commit 486e318b86943844011ef881556dabb4a3f7ef33 Author: Caolán McNamara <[email protected]> Date: Wed Jan 22 12:57:07 2014 +0000 CLDR Version 24 doesn't know about es and sl using space before % Change-Id: I1c3e7dc28e389a9580239165d04b171e06f5618e diff --git a/i18nutil/source/utility/unicode.cxx b/i18nutil/source/utility/unicode.cxx index 5ef4fb5..ff92805 100644 --- a/i18nutil/source/utility/unicode.cxx +++ b/i18nutil/source/utility/unicode.cxx @@ -945,7 +945,18 @@ OUString SAL_CALL unicode::formatPercent(double dNumber, { // get a currency formatter for this locale ID UErrorCode errorCode=U_ZERO_ERROR; - icu::Locale aLocale = LanguageTagIcu::getIcuLocale(rLangTag); + + LanguageTag aLangTag(rLangTag); + + // As of CLDR Version 24 these languages were not listed as using spacing + // between number and % but are reported as such by our l10n groups + // http://www.unicode.org/cldr/charts/24/by_type/numbers.number_formatting_patterns.html + // so format using French which has the desired rules + if (aLangTag.getLanguage() == "es" || aLangTag.getLanguage() == "sl") + aLangTag = LanguageTag("fr-FR"); + + icu::Locale aLocale = LanguageTagIcu::getIcuLocale(aLangTag); + boost::scoped_ptr<NumberFormat> xF( NumberFormat::createPercentInstance(aLocale, errorCode)); if(U_FAILURE(errorCode))
_______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
