diff options
Diffstat (limited to 'src/corelib/tools/qlocale_p.h')
-rw-r--r-- | src/corelib/tools/qlocale_p.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/corelib/tools/qlocale_p.h b/src/corelib/tools/qlocale_p.h index 6669ae7c8b..a9c23aed61 100644 --- a/src/corelib/tools/qlocale_p.h +++ b/src/corelib/tools/qlocale_p.h @@ -274,6 +274,7 @@ public: public: quint16 m_language_id, m_script_id, m_country_id; + // FIXME QTBUG-69324: not all unicode code-points map to single-token UTF-16 :-( quint16 m_decimal, m_group, m_list, m_percent, m_zero, m_minus, m_plus, m_exponential; quint16 m_quotation_start, m_quotation_end; quint16 m_alternate_quotation_start, m_alternate_quotation_end; @@ -407,9 +408,10 @@ inline char QLocaleData::digitToCLocale(QChar in) const if (in == m_exponential || in == QChar::toUpper(m_exponential)) return 'e'; - // In several languages group() is the char 0xA0, which looks like a space. - // People use a regular space instead of it and complain it doesn't work. - if (m_group == 0xA0 && in.unicode() == ' ') + // In several languages group() is a non-breaking space (U+00A0) or its thin + // version (U+202f), which look like spaces. People (and thus some of our + // tests) use a regular space instead and complain if it doesn't work. + if ((m_group == 0xA0 || m_group == 0x202f) && in.unicode() == ' ') return ','; return 0; |