summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-08-21 02:32:49 +0200
committerOswald Buddenhagen <oswald.buddenhagen@qt.io>2018-08-21 02:32:50 +0200
commit5a03b75c50b2e34552c7ec3e1e15e7b2a0128bf7 (patch)
tree88e05cd6150e0b3cda4e8716668082c655007fb8 /src/corelib
parent0e7724079f1eae283714ae12769d1372b8f85659 (diff)
parent6553921dd537e416da2f4d1441ab6d63059cda60 (diff)
Merge dev into 5.12
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/animation/qabstractanimation.cpp12
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_concurrent_qthreadpool.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp8
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_io_qprocess.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp2
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp8
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_thread_qexception.cpp4
-rw-r--r--src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp7
-rw-r--r--src/corelib/doc/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp2
-rw-r--r--src/corelib/doc/snippets/eventfilters/filterobject.h2
-rw-r--r--src/corelib/doc/snippets/events/events.cpp4
-rw-r--r--src/corelib/doc/snippets/settings/settings.cpp2
-rw-r--r--src/corelib/doc/snippets/statemachine/eventtest.cpp4
-rw-r--r--src/corelib/doc/snippets/statemachine/main4.cpp4
-rw-r--r--src/corelib/doc/src/objectmodel/signalsandslots.qdoc4
-rw-r--r--src/corelib/global/qconfig-bootstrapped.h14
-rw-r--r--src/corelib/global/qendian.cpp80
-rw-r--r--src/corelib/global/qendian.h40
-rw-r--r--src/corelib/global/qglobal.cpp25
-rw-r--r--src/corelib/global/qglobalstatic.h2
-rw-r--r--src/corelib/global/qglobalstatic.qdoc2
-rw-r--r--src/corelib/global/qnamespace.h3
-rw-r--r--src/corelib/global/qrandom.cpp2
-rw-r--r--src/corelib/io/qdir.cpp24
-rw-r--r--src/corelib/io/qdir.h2
-rw-r--r--src/corelib/io/qfilesystemengine_unix.cpp10
-rw-r--r--src/corelib/io/qfsfileengine_win.cpp1
-rw-r--r--src/corelib/io/qprocess_unix.cpp1
-rw-r--r--src/corelib/io/qurl.cpp11
-rw-r--r--src/corelib/io/qurl_p.h2
-rw-r--r--src/corelib/io/qurlidna.cpp17
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.cpp17
-rw-r--r--src/corelib/itemmodels/qabstractitemmodel.h3
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.cpp234
-rw-r--r--src/corelib/itemmodels/qsortfilterproxymodel.h10
-rw-r--r--src/corelib/kernel/qcore_mac.cpp1
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp20
-rw-r--r--src/corelib/kernel/qeventdispatcher_glib.cpp1
-rw-r--r--src/corelib/kernel/qmetaobject.cpp12
-rw-r--r--src/corelib/kernel/qobject.cpp6
-rw-r--r--src/corelib/kernel/qobjectdefs_impl.h32
-rw-r--r--src/corelib/kernel/qsystemerror.cpp4
-rw-r--r--src/corelib/mimetypes/qmimedatabase.cpp7
-rw-r--r--src/corelib/serialization/qcborarray.cpp9
-rw-r--r--src/corelib/serialization/qcbordiagnostic.cpp2
-rw-r--r--src/corelib/serialization/qcbormap.cpp100
-rw-r--r--src/corelib/serialization/qcborstream.cpp4
-rw-r--r--src/corelib/serialization/qcborvalue.cpp12
-rw-r--r--src/corelib/serialization/qxmlstream_p.h2
-rw-r--r--src/corelib/thread/qmutex.cpp4
-rw-r--r--src/corelib/thread/qmutex.h6
-rw-r--r--src/corelib/thread/qmutex_linux.cpp5
-rw-r--r--src/corelib/thread/qmutex_mac.cpp5
-rw-r--r--src/corelib/thread/qmutex_unix.cpp4
-rw-r--r--src/corelib/thread/qmutexpool.cpp4
-rw-r--r--src/corelib/thread/qmutexpool_p.h4
-rw-r--r--src/corelib/thread/qreadwritelock.cpp3
-rw-r--r--src/corelib/thread/qreadwritelock.h6
-rw-r--r--src/corelib/thread/qreadwritelock_p.h4
-rw-r--r--src/corelib/thread/qsemaphore.cpp4
-rw-r--r--src/corelib/thread/qsemaphore.h7
-rw-r--r--src/corelib/thread/qthread.cpp87
-rw-r--r--src/corelib/thread/qthread.h31
-rw-r--r--src/corelib/thread/qthread_p.h11
-rw-r--r--src/corelib/thread/qthread_unix.cpp12
-rw-r--r--src/corelib/thread/qthread_win.cpp12
-rw-r--r--src/corelib/thread/qthreadpool.cpp4
-rw-r--r--src/corelib/thread/qthreadpool.h4
-rw-r--r--src/corelib/thread/qthreadpool_p.h3
-rw-r--r--src/corelib/thread/qthreadstorage.cpp3
-rw-r--r--src/corelib/thread/qthreadstorage.h79
-rw-r--r--src/corelib/thread/qwaitcondition.h5
-rw-r--r--src/corelib/thread/qwaitcondition_unix.cpp4
-rw-r--r--src/corelib/thread/qwaitcondition_win.cpp3
-rw-r--r--src/corelib/thread/thread.pri110
-rw-r--r--src/corelib/tools/qalgorithms.h9
-rw-r--r--src/corelib/tools/qdatetime.cpp2
-rw-r--r--src/corelib/tools/qlocale.cpp35
-rw-r--r--src/corelib/tools/qlocale.h24
-rw-r--r--src/corelib/tools/qlocale.qdoc5
-rw-r--r--src/corelib/tools/qlocale_data_p.h1942
-rw-r--r--src/corelib/tools/qregularexpression.cpp265
-rw-r--r--src/corelib/tools/qregularexpression.h8
-rw-r--r--src/corelib/tools/qregularexpression_p.h70
-rw-r--r--src/corelib/tools/qstringlist.cpp4
-rw-r--r--src/corelib/tools/qtimezoneprivate.cpp29
-rw-r--r--src/corelib/tools/qtimezoneprivate_mac.mm2
-rw-r--r--src/corelib/tools/qtimezoneprivate_tz.cpp111
-rw-r--r--src/corelib/tools/tools.pri3
89 files changed, 2118 insertions, 1594 deletions
diff --git a/src/corelib/animation/qabstractanimation.cpp b/src/corelib/animation/qabstractanimation.cpp
index b3db200ed1..48983def79 100644
--- a/src/corelib/animation/qabstractanimation.cpp
+++ b/src/corelib/animation/qabstractanimation.cpp
@@ -215,9 +215,7 @@ typedef QList<QAbstractAnimation*>::ConstIterator AnimationListConstIt;
QUnifiedTimer drives animations indirectly, via QAbstractAnimationTimer.
*/
-#ifndef QT_NO_THREAD
Q_GLOBAL_STATIC(QThreadStorage<QUnifiedTimer *>, unifiedTimer)
-#endif
QUnifiedTimer::QUnifiedTimer() :
QObject(), defaultDriver(this), lastTick(0), timingInterval(DEFAULT_TIMER_INTERVAL),
@@ -234,18 +232,12 @@ QUnifiedTimer::QUnifiedTimer() :
QUnifiedTimer *QUnifiedTimer::instance(bool create)
{
QUnifiedTimer *inst;
-#ifndef QT_NO_THREAD
if (create && !unifiedTimer()->hasLocalData()) {
inst = new QUnifiedTimer;
unifiedTimer()->setLocalData(inst);
} else {
inst = unifiedTimer() ? unifiedTimer()->localData() : 0;
}
-#else
- Q_UNUSED(create);
- static QUnifiedTimer unifiedTimer;
- inst = &unifiedTimer;
-#endif
return inst;
}
@@ -554,7 +546,7 @@ bool QUnifiedTimer::canUninstallAnimationDriver(QAnimationDriver *d)
return d == driver && driver != &defaultDriver;
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
Q_GLOBAL_STATIC(QThreadStorage<QAnimationTimer *>, animationTimer)
#endif
@@ -569,7 +561,7 @@ QAnimationTimer::QAnimationTimer() :
QAnimationTimer *QAnimationTimer::instance(bool create)
{
QAnimationTimer *inst;
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (create && !animationTimer()->hasLocalData()) {
inst = new QAnimationTimer;
animationTimer()->setLocalData(inst);
diff --git a/src/corelib/doc/snippets/code/src_corelib_concurrent_qthreadpool.cpp b/src/corelib/doc/snippets/code/src_corelib_concurrent_qthreadpool.cpp
index ba31972aa1..8490942048 100644
--- a/src/corelib/doc/snippets/code/src_corelib_concurrent_qthreadpool.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_concurrent_qthreadpool.cpp
@@ -51,7 +51,7 @@
//! [0]
class HelloWorldTask : public QRunnable
{
- void run()
+ void run() override
{
qDebug() << "Hello world from thread" << QThread::currentThread();
}
diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp
index 055812ea60..ae2f305313 100644
--- a/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_io_qabstractfileengine.cpp
@@ -52,7 +52,7 @@
class ZipEngineHandler : public QAbstractFileEngineHandler
{
public:
- QAbstractFileEngine *create(const QString &fileName) const;
+ QAbstractFileEngine *create(const QString &fileName) const override;
};
QAbstractFileEngine *ZipEngineHandler::create(const QString &fileName) const
@@ -105,12 +105,12 @@ public:
entries << "entry1" << "entry2" << "entry3";
}
- bool hasNext() const
+ bool hasNext() const override
{
return index < entries.size() - 1;
}
- QString next()
+ QString next() override
{
if (!hasNext())
return QString();
@@ -118,7 +118,7 @@ public:
return currentFilePath();
}
- QString currentFileName()
+ QString currentFileName() override
{
return entries.at(index);
}
diff --git a/src/corelib/doc/snippets/code/src_corelib_io_qprocess.cpp b/src/corelib/doc/snippets/code/src_corelib_io_qprocess.cpp
index 2e94666970..8a2825cd10 100644
--- a/src/corelib/doc/snippets/code/src_corelib_io_qprocess.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_io_qprocess.cpp
@@ -94,7 +94,7 @@ class SandboxProcess : public QProcess
{
...
protected:
- void setupChildProcess();
+ void setupChildProcess() override;
...
};
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
index 3379d0bc1a..2e055ec439 100644
--- a/src/corelib/doc/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qabstractitemmodel.cpp
@@ -120,7 +120,7 @@ public:
...
- QVariant data(const QModelIndex &index, int role)
+ QVariant data(const QModelIndex &index, int role) override
{
if (role != Qt::BackgroundRole)
return QSortFilterProxyModel::data(index, role);
diff --git a/src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp b/src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp
index c12ed147db..6451f46b36 100644
--- a/src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_kernel_qobject.cpp
@@ -101,7 +101,7 @@ public:
MainWindow();
protected:
- bool eventFilter(QObject *obj, QEvent *ev);
+ bool eventFilter(QObject *obj, QEvent *ev) override;
private:
QTextEdit *textEdit;
@@ -147,7 +147,7 @@ public:
MyObject(QObject *parent = 0);
protected:
- void timerEvent(QTimerEvent *event);
+ void timerEvent(QTimerEvent *event) override;
};
MyObject::MyObject(QObject *parent)
@@ -215,7 +215,7 @@ class KeyPressEater : public QObject
...
protected:
- bool eventFilter(QObject *obj, QEvent *event);
+ bool eventFilter(QObject *obj, QEvent *event) override;
};
bool KeyPressEater::eventFilter(QObject *obj, QEvent *event)
@@ -508,7 +508,7 @@ public:
MyClass(QWidget *parent = 0);
~MyClass();
- bool event(QEvent* ev)
+ bool event(QEvent* ev) override
{
if (ev->type() == QEvent::PolishRequest) {
// overwrite handling of PolishRequest if any
diff --git a/src/corelib/doc/snippets/code/src_corelib_thread_qexception.cpp b/src/corelib/doc/snippets/code/src_corelib_thread_qexception.cpp
index eaf3a156cf..723c1630f6 100644
--- a/src/corelib/doc/snippets/code/src_corelib_thread_qexception.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_thread_qexception.cpp
@@ -53,8 +53,8 @@
class MyException : public QException
{
public:
- void raise() const { throw *this; }
- MyException *clone() const { return new MyException(*this); }
+ void raise() const override { throw *this; }
+ MyException *clone() const override { return new MyException(*this); }
};
//! [0]
diff --git a/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp b/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
index 5f0a175374..28c66628b7 100644
--- a/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
+++ b/src/corelib/doc/snippets/code/src_corelib_tools_qregularexpression.cpp
@@ -350,4 +350,11 @@ while (i.hasNext()) {
//! [30]
}
+{
+//! [31]
+QString wildcard = QRegularExpression::wildcardToRegularExpression("*.jpeg");
+// wilcard == ".*\.jpeg"
+//! [31]
+}
+
}
diff --git a/src/corelib/doc/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp b/src/corelib/doc/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
index 65ee9260b2..d89e28836f 100644
--- a/src/corelib/doc/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
+++ b/src/corelib/doc/snippets/code/src_gui_itemviews_qidentityproxymodel.cpp
@@ -58,7 +58,7 @@ class DateFormatProxyModel : public QIdentityProxyModel
m_formatString = formatString;
}
- QVariant data(const QModelIndex &index, int role) const
+ QVariant data(const QModelIndex &index, int role) const override
{
if (role != Qt::DisplayRole)
return QIdentityProxyModel::data(index, role);
diff --git a/src/corelib/doc/snippets/eventfilters/filterobject.h b/src/corelib/doc/snippets/eventfilters/filterobject.h
index 08b7c67192..354aa4ff5c 100644
--- a/src/corelib/doc/snippets/eventfilters/filterobject.h
+++ b/src/corelib/doc/snippets/eventfilters/filterobject.h
@@ -59,7 +59,7 @@ class FilterObject : public QObject
public:
FilterObject(QObject *parent = 0);
- bool eventFilter(QObject *object, QEvent *event);
+ bool eventFilter(QObject *object, QEvent *event) override;
void setFilteredObject(QObject *object);
private:
diff --git a/src/corelib/doc/snippets/events/events.cpp b/src/corelib/doc/snippets/events/events.cpp
index 9606b0c2ee..969b0047f0 100644
--- a/src/corelib/doc/snippets/events/events.cpp
+++ b/src/corelib/doc/snippets/events/events.cpp
@@ -54,7 +54,7 @@
class MyCheckBox : public QCheckBox
{
public:
- void mousePressEvent(QMouseEvent *event);
+ void mousePressEvent(QMouseEvent *event) override;
};
//! [0]
@@ -72,7 +72,7 @@ void MyCheckBox::mousePressEvent(QMouseEvent *event)
class MyWidget : public QWidget
{
public:
- bool event(QEvent *event);
+ bool event(QEvent *event) override;
};
static const int MyCustomEventType = 1099;
diff --git a/src/corelib/doc/snippets/settings/settings.cpp b/src/corelib/doc/snippets/settings/settings.cpp
index 28b72acd6a..49312b9cfc 100644
--- a/src/corelib/doc/snippets/settings/settings.cpp
+++ b/src/corelib/doc/snippets/settings/settings.cpp
@@ -143,7 +143,7 @@ public:
void readSettings();
protected:
- void closeEvent(QCloseEvent *event);
+ void closeEvent(QCloseEvent *event) override;
};
//! [16]
diff --git a/src/corelib/doc/snippets/statemachine/eventtest.cpp b/src/corelib/doc/snippets/statemachine/eventtest.cpp
index cecf26f2e7..d7d4ce0d21 100644
--- a/src/corelib/doc/snippets/statemachine/eventtest.cpp
+++ b/src/corelib/doc/snippets/statemachine/eventtest.cpp
@@ -58,7 +58,7 @@ public:
protected:
//![0]
- bool eventTest(QEvent *event)
+ bool eventTest(QEvent *event) override
{
if (event->type() == QEvent::Wrapped) {
QEvent *wrappedEvent = static_cast<QStateMachine::WrappedEvent *>(event)->event();
@@ -71,7 +71,7 @@ protected:
}
//![0]
- void onTransition(QEvent *event)
+ void onTransition(QEvent *event) override
{
}
diff --git a/src/corelib/doc/snippets/statemachine/main4.cpp b/src/corelib/doc/snippets/statemachine/main4.cpp
index 5786fa3c17..e21656b91c 100644
--- a/src/corelib/doc/snippets/statemachine/main4.cpp
+++ b/src/corelib/doc/snippets/statemachine/main4.cpp
@@ -72,7 +72,7 @@ public:
: m_value(value) {}
protected:
- virtual bool eventTest(QEvent *e)
+ bool eventTest(QEvent *e) override
{
if (e->type() != QEvent::Type(QEvent::User+1)) // StringEvent
return false;
@@ -80,7 +80,7 @@ protected:
return (m_value == se->value);
}
- virtual void onTransition(QEvent *) {}
+ void onTransition(QEvent *) override {}
private:
QString m_value;
diff --git a/src/corelib/doc/src/objectmodel/signalsandslots.qdoc b/src/corelib/doc/src/objectmodel/signalsandslots.qdoc
index 213caa6c59..fcf091458a 100644
--- a/src/corelib/doc/src/objectmodel/signalsandslots.qdoc
+++ b/src/corelib/doc/src/objectmodel/signalsandslots.qdoc
@@ -321,8 +321,8 @@
callbacks, you'd have to find five different names and keep track
of the types yourself.
- \sa QLCDNumber, QObject::connect(), {Digital Clock Example}, and
- {Tetrix Example}.
+ \sa QLCDNumber, QObject::connect(), {Digital Clock Example},
+ {Tetrix Example}
\section1 Signals And Slots With Default Arguments
diff --git a/src/corelib/global/qconfig-bootstrapped.h b/src/corelib/global/qconfig-bootstrapped.h
index 0564683f48..a8dbb3edcd 100644
--- a/src/corelib/global/qconfig-bootstrapped.h
+++ b/src/corelib/global/qconfig-bootstrapped.h
@@ -98,16 +98,24 @@
#define QT_NO_QOBJECT
#define QT_FEATURE_process -1
#define QT_FEATURE_regularexpression -1
-#define QT_FEATURE_renameat2 -1
+#ifdef __GLIBC_PREREQ
+# define QT_FEATURE_renameat2 (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+#else
+# define QT_FEATURE_renameat2 -1
+#endif
#define QT_FEATURE_settings -1
#define QT_FEATURE_sharedmemory -1
#define QT_FEATURE_slog2 -1
-#define QT_FEATURE_statx -1
+#ifdef __GLIBC_PREREQ
+# define QT_FEATURE_statx (__GLIBC_PREREQ(2, 28) ? 1 : -1)
+#else
+# define QT_FEATURE_statx -1
+#endif
#define QT_FEATURE_syslog -1
#define QT_NO_SYSTEMLOCALE
#define QT_FEATURE_systemsemaphore -1
#define QT_FEATURE_temporaryfile 1
-#define QT_NO_THREAD
+#define QT_FEATURE_thread -1
#define QT_FEATURE_timezone -1
#define QT_FEATURE_topleveldomain -1
#define QT_NO_TRANSLATION
diff --git a/src/corelib/global/qendian.cpp b/src/corelib/global/qendian.cpp
index 5bc5507dd5..7fd6e13d3b 100644
--- a/src/corelib/global/qendian.cpp
+++ b/src/corelib/global/qendian.cpp
@@ -433,6 +433,46 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \fn template <typename T> QLEInteger &QLEInteger<T>::operator++()
+
+ Performs a prefix ++ (increment) on this QLEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QLEInteger QLEInteger<T>::operator++(int)
+
+ Performs a postfix ++ (increment) on this QLEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QLEInteger &QLEInteger<T>::operator--()
+
+ Performs a prefix -- (decrement) on this QLEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QLEInteger QLEInteger<T>::operator--(int)
+
+ Performs a postfix -- (decrement) on this QLEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QLEInteger QLEInteger<T>::max()
+
+ Returns the maximum (finite) value representable by the numeric type T.
+*/
+
+/*!
+ \fn template <typename T> QLEInteger QLEInteger<T>::min()
+
+ Returns the minimum (finite) value representable by the numeric type T.
+*/
+
+/*!
\class QBEInteger
\inmodule QtCore
\brief The QBEInteger class provides platform-independent big-endian integers.
@@ -552,6 +592,46 @@ QT_BEGIN_NAMESPACE
*/
/*!
+ \fn template <typename T> QBEInteger &QBEInteger<T>::operator++()
+
+ Performs a prefix ++ (increment) on this QBEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QBEInteger QBEInteger<T>::operator++(int)
+
+ Performs a postfix ++ (increment) on this QBEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QBEInteger &QBEInteger<T>::operator--()
+
+ Performs a prefix -- (decrement) on this QBEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QBEInteger QBEInteger<T>::operator--(int)
+
+ Performs a postfix -- (decrement) on this QBEInteger and returns a reference to
+ this object.
+*/
+
+/*!
+ \fn template <typename T> QBEInteger QBEInteger<T>::max()
+
+ Returns the maximum (finite) value representable by the numeric type T.
+*/
+
+/*!
+ \fn template <typename T> QBEInteger QBEInteger<T>::min()
+
+ Returns the minimum (finite) value representable by the numeric type T.
+*/
+
+/*!
\typedef quint16_le
\relates <QtEndian>
\since 5.10
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h
index 135bc4460b..1cc8a823d9 100644
--- a/src/corelib/global/qendian.h
+++ b/src/corelib/global/qendian.h
@@ -47,6 +47,11 @@
#include <stdlib.h>
#include <string.h>
+#ifdef min // MSVC
+#undef min
+#undef max
+#endif
+
QT_BEGIN_NAMESPACE
/*
@@ -279,6 +284,27 @@ public:
{ return (*this = S::fromSpecial(val) & i); }
QSpecialInteger &operator ^=(T i)
{ return (*this = S::fromSpecial(val) ^ i); }
+ QSpecialInteger &operator ++()
+ { return (*this = S::fromSpecial(val) + 1); }
+ QSpecialInteger &operator --()
+ { return (*this = S::fromSpecial(val) - 1); }
+ QSpecialInteger operator ++(int)
+ {
+ QSpecialInteger<S> pre = *this;
+ *this += 1;
+ return pre;
+ }
+ QSpecialInteger operator --(int)
+ {
+ QSpecialInteger<S> pre = *this;
+ *this -= 1;
+ return pre;
+ }
+
+ static constexpr QSpecialInteger max()
+ { return QSpecialInteger(std::numeric_limits<T>::max()); }
+ static constexpr QSpecialInteger min()
+ { return QSpecialInteger(std::numeric_limits<T>::min()); }
};
template<typename T>
@@ -316,6 +342,13 @@ public:
QLEInteger &operator |=(T i);
QLEInteger &operator &=(T i);
QLEInteger &operator ^=(T i);
+ QLEInteger &operator ++();
+ QLEInteger &operator --();
+ QLEInteger &operator ++(int);
+ QLEInteger &operator --(int);
+
+ static constexpr QLEInteger max();
+ static constexpr QLEInteger min();
};
template<typename T>
@@ -336,6 +369,13 @@ public:
QBEInteger &operator |=(T i);
QBEInteger &operator &=(T i);
QBEInteger &operator ^=(T i);
+ QBEInteger &operator ++();
+ QBEInteger &operator --();
+ QBEInteger &operator ++(int);
+ QBEInteger &operator --(int);
+
+ static constexpr QBEInteger max();
+ static constexpr QBEInteger min();
};
#else
diff --git a/src/corelib/global/qglobal.cpp b/src/corelib/global/qglobal.cpp
index 9cbfda3c2c..a369bbe490 100644
--- a/src/corelib/global/qglobal.cpp
+++ b/src/corelib/global/qglobal.cpp
@@ -53,10 +53,6 @@
#include <qmutex.h>
-#ifndef QT_NO_QOBJECT
-#include <private/qthread_p.h>
-#endif
-
#include <stdlib.h>
#include <limits.h>
#include <stdarg.h>
@@ -2212,10 +2208,19 @@ static bool readEtcFile(QUnixOSVersion &v, const char *filename,
return true;
}
-static bool readEtcOsRelease(QUnixOSVersion &v)
+static bool readOsRelease(QUnixOSVersion &v)
{
- return readEtcFile(v, "/etc/os-release", QByteArrayLiteral("ID="),
- QByteArrayLiteral("VERSION_ID="), QByteArrayLiteral("PRETTY_NAME="));
+ QByteArray id = QByteArrayLiteral("ID=");
+ QByteArray versionId = QByteArrayLiteral("VERSION_ID=");
+ QByteArray prettyName = QByteArrayLiteral("PRETTY_NAME=");
+
+ // man os-release(5) says:
+ // The file /etc/os-release takes precedence over /usr/lib/os-release.
+ // Applications should check for the former, and exclusively use its data
+ // if it exists, and only fall back to /usr/lib/os-release if it is
+ // missing.
+ return readEtcFile(v, "/etc/os-release", id, versionId, prettyName) ||
+ readEtcFile(v, "/usr/lib/os-release", id, versionId, prettyName);
}
static bool readEtcLsbRelease(QUnixOSVersion &v)
@@ -2297,7 +2302,7 @@ static bool readEtcDebianVersion(QUnixOSVersion &v)
static bool findUnixOsVersion(QUnixOSVersion &v)
{
- if (readEtcOsRelease(v))
+ if (readOsRelease(v))
return true;
if (readEtcLsbRelease(v))
return true;
@@ -3814,14 +3819,14 @@ bool qunsetenv(const char *varName)
Marks the UTF-8 encoded string literal \a sourceText for numerator
dependent delayed translation in the given \a context with the given
- \a disambiguation.
+ \a comment.
The \a context is typically a class and also needs to be specified
as a string literal. The string literal \a disambiguation should be
a short semantic tag to tell apart otherwise identical strings.
The macro tells lupdate to collect the string, and expands to an
anonymous struct of the two string literals passed as \a sourceText
- and \a disambiguation.
+ and \a comment.
Example:
diff --git a/src/corelib/global/qglobalstatic.h b/src/corelib/global/qglobalstatic.h
index 7a6dea9b92..555bdf04c1 100644
--- a/src/corelib/global/qglobalstatic.h
+++ b/src/corelib/global/qglobalstatic.h
@@ -55,7 +55,7 @@ enum GuardValues {
};
}
-#if defined(QT_NO_THREAD) || defined(Q_COMPILER_THREADSAFE_STATICS)
+#if !QT_CONFIG(thread) || defined(Q_COMPILER_THREADSAFE_STATICS)
// some compilers support thread-safe statics
// The IA-64 C++ ABI requires this, so we know that all GCC versions since 3.4
// support it. C++11 also requires this behavior.
diff --git a/src/corelib/global/qglobalstatic.qdoc b/src/corelib/global/qglobalstatic.qdoc
index 303709bb1d..dbea04ecab 100644
--- a/src/corelib/global/qglobalstatic.qdoc
+++ b/src/corelib/global/qglobalstatic.qdoc
@@ -264,7 +264,7 @@
[stmt.decl], but as of the time of this writing, only compilers based on
the IA-64 C++ ABI implemented it properly. The implementation requiring
thread-safe initialization is also used on the Qt bootstrapped tools, which
- define QT_NO_THREAD.
+ disable the "thread" feature.
The implementation requiring thread-safe initialization from the compiler
is the simplest: it creates the \a Type object as a function-local static
diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h
index 288c966eec..dec2c44637 100644
--- a/src/corelib/global/qnamespace.h
+++ b/src/corelib/global/qnamespace.h
@@ -1704,7 +1704,8 @@ public:
NoScrollPhase = 0,
ScrollBegin,
ScrollUpdate,
- ScrollEnd
+ ScrollEnd,
+ ScrollMomentum
};
enum MouseEventSource {
diff --git a/src/corelib/global/qrandom.cpp b/src/corelib/global/qrandom.cpp
index 66deac2a29..a7d4aa303a 100644
--- a/src/corelib/global/qrandom.cpp
+++ b/src/corelib/global/qrandom.cpp
@@ -1298,7 +1298,7 @@ struct QRandEngine
};
}
-#if defined(QT_NO_THREAD) || defined(Q_OS_WIN)
+#if defined(Q_OS_WIN)
// On Windows srand() and rand() already use Thread-Local-Storage
// to store the seed between calls
static inline QRandEngine *randTLS()
diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp
index 7c0a48f8f2..39422c3401 100644
--- a/src/corelib/io/qdir.cpp
+++ b/src/corelib/io/qdir.cpp
@@ -48,7 +48,9 @@
#include "qdiriterator.h"
#include "qdatetime.h"
#include "qstring.h"
-#include "qregexp.h"
+#if QT_CONFIG(regularexpression)
+# include <qregularexpression.h>
+#endif
#include "qvector.h"
#include "qvarlengtharray.h"
#include "qfilesystementry_p.h"
@@ -1038,7 +1040,7 @@ QStringList QDir::nameFilters() const
list of filters specified by \a nameFilters.
Each name filter is a wildcard (globbing) filter that understands
- \c{*} and \c{?} wildcards. (See \l{QRegExp wildcard matching}.)
+ \c{*} and \c{?} wildcards. (See \l{QRegularExpression wildcard matching}.)
For example, the following code sets three name filters on a QDir
to ensure that only files with extensions typically used for C++
@@ -2110,7 +2112,7 @@ QString QDir::rootPath()
return QFileSystemEngine::rootPath();
}
-#ifndef QT_NO_REGEXP
+#if QT_CONFIG(regularexpression)
/*!
\overload
@@ -2118,13 +2120,18 @@ QString QDir::rootPath()
patterns in the list of \a filters; otherwise returns \c false. The
matching is case insensitive.
- \sa {QRegExp wildcard matching}, QRegExp::exactMatch(), entryList(), entryInfoList()
+ \sa {QRegularExpression Wildcard matching}, QRegularExpression::wildcardToRegularExpression(),
+ entryList(), entryInfoList()
*/
bool QDir::match(const QStringList &filters, const QString &fileName)
{
for (QStringList::ConstIterator sit = filters.constBegin(); sit != filters.constEnd(); ++sit) {
- QRegExp rx(*sit, Qt::CaseInsensitive, QRegExp::Wildcard);
- if (rx.exactMatch(fileName))
+ QString wildcard = QRegularExpression::wildcardToRegularExpression(*sit);
+ // Insensitive exact match
+ // (see Notes for QRegExp Users in QRegularExpression's documentation)
+ QRegularExpression rx(QRegularExpression::anchoredPattern(wildcard),
+ QRegularExpression::CaseInsensitiveOption);
+ if (rx.match(fileName).hasMatch())
return true;
}
return false;
@@ -2136,13 +2143,14 @@ bool QDir::match(const QStringList &filters, const QString &fileName)
contain multiple patterns separated by spaces or semicolons.
The matching is case insensitive.
- \sa {QRegExp wildcard matching}, QRegExp::exactMatch(), entryList(), entryInfoList()
+ \sa {QRegularExpression wildcard matching}, QRegularExpression::wildcardToRegularExpression,
+ entryList(), entryInfoList()
*/
bool QDir::match(const QString &filter, const QString &fileName)
{
return match(nameFiltersFromString(filter), fileName);
}
-#endif // QT_NO_REGEXP
+#endif // QT_CONFIG(regularexpression)
/*!
\internal
diff --git a/src/corelib/io/qdir.h b/src/corelib/io/qdir.h
index 950a26f327..45c59d9e1d 100644
--- a/src/corelib/io/qdir.h
+++ b/src/corelib/io/qdir.h
@@ -206,7 +206,7 @@ public:
static inline QDir temp() { return QDir(tempPath()); }
static QString tempPath();
-#ifndef QT_NO_REGEXP
+#if QT_CONFIG(regularexpression)
static bool match(const QStringList &filters, const QString &fileName);
static bool match(const QString &filter, const QString &fileName);
#endif
diff --git a/src/corelib/io/qfilesystemengine_unix.cpp b/src/corelib/io/qfilesystemengine_unix.cpp
index 9d20ef5088..835e6a6a44 100644
--- a/src/corelib/io/qfilesystemengine_unix.cpp
+++ b/src/corelib/io/qfilesystemengine_unix.cpp
@@ -91,7 +91,6 @@ extern "C" NSString *NSTemporaryDirectory();
# include <sys/syscall.h>
# include <sys/sendfile.h>
# include <linux/fs.h>
-# include <linux/stat.h>
// in case linux/fs.h is too old and doesn't define it:
#ifndef FICLONE
@@ -112,6 +111,7 @@ static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newp
# endif
# if !QT_CONFIG(statx) && defined(SYS_statx)
+# include <linux/stat.h>
static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf)
{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); }
# elif !QT_CONFIG(statx) && !defined(SYS_statx)
@@ -853,7 +853,7 @@ QByteArray QFileSystemEngine::id(int id)
//static
QString QFileSystemEngine::resolveUserName(uint userId)
{
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
if (size_max == -1)
size_max = 1024;
@@ -862,7 +862,7 @@ QString QFileSystemEngine::resolveUserName(uint userId)
#if !defined(Q_OS_INTEGRITY)
struct passwd *pw = 0;
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS)
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS)
struct passwd entry;
getpwuid_r(userId, &entry, buf.data(), buf.size(), &pw);
#else
@@ -877,7 +877,7 @@ QString QFileSystemEngine::resolveUserName(uint userId)
//static
QString QFileSystemEngine::resolveGroupName(uint groupId)
{
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD)
int size_max = sysconf(_SC_GETPW_R_SIZE_MAX);
if (size_max == -1)
size_max = 1024;
@@ -886,7 +886,7 @@ QString QFileSystemEngine::resolveGroupName(uint groupId)
#if !defined(Q_OS_INTEGRITY)
struct group *gr = 0;
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID) && (__ANDROID_API__ >= 24))
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && !defined(Q_OS_OPENBSD) && !defined(Q_OS_VXWORKS) && (!defined(Q_OS_ANDROID) || defined(Q_OS_ANDROID) && (__ANDROID_API__ >= 24))
size_max = sysconf(_SC_GETGR_R_SIZE_MAX);
if (size_max == -1)
size_max = 1024;
diff --git a/src/corelib/io/qfsfileengine_win.cpp b/src/corelib/io/qfsfileengine_win.cpp
index 93cfd93d7e..9d3bfbba31 100644
--- a/src/corelib/io/qfsfileengine_win.cpp
+++ b/src/corelib/io/qfsfileengine_win.cpp
@@ -45,7 +45,6 @@
#include "qfile.h"
#include "qdir.h"
-#include "private/qmutexpool_p.h"
#include "qvarlengtharray.h"
#include "qdatetime.h"
#include "qt_windows.h"
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index 713af9bd40..7a2daa2a57 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -101,7 +101,6 @@ QT_END_NAMESPACE
#include <qdir.h>
#include <qlist.h>
#include <qmutex.h>
-#include <qsemaphore.h>
#include <qsocketnotifier.h>
#include <qthread.h>
#include <qelapsedtimer.h>
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index f200419fcd..e531505877 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -472,16 +472,10 @@ static inline QString webDavSslTag()
return QStringLiteral("@SSL");
}
-#ifdef Q_COMPILER_CLASS_ENUM
-# define colon_uchar : uchar
-#else
-# define colon_uchar
-#endif
-
class QUrlPrivate
{
public:
- enum Section colon_uchar {
+ enum Section : uchar {
Scheme = 0x01,
UserName = 0x02,
Password = 0x04,
@@ -496,7 +490,7 @@ public:
FullUrl = 0xff
};
- enum Flags colon_uchar {
+ enum Flags : uchar {
IsLocalFile = 0x01
};
@@ -616,7 +610,6 @@ public:
// 32-bit: 2 bytes tail padding available
// 64-bit: 6 bytes tail padding available
};
-#undef colon_uchar
inline QUrlPrivate::QUrlPrivate()
: ref(1), port(-1),
diff --git a/src/corelib/io/qurl_p.h b/src/corelib/io/qurl_p.h
index cb88cac35e..1b9237e58a 100644
--- a/src/corelib/io/qurl_p.h
+++ b/src/corelib/io/qurl_p.h
@@ -65,7 +65,7 @@ extern Q_AUTOTEST_EXPORT int qt_urlRecode(QString &appendTo, const QChar *begin,
enum AceLeadingDot { AllowLeadingDot, ForbidLeadingDot };
enum AceOperation { ToAceOnly, NormalizeAce };
extern QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot);
-extern Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from);
+extern Q_AUTOTEST_EXPORT bool qt_nameprep(QString *source, int from);
extern Q_AUTOTEST_EXPORT bool qt_check_std3rules(const QChar *uc, int len);
extern Q_AUTOTEST_EXPORT void qt_punycodeEncoder(const QChar *s, int ucLength, QString *output);
extern Q_AUTOTEST_EXPORT QString qt_punycodeDecoder(const QString &pc);
diff --git a/src/corelib/io/qurlidna.cpp b/src/corelib/io/qurlidna.cpp
index 2f8bd91f6e..2305e66407 100644
--- a/src/corelib/io/qurlidna.cpp
+++ b/src/corelib/io/qurlidna.cpp
@@ -2021,7 +2021,7 @@ static bool isBidirectionalL(uint uc)
return false;
}
-Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
+Q_AUTOTEST_EXPORT bool qt_nameprep(QString *source, int from)
{
QChar *src = source->data(); // causes a detach, so we're sure the only one using it
QChar *out = src + from;
@@ -2036,7 +2036,7 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
}
}
if (out == e)
- return; // everything was mapped easily (lowercased, actually)
+ return true; // everything was mapped easily (lowercased, actually)
int firstNonAscii = out - src;
// Characters unassigned in Unicode 3.2 are not allowed in "stored string" scheme
@@ -2059,7 +2059,7 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
QChar::UnicodeVersion version = QChar::unicodeVersion(uc);
if (version == QChar::Unicode_Unassigned || version > QChar::Unicode_3_2) {
source->resize(from); // not allowed, clear the label
- return;
+ return false;
}
}
if (!isMappedToNothing(uc)) {
@@ -2086,7 +2086,7 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
// Strip prohibited output
if (containsProhibitedOuptut(source, firstNonAscii)) {
source->resize(from);
- return;
+ return false;
}
// Check for valid bidirectional characters
@@ -2110,9 +2110,13 @@ Q_AUTOTEST_EXPORT void qt_nameprep(QString *source, int from)
}
if (containsRandALCat) {
if (containsLCat || (!isBidirectionalRorAL(src[from].unicode())
- || !isBidirectionalRorAL(e[-1].unicode())))
+ || !isBidirectionalRorAL(e[-1].unicode()))) {
source->resize(from); // not allowed, clear the label
+ return false;
+ }
}
+
+ return true;
}
static const QChar *qt_find_nonstd3(const QChar *uc, int len, Qt::CaseSensitivity cs)
@@ -2553,7 +2557,8 @@ QString qt_ACE_do(const QString &domain, AceOperation op, AceLeadingDot dot)
} else {
// Punycode encoding and decoding cannot be done in-place
// That means we need one or two temporaries
- qt_nameprep(&result, prevLen);
+ if (!qt_nameprep(&result, prevLen))
+ return QString(); // failed
labelLength = result.length() - prevLen;
int toReserve = labelLength + 4 + 6; // "xn--" plus some extra bytes
aceForm.resize(0);
diff --git a/src/corelib/itemmodels/qabstractitemmodel.cpp b/src/corelib/itemmodels/qabstractitemmodel.cpp
index 3a6f67521f..e816add91d 100644
--- a/src/corelib/itemmodels/qabstractitemmodel.cpp
+++ b/src/corelib/itemmodels/qabstractitemmodel.cpp
@@ -1866,6 +1866,23 @@ bool QAbstractItemModel::setData(const QModelIndex &index, const QVariant &value
return false;
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+/*!
+ \since 6.0
+ Removes the data stored in all the roles for the given \a index.
+ Returns \c{true} if successful; otherwise returns \c{false}.
+ The dataChanged() signal should be emitted if the data was successfully
+ removed.
+ The base class implementation returns \c{false}
+ \sa data(), itemData(), setData(), setItemData()
+*/
+bool QAbstractItemModel::clearItemData(const QModelIndex &index)
+{
+ Q_UNUSED(index);
+ return false;
+}
+#endif
+
/*!
\fn QVariant QAbstractItemModel::data(const QModelIndex &index, int role) const = 0
diff --git a/src/corelib/itemmodels/qabstractitemmodel.h b/src/corelib/itemmodels/qabstractitemmodel.h
index 21171124f9..bec71b0606 100644
--- a/src/corelib/itemmodels/qabstractitemmodel.h
+++ b/src/corelib/itemmodels/qabstractitemmodel.h
@@ -198,6 +198,9 @@ public:
virtual QMap<int, QVariant> itemData(const QModelIndex &index) const;
virtual bool setItemData(const QModelIndex &index, const QMap<int, QVariant> &roles);
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ virtual bool clearItemData(const QModelIndex &index);
+#endif
virtual QStringList mimeTypes() const;
virtual QMimeData *mimeData(const QModelIndexList &indexes) const;
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.cpp b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
index 8312318e4c..d8b4c8cc97 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.cpp
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.cpp
@@ -43,6 +43,7 @@
#include <qdebug.h>
#include <qdatetime.h>
#include <qpair.h>
+#include <qregularexpression.h>
#include <qstringlist.h>
#include <private/qabstractitemmodel_p.h>
#include <private/qabstractproxymodel_p.h>
@@ -146,6 +147,133 @@ private:
int end;
};
+class RegularExpressionData {
+
+private:
+ enum class ExpressionType {
+ RegExp,
+#if QT_CONFIG(regularexpression)
+ RegularExpression
+#endif
+ };
+
+public:
+ RegularExpressionData() :
+ m_type(ExpressionType::RegExp)
+ {}
+
+#if QT_CONFIG(regularexpression)
+ QRegularExpression regularExpression() const
+ {
+ if (m_type == ExpressionType::RegularExpression)
+ return m_regularExpression;
+ return QRegularExpression();
+ }
+
+ void setRegularExpression(const QRegularExpression &rx)
+ {
+ m_type = ExpressionType::RegularExpression;
+ m_regularExpression = rx;
+ m_regExp = QRegExp();
+ }
+#endif
+
+ QRegExp regExp() const
+ {
+ if (m_type == ExpressionType::RegExp)
+ return m_regExp;
+ return QRegExp();
+ }
+
+ void setRegExp(const QRegExp &rx)
+ {
+ m_type = ExpressionType::RegExp;
+ m_regExp = rx;
+#if QT_CONFIG(regularexpression)
+ m_regularExpression = QRegularExpression();
+#endif
+
+ }
+
+ bool isEmpty() const
+ {
+ bool result = true;
+ switch (m_type) {
+ case ExpressionType::RegExp:
+ result = m_regExp.isEmpty();
+ break;
+#if QT_CONFIG(regularexpression)
+ case ExpressionType::RegularExpression:
+ result = m_regularExpression.pattern().isEmpty();
+ break;
+#endif
+ }
+ return result;
+ }
+
+ Qt::CaseSensitivity caseSensitivity() const
+ {
+ Qt::CaseSensitivity sensitivity = Qt::CaseInsensitive;
+ switch (m_type) {
+ case ExpressionType::RegExp:
+ sensitivity = m_regExp.caseSensitivity();
+ break;
+#if QT_CONFIG(regularexpression)
+ case ExpressionType::RegularExpression:
+ {
+ QRegularExpression::PatternOptions options = m_regularExpression.patternOptions();
+ if (!(options & QRegularExpression::CaseInsensitiveOption))
+ sensitivity = Qt::CaseSensitive;
+ }
+ break;
+#endif
+ }
+ return sensitivity;
+ }
+
+ void setCaseSensitivity(Qt::CaseSensitivity cs)
+ {
+ switch (m_type) {
+ case ExpressionType::RegExp:
+ m_regExp.setCaseSensitivity(cs);
+ break;
+#if QT_CONFIG(regularexpression)
+ case ExpressionType::RegularExpression:
+ {
+ QRegularExpression::PatternOptions options = m_regularExpression.patternOptions();
+ options.setFlag(QRegularExpression::CaseInsensitiveOption, cs == Qt::CaseSensitive);
+ m_regularExpression.setPatternOptions(options);
+ }
+ break;
+#endif
+ }
+ }
+
+ bool hasMatch(const QString &str) const
+ {
+ bool result = false;
+ switch (m_type) {
+ case ExpressionType::RegExp:
+ result = str.contains(m_regExp);
+ break;
+#if QT_CONFIG(regularexpression)
+ case ExpressionType::RegularExpression:
+ result = str.contains(m_regularExpression);
+ break;
+#endif
+ }
+ return result;
+ }
+
+private:
+ ExpressionType m_type;
+ QRegExp m_regExp;
+#if QT_CONFIG(regularexpression)
+ QRegularExpression m_regularExpression;
+#endif
+};
+
+
class QSortFilterProxyModelPrivate : public QAbstractProxyModelPrivate
{
Q_DECLARE_PUBLIC(QSortFilterProxyModel)
@@ -171,7 +299,7 @@ public:
int filter_column;
int filter_role;
- QRegExp filter_regexp;
+ RegularExpressionData filter_data;
QModelIndex last_top_source;
bool filter_recursive;
@@ -1109,7 +1237,7 @@ void QSortFilterProxyModelPrivate::update_persistent_indexes(
*/
void QSortFilterProxyModelPrivate::filter_about_to_be_changed(const QModelIndex &source_parent)
{
- if (!filter_regexp.pattern().isEmpty() &&
+ if (!filter_data.isEmpty() &&
source_index_mapping.constFind(source_parent) == source_index_mapping.constEnd())
create_mapping(source_parent);
}
@@ -1786,9 +1914,9 @@ void QSortFilterProxyModelPrivate::_q_sourceColumnsMoved(
If a parent item doesn't match the filter, none of its children will be
shown.
- A common use case is to let the user specify the filter regexp, wildcard
- pattern, or fixed string in a QLineEdit and to connect the
- \l{QLineEdit::textChanged()}{textChanged()} signal to setFilterRegExp(),
+ A common use case is to let the user specify the filter regular expression,
+ wildcard pattern, or fixed string in a QLineEdit and to connect the
+ \l{QLineEdit::textChanged()}{textChanged()} signal to setFilterRegularExpression(),
setFilterWildcard(), or setFilterFixedString() to reapply the filter.
Custom filtering behavior can be achieved by reimplementing the
@@ -1825,6 +1953,21 @@ void QSortFilterProxyModelPrivate::_q_sourceColumnsMoved(
\note Some general guidelines for subclassing models are available in the
\l{Model Subclassing Reference}.
+ \note With Qt 5, regular expression support has been improved through the
+ QRegularExpression class. QSortFilterProxyModel dating back prior to that
+ class creation, it originally supported only QRegExp. Since Qt 5.12,
+ QRegularExpression APIs have been added. Therefore, QRegExp APIs should be
+ considered deprecated and the QRegularExpression version should be used in
+ place.
+
+ \warning Don't mix calls to the getters and setters of different regexp types
+ as this will lead to unexpected results. For maximum compatibility, the original
+ implementation has been kept. Therefore, if, for example, a call to
+ setFilterRegularExpression is made followed by another one to
+ setFilterFixedString, the first call will setup a QRegularExpression object
+ to use as filter while the second will setup a QRegExp in FixedString mode.
+ However, this is an implementation detail that might change in the future.
+
\sa QAbstractProxyModel, QAbstractItemModel, {Model/View Programming},
{Basic Sort/Filter Model Example}, {Custom Sort/Filter Model Example}, QIdentityProxyModel
*/
@@ -2437,16 +2580,46 @@ Qt::SortOrder QSortFilterProxyModel::sortOrder() const
QRegExp QSortFilterProxyModel::filterRegExp() const
{
Q_D(const QSortFilterProxyModel);
- return d->filter_regexp;
+ return d->filter_data.regExp();
}
void QSortFilterProxyModel::setFilterRegExp(const QRegExp &regExp)
{
Q_D(QSortFilterProxyModel);
d->filter_about_to_be_changed();
- d->filter_regexp = regExp;
+ d->filter_data.setRegExp(regExp);
+ d->filter_changed();
+}
+
+#if QT_CONFIG(regularexpression)
+/*!
+ \since 5.12
+ \property QSortFilterProxyModel::filterRegularExpression
+ \brief the QRegularExpression used to filter the contents of the source model
+
+ Setting this property overwrites the current
+ \l{QSortFilterProxyModel::filterCaseSensitivity}{filterCaseSensitivity}.
+ By default, the QRegularExpression is an empty string matching all contents.
+
+ If no QRegularExpression or an empty string is set, everything in the source
+ model will be accepted.
+
+ \sa filterCaseSensitivity, setFilterWildcard(), setFilterFixedString()
+*/
+QRegularExpression QSortFilterProxyModel::filterRegularExpression() const
+{
+ Q_D(const QSortFilterProxyModel);
+ return d->filter_data.regularExpression();
+}
+
+void QSortFilterProxyModel::setFilterRegularExpression(const QRegularExpression &regularExpression)
+{
+ Q_D(QSortFilterProxyModel);
+ d->filter_about_to_be_changed();
+ d->filter_data.setRegularExpression(regularExpression);
d->filter_changed();
}
+#endif
/*!
\property QSortFilterProxyModel::filterKeyColumn
@@ -2483,16 +2656,16 @@ void QSortFilterProxyModel::setFilterKeyColumn(int column)
Qt::CaseSensitivity QSortFilterProxyModel::filterCaseSensitivity() const
{
Q_D(const QSortFilterProxyModel);
- return d->filter_regexp.caseSensitivity();
+ return d->filter_data.caseSensitivity();
}
void QSortFilterProxyModel::setFilterCaseSensitivity(Qt::CaseSensitivity cs)
{
Q_D(QSortFilterProxyModel);
- if (cs == d->filter_regexp.caseSensitivity())
+ if (cs == d->filter_data.caseSensitivity())
return;
d->filter_about_to_be_changed();
- d->filter_regexp.setCaseSensitivity(cs);
+ d->filter_data.setCaseSensitivity(cs);
d->filter_changed();
}
@@ -2558,11 +2731,33 @@ void QSortFilterProxyModel::setFilterRegExp(const QString &pattern)
{
Q_D(QSortFilterProxyModel);
d->filter_about_to_be_changed();
- d->filter_regexp.setPatternSyntax(QRegExp::RegExp);
- d->filter_regexp.setPattern(pattern);
+ QRegExp rx(pattern);
+ d->filter_data.setRegExp(rx);
d->filter_changed();
}
+#if QT_CONFIG(regularexpression)
+/*!
+ \since 5.12
+
+ Sets the regular expression used to filter the contents
+ of the source model to \a pattern.
+
+ This method should be preferred for new code as it will use
+ QRegularExpression internally.
+
+ \sa setFilterCaseSensitivity(), setFilterWildcard(), setFilterFixedString(), filterRegularExpression()
+*/
+void QSortFilterProxyModel::setFilterRegularExpression(const QString &pattern)
+{
+ Q_D(QSortFilterProxyModel);
+ d->filter_about_to_be_changed();
+ QRegularExpression rx(pattern);
+ d->filter_data.setRegularExpression(rx);
+ d->filter_changed();
+}
+#endif
+
/*!
Sets the wildcard expression used to filter the contents
of the source model to the given \a pattern.
@@ -2573,8 +2768,8 @@ void QSortFilterProxyModel::setFilterWildcard(const QString &pattern)
{
Q_D(QSortFilterProxyModel);
d->filter_about_to_be_changed();
- d->filter_regexp.setPatternSyntax(QRegExp::Wildcard);
- d->filter_regexp.setPattern(pattern);
+ QRegExp rx(pattern, d->filter_data.caseSensitivity(), QRegExp::Wildcard);
+ d->filter_data.setRegExp(rx);
d->filter_changed();
}
@@ -2588,8 +2783,8 @@ void QSortFilterProxyModel::setFilterFixedString(const QString &pattern)
{
Q_D(QSortFilterProxyModel);
d->filter_about_to_be_changed();
- d->filter_regexp.setPatternSyntax(QRegExp::FixedString);
- d->filter_regexp.setPattern(pattern);
+ QRegExp rx(pattern, d->filter_data.caseSensitivity(), QRegExp::FixedString);
+ d->filter_data.setRegExp(rx);
d->filter_changed();
}
@@ -2814,14 +3009,15 @@ bool QSortFilterProxyModel::lessThan(const QModelIndex &source_left, const QMode
bool QSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &source_parent) const
{
Q_D(const QSortFilterProxyModel);
- if (d->filter_regexp.isEmpty())
+
+ if (d->filter_data.isEmpty())
return true;
if (d->filter_column == -1) {
int column_count = d->model->columnCount(source_parent);
for (int column = 0; column < column_count; ++column) {
QModelIndex source_index = d->model->index(source_row, column, source_parent);
QString key = d->model->data(source_index, d->filter_role).toString();
- if (key.contains(d->filter_regexp))
+ if (d->filter_data.hasMatch(key))
return true;
}
return false;
@@ -2830,7 +3026,7 @@ bool QSortFilterProxyModel::filterAcceptsRow(int source_row, const QModelIndex &
if (!source_index.isValid()) // the column may not exist
return true;
QString key = d->model->data(source_index, d->filter_role).toString();
- return key.contains(d->filter_regexp);
+ return d->filter_data.hasMatch(key);
}
/*!
diff --git a/src/corelib/itemmodels/qsortfilterproxymodel.h b/src/corelib/itemmodels/qsortfilterproxymodel.h
index 907ceb8e6d..0b7c69f37d 100644
--- a/src/corelib/itemmodels/qsortfilterproxymodel.h
+++ b/src/corelib/itemmodels/qsortfilterproxymodel.h
@@ -42,6 +42,7 @@
#include <QtCore/qabstractproxymodel.h>
#include <QtCore/qregexp.h>
+#include <QtCore/qregularexpression.h>
QT_REQUIRE_CONFIG(sortfilterproxymodel);
@@ -59,6 +60,9 @@ class Q_CORE_EXPORT QSortFilterProxyModel : public QAbstractProxyModel
Q_OBJECT
Q_PROPERTY(QRegExp filterRegExp READ filterRegExp WRITE setFilterRegExp)
+#if QT_CONFIG(regularexpression)
+ Q_PROPERTY(QRegularExpression filterRegularExpression READ filterRegularExpression WRITE setFilterRegularExpression)
+#endif
Q_PROPERTY(int filterKeyColumn READ filterKeyColumn WRITE setFilterKeyColumn)
Q_PROPERTY(bool dynamicSortFilter READ dynamicSortFilter WRITE setDynamicSortFilter)
Q_PROPERTY(Qt::CaseSensitivity filterCaseSensitivity READ filterCaseSensitivity WRITE setFilterCaseSensitivity)
@@ -83,6 +87,9 @@ public:
QRegExp filterRegExp() const;
void setFilterRegExp(const QRegExp &regExp);
+ QRegularExpression filterRegularExpression() const;
+ void setFilterRegularExpression(const QRegularExpression &regularExpression);
+
int filterKeyColumn() const;
void setFilterKeyColumn(int column);
@@ -112,6 +119,9 @@ public:
public Q_SLOTS:
void setFilterRegExp(const QString &pattern);
+#if QT_CONFIG(regularexpression)
+ void setFilterRegularExpression(const QString &pattern);
+#endif
void setFilterWildcard(const QString &pattern);
void setFilterFixedString(const QString &pattern);
#if QT_DEPRECATED_SINCE(5, 11)
diff --git a/src/corelib/kernel/qcore_mac.cpp b/src/corelib/kernel/qcore_mac.cpp
index b5df0db232..58380001a4 100644
--- a/src/corelib/kernel/qcore_mac.cpp
+++ b/src/corelib/kernel/qcore_mac.cpp
@@ -42,6 +42,7 @@
#include "qhash.h"
#include "qpair.h"
+#include "qmutex.h"
#include "qvarlengtharray.h"
QT_BEGIN_NAMESPACE
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index aea8fe6658..04da52a960 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -58,9 +58,11 @@
#include <qtextcodec.h>
#ifndef QT_NO_QOBJECT
#include <qthread.h>
-#include <qthreadpool.h>
#include <qthreadstorage.h>
#include <private/qthread_p.h>
+#if QT_CONFIG(thread)
+#include <qthreadpool.h>
+#endif
#endif
#include <qelapsedtimer.h>
#include <qlibraryinfo.h>
@@ -268,9 +270,7 @@ typedef QList<QtStartUpFunction> QStartUpFuncList;
Q_GLOBAL_STATIC(QStartUpFuncList, preRList)
typedef QList<QtCleanUpFunction> QVFuncList;
Q_GLOBAL_STATIC(QVFuncList, postRList)
-#ifndef QT_NO_QOBJECT
static QBasicMutex globalRoutinesMutex;
-#endif
/*!
\internal
@@ -289,9 +289,7 @@ void qAddPreRoutine(QtStartUpFunction p)
// Due to C++11 parallel dynamic initialization, this can be called
// from multiple threads.
-#ifndef QT_NO_THREAD
QMutexLocker locker(&globalRoutinesMutex);
-#endif
list->prepend(p); // in case QCoreApplication is re-created, see qt_call_pre_routines
}
@@ -300,9 +298,7 @@ void qAddPostRoutine(QtCleanUpFunction p)
QVFuncList *list = postRList();
if (!list)
return;
-#ifndef QT_NO_THREAD
QMutexLocker locker(&globalRoutinesMutex);
-#endif
list->prepend(p);
}
@@ -311,9 +307,7 @@ void qRemovePostRoutine(QtCleanUpFunction p)
QVFuncList *list = postRList();
if (!list)
return;
-#ifndef QT_NO_THREAD
QMutexLocker locker(&globalRoutinesMutex);
-#endif
list->removeAll(p);
}
@@ -324,9 +318,7 @@ static void qt_call_pre_routines()
QVFuncList list;
{
-#ifndef QT_NO_THREAD
QMutexLocker locker(&globalRoutinesMutex);
-#endif
// Unlike qt_call_post_routines, we don't empty the list, because
// Q_COREAPP_STARTUP_FUNCTION is a macro, so the user expects
// the function to be executed every time QCoreApplication is created.
@@ -345,9 +337,7 @@ void Q_CORE_EXPORT qt_call_post_routines()
QVFuncList list;
{
// extract the current list and make the stored list empty
-#ifndef QT_NO_THREAD
QMutexLocker locker(&globalRoutinesMutex);
-#endif
qSwap(*postRList, list);
}
@@ -513,7 +503,7 @@ QCoreApplicationPrivate::~QCoreApplicationPrivate()
void QCoreApplicationPrivate::cleanupThreadData()
{
if (threadData && !threadData_clean) {
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
void *data = &threadData->tls;
QThreadStorageData::finish((void **)data);
#endif
@@ -888,7 +878,7 @@ QCoreApplication::~QCoreApplication()
QCoreApplicationPrivate::is_app_running = false;
#endif
-#if !defined(QT_NO_THREAD)
+#if QT_CONFIG(thread)
// Synchronize and stop the global thread pool threads.
QThreadPool *globalThreadPool = 0;
QT_TRY {
diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp
index 8cefa7a118..4c780a9294 100644
--- a/src/corelib/kernel/qeventdispatcher_glib.cpp
+++ b/src/corelib/kernel/qeventdispatcher_glib.cpp
@@ -345,7 +345,6 @@ QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(GMainContext *context)
sizeof(GIdleTimerSource)));
idleTimerSource->timerSource = timerSource;
g_source_set_can_recurse(&idleTimerSource->source, true);
- g_source_set_priority(&idleTimerSource->source, G_PRIORITY_DEFAULT_IDLE);
g_source_attach(&idleTimerSource->source, mainContext);
}
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp
index 65d0bd2351..6c17535f07 100644
--- a/src/corelib/kernel/qmetaobject.cpp
+++ b/src/corelib/kernel/qmetaobject.cpp
@@ -50,7 +50,9 @@
#include <qthread.h>
#include <qvariant.h>
#include <qdebug.h>
+#if QT_CONFIG(thread)
#include <qsemaphore.h>
+#endif
#include "private/qobject_p.h"
#include "private/qmetaobject_p.h"
@@ -1540,14 +1542,14 @@ bool QMetaObject::invokeMethodImpl(QObject *object, QtPrivate::QSlotObjectBase *
QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, 1, types, args));
} else if (type == Qt::BlockingQueuedConnection) {
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (currentThread == objectThread)
qWarning("QMetaObject::invokeMethod: Dead lock detected");
QSemaphore semaphore;
QCoreApplication::postEvent(object, new QMetaCallEvent(slot, 0, -1, 0, 0, argv, &semaphore));
semaphore.acquire();
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
} else {
qWarning("QMetaObject::invokeMethod: Unknown connection type");
return false;
@@ -2272,7 +2274,7 @@ bool QMetaMethod::invoke(QObject *object,
: Qt::QueuedConnection;
}
-#ifdef QT_NO_THREAD
+#if !QT_CONFIG(thread)
if (connectionType == Qt::BlockingQueuedConnection) {
connectionType = Qt::DirectConnection;
}
@@ -2348,7 +2350,7 @@ bool QMetaMethod::invoke(QObject *object,
QCoreApplication::postEvent(object, new QMetaCallEvent(idx_offset, idx_relative, callFunction,
0, -1, nargs, types, args));
} else { // blocking queued connection
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (currentThread == objectThread) {
qWarning("QMetaMethod::invoke: Dead lock detected in "
"BlockingQueuedConnection: Receiver is %s(%p)",
@@ -2359,7 +2361,7 @@ bool QMetaMethod::invoke(QObject *object,
QCoreApplication::postEvent(object, new QMetaCallEvent(idx_offset, idx_relative, callFunction,
0, -1, 0, 0, param, &semaphore));
semaphore.acquire();
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
}
return true;
}
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 698ac256ff..6254330d25 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -59,7 +59,9 @@
#include <qpair.h>
#include <qvarlengtharray.h>
#include <qset.h>
+#if QT_CONFIG(thread)
#include <qsemaphore.h>
+#endif
#include <qsharedpointer.h>
#include <private/qorderedmutexlocker_p.h>
@@ -488,7 +490,7 @@ QMetaCallEvent::~QMetaCallEvent()
free(types_);
free(args_);
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (semaphore_)
semaphore_->release();
#endif
@@ -3727,7 +3729,7 @@ void QMetaObject::activate(QObject *sender, int signalOffset, int local_signal_i
|| (c->connectionType == Qt::QueuedConnection)) {
queued_activate(sender, signal_index, c, argv ? argv : empty_argv, locker);
continue;
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
} else if (c->connectionType == Qt::BlockingQueuedConnection) {
if (receiverInSameThread) {
qWarning("Qt: Dead lock detected while activating a BlockingQueuedConnection: "
diff --git a/src/corelib/kernel/qobjectdefs_impl.h b/src/corelib/kernel/qobjectdefs_impl.h
index a6ad00ea22..8afff1fb98 100644
--- a/src/corelib/kernel/qobjectdefs_impl.h
+++ b/src/corelib/kernel/qobjectdefs_impl.h
@@ -112,13 +112,31 @@ namespace QtPrivate {
The Functor<Func,N> struct is the helper to call a functor of N argument.
its call function is the same as the FunctionPointer::call function.
*/
- template <int...> struct IndexesList {};
- template <typename IndexList, int Right> struct IndexesAppend;
- template <int... Left, int Right> struct IndexesAppend<IndexesList<Left...>, Right>
- { typedef IndexesList<Left..., Right> Value; };
- template <int N> struct Indexes
- { typedef typename IndexesAppend<typename Indexes<N - 1>::Value, N - 1>::Value Value; };
- template <> struct Indexes<0> { typedef IndexesList<> Value; };
+ template<class T> using InvokeGenSeq = typename T::Type;
+
+ template<int...> struct IndexesList { using Type = IndexesList; };
+
+ template<int N, class S1, class S2> struct ConcatSeqImpl;
+
+ template<int N, int... I1, int... I2>
+ struct ConcatSeqImpl<N, IndexesList<I1...>, IndexesList<I2...>>
+ : IndexesList<I1..., (N + I2)...>{};
+
+ template<int N, class S1, class S2>
+ using ConcatSeq = InvokeGenSeq<ConcatSeqImpl<N, S1, S2>>;
+
+ template<int N> struct GenSeq;
+ template<int N> using makeIndexSequence = InvokeGenSeq<GenSeq<N>>;
+
+ template<int N>
+ struct GenSeq : ConcatSeq<N/2, makeIndexSequence<N/2>, makeIndexSequence<N - N/2>>{};
+
+ template<> struct GenSeq<0> : IndexesList<>{};
+ template<> struct GenSeq<1> : IndexesList<0>{};
+
+ template<int N>
+ struct Indexes { using Value = makeIndexSequence<N>; };
+
template<typename Func> struct FunctionPointer { enum {ArgumentCount = -1, IsPointerToMemberFunction = false}; };
template <typename, typename, typename, typename> struct FunctorCall;
diff --git a/src/corelib/kernel/qsystemerror.cpp b/src/corelib/kernel/qsystemerror.cpp
index fc825257ec..53c3136857 100644
--- a/src/corelib/kernel/qsystemerror.cpp
+++ b/src/corelib/kernel/qsystemerror.cpp
@@ -49,7 +49,7 @@
QT_BEGIN_NAMESPACE
-#if !defined(Q_OS_WIN) && !defined(QT_NO_THREAD) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX) && \
+#if !defined(Q_OS_WIN) && QT_CONFIG(thread) && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX) && \
defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L
namespace {
// There are two incompatible versions of strerror_r:
@@ -130,7 +130,7 @@ static QString standardLibraryErrorString(int errorCode)
s = QT_TRANSLATE_NOOP("QIODevice", "No space left on device");
break;
default: {
- #if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX)
+ #if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && _POSIX_VERSION >= 200112L && !defined(Q_OS_INTEGRITY) && !defined(Q_OS_QNX)
QByteArray buf(1024, Qt::Uninitialized);
ret = fromstrerror_helper(strerror_r(errorCode, buf.data(), buf.size()), buf);
#else
diff --git a/src/corelib/mimetypes/qmimedatabase.cpp b/src/corelib/mimetypes/qmimedatabase.cpp
index 68e3c8f10d..a58698af53 100644
--- a/src/corelib/mimetypes/qmimedatabase.cpp
+++ b/src/corelib/mimetypes/qmimedatabase.cpp
@@ -382,9 +382,12 @@ QMimeType QMimeDatabasePrivate::mimeTypeForFileNameAndData(const QString &fileNa
// Disambiguate conflicting extensions (if magic matching found something)
if (candidateByData.isValid() && magicAccuracy > 0) {
- // "for glob_match in glob_matches:"
- // "if glob_match is subclass or equal to sniffed_type, use glob_match"
const QString sniffedMime = candidateByData.name();
+ // If the sniffedMime matches a glob match, use it
+ if (candidatesByName.m_matchingMimeTypes.contains(sniffedMime)) {
+ *accuracyPtr = 100;
+ return candidateByData;
+ }
for (const QString &m : qAsConst(candidatesByName.m_matchingMimeTypes)) {
if (inherits(m, sniffedMime)) {
// We have magic + pattern pointing to this, so it's a pretty good match
diff --git a/src/corelib/serialization/qcborarray.cpp b/src/corelib/serialization/qcborarray.cpp
index 28ee941a15..506fb052be 100644
--- a/src/corelib/serialization/qcborarray.cpp
+++ b/src/corelib/serialization/qcborarray.cpp
@@ -327,8 +327,8 @@ void QCborArray::insert(qsizetype i, QCborValue &&value)
}
/*!
- \fn QCborValue QCborArray::extract(iterator it)
- \fn QCborValue QCborArray::extract(const_iterator it)
+ \fn QCborValue QCborArray::extract(Iterator it)
+ \fn QCborValue QCborArray::extract(ConstIterator it)
Extracts a value from the array at the position indicated by iterator \a it
and returns the value so extracted.
@@ -1048,6 +1048,7 @@ void QCborArray::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborArray::ConstIterator::operator==(const Iterator &other) const
\fn bool QCborArray::ConstIterator::operator==(const ConstIterator &other) const
Returns \c true if \a other points to the same entry in the array as this
@@ -1067,6 +1068,7 @@ void QCborArray::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborArray::ConstIterator::operator<(const Iterator &other) const
\fn bool QCborArray::ConstIterator::operator<(const ConstIterator &other) const
Returns \c true if the entry in the array pointed to by this iterator
@@ -1074,6 +1076,7 @@ void QCborArray::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborArray::ConstIterator::operator<=(const Iterator &other) const
\fn bool QCborArray::ConstIterator::operator<=(const ConstIterator &other) const
Returns \c true if the entry in the array pointed to by this iterator
@@ -1082,6 +1085,7 @@ void QCborArray::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborArray::ConstIterator::operator>(const Iterator &other) const
\fn bool QCborArray::ConstIterator::operator>(const ConstIterator &other) const
Returns \c true if the entry in the array pointed to by this iterator
@@ -1089,6 +1093,7 @@ void QCborArray::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborArray::ConstIterator::operator>=(const Iterator &other) const
\fn bool QCborArray::ConstIterator::operator>=(const ConstIterator &other) const
Returns \c true if the entry in the array pointed to by this iterator
diff --git a/src/corelib/serialization/qcbordiagnostic.cpp b/src/corelib/serialization/qcbordiagnostic.cpp
index 78f99927c8..75feaded17 100644
--- a/src/corelib/serialization/qcbordiagnostic.cpp
+++ b/src/corelib/serialization/qcbordiagnostic.cpp
@@ -337,7 +337,7 @@ void DiagnosticNotation::appendValue(const QCborValue &v)
high-fidelity notation of a stream, without transformation, see the \c
cbordump example.
- \sa toCbor(), toJsonDocument(), QJsonDocument::toJson()
+ \sa toCbor(), QJsonDocument::toJson()
*/
QString QCborValue::toDiagnosticNotation(DiagnosticNotationOptions opts) const
{
diff --git a/src/corelib/serialization/qcbormap.cpp b/src/corelib/serialization/qcbormap.cpp
index b7067f4afd..f9b000393c 100644
--- a/src/corelib/serialization/qcbormap.cpp
+++ b/src/corelib/serialization/qcbormap.cpp
@@ -804,6 +804,9 @@ QCborValueRef QCborMap::operator[](const QCborValue &key)
}
/*!
+ \fn QCborMap::iterator QCborMap::find(qint64 key)
+ \fn QCborMap::const_iterator QCborMap::find(qint64 key) const
+
Returns a map iterator to the key-value pair whose key is \a key, if the
map contains such a pair. If it doesn't, this function returns end().
@@ -828,6 +831,8 @@ QCborMap::iterator QCborMap::find(qint64 key)
}
/*!
+ \fn QCborMap::iterator QCborMap::find(QLatin1String key)
+ \fn QCborMap::const_iterator QCborMap::find(QLatin1String key) const
\overload
Returns a map iterator to the key-value pair whose key is \a key, if the
@@ -852,6 +857,8 @@ QCborMap::iterator QCborMap::find(QLatin1String key)
}
/*!
+ \fn QCborMap::iterator QCborMap::find(const QString & key)
+ \fn QCborMap::const_iterator QCborMap::find(const QString & key) const
\overload
Returns a map iterator to the key-value pair whose key is \a key, if the
@@ -876,6 +883,8 @@ QCborMap::iterator QCborMap::find(const QString & key)
}
/*!
+ \fn QCborMap::iterator QCborMap::find(const QCborValue &key)
+ \fn QCborMap::const_iterator QCborMap::find(const QCborValue &key) const
\overload
Returns a map iterator to the key-value pair whose key is \a key, if the
@@ -1100,6 +1109,9 @@ QCborMap::iterator QCborMap::erase(QCborMap::iterator it)
}
/*!
+ \fn QCborValue QCborMap::extract(iterator it)
+ \fn QCborValue QCborMap::extract(const_iterator it)
+
Extracts a value from the map at the position indicated by iterator \a it
and returns the value so extracted.
@@ -1360,6 +1372,40 @@ void QCborMap::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborMap::Iterator::operator<(const Iterator& other) const
+ \fn bool QCborMap::Iterator::operator<(const ConstIterator& other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs before the entry pointed to by the \a other iterator.
+*/
+
+/*!
+ \fn bool QCborMap::Iterator::operator<=(const Iterator& other) const
+ \fn bool QCborMap::Iterator::operator<=(const ConstIterator& other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs before or is the same entry as is pointed to by the \a other
+ iterator.
+*/
+
+/*!
+ \fn bool QCborMap::Iterator::operator>(const Iterator& other) const
+ \fn bool QCborMap::Iterator::operator>(const ConstIterator& other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs after the entry pointed to by the \a other iterator.
+ */
+
+/*!
+ \fn bool QCborMap::Iterator::operator>=(const Iterator& other) const
+ \fn bool QCborMap::Iterator::operator>=(const ConstIterator& other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs after or is the same entry as is pointed to by the \a other
+ iterator.
+*/
+
+/*!
\fn QCborMap::Iterator &QCborMap::Iterator::operator++()
The prefix ++ operator, \c{++i}, advances the iterator to the next item in
@@ -1416,6 +1462,16 @@ void QCborMap::detach(qsizetype reserved)
*/
/*!
+ \fn qsizetype QCborMap::Iterator::operator-(QCborMap::Iterator j) const
+
+ Returns the position of the item at iterator \a j relative to the item
+ at this iterator. If the item at \a j is forward of this time, the returned
+ value is negative.
+
+ \sa operator+()
+*/
+
+/*!
\fn QCborMap::Iterator &QCborMap::Iterator::operator+=(qsizetype j)
Advances the iterator by \a j items. If \a j is negative, the iterator goes
@@ -1561,6 +1617,40 @@ void QCborMap::detach(qsizetype reserved)
*/
/*!
+ \fn bool QCborMap::ConstIterator::operator<(const Iterator &other) const
+ \fn bool QCborMap::ConstIterator::operator<(const ConstIterator &other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs before the entry pointed to by the \a other iterator.
+*/
+
+/*!
+ \fn bool QCborMap::ConstIterator::operator<=(const Iterator &other) const
+ \fn bool QCborMap::ConstIterator::operator<=(const ConstIterator &other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs before or is the same entry as is pointed to by the \a other
+ iterator.
+*/
+
+/*!
+ \fn bool QCborMap::ConstIterator::operator>(const Iterator &other) const
+ \fn bool QCborMap::ConstIterator::operator>(const ConstIterator &other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs after the entry pointed to by the \a other iterator.
+*/
+
+/*!
+ \fn bool QCborMap::ConstIterator::operator>=(const Iterator &other) const
+ \fn bool QCborMap::ConstIterator::operator>=(const ConstIterator &other) const
+
+ Returns \c true if the entry in the map pointed to by this iterator
+ occurs after or is the same entry as is pointed to by the \a other
+ iterator.
+*/
+
+/*!
\fn QCborMap::ConstIterator &QCborMap::ConstIterator::operator++()
The prefix ++ operator, \c{++i}, advances the iterator to the next item in
@@ -1617,6 +1707,16 @@ void QCborMap::detach(qsizetype reserved)
*/
/*!
+ \fn qsizetype QCborMap::ConstIterator::operator-(QCborMap::ConstIterator j) const
+
+ Returns the position of the item at iterator \a j relative to the item
+ at this iterator. If the item at \a j is forward of this time, the returned
+ value is negative.
+
+ \sa operator+()
+*/
+
+/*!
\fn QCborMap::ConstIterator &QCborMap::ConstIterator::operator+=(qsizetype j)
Advances the iterator by \a j items. If \a j is negative, the iterator goes
diff --git a/src/corelib/serialization/qcborstream.cpp b/src/corelib/serialization/qcborstream.cpp
index ce1b981f8f..aed286a11f 100644
--- a/src/corelib/serialization/qcborstream.cpp
+++ b/src/corelib/serialization/qcborstream.cpp
@@ -1044,7 +1044,7 @@ void QCborStreamWriter::append(QCborSimpleType st)
Appends the floating point number \a f to the stream, creating a CBOR 16-bit
Half-Precision Floating Point value. The following code can be used to convert
- a C++ \tt float to \l qfloat16 if there's no loss of precision and append it, or
+ a C++ \tt float to \c qfloat16 if there's no loss of precision and append it, or
instead append the \tt float.
\code
@@ -1144,7 +1144,7 @@ void QCborStreamWriter::append(double d)
QCborStreamReader::readByteArray() nor QCborValue support reading CBOR
streams with byte arrays larger than 2 GB.
- \sa append(QByteArray), appendTextString(),
+ \sa append(), appendTextString(),
QCborStreamReader::isByteArray(), QCborStreamReader::readByteArray()
*/
void QCborStreamWriter::appendByteString(const char *data, qsizetype len)
diff --git a/src/corelib/serialization/qcborvalue.cpp b/src/corelib/serialization/qcborvalue.cpp
index 4108418550..c1d78ef738 100644
--- a/src/corelib/serialization/qcborvalue.cpp
+++ b/src/corelib/serialization/qcborvalue.cpp
@@ -2197,6 +2197,16 @@ QCborValue QCborValue::fromCbor(const QByteArray &ba, QCborParserError *error)
}
/*!
+ \fn QCborValue QCborValue::fromCbor(const char *data, qsizetype len, QCborParserError *error)
+ \fn QCborValue QCborValue::fromCbor(const quint8 *data, qsizetype len, QCborParserError *error)
+ \overload
+
+ Converts \a len bytes of \a data to a QByteArray and then calls the
+ overload of this function that accepts a QByteArray, also passing \a error,
+ if provided.
+*/
+
+/*!
Encodes this QCborValue object to its CBOR representation, using the
options specified in \a opt, and return the byte array containing that
representation.
@@ -2213,7 +2223,7 @@ QCborValue QCborValue::fromCbor(const QByteArray &ba, QCborParserError *error)
infinities and NaN values.
Similarly, if \l{EncodingOption}{UseFloat16} is specified, this function
- will try to use half-precision (\l qfloat16) floating point if the
+ will try to use half-precision (\c qfloat16) floating point if the
conversion to that results in no loss of precision. This is always true for
infinities and NaN.
diff --git a/src/corelib/serialization/qxmlstream_p.h b/src/corelib/serialization/qxmlstream_p.h
index 4157fbbd0e..f8b1ede943 100644
--- a/src/corelib/serialization/qxmlstream_p.h
+++ b/src/corelib/serialization/qxmlstream_p.h
@@ -1250,7 +1250,7 @@ bool QXmlStreamReaderPrivate::parse()
state_stack[tos] = 0;
return true;
} else if (act > 0) {
- if (++tos == stack_size-1)
+ if (++tos >= stack_size-1)
reallocateStack();
Value &val = sym_stack[tos];
diff --git a/src/corelib/thread/qmutex.cpp b/src/corelib/thread/qmutex.cpp
index 63fb6f3efb..3881ac017e 100644
--- a/src/corelib/thread/qmutex.cpp
+++ b/src/corelib/thread/qmutex.cpp
@@ -42,8 +42,6 @@
#include "qplatformdefs.h"
#include "qmutex.h"
#include <qdebug.h>
-
-#ifndef QT_NO_THREAD
#include "qatomic.h"
#include "qelapsedtimer.h"
#include "qthread.h"
@@ -739,5 +737,3 @@ QT_END_NAMESPACE
#else
# include "qmutex_unix.cpp"
#endif
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qmutex.h b/src/corelib/thread/qmutex.h
index 7cda53db5f..837355a602 100644
--- a/src/corelib/thread/qmutex.h
+++ b/src/corelib/thread/qmutex.h
@@ -54,7 +54,7 @@ class tst_QMutex;
QT_BEGIN_NAMESPACE
-#if !defined(QT_NO_THREAD) || defined(Q_CLANG_QDOC)
+#if QT_CONFIG(thread) || defined(Q_CLANG_QDOC)
#ifdef Q_OS_LINUX
# define QT_MUTEX_LOCK_NOEXCEPT Q_DECL_NOTHROW
@@ -250,7 +250,7 @@ private:
quintptr val;
};
-#else // QT_NO_THREAD && !Q_CLANG_QDOC
+#else // !QT_CONFIG(thread) && !Q_CLANG_QDOC
class Q_CORE_EXPORT QMutex
{
@@ -301,7 +301,7 @@ private:
typedef QMutex QBasicMutex;
-#endif // QT_NO_THREAD && !Q_CLANG_QDOC
+#endif // !QT_CONFIG(thread) && !Q_CLANG_QDOC
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qmutex_linux.cpp b/src/corelib/thread/qmutex_linux.cpp
index d3d97ea108..507e72cb76 100644
--- a/src/corelib/thread/qmutex_linux.cpp
+++ b/src/corelib/thread/qmutex_linux.cpp
@@ -40,8 +40,6 @@
#include "qplatformdefs.h"
#include "qmutex.h"
-
-#ifndef QT_NO_THREAD
#include "qatomic.h"
#include "qmutex_p.h"
#include "qfutex_p.h"
@@ -54,7 +52,6 @@
# define FUTEX_PRIVATE_FLAG 0
#endif
-
QT_BEGIN_NAMESPACE
using namespace QtFutex;
@@ -183,5 +180,3 @@ void QBasicMutex::unlockInternal() Q_DECL_NOTHROW
}
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qmutex_mac.cpp b/src/corelib/thread/qmutex_mac.cpp
index 67498611c9..9a8d9bc750 100644
--- a/src/corelib/thread/qmutex_mac.cpp
+++ b/src/corelib/thread/qmutex_mac.cpp
@@ -39,9 +39,6 @@
#include "qplatformdefs.h"
#include "qmutex.h"
-
-#if !defined(QT_NO_THREAD)
-
#include "qmutex_p.h"
#include <mach/mach.h>
@@ -89,5 +86,3 @@ void QMutexPrivate::wakeUp() Q_DECL_NOTHROW
QT_END_NAMESPACE
-
-#endif //QT_NO_THREAD
diff --git a/src/corelib/thread/qmutex_unix.cpp b/src/corelib/thread/qmutex_unix.cpp
index 91f02ba3ec..3ee24a292c 100644
--- a/src/corelib/thread/qmutex_unix.cpp
+++ b/src/corelib/thread/qmutex_unix.cpp
@@ -42,8 +42,6 @@
#include "qmutex.h"
#include "qstring.h"
#include "qelapsedtimer.h"
-
-#ifndef QT_NO_THREAD
#include "qatomic.h"
#include "qmutex_p.h"
#include <errno.h>
@@ -159,5 +157,3 @@ void QMutexPrivate::wakeUp() Q_DECL_NOTHROW
#endif
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qmutexpool.cpp b/src/corelib/thread/qmutexpool.cpp
index 90b6989467..3f9e8da942 100644
--- a/src/corelib/thread/qmutexpool.cpp
+++ b/src/corelib/thread/qmutexpool.cpp
@@ -40,8 +40,6 @@
#include "qatomic.h"
#include "qmutexpool_p.h"
-#ifndef QT_NO_THREAD
-
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC_WITH_ARGS(QMutexPool, globalMutexPool, (QMutex::Recursive))
@@ -148,5 +146,3 @@ QMutex *QMutexPool::globalInstanceGet(const void *address)
}
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qmutexpool_p.h b/src/corelib/thread/qmutexpool_p.h
index 58d853b0e3..89d006ac29 100644
--- a/src/corelib/thread/qmutexpool_p.h
+++ b/src/corelib/thread/qmutexpool_p.h
@@ -56,7 +56,7 @@
#include "QtCore/qmutex.h"
#include "QtCore/qvarlengtharray.h"
-#ifndef QT_NO_THREAD
+QT_REQUIRE_CONFIG(thread);
QT_BEGIN_NAMESPACE
@@ -85,6 +85,4 @@ private:
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
-
#endif // QMUTEXPOOL_P_H
diff --git a/src/corelib/thread/qreadwritelock.cpp b/src/corelib/thread/qreadwritelock.cpp
index 42befc4b80..21835ff592 100644
--- a/src/corelib/thread/qreadwritelock.cpp
+++ b/src/corelib/thread/qreadwritelock.cpp
@@ -42,7 +42,6 @@
#include "qplatformdefs.h"
#include "qreadwritelock.h"
-#ifndef QT_NO_THREAD
#include "qmutex.h"
#include "qthread.h"
#include "qwaitcondition.h"
@@ -781,5 +780,3 @@ void QReadWriteLockPrivate::release()
*/
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qreadwritelock.h b/src/corelib/thread/qreadwritelock.h
index ecdb98f2f5..65fa76fd6d 100644
--- a/src/corelib/thread/qreadwritelock.h
+++ b/src/corelib/thread/qreadwritelock.h
@@ -45,7 +45,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
class QReadWriteLockPrivate;
@@ -174,7 +174,7 @@ inline QWriteLocker::QWriteLocker(QReadWriteLock *areadWriteLock)
#pragma warning( pop )
#endif
-#else // QT_NO_THREAD
+#else // QT_CONFIG(thread)
class Q_CORE_EXPORT QReadWriteLock
{
@@ -225,7 +225,7 @@ private:
Q_DISABLE_COPY(QWriteLocker)
};
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qreadwritelock_p.h b/src/corelib/thread/qreadwritelock_p.h
index a01d010043..31da2401c0 100644
--- a/src/corelib/thread/qreadwritelock_p.h
+++ b/src/corelib/thread/qreadwritelock_p.h
@@ -56,7 +56,7 @@
#include <QtCore/qhash.h>
#include <QtCore/qwaitcondition.h>
-#ifndef QT_NO_THREAD
+QT_REQUIRE_CONFIG(thread);
QT_BEGIN_NAMESPACE
@@ -99,6 +99,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
-
#endif // QREADWRITELOCK_P_H
diff --git a/src/corelib/thread/qsemaphore.cpp b/src/corelib/thread/qsemaphore.cpp
index 82d439a728..bb578ff617 100644
--- a/src/corelib/thread/qsemaphore.cpp
+++ b/src/corelib/thread/qsemaphore.cpp
@@ -39,8 +39,6 @@
****************************************************************************/
#include "qsemaphore.h"
-
-#ifndef QT_NO_THREAD
#include "qmutex.h"
#include "qfutex_p.h"
#include "qwaitcondition.h"
@@ -646,5 +644,3 @@ bool QSemaphore::tryAcquire(int n, int timeout)
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qsemaphore.h b/src/corelib/thread/qsemaphore.h
index 2639085e99..b830ff1bfd 100644
--- a/src/corelib/thread/qsemaphore.h
+++ b/src/corelib/thread/qsemaphore.h
@@ -42,10 +42,9 @@
#include <QtCore/qglobal.h>
-QT_BEGIN_NAMESPACE
-
+QT_REQUIRE_CONFIG(thread);
-#ifndef QT_NO_THREAD
+QT_BEGIN_NAMESPACE
class QSemaphorePrivate;
@@ -113,8 +112,6 @@ private:
int m_n;
};
-#endif // QT_NO_THREAD
-
QT_END_NAMESPACE
#endif // QSEMAPHORE_H
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp
index 472c6f6795..5df0508829 100644
--- a/src/corelib/thread/qthread.cpp
+++ b/src/corelib/thread/qthread.cpp
@@ -103,7 +103,7 @@ QThreadData::~QThreadData()
void QThreadData::ref()
{
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
(void) _ref.ref();
Q_ASSERT(_ref.load() != 0);
#endif
@@ -111,7 +111,7 @@ void QThreadData::ref()
void QThreadData::deref()
{
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
if (!_ref.deref())
delete this;
#endif
@@ -134,7 +134,7 @@ QAdoptedThread::QAdoptedThread(QThreadData *data)
{
// thread should be running and not finished for the lifetime
// of the application (even if QCoreApplication goes away)
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
d_func()->running = true;
d_func()->finished = false;
init();
@@ -148,7 +148,7 @@ QAdoptedThread::~QAdoptedThread()
// fprintf(stderr, "~QAdoptedThread = %p\n", this);
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
void QAdoptedThread::run()
{
// this function should never be called
@@ -756,7 +756,7 @@ int QThread::loopLevel() const
return d->data->eventLoops.size();
}
-#else // QT_NO_THREAD
+#else // QT_CONFIG(thread)
QThread::QThread(QObject *parent)
: QObject(*(new QThreadPrivate), parent)
@@ -765,11 +765,80 @@ QThread::QThread(QObject *parent)
d->data->thread = this;
}
+QThread::~QThread()
+{
+
+}
+
+void QThread::run()
+{
+
+}
+
+int QThread::exec()
+{
+ return 0;
+}
+
+void QThread::start(Priority priority)
+{
+ Q_D(QThread);
+ Q_UNUSED(priority);
+ d->running = true;
+}
+
+void QThread::terminate()
+{
+
+}
+
+void QThread::quit()
+{
+
+}
+
+bool QThread::wait(unsigned long time)
+{
+ Q_UNUSED(time);
+ return false;
+}
+
+bool QThread::event(QEvent* event)
+{
+ return QObject::event(event);
+}
+
+Qt::HANDLE QThread::currentThreadId() Q_DECL_NOTHROW
+{
+ return Qt::HANDLE(currentThread());
+}
+
QThread *QThread::currentThread()
{
return QThreadData::current()->thread;
}
+int QThread::idealThreadCount() Q_DECL_NOTHROW
+{
+ return 1;
+}
+
+void QThread::yieldCurrentThread()
+{
+
+}
+
+bool QThread::isFinished() const
+{
+ return false;
+}
+
+bool QThread::isRunning() const
+{
+ Q_D(const QThread);
+ return d->running;
+}
+
// No threads: so we can just use static variables
static QThreadData *data = 0;
@@ -778,7 +847,9 @@ QThreadData *QThreadData::current(bool createIfNecessary)
if (!data && createIfNecessary) {
data = new QThreadData;
data->thread = new QAdoptedThread(data);
+ data->threadId.store(Qt::HANDLE(data->thread));
data->deref();
+ data->isAdopted = true;
if (!QCoreApplicationPrivate::theMainThread)
QCoreApplicationPrivate::theMainThread = data->thread.load();
}
@@ -811,7 +882,7 @@ QThreadPrivate::~QThreadPrivate()
delete data;
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
/*!
\since 5.0
@@ -848,7 +919,7 @@ void QThread::setEventDispatcher(QAbstractEventDispatcher *eventDispatcher)
}
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
/*!
\reimp
@@ -1013,7 +1084,7 @@ QDaemonThread::~QDaemonThread()
{
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qthread.h b/src/corelib/thread/qthread.h
index 83c3329cc0..b6c5bf47d0 100644
--- a/src/corelib/thread/qthread.h
+++ b/src/corelib/thread/qthread.h
@@ -66,7 +66,6 @@ class QThreadData;
class QThreadPrivate;
class QAbstractEventDispatcher;
-#ifndef QT_NO_THREAD
class Q_CORE_EXPORT QThread : public QObject
{
Q_OBJECT
@@ -239,36 +238,6 @@ QThread *QThread::create(Function &&f)
#endif // QT_CONFIG(cxx11_future)
-#else // QT_NO_THREAD
-
-class Q_CORE_EXPORT QThread : public QObject
-{
-public:
- static Qt::HANDLE currentThreadId() { return Qt::HANDLE(currentThread()); }
- static QThread* currentThread();
-
- static void sleep(unsigned long);
- static void msleep(unsigned long);
- static void usleep(unsigned long);
-
- QAbstractEventDispatcher *eventDispatcher() const;
- void setEventDispatcher(QAbstractEventDispatcher *eventDispatcher);
-
-protected:
- QThread(QThreadPrivate &dd, QObject *parent = nullptr);
-
-private:
- explicit QThread(QObject *parent = nullptr);
- static QThread *instance;
-
- friend class QCoreApplication;
- friend class QThreadData;
- friend class QAdoptedThread;
- Q_DECLARE_PRIVATE(QThread)
-};
-
-#endif // QT_NO_THREAD
-
QT_END_NAMESPACE
#endif // QTHREAD_H
diff --git a/src/corelib/thread/qthread_p.h b/src/corelib/thread/qthread_p.h
index 93f245ff6e..64e3f33191 100644
--- a/src/corelib/thread/qthread_p.h
+++ b/src/corelib/thread/qthread_p.h
@@ -57,7 +57,9 @@
#include "QtCore/qthread.h"
#include "QtCore/qmutex.h"
#include "QtCore/qstack.h"
+#if QT_CONFIG(thread)
#include "QtCore/qwaitcondition.h"
+#endif
#include "QtCore/qmap.h"
#include "QtCore/qcoreapplication.h"
#include "private/qobject_p.h"
@@ -141,7 +143,7 @@ private:
using QVector<QPostEvent>::insert;
};
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
class Q_CORE_EXPORT QDaemonThread : public QThread
{
@@ -210,7 +212,7 @@ public:
}
};
-#else // QT_NO_THREAD
+#else // QT_CONFIG(thread)
class QThreadPrivate : public QObjectPrivate
{
@@ -220,6 +222,7 @@ public:
mutable QMutex mutex;
QThreadData *data;
+ bool running = false;
static void setCurrentThread(QThread*) {}
static QThread *threadForId(int) { return QThread::currentThread(); }
@@ -231,7 +234,7 @@ public:
Q_DECLARE_PUBLIC(QThread)
};
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
class QThreadData
{
@@ -327,7 +330,7 @@ public:
void init();
private:
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
void run() override;
#endif
};
diff --git a/src/corelib/thread/qthread_unix.cpp b/src/corelib/thread/qthread_unix.cpp
index 0b3c7ddf10..329caa02ba 100644
--- a/src/corelib/thread/qthread_unix.cpp
+++ b/src/corelib/thread/qthread_unix.cpp
@@ -103,7 +103,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
Q_STATIC_ASSERT(sizeof(pthread_t) <= sizeof(Qt::HANDLE));
@@ -270,7 +270,7 @@ extern "C" {
typedef void*(*QtThreadCallback)(void*);
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QAbstractEventDispatcher *QThreadPrivate::createEventDispatcher(QThreadData *data)
{
@@ -295,7 +295,7 @@ QAbstractEventDispatcher *QThreadPrivate::createEventDispatcher(QThreadData *dat
#endif
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
#if (defined(Q_OS_LINUX) || defined(Q_OS_MAC) || defined(Q_OS_QNX))
static void setCurrentThreadName(const char *name)
@@ -513,7 +513,7 @@ void QThread::yieldCurrentThread()
sched_yield();
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
static timespec makeTimespec(time_t secs, long nsecs)
{
@@ -538,7 +538,7 @@ void QThread::usleep(unsigned long usecs)
qt_nanosleep(makeTimespec(usecs / 1000 / 1000, usecs % (1000*1000) * 1000));
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
#ifdef QT_HAS_THREAD_PRIORITY_SCHEDULING
#if defined(Q_OS_QNX)
@@ -839,7 +839,7 @@ void QThreadPrivate::setPriority(QThread::Priority threadPriority)
#endif
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qthread_win.cpp b/src/corelib/thread/qthread_win.cpp
index 83bcb7d751..57ae671897 100644
--- a/src/corelib/thread/qthread_win.cpp
+++ b/src/corelib/thread/qthread_win.cpp
@@ -63,7 +63,7 @@
QT_BEGIN_NAMESPACE
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
#ifdef Q_OS_WINRT
inline DWORD qWinRTTlsAlloc() {
@@ -330,7 +330,7 @@ void qt_set_thread_name(HANDLE threadId, LPCSTR threadName)
** QThreadPrivate
*************************************************************************/
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QAbstractEventDispatcher *QThreadPrivate::createEventDispatcher(QThreadData *data)
{
@@ -342,7 +342,7 @@ QAbstractEventDispatcher *QThreadPrivate::createEventDispatcher(QThreadData *dat
#endif
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
unsigned int __stdcall QT_ENSURE_STACK_ALIGNED_FOR_SSE QThreadPrivate::start(void *arg) Q_DECL_NOEXCEPT
{
@@ -444,7 +444,7 @@ void QThread::yieldCurrentThread()
#endif
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
void QThread::sleep(unsigned long secs)
{
@@ -461,7 +461,7 @@ void QThread::usleep(unsigned long usecs)
::Sleep((usecs / 1000) + 1);
}
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
void QThread::start(Priority priority)
{
@@ -699,6 +699,6 @@ void QThreadPrivate::setPriority(QThread::Priority threadPriority)
}
}
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qthreadpool.cpp b/src/corelib/thread/qthreadpool.cpp
index 157cbeaf4d..ea2c611082 100644
--- a/src/corelib/thread/qthreadpool.cpp
+++ b/src/corelib/thread/qthreadpool.cpp
@@ -43,8 +43,6 @@
#include <algorithm>
-#ifndef QT_NO_THREAD
-
QT_BEGIN_NAMESPACE
Q_GLOBAL_STATIC(QThreadPool, theInstance)
@@ -730,5 +728,3 @@ void QThreadPool::cancel(QRunnable *runnable)
QT_END_NAMESPACE
#include "moc_qthreadpool.cpp"
-
-#endif
diff --git a/src/corelib/thread/qthreadpool.h b/src/corelib/thread/qthreadpool.h
index 606e192768..cd27b7c08a 100644
--- a/src/corelib/thread/qthreadpool.h
+++ b/src/corelib/thread/qthreadpool.h
@@ -45,7 +45,7 @@
#include <QtCore/qthread.h>
#include <QtCore/qrunnable.h>
-#ifndef QT_NO_THREAD
+QT_REQUIRE_CONFIG(thread);
QT_BEGIN_NAMESPACE
@@ -97,6 +97,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
-
#endif
diff --git a/src/corelib/thread/qthreadpool_p.h b/src/corelib/thread/qthreadpool_p.h
index d03ba9d77f..0e6a00d243 100644
--- a/src/corelib/thread/qthreadpool_p.h
+++ b/src/corelib/thread/qthreadpool_p.h
@@ -59,7 +59,7 @@
#include "QtCore/qqueue.h"
#include "private/qobject_p.h"
-#ifndef QT_NO_THREAD
+QT_REQUIRE_CONFIG(thread);
QT_BEGIN_NAMESPACE
@@ -184,5 +184,4 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
#endif
diff --git a/src/corelib/thread/qthreadstorage.cpp b/src/corelib/thread/qthreadstorage.cpp
index c0b523a431..8b82118a5c 100644
--- a/src/corelib/thread/qthreadstorage.cpp
+++ b/src/corelib/thread/qthreadstorage.cpp
@@ -39,7 +39,6 @@
#include "qthreadstorage.h"
-#ifndef QT_NO_THREAD
#include "qthread.h"
#include "qthread_p.h"
#include "qmutex.h"
@@ -323,6 +322,4 @@ void QThreadStorageData::finish(void **p)
\sa localData(), hasLocalData()
*/
-#endif // QT_NO_THREAD
-
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qthreadstorage.h b/src/corelib/thread/qthreadstorage.h
index fed41a0760..d556e33c57 100644
--- a/src/corelib/thread/qthreadstorage.h
+++ b/src/corelib/thread/qthreadstorage.h
@@ -42,7 +42,7 @@
#include <QtCore/qglobal.h>
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
QT_BEGIN_NAMESPACE
@@ -152,6 +152,81 @@ public:
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
+#else // !QT_CONFIG(thread)
+
+#include <qscopedpointer.h>
+
+#include <type_traits>
+
+template <typename T, typename U>
+inline bool qThreadStorage_hasLocalData(const QScopedPointer<T, U> &data)
+{
+ return !!data;
+}
+
+template <typename T, typename U>
+inline bool qThreadStorage_hasLocalData(const QScopedPointer<T*, U> &data)
+{
+ return !!data ? *data != nullptr : false;
+}
+
+template <typename T>
+inline void qThreadStorage_deleteLocalData(T *t)
+{
+ delete t;
+}
+
+template <typename T>
+inline void qThreadStorage_deleteLocalData(T **t)
+{
+ delete *t;
+ delete t;
+}
+
+template <class T>
+class QThreadStorage
+{
+private:
+ struct ScopedPointerThreadStorageDeleter
+ {
+ static inline void cleanup(T *t)
+ {
+ if (t == nullptr)
+ return;
+ qThreadStorage_deleteLocalData(t);
+ }
+ };
+ QScopedPointer<T, ScopedPointerThreadStorageDeleter> data;
+
+public:
+ QThreadStorage() = default;
+ ~QThreadStorage() = default;
+ QThreadStorage(const QThreadStorage &rhs) = delete;
+ QThreadStorage &operator=(const QThreadStorage &rhs) = delete;
+
+ inline bool hasLocalData() const
+ {
+ return qThreadStorage_hasLocalData(data);
+ }
+
+ inline T& localData()
+ {
+ if (!data)
+ data.reset(new T());
+ return *data;
+ }
+
+ inline T localData() const
+ {
+ return !!data ? *data : T();
+ }
+
+ inline void setLocalData(T t)
+ {
+ data.reset(new T(t));
+ }
+};
+
+#endif // QT_CONFIG(thread)
#endif // QTHREADSTORAGE_H
diff --git a/src/corelib/thread/qwaitcondition.h b/src/corelib/thread/qwaitcondition.h
index e42efbdfca..11520e4cfe 100644
--- a/src/corelib/thread/qwaitcondition.h
+++ b/src/corelib/thread/qwaitcondition.h
@@ -46,8 +46,7 @@
QT_BEGIN_NAMESPACE
-
-#ifndef QT_NO_THREAD
+#if QT_CONFIG(thread)
class QDeadlineTimer;
class QWaitConditionPrivate;
@@ -98,7 +97,7 @@ public:
void wakeAll() {}
};
-#endif // QT_NO_THREAD
+#endif // QT_CONFIG(thread)
QT_END_NAMESPACE
diff --git a/src/corelib/thread/qwaitcondition_unix.cpp b/src/corelib/thread/qwaitcondition_unix.cpp
index 9706be1504..c93328b4bc 100644
--- a/src/corelib/thread/qwaitcondition_unix.cpp
+++ b/src/corelib/thread/qwaitcondition_unix.cpp
@@ -56,8 +56,6 @@
#include <sys/time.h>
#include <time.h>
-#ifndef QT_NO_THREAD
-
QT_BEGIN_NAMESPACE
#ifdef Q_OS_ANDROID
@@ -264,5 +262,3 @@ bool QWaitCondition::wait(QReadWriteLock *readWriteLock, QDeadlineTimer deadline
}
QT_END_NAMESPACE
-
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/qwaitcondition_win.cpp b/src/corelib/thread/qwaitcondition_win.cpp
index 61e4c2bcb1..534456a935 100644
--- a/src/corelib/thread/qwaitcondition_win.cpp
+++ b/src/corelib/thread/qwaitcondition_win.cpp
@@ -45,8 +45,6 @@
#include "qlist.h"
#include "qalgorithms.h"
-#ifndef QT_NO_THREAD
-
#define Q_MUTEX_T void*
#include <private/qmutex_p.h>
#include <private/qreadwritelock_p.h>
@@ -247,4 +245,3 @@ void QWaitCondition::wakeAll()
}
QT_END_NAMESPACE
-#endif // QT_NO_THREAD
diff --git a/src/corelib/thread/thread.pri b/src/corelib/thread/thread.pri
index dae72564b4..22f0de0523 100644
--- a/src/corelib/thread/thread.pri
+++ b/src/corelib/thread/thread.pri
@@ -1,38 +1,66 @@
# Qt core thread module
-# public headers
-HEADERS += thread/qmutex.h \
- thread/qrunnable.h \
- thread/qreadwritelock.h \
- thread/qsemaphore.h \
- thread/qthread.h \
- thread/qthreadpool.h \
- thread/qthreadstorage.h \
- thread/qwaitcondition.h \
- thread/qatomic.h \
- thread/qatomic_bootstrap.h \
- thread/qatomic_cxx11.h \
- thread/qbasicatomic.h \
- thread/qgenericatomic.h
+HEADERS += \
+ thread/qmutex.h \
+ thread/qreadwritelock.h \
+ thread/qrunnable.h \
+ thread/qthread.h \
+ thread/qthreadstorage.h \
+ thread/qwaitcondition.h
-# private headers
-HEADERS += thread/qmutex_p.h \
- thread/qmutexpool_p.h \
- thread/qfutex_p.h \
- thread/qorderedmutexlocker_p.h \
- thread/qreadwritelock_p.h \
- thread/qthread_p.h \
- thread/qthreadpool_p.h
+SOURCES += \
+ thread/qrunnable.cpp \
+ thread/qthread.cpp
-SOURCES += thread/qatomic.cpp \
- thread/qmutex.cpp \
- thread/qreadwritelock.cpp \
- thread/qrunnable.cpp \
- thread/qmutexpool.cpp \
- thread/qsemaphore.cpp \
- thread/qthread.cpp \
- thread/qthreadpool.cpp \
- thread/qthreadstorage.cpp
+win32 {
+ HEADERS += thread/qatomic_msvc.h
+
+ SOURCES += thread/qthread_win.cpp
+} else {
+ SOURCES += thread/qthread_unix.cpp
+}
+
+qtConfig(thread) {
+ HEADERS += \
+ thread/qatomic.h \
+ thread/qatomic_bootstrap.h \
+ thread/qatomic_cxx11.h \
+ thread/qbasicatomic.h \
+ thread/qfutex_p.h \
+ thread/qgenericatomic.h \
+ thread/qmutexpool_p.h \
+ thread/qmutex_p.h \
+ thread/qorderedmutexlocker_p.h \
+ thread/qreadwritelock_p.h \
+ thread/qsemaphore.h \
+ thread/qthreadpool.h \
+ thread/qthreadpool_p.h \
+ thread/qthread_p.h
+
+ SOURCES += \
+ thread/qatomic.cpp \
+ thread/qmutex.cpp \
+ thread/qmutexpool.cpp \
+ thread/qreadwritelock.cpp \
+ thread/qsemaphore.cpp \
+ thread/qthreadpool.cpp \
+ thread/qthreadstorage.cpp
+
+ win32 {
+ SOURCES += \
+ thread/qmutex_win.cpp \
+ thread/qwaitcondition_win.cpp
+ } else {
+ darwin {
+ SOURCES += thread/qmutex_mac.cpp
+ } else: linux {
+ SOURCES += thread/qmutex_linux.cpp
+ } else {
+ SOURCES += thread/qmutex_unix.cpp
+ }
+ SOURCES += thread/qwaitcondition_unix.cpp
+ }
+}
qtConfig(future) {
HEADERS += \
@@ -52,24 +80,4 @@ qtConfig(future) {
thread/qresultstore.cpp
}
-win32 {
- HEADERS += thread/qatomic_msvc.h
-
- SOURCES += \
- thread/qmutex_win.cpp \
- thread/qthread_win.cpp \
- thread/qwaitcondition_win.cpp
-} else {
- darwin {
- SOURCES += thread/qmutex_mac.cpp
- } else: linux {
- SOURCES += thread/qmutex_linux.cpp
- } else {
- SOURCES += thread/qmutex_unix.cpp
- }
- SOURCES += \
- thread/qthread_unix.cpp \
- thread/qwaitcondition_unix.cpp
-}
-
qtConfig(std-atomic64): QMAKE_USE += libatomic
diff --git a/src/corelib/tools/qalgorithms.h b/src/corelib/tools/qalgorithms.h
index b658d8afcf..0146e22fa3 100644
--- a/src/corelib/tools/qalgorithms.h
+++ b/src/corelib/tools/qalgorithms.h
@@ -651,6 +651,7 @@ Q_ALWAYS_INLINE uint qt_builtin_clzs(quint16 v) Q_DECL_NOTHROW
// So it's an acceptable compromise.
#if defined(__AVX__) || defined(__SSE4_2__) || defined(__POPCNT__)
#define QALGORITHMS_USE_BUILTIN_POPCOUNT
+#define QALGORITHMS_USE_BUILTIN_POPCOUNTLL
Q_ALWAYS_INLINE uint qt_builtin_popcount(quint32 v) Q_DECL_NOTHROW
{
return __popcnt(v);
@@ -663,13 +664,15 @@ Q_ALWAYS_INLINE uint qt_builtin_popcount(quint16 v) Q_DECL_NOTHROW
{
return __popcnt16(v);
}
-#if Q_PROCESSOR_WORDSIZE == 8
-#define QALGORITHMS_USE_BUILTIN_POPCOUNTLL
Q_ALWAYS_INLINE uint qt_builtin_popcountll(quint64 v) Q_DECL_NOTHROW
{
+#if Q_PROCESSOR_WORDSIZE == 8
return __popcnt64(v);
-}
+#else
+ return __popcnt(quint32(v)) + __popcnt(quint32(v >> 32));
#endif // MSVC 64bit
+}
+
#endif // __AVX__ || __SSE4_2__ || __POPCNT__
#endif // MSVC
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 288c7963d9..58755c94bb 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -2339,7 +2339,7 @@ static bool qt_localtime(qint64 msecsSinceEpoch, QDate *localDate, QTime *localT
// localtime_r() does not have this requirement, so make an explicit call.
// The explicit call should also request the timezone info be re-parsed.
qt_tzset();
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
+#if QT_CONFIG(thread) && defined(_POSIX_THREAD_SAFE_FUNCTIONS)
// Use the reentrant version of localtime() where available
// as is thread-safe and doesn't use a shared static data area
tm *res = 0;
diff --git a/src/corelib/tools/qlocale.cpp b/src/corelib/tools/qlocale.cpp
index 24fd597e52..b285e58779 100644
--- a/src/corelib/tools/qlocale.cpp
+++ b/src/corelib/tools/qlocale.cpp
@@ -83,7 +83,6 @@ public:
};
Q_GLOBAL_STATIC(QSystemLocaleSingleton, QSystemLocale_globalSystemLocale)
-static QLocaleData *system_data = 0;
static QLocaleData globalLocaleData;
#endif
@@ -629,8 +628,7 @@ QSystemLocale::QSystemLocale()
{
_systemLocale = this;
- if (system_data)
- system_data->m_language_id = 0;
+ globalLocaleData.m_language_id = 0;
}
/*!
@@ -647,8 +645,7 @@ QSystemLocale::~QSystemLocale()
if (_systemLocale == this) {
_systemLocale = 0;
- if (system_data)
- system_data->m_language_id = 0;
+ globalLocaleData.m_language_id = 0;
}
}
@@ -663,47 +660,45 @@ void QLocalePrivate::updateSystemPrivate()
{
// this function is NOT thread-safe!
const QSystemLocale *sys_locale = systemLocale();
- if (!system_data)
- system_data = &globalLocaleData;
// tell the object that the system locale has changed.
sys_locale->query(QSystemLocale::LocaleChanged, QVariant());
- *system_data = *sys_locale->fallbackUiLocale().d->m_data;
+ globalLocaleData = *sys_locale->fallbackUiLocale().d->m_data;
QVariant res = sys_locale->query(QSystemLocale::LanguageId, QVariant());
if (!res.isNull()) {
- system_data->m_language_id = res.toInt();
- system_data->m_script_id = QLocale::AnyScript; // default for compatibility
+ globalLocaleData.m_language_id = res.toInt();
+ globalLocaleData.m_script_id = QLocale::AnyScript; // default for compatibility
}
res = sys_locale->query(QSystemLocale::CountryId, QVariant());
if (!res.isNull()) {
- system_data->m_country_id = res.toInt();
- system_data->m_script_id = QLocale::AnyScript; // default for compatibility
+ globalLocaleData.m_country_id = res.toInt();
+ globalLocaleData.m_script_id = QLocale::AnyScript; // default for compatibility
}
res = sys_locale->query(QSystemLocale::ScriptId, QVariant());
if (!res.isNull())
- system_data->m_script_id = res.toInt();
+ globalLocaleData.m_script_id = res.toInt();
res = sys_locale->query(QSystemLocale::DecimalPoint, QVariant());
if (!res.isNull())
- system_data->m_decimal = res.toString().at(0).unicode();
+ globalLocaleData.m_decimal = res.toString().at(0).unicode();
res = sys_locale->query(QSystemLocale::GroupSeparator, QVariant());
if (!res.isNull())
- system_data->m_group = res.toString().at(0).unicode();
+ globalLocaleData.m_group = res.toString().at(0).unicode();
res = sys_locale->query(QSystemLocale::ZeroDigit, QVariant());
if (!res.isNull())
- system_data->m_zero = res.toString().at(0).unicode();
+ globalLocaleData.m_zero = res.toString().at(0).unicode();
res = sys_locale->query(QSystemLocale::NegativeSign, QVariant());
if (!res.isNull())
- system_data->m_minus = res.toString().at(0).unicode();
+ globalLocaleData.m_minus = res.toString().at(0).unicode();
res = sys_locale->query(QSystemLocale::PositiveSign, QVariant());
if (!res.isNull())
- system_data->m_plus = res.toString().at(0).unicode();
+ globalLocaleData.m_plus = res.toString().at(0).unicode();
}
#endif // !QT_NO_SYSTEMLOCALE
@@ -719,12 +714,12 @@ static const QLocaleData *systemData()
{
static QBasicMutex systemDataMutex;
systemDataMutex.lock();
- if (!system_data || system_data->m_language_id == 0)
+ if (globalLocaleData.m_language_id == 0)
QLocalePrivate::updateSystemPrivate();
systemDataMutex.unlock();
}
- return system_data;
+ return &globalLocaleData;
#else
return locale_data;
#endif
diff --git a/src/corelib/tools/qlocale.h b/src/corelib/tools/qlocale.h
index e3d6c84c50..8e6c5c503b 100644
--- a/src/corelib/tools/qlocale.h
+++ b/src/corelib/tools/qlocale.h
@@ -437,19 +437,19 @@ public:
Osage = 358,
Tangut = 359,
- Norwegian = NorwegianBokmal,
- Moldavian = Romanian,
- SerboCroatian = Serbian,
- Tagalog = Filipino,
- Twi = Akan,
Afan = Oromo,
- Byelorussian = Belarusian,
Bhutani = Dzongkha,
+ Byelorussian = Belarusian,
Cambodian = Khmer,
- Kurundi = Rundi,
- RhaetoRomance = Romansh,
Chewa = Nyanja,
Frisian = WesternFrisian,
+ Kurundi = Rundi,
+ Moldavian = Romanian,
+ Norwegian = NorwegianBokmal,
+ RhaetoRomance = Romansh,
+ SerboCroatian = Serbian,
+ Tagalog = Filipino,
+ Twi = Akan,
Uigur = Uighur,
LastLanguage = Tangut
@@ -868,15 +868,15 @@ public:
World = 260,
Europe = 261,
- Tokelau = TokelauCountry,
- Tuvalu = TuvaluCountry,
DemocraticRepublicOfCongo = CongoKinshasa,
- PeoplesRepublicOfCongo = CongoBrazzaville,
DemocraticRepublicOfKorea = NorthKorea,
+ LatinAmericaAndTheCaribbean = LatinAmerica,
+ PeoplesRepublicOfCongo = CongoBrazzaville,
RepublicOfKorea = SouthKorea,
RussianFederation = Russia,
SyrianArabRepublic = Syria,
- LatinAmericaAndTheCaribbean = LatinAmerica,
+ Tokelau = TokelauCountry,
+ Tuvalu = TuvaluCountry,
LastCountry = Europe
};
diff --git a/src/corelib/tools/qlocale.qdoc b/src/corelib/tools/qlocale.qdoc
index bbb13bd165..5c0a9b63e5 100644
--- a/src/corelib/tools/qlocale.qdoc
+++ b/src/corelib/tools/qlocale.qdoc
@@ -568,6 +568,7 @@
\value Estonia
\value Ethiopia
\value EuropeanUnion Since Qt 5.7
+ \value Europe Since Qt 5.12
\value FalklandIslands
\value FaroeIslands
\value Fiji
@@ -619,6 +620,8 @@
\value Kuwait
\value Kyrgyzstan
\value Laos
+ \value LatinAmerica
+ \value LatinAmericaAndTheCaribbean Obsolete, please use LatinAmerica
\value Latvia
\value Lebanon
\value Lesotho
@@ -742,6 +745,7 @@
\value UnitedStatesVirginIslands
\value WallisAndFutunaIslands
\value WesternSahara
+ \value World Since Qt 5.12
\value Yemen
\value Zambia
\value Zimbabwe
@@ -749,7 +753,6 @@
\value Serbia
\value SaintBarthelemy
\value SaintMartin
- \value LatinAmericaAndTheCaribbean
\value AscensionIsland
\value AlandIslands
\value DiegoGarcia
diff --git a/src/corelib/tools/qlocale_data_p.h b/src/corelib/tools/qlocale_data_p.h
index 723b40beda..aeeec2b085 100644
--- a/src/corelib/tools/qlocale_data_p.h
+++ b/src/corelib/tools/qlocale_data_p.h
@@ -977,7 +977,7 @@ static const quint16 locale_index[] = {
294, // Mongolian
0, // Nauru
296, // Nepali
- 298, // NorwegianBokmal
+ 298, // Norwegian Bokmal
300, // Occitan
301, // Oriya
302, // Pashto
@@ -1033,7 +1033,7 @@ static const quint16 locale_index[] = {
421, // Yoruba
0, // Zhuang
423, // Zulu
- 424, // NorwegianNynorsk
+ 424, // Norwegian Nynorsk
425, // Bosnian
427, // Divehi
428, // Manx
@@ -1122,7 +1122,7 @@ static const quint16 locale_index[] = {
0, // Kongo
0, // Kwanyama
0, // Limburgish
- 515, // LubaKatanga
+ 515, // Luba Katanga
516, // Luxembourgish
0, // Navaho
0, // Ndonga
@@ -1133,10 +1133,10 @@ static const quint16 locale_index[] = {
519, // Basaa
520, // Zarma
521, // Duala
- 522, // JolaFonyi
+ 522, // Jola Fonyi
523, // Ewondo
524, // Bafia
- 525, // MakhuwaMeetto
+ 525, // Makhuwa Meetto
526, // Mundang
527, // Kwasio
528, // Nuer
@@ -1155,26 +1155,26 @@ static const quint16 locale_index[] = {
540, // Ngiemboon
0, // Aragonese
0, // Akkadian
- 0, // AncientEgyptian
- 0, // AncientGreek
+ 0, // Ancient Egyptian
+ 0, // Ancient Greek
0, // Aramaic
0, // Balinese
0, // Bamun
- 0, // BatakToba
+ 0, // Batak Toba
0, // Buginese
0, // Buhid
0, // Carian
0, // Chakma
- 0, // ClassicalMandaic
+ 0, // Classical Mandaic
0, // Coptic
0, // Dogri
- 0, // EasternCham
- 0, // EasternKayah
+ 0, // Eastern Cham
+ 0, // Eastern Kayah
0, // Etruscan
0, // Gothic
0, // Hanunoo
0, // Ingush
- 0, // LargeFloweryMiao
+ 0, // Large Flowery Miao
0, // Lepcha
0, // Limbu
0, // Lisu
@@ -1184,15 +1184,15 @@ static const quint16 locale_index[] = {
0, // Mandingo
541, // Manipuri
0, // Meroitic
- 0, // NorthernThai
- 0, // OldIrish
- 0, // OldNorse
- 0, // OldPersian
- 0, // OldTurkish
+ 0, // Northern Thai
+ 0, // Old Irish
+ 0, // Old Norse
+ 0, // Old Persian
+ 0, // Old Turkish
0, // Pahlavi
0, // Parthian
0, // Phoenician
- 0, // PrakritLanguage
+ 0, // Prakrit Language
0, // Rejang
0, // Sabaean
0, // Samaritan
@@ -1201,16 +1201,16 @@ static const quint16 locale_index[] = {
0, // Sora
0, // Sylheti
0, // Tagbanwa
- 542, // TaiDam
- 0, // TaiNua
+ 542, // Tai Dam
+ 0, // Tai Nua
0, // Ugaritic
543, // Akoose
544, // Lakota
545, // Standard Moroccan Tamazight
546, // Mapuche
547, // Central Kurdish
- 549, // LowerSorbian
- 550, // UpperSorbian
+ 549, // Lower Sorbian
+ 550, // Upper Sorbian
551, // Kenyang
552, // Mohawk
553, // Nko
@@ -1248,7 +1248,7 @@ static const quint16 locale_index[] = {
0, // Tokelau
0, // Tok Pisin
0, // Tuvalu
- 0, // UncodedLanguages
+ 0, // Uncoded Languages
564, // Cantonese
0, // Osage
0, // Tangut
@@ -1261,7 +1261,7 @@ static const QLocaleData locale_data[] = {
{ 3, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 18,7 , 25,12 , 185,48 , 233,111 , 134,24 , 185,48 , 233,111 , 134,24 , 113,28 , 141,55 , 85,14 , 113,28 , 141,55 , 85,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 7,24 , 4,4 , 4,0 , 0,6 , 6,10 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Ethiopia
{ 3, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 35,18 , 37,5 , 8,10 , 185,48 , 233,111 , 344,24 , 185,48 , 233,111 , 134,24 , 113,28 , 141,55 , 196,14 , 113,28 , 141,55 , 196,14 , 2,2 , 2,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 0,7 , 4,4 , 4,0 , 0,6 , 16,8 , 2, 1, 7, 6, 7 }, // Oromo/Latin/Kenya
{ 4, 7, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Afar/Latin/Ethiopia
- { 5, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 80,18 , 37,5 , 8,10 , 416,59 , 475,92 , 134,24 , 416,59 , 475,92 , 134,24 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 31,67 , 4,4 , 4,0 , 24,9 , 33,11 , 2, 1, 7, 6, 7 }, // Afrikaans/Latin/SouthAfrica
+ { 5, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 80,18 , 37,5 , 8,10 , 416,59 , 475,92 , 134,24 , 416,59 , 475,92 , 134,24 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 31,67 , 4,4 , 4,0 , 24,9 , 33,11 , 2, 1, 7, 6, 7 }, // Afrikaans/Latin/South Africa
{ 5, 7, 148, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 53,10 , 98,16 , 37,5 , 8,10 , 416,59 , 475,92 , 134,24 , 416,59 , 475,92 , 134,24 , 210,28 , 238,58 , 296,14 , 210,28 , 238,58 , 296,14 , 4,3 , 4,3 , 49,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 98,55 , 4,4 , 4,0 , 24,9 , 44,7 , 2, 1, 1, 6, 7 }, // Afrikaans/Latin/Namibia
{ 6, 7, 2, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 114,6 , 10,17 , 18,7 , 42,13 , 567,50 , 617,78 , 695,27 , 722,50 , 772,78 , 850,27 , 310,28 , 338,58 , 396,15 , 310,28 , 411,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {65,76,76}, 7,4 , 153,45 , 13,5 , 4,0 , 51,5 , 56,8 , 0, 0, 1, 6, 7 }, // Albanian/Latin/Albania
{ 6, 7, 127, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 14,9 , 14,9 , 114,6 , 10,17 , 37,5 , 8,10 , 567,50 , 617,78 , 695,27 , 722,50 , 772,78 , 850,27 , 310,28 , 338,58 , 396,15 , 310,28 , 411,58 , 396,15 , 7,11 , 7,10 , 54,4 , 5,17 , 22,23 , {77,75,68}, 11,3 , 198,54 , 13,5 , 4,0 , 51,5 , 64,8 , 2, 1, 1, 6, 7 }, // Albanian/Latin/Macedonia
@@ -1283,17 +1283,17 @@ static const QLocaleData locale_data[] = {
{ 8, 1, 136, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1410,72 , 1410,72 , 1482,24 , 1410,72 , 1410,72 , 1482,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {77,82,85}, 0,0 , 1530,112 , 13,5 , 4,0 , 87,7 , 172,9 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Mauritania
{ 8, 1, 145, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 37,5 , 8,10 , 1506,70 , 1506,70 , 1576,24 , 1506,70 , 1506,70 , 1576,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {77,65,68}, 70,5 , 1642,87 , 13,5 , 4,0 , 87,7 , 181,6 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Morocco
{ 8, 1, 162, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {79,77,82}, 75,5 , 1729,77 , 13,5 , 4,0 , 87,7 , 187,5 , 3, 0, 6, 5, 6 }, // Arabic/Arabic/Oman
- { 8, 1, 165, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1202,92 , 1202,92 , 1294,24 , 1202,92 , 1202,92 , 1294,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 87,7 , 192,18 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/PalestinianTerritories
+ { 8, 1, 165, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1202,92 , 1202,92 , 1294,24 , 1202,92 , 1202,92 , 1294,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {73,76,83}, 49,1 , 1057,133 , 13,5 , 4,0 , 87,7 , 192,18 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Palestinian Territories
{ 8, 1, 175, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {81,65,82}, 80,5 , 1806,70 , 13,5 , 4,0 , 87,7 , 210,3 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Qatar
- { 8, 1, 186, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,65,82}, 85,5 , 1876,77 , 13,5 , 4,0 , 87,7 , 213,24 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/SaudiArabia
+ { 8, 1, 186, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,65,82}, 85,5 , 1876,77 , 13,5 , 4,0 , 87,7 , 213,24 , 2, 1, 7, 5, 6 }, // Arabic/Arabic/Saudi Arabia
{ 8, 1, 194, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,79,83}, 90,1 , 1953,77 , 13,5 , 4,0 , 87,7 , 237,7 , 0, 0, 1, 6, 7 }, // Arabic/Arabic/Somalia
{ 8, 1, 201, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,68,71}, 91,4 , 2030,91 , 13,5 , 4,0 , 87,7 , 244,7 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/Sudan
{ 8, 1, 207, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1202,92 , 1202,92 , 1294,24 , 1202,92 , 1202,92 , 1294,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,89,80}, 95,5 , 2121,77 , 13,5 , 4,0 , 87,7 , 251,5 , 0, 0, 6, 5, 6 }, // Arabic/Arabic/Syria
{ 8, 1, 216, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1107,71 , 1107,71 , 1178,24 , 1107,71 , 1107,71 , 1178,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {84,78,68}, 100,5 , 2198,95 , 13,5 , 4,0 , 87,7 , 256,4 , 3, 0, 7, 5, 6 }, // Arabic/Arabic/Tunisia
- { 8, 1, 223, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {65,69,68}, 105,5 , 2293,91 , 13,5 , 4,0 , 87,7 , 260,24 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/UnitedArabEmirates
- { 8, 1, 236, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {77,65,68}, 70,5 , 1642,87 , 13,5 , 4,0 , 87,7 , 284,15 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/WesternSahara
+ { 8, 1, 223, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {65,69,68}, 105,5 , 2293,91 , 13,5 , 4,0 , 87,7 , 260,24 , 2, 1, 6, 5, 6 }, // Arabic/Arabic/United Arab Emirates
+ { 8, 1, 236, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {77,65,68}, 70,5 , 1642,87 , 13,5 , 4,0 , 87,7 , 284,15 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/Western Sahara
{ 8, 1, 237, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {89,69,82}, 110,5 , 2384,70 , 13,5 , 4,0 , 87,7 , 299,5 , 0, 0, 7, 5, 6 }, // Arabic/Arabic/Yemen
- { 8, 1, 254, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,83,80}, 115,1 , 2454,132 , 13,5 , 4,0 , 87,7 , 304,12 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/SouthSudan
+ { 8, 1, 254, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {83,83,80}, 115,1 , 2454,132 , 13,5 , 4,0 , 87,7 , 304,12 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/South Sudan
{ 8, 1, 260, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8221, 8220, 8217, 8216, 46,6 , 46,6 , 52,7 , 59,6 , 147,10 , 157,17 , 18,7 , 25,12 , 1008,75 , 1008,75 , 1083,24 , 1008,75 , 1008,75 , 1083,24 , 538,52 , 538,52 , 590,14 , 538,52 , 538,52 , 590,14 , 21,1 , 21,1 , 84,4 , 88,41 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 316,23 , 339,6 , 2, 1, 1, 6, 7 }, // Arabic/Arabic/World
{ 9, 10, 11, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 65,7 , 65,7 , 174,8 , 182,20 , 37,5 , 8,10 , 1600,48 , 1648,94 , 1742,24 , 1600,48 , 1766,106 , 1742,24 , 604,28 , 632,62 , 694,14 , 604,28 , 632,62 , 694,14 , 22,2 , 22,2 , 129,6 , 135,17 , 22,23 , {65,77,68}, 116,1 , 2586,46 , 13,5 , 4,0 , 345,7 , 352,8 , 0, 0, 1, 6, 7 }, // Armenian/Armenian/Armenia
{ 10, 11, 100, 46, 44, 59, 37, 2534, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 72,9 , 72,9 , 202,8 , 210,18 , 68,7 , 75,12 , 1872,64 , 1936,89 , 2025,24 , 1872,64 , 1936,89 , 2025,24 , 708,32 , 740,58 , 798,14 , 708,32 , 740,58 , 798,14 , 24,9 , 24,7 , 152,4 , 156,37 , 22,23 , {73,78,82}, 117,1 , 2632,43 , 8,5 , 4,0 , 360,7 , 367,4 , 2, 1, 7, 7, 7 }, // Assamese/Bengali/India
@@ -1315,30 +1315,30 @@ static const QLocaleData locale_data[] = {
{ 24, 7, 74, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 287,6 , 390,22 , 55,4 , 59,9 , 4285,60 , 4345,82 , 4427,36 , 4463,93 , 4556,115 , 4427,36 , 1893,28 , 1921,60 , 1981,21 , 1893,28 , 1921,60 , 1981,21 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 521,6 , 541,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/France
{ 24, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 163,7 , 163,7 , 287,6 , 390,22 , 55,4 , 59,9 , 4285,60 , 4345,82 , 4427,36 , 4463,93 , 4556,115 , 4427,36 , 1893,28 , 1921,60 , 1981,21 , 1893,28 , 1921,60 , 1981,21 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 521,6 , 547,6 , 2, 1, 1, 6, 7 }, // Catalan/Latin/Italy
{ 25, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 412,8 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 287,2 , 289,21 , 22,23 , {67,78,89}, 129,1 , 3122,13 , 4,4 , 4,0 , 553,4 , 557,2 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/China
- { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 287,6 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 287,2 , 289,21 , 22,23 , {72,75,68}, 130,3 , 3135,11 , 4,4 , 4,0 , 553,4 , 559,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/HongKong
+ { 25, 5, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 287,6 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 287,2 , 289,21 , 22,23 , {72,75,68}, 130,3 , 3135,11 , 4,4 , 4,0 , 553,4 , 559,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Hong Kong
{ 25, 5, 126, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 287,6 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 287,2 , 289,21 , 22,23 , {77,79,80}, 133,4 , 3146,13 , 4,4 , 4,0 , 553,4 , 568,9 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Macau
{ 25, 5, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 175,5 , 175,5 , 27,8 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 287,2 , 289,21 , 22,23 , {83,71,68}, 6,1 , 3159,15 , 4,4 , 4,0 , 553,4 , 577,3 , 2, 1, 7, 6, 7 }, // Chinese/Simplified Han/Singapore
- { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 433,8 , 420,13 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2065,21 , 2023,28 , 2051,14 , 2065,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 310,3 , 5,17 , 22,23 , {72,75,68}, 130,3 , 3135,11 , 18,5 , 4,0 , 580,4 , 584,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/HongKong
+ { 25, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 433,8 , 420,13 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2065,21 , 2023,28 , 2051,14 , 2065,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 310,3 , 5,17 , 22,23 , {72,75,68}, 130,3 , 3135,11 , 18,5 , 4,0 , 580,4 , 584,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Hong Kong
{ 25, 6, 126, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 180,5 , 180,5 , 433,8 , 420,13 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2065,21 , 2023,28 , 2051,14 , 2065,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 310,3 , 5,17 , 22,23 , {77,79,80}, 133,4 , 3174,13 , 18,5 , 4,0 , 580,4 , 593,9 , 2, 1, 7, 6, 7 }, // Chinese/Traditional Han/Macau
{ 25, 6, 208, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 175,5 , 175,5 , 412,8 , 441,14 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2065,21 , 2023,28 , 2051,14 , 2065,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 45,4 , 5,17 , 22,23 , {84,87,68}, 6,1 , 3187,13 , 4,4 , 4,0 , 580,4 , 602,2 , 2, 0, 7, 6, 7 }, // Chinese/Traditional Han/Taiwan
{ 26, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Corsican/Latin/France
{ 27, 7, 54, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 455,13 , 468,19 , 37,5 , 87,12 , 4748,49 , 4797,94 , 4891,39 , 4748,49 , 4930,98 , 4891,39 , 2086,28 , 2114,58 , 2172,14 , 2086,28 , 2114,58 , 2186,14 , 0,2 , 0,2 , 313,7 , 5,17 , 22,23 , {72,82,75}, 137,3 , 3200,60 , 13,5 , 4,0 , 604,8 , 612,8 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Croatia
- { 27, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 487,9 , 468,19 , 37,5 , 87,12 , 4748,49 , 4797,94 , 4891,39 , 4748,49 , 4930,98 , 4891,39 , 2086,28 , 2114,58 , 2186,14 , 2086,28 , 2114,58 , 2186,14 , 0,2 , 0,2 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 3260,85 , 13,5 , 4,0 , 604,8 , 620,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/BosniaAndHerzegowina
- { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 174,8 , 496,17 , 55,4 , 59,9 , 5028,48 , 5076,82 , 158,27 , 5028,48 , 5158,84 , 158,27 , 2200,21 , 2221,49 , 2270,14 , 2200,21 , 2221,49 , 2270,14 , 62,4 , 59,4 , 320,5 , 5,17 , 22,23 , {67,90,75}, 142,2 , 3345,68 , 13,5 , 4,0 , 639,7 , 646,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/CzechRepublic
+ { 27, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 487,9 , 468,19 , 37,5 , 87,12 , 4748,49 , 4797,94 , 4891,39 , 4748,49 , 4930,98 , 4891,39 , 2086,28 , 2114,58 , 2186,14 , 2086,28 , 2114,58 , 2186,14 , 0,2 , 0,2 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 3260,85 , 13,5 , 4,0 , 604,8 , 620,19 , 2, 1, 1, 6, 7 }, // Croatian/Latin/Bosnia And Herzegowina
+ { 28, 7, 57, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 174,8 , 496,17 , 55,4 , 59,9 , 5028,48 , 5076,82 , 158,27 , 5028,48 , 5158,84 , 158,27 , 2200,21 , 2221,49 , 2270,14 , 2200,21 , 2221,49 , 2270,14 , 62,4 , 59,4 , 320,5 , 5,17 , 22,23 , {67,90,75}, 142,2 , 3345,68 , 13,5 , 4,0 , 639,7 , 646,5 , 2, 0, 1, 6, 7 }, // Czech/Latin/Czech Republic
{ 29, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 120,10 , 513,23 , 228,5 , 233,10 , 5242,59 , 5301,84 , 134,24 , 5242,59 , 5301,84 , 134,24 , 2284,28 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 651,5 , 656,7 , 2, 0, 1, 6, 7 }, // Danish/Latin/Denmark
{ 29, 7, 86, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 120,10 , 513,23 , 228,5 , 233,10 , 5242,59 , 5301,84 , 134,24 , 5242,59 , 5301,84 , 134,24 , 2284,28 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {68,75,75}, 144,3 , 3413,42 , 13,5 , 4,0 , 651,5 , 663,8 , 2, 0, 1, 6, 7 }, // Danish/Latin/Greenland
{ 30, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 13,5 , 4,0 , 671,10 , 681,9 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Netherlands
{ 30, 7, 12, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {65,87,71}, 147,4 , 3474,55 , 13,5 , 4,0 , 671,10 , 690,5 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Aruba
{ 30, 7, 21, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 536,7 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 13,5 , 4,0 , 671,10 , 695,6 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Belgium
- { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 13,5 , 4,0 , 671,10 , 701,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/CuraSao
+ { 30, 7, 152, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 13,5 , 4,0 , 671,10 , 701,7 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Cura Sao
{ 30, 7, 202, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {83,82,68}, 6,1 , 3626,58 , 13,5 , 4,0 , 671,10 , 708,8 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Suriname
{ 30, 7, 255, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3684,61 , 13,5 , 4,0 , 671,10 , 716,19 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Bonaire
- { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 13,5 , 4,0 , 671,10 , 735,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/SintMaarten
- { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 747,16 , 763,13 , 2, 1, 7, 6, 7 }, // English/Latin/UnitedStates
- { 31, 3, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // English/Deseret/UnitedStates
- { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 783,14 , 2, 1, 7, 6, 7 }, // English/Latin/AmericanSamoa
+ { 30, 7, 256, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 5385,59 , 5444,88 , 134,24 , 5385,59 , 5444,88 , 134,24 , 2412,21 , 2433,59 , 2492,14 , 2412,21 , 2433,59 , 2492,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {65,78,71}, 151,4 , 3529,97 , 13,5 , 4,0 , 671,10 , 735,12 , 2, 1, 1, 6, 7 }, // Dutch/Latin/Sint Maarten
+ { 31, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 747,16 , 763,13 , 2, 1, 7, 6, 7 }, // English/Latin/United States
+ { 31, 3, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // English/Deseret/United States
+ { 31, 7, 4, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 783,14 , 2, 1, 7, 6, 7 }, // English/Latin/American Samoa
{ 31, 7, 7, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 797,8 , 2, 1, 1, 6, 7 }, // English/Latin/Anguilla
- { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 805,17 , 2, 1, 7, 6, 7 }, // English/Latin/AntiguaAndBarbuda
+ { 31, 7, 9, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 805,17 , 2, 1, 7, 6, 7 }, // English/Latin/Antigua And Barbuda
{ 31, 7, 13, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 287,6 , 10,17 , 18,7 , 25,12 , 5532,59 , 48,86 , 134,24 , 5532,59 , 48,86 , 134,24 , 2506,35 , 28,57 , 2541,25 , 2506,35 , 28,57 , 2541,25 , 70,2 , 67,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 822,18 , 840,9 , 2, 1, 7, 6, 7 }, // English/Latin/Australia
{ 31, 7, 14, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 4,0 , 776,7 , 849,7 , 2, 1, 1, 6, 7 }, // English/Latin/Austria
{ 31, 7, 16, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,83,68}, 6,1 , 3930,53 , 4,4 , 4,0 , 776,7 , 856,7 , 2, 1, 7, 6, 7 }, // English/Latin/Bahamas
@@ -1347,19 +1347,19 @@ static const QLocaleData locale_data[] = {
{ 31, 7, 22, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 80,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,90,68}, 6,1 , 4039,47 , 4,4 , 4,0 , 776,7 , 878,6 , 2, 1, 7, 6, 7 }, // English/Latin/Belize
{ 31, 7, 24, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,77,68}, 6,1 , 4086,53 , 4,4 , 4,0 , 776,7 , 884,7 , 2, 1, 1, 6, 7 }, // English/Latin/Bermuda
{ 31, 7, 28, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 80,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,87,80}, 158,1 , 4139,50 , 4,4 , 4,0 , 776,7 , 891,8 , 2, 1, 7, 6, 7 }, // English/Latin/Botswana
- { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 899,30 , 2, 1, 1, 6, 7 }, // English/Latin/BritishIndianOceanTerritory
+ { 31, 7, 31, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 899,30 , 2, 1, 1, 6, 7 }, // English/Latin/British Indian Ocean Territory
{ 31, 7, 35, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,73,70}, 159,3 , 4189,53 , 4,4 , 4,0 , 776,7 , 929,7 , 0, 0, 1, 6, 7 }, // English/Latin/Burundi
{ 31, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 4242,83 , 4,4 , 4,0 , 776,7 , 936,8 , 0, 0, 1, 6, 7 }, // English/Latin/Cameroon
{ 31, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 5532,59 , 48,86 , 134,24 , 2506,35 , 28,57 , 85,14 , 2506,35 , 28,57 , 85,14 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {67,65,68}, 6,1 , 4325,53 , 4,4 , 4,0 , 944,16 , 960,6 , 2, 0, 7, 6, 7 }, // English/Latin/Canada
- { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4378,71 , 4,4 , 4,0 , 776,7 , 966,14 , 2, 1, 1, 6, 7 }, // English/Latin/CaymanIslands
- { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 980,16 , 2, 1, 1, 6, 7 }, // English/Latin/ChristmasIsland
- { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 996,23 , 2, 1, 1, 6, 7 }, // English/Latin/CocosIslands
- { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1019,12 , 2, 1, 1, 6, 7 }, // English/Latin/CookIslands
+ { 31, 7, 40, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {75,89,68}, 6,1 , 4378,71 , 4,4 , 4,0 , 776,7 , 966,14 , 2, 1, 1, 6, 7 }, // English/Latin/Cayman Islands
+ { 31, 7, 45, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 980,16 , 2, 1, 1, 6, 7 }, // English/Latin/Christmas Island
+ { 31, 7, 46, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 996,23 , 2, 1, 1, 6, 7 }, // English/Latin/Cocos Islands
+ { 31, 7, 51, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1019,12 , 2, 1, 1, 6, 7 }, // English/Latin/Cook Islands
{ 31, 7, 56, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 776,7 , 1031,6 , 2, 1, 1, 6, 7 }, // English/Latin/Cyprus
{ 31, 7, 58, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 228,5 , 233,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {68,75,75}, 144,3 , 4511,44 , 13,5 , 4,0 , 776,7 , 1037,7 , 2, 0, 1, 6, 7 }, // English/Latin/Denmark
{ 31, 7, 60, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1044,8 , 2, 1, 7, 6, 7 }, // English/Latin/Dominica
{ 31, 7, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,82,78}, 41,3 , 4555,50 , 4,4 , 4,0 , 776,7 , 1052,7 , 2, 1, 1, 6, 7 }, // English/Latin/Eritrea
- { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 115,1 , 4605,74 , 4,4 , 4,0 , 776,7 , 1059,16 , 2, 1, 1, 6, 7 }, // English/Latin/FalklandIslands
+ { 31, 7, 70, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {70,75,80}, 115,1 , 4605,74 , 4,4 , 4,0 , 776,7 , 1059,16 , 2, 1, 1, 6, 7 }, // English/Latin/Falkland Islands
{ 31, 7, 72, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {70,74,68}, 6,1 , 4679,47 , 4,4 , 4,0 , 776,7 , 1075,4 , 2, 1, 1, 6, 7 }, // English/Latin/Fiji
{ 31, 7, 73, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 243,4 , 247,9 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 776,7 , 1079,7 , 2, 1, 1, 6, 7 }, // English/Latin/Finland
{ 31, 7, 75, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 4726,32 , 4,4 , 4,0 , 776,7 , 1086,8 , 2, 1, 1, 6, 7 }, // English/Latin/Guernsey
@@ -1370,7 +1370,7 @@ static const QLocaleData locale_data[] = {
{ 31, 7, 87, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1121,7 , 2, 1, 1, 6, 7 }, // English/Latin/Grenada
{ 31, 7, 89, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1128,4 , 2, 1, 7, 6, 7 }, // English/Latin/Guam
{ 31, 7, 93, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {71,89,68}, 6,1 , 4908,56 , 4,4 , 4,0 , 776,7 , 1132,6 , 0, 0, 1, 6, 7 }, // English/Latin/Guyana
- { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 433,8 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 130,3 , 4964,56 , 4,4 , 4,0 , 776,7 , 1138,19 , 2, 1, 7, 6, 7 }, // English/Latin/HongKong
+ { 31, 7, 97, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 433,8 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {72,75,68}, 130,3 , 4964,56 , 4,4 , 4,0 , 776,7 , 1138,19 , 2, 1, 7, 6, 7 }, // English/Latin/Hong Kong
{ 31, 7, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 27,8 , 210,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {73,78,82}, 117,1 , 5020,44 , 8,5 , 4,0 , 776,7 , 1157,5 , 2, 1, 7, 7, 7 }, // English/Latin/India
{ 31, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 98,16 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 776,7 , 1162,7 , 2, 1, 7, 6, 7 }, // English/Latin/Ireland
{ 31, 7, 105, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 55,4 , 59,9 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {73,76,83}, 49,1 , 5064,62 , 4,4 , 4,0 , 776,7 , 1169,6 , 2, 1, 7, 5, 6 }, // English/Latin/Israel
@@ -1384,36 +1384,36 @@ static const QLocaleData locale_data[] = {
{ 31, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {77,87,75}, 168,2 , 5453,53 , 4,4 , 4,0 , 776,7 , 1234,6 , 2, 1, 1, 6, 7 }, // English/Latin/Malawi
{ 31, 7, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {77,89,82}, 170,2 , 5506,59 , 4,4 , 4,0 , 776,7 , 1240,8 , 2, 1, 1, 6, 7 }, // English/Latin/Malaysia
{ 31, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 4,4 , 4,0 , 776,7 , 1248,5 , 2, 1, 7, 6, 7 }, // English/Latin/Malta
- { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1253,16 , 2, 1, 7, 6, 7 }, // English/Latin/MarshallIslands
+ { 31, 7, 134, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1253,16 , 2, 1, 7, 6, 7 }, // English/Latin/Marshall Islands
{ 31, 7, 137, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {77,85,82}, 172,2 , 5565,53 , 4,4 , 4,0 , 776,7 , 1269,9 , 0, 0, 1, 6, 7 }, // English/Latin/Mauritius
{ 31, 7, 140, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1278,10 , 2, 1, 1, 6, 7 }, // English/Latin/Micronesia
{ 31, 7, 144, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1288,10 , 2, 1, 1, 6, 7 }, // English/Latin/Montserrat
{ 31, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,65,68}, 6,1 , 5618,53 , 4,4 , 4,0 , 776,7 , 1298,7 , 2, 1, 1, 6, 7 }, // English/Latin/Namibia
{ 31, 7, 149, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 1305,5 , 2, 1, 1, 6, 7 }, // English/Latin/Nauru
{ 31, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 8,5 , 23,6 , 776,7 , 1310,11 , 2, 1, 1, 6, 7 }, // English/Latin/Netherlands
- { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 536,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1321,11 , 2, 1, 1, 6, 7 }, // English/Latin/NewZealand
+ { 31, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 536,7 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1321,11 , 2, 1, 1, 6, 7 }, // English/Latin/New Zealand
{ 31, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,71,78}, 174,1 , 5671,50 , 4,4 , 4,0 , 776,7 , 1332,7 , 2, 1, 1, 6, 7 }, // English/Latin/Nigeria
{ 31, 7, 158, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1339,4 , 2, 1, 1, 6, 7 }, // English/Latin/Niue
- { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 1343,14 , 2, 1, 1, 6, 7 }, // English/Latin/NorfolkIsland
- { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1357,24 , 2, 1, 1, 6, 7 }, // English/Latin/NorthernMarianaIslands
+ { 31, 7, 159, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 1343,14 , 2, 1, 1, 6, 7 }, // English/Latin/Norfolk Island
+ { 31, 7, 160, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1357,24 , 2, 1, 1, 6, 7 }, // English/Latin/Northern Mariana Islands
{ 31, 7, 163, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,75,82}, 172,2 , 5721,53 , 4,4 , 4,0 , 776,7 , 1381,8 , 0, 0, 7, 6, 7 }, // English/Latin/Pakistan
{ 31, 7, 164, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1389,5 , 2, 1, 1, 6, 7 }, // English/Latin/Palau
- { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 127,1 , 5774,73 , 4,4 , 4,0 , 776,7 , 1394,16 , 2, 1, 1, 6, 7 }, // English/Latin/PapuaNewGuinea
+ { 31, 7, 167, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,71,75}, 127,1 , 5774,73 , 4,4 , 4,0 , 776,7 , 1394,16 , 2, 1, 1, 6, 7 }, // English/Latin/Papua New Guinea
{ 31, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 175,1 , 5847,53 , 4,4 , 4,0 , 776,7 , 1410,11 , 2, 1, 7, 6, 7 }, // English/Latin/Philippines
{ 31, 7, 171, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1421,16 , 2, 1, 1, 6, 7 }, // English/Latin/Pitcairn
- { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1437,11 , 2, 1, 7, 6, 7 }, // English/Latin/PuertoRico
+ { 31, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1437,11 , 2, 1, 7, 6, 7 }, // English/Latin/Puerto Rico
{ 31, 7, 179, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {82,87,70}, 176,2 , 5900,47 , 4,4 , 4,0 , 776,7 , 1448,6 , 0, 0, 1, 6, 7 }, // English/Latin/Rwanda
- { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1454,17 , 2, 1, 1, 6, 7 }, // English/Latin/SaintKittsAndNevis
- { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1471,9 , 2, 1, 1, 6, 7 }, // English/Latin/SaintLucia
- { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1480,24 , 2, 1, 1, 6, 7 }, // English/Latin/SaintVincentAndTheGrenadines
+ { 31, 7, 180, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1454,17 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Kitts And Nevis
+ { 31, 7, 181, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1471,9 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Lucia
+ { 31, 7, 182, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {88,67,68}, 6,1 , 3780,71 , 4,4 , 4,0 , 776,7 , 1480,24 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Vincent And The Grenadines
{ 31, 7, 183, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {87,83,84}, 178,3 , 5947,40 , 4,4 , 4,0 , 776,7 , 1504,5 , 2, 1, 7, 6, 7 }, // English/Latin/Samoa
{ 31, 7, 188, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,67,82}, 181,2 , 5987,59 , 4,4 , 4,0 , 776,7 , 1509,10 , 2, 1, 1, 6, 7 }, // English/Latin/Seychelles
- { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 183,2 , 6046,68 , 4,4 , 4,0 , 776,7 , 1519,12 , 0, 0, 1, 6, 7 }, // English/Latin/SierraLeone
+ { 31, 7, 189, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,76,76}, 183,2 , 6046,68 , 4,4 , 4,0 , 776,7 , 1519,12 , 0, 0, 1, 6, 7 }, // English/Latin/Sierra Leone
{ 31, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 287,6 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,71,68}, 6,1 , 6114,56 , 4,4 , 4,0 , 776,7 , 1531,9 , 2, 1, 7, 6, 7 }, // English/Latin/Singapore
{ 31, 7, 192, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 29,7 , 776,7 , 1540,8 , 2, 1, 1, 6, 7 }, // English/Latin/Slovenia
- { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6170,74 , 4,4 , 4,0 , 776,7 , 1548,15 , 2, 1, 1, 6, 7 }, // English/Latin/SolomonIslands
- { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 549,10 , 80,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 776,7 , 1563,12 , 2, 1, 7, 6, 7 }, // English/Latin/SouthAfrica
- { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 115,1 , 6244,56 , 4,4 , 4,0 , 776,7 , 1575,10 , 2, 1, 1, 6, 7 }, // English/Latin/SaintHelena
+ { 31, 7, 193, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,66,68}, 6,1 , 6170,74 , 4,4 , 4,0 , 776,7 , 1548,15 , 2, 1, 1, 6, 7 }, // English/Latin/Solomon Islands
+ { 31, 7, 195, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 549,10 , 80,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 5232,61 , 4,4 , 4,0 , 776,7 , 1563,12 , 2, 1, 7, 6, 7 }, // English/Latin/South Africa
+ { 31, 7, 199, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,72,80}, 115,1 , 6244,56 , 4,4 , 4,0 , 776,7 , 1575,10 , 2, 1, 1, 6, 7 }, // English/Latin/Saint Helena
{ 31, 7, 201, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,68,71}, 0,0 , 6300,50 , 4,4 , 4,0 , 776,7 , 1585,5 , 2, 1, 6, 5, 6 }, // English/Latin/Sudan
{ 31, 7, 204, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,90,76}, 185,1 , 6350,53 , 4,4 , 4,0 , 776,7 , 1590,9 , 2, 1, 1, 6, 7 }, // English/Latin/Swaziland
{ 31, 7, 205, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 53,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,69,75}, 186,2 , 6403,47 , 13,5 , 4,0 , 776,7 , 1599,6 , 2, 0, 1, 6, 7 }, // English/Latin/Sweden
@@ -1421,47 +1421,47 @@ static const QLocaleData locale_data[] = {
{ 31, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {84,90,83}, 188,3 , 6491,62 , 4,4 , 4,0 , 776,7 , 1616,8 , 0, 0, 1, 6, 7 }, // English/Latin/Tanzania
{ 31, 7, 213, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {78,90,68}, 6,1 , 4449,62 , 4,4 , 4,0 , 776,7 , 1624,7 , 2, 1, 1, 6, 7 }, // English/Latin/Tokelau
{ 31, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {84,79,80}, 191,2 , 6553,49 , 4,4 , 4,0 , 776,7 , 1631,5 , 2, 1, 1, 6, 7 }, // English/Latin/Tonga
- { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6602,80 , 4,4 , 4,0 , 776,7 , 1636,17 , 2, 1, 7, 6, 7 }, // English/Latin/TrinidadAndTobago
- { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1653,22 , 2, 1, 1, 6, 7 }, // English/Latin/TurksAndCaicosIslands
+ { 31, 7, 215, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {84,84,68}, 6,1 , 6602,80 , 4,4 , 4,0 , 776,7 , 1636,17 , 2, 1, 7, 6, 7 }, // English/Latin/Trinidad And Tobago
+ { 31, 7, 219, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1653,22 , 2, 1, 1, 6, 7 }, // English/Latin/Turks And Caicos Islands
{ 31, 7, 220, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,85,68}, 6,1 , 3851,59 , 4,4 , 4,0 , 776,7 , 1675,6 , 2, 1, 1, 6, 7 }, // English/Latin/Tuvalu
{ 31, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,71,88}, 193,3 , 6682,56 , 4,4 , 4,0 , 776,7 , 1681,6 , 0, 0, 1, 6, 7 }, // English/Latin/Uganda
- { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 70,2 , 67,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 6738,47 , 4,4 , 4,0 , 1687,15 , 1702,14 , 2, 1, 1, 6, 7 }, // English/Latin/UnitedKingdom
- { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1716,21 , 2, 1, 7, 6, 7 }, // English/Latin/UnitedStatesMinorOutlyingIslands
+ { 31, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 210,9 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 70,2 , 67,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 6738,47 , 4,4 , 4,0 , 1687,15 , 1702,14 , 2, 1, 1, 6, 7 }, // English/Latin/United Kingdom
+ { 31, 7, 226, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1716,21 , 2, 1, 7, 6, 7 }, // English/Latin/United States Minor Outlying Islands
{ 31, 7, 229, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {86,85,86}, 196,2 , 6785,44 , 4,4 , 4,0 , 776,7 , 1737,7 , 0, 0, 1, 6, 7 }, // English/Latin/Vanuatu
- { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1744,22 , 2, 1, 1, 6, 7 }, // English/Latin/BritishVirginIslands
- { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1766,19 , 2, 1, 7, 6, 7 }, // English/Latin/UnitedStatesVirginIslands
+ { 31, 7, 233, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1744,22 , 2, 1, 1, 6, 7 }, // English/Latin/British Virgin Islands
+ { 31, 7, 234, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 543,6 , 35,18 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 3745,35 , 4,4 , 4,0 , 776,7 , 1766,19 , 2, 1, 7, 6, 7 }, // English/Latin/United States Virgin Islands
{ 31, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,77,87}, 127,1 , 6829,50 , 4,4 , 4,0 , 776,7 , 1785,6 , 2, 1, 1, 6, 7 }, // English/Latin/Zambia
{ 31, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 433,8 , 80,18 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1791,8 , 2, 1, 7, 6, 7 }, // English/Latin/Zimbabwe
- { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1799,12 , 2, 1, 1, 6, 7 }, // English/Latin/DiegoGarcia
- { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 4726,32 , 4,4 , 4,0 , 776,7 , 1811,11 , 2, 1, 1, 6, 7 }, // English/Latin/IsleOfMan
+ { 31, 7, 249, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 3745,35 , 4,4 , 4,0 , 776,7 , 1799,12 , 2, 1, 1, 6, 7 }, // English/Latin/Diego Garcia
+ { 31, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 4726,32 , 4,4 , 4,0 , 776,7 , 1811,11 , 2, 1, 1, 6, 7 }, // English/Latin/Isle Of Man
{ 31, 7, 252, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {71,66,80}, 115,1 , 4726,32 , 4,4 , 4,0 , 776,7 , 1822,6 , 2, 1, 1, 6, 7 }, // English/Latin/Jersey
- { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 115,1 , 6879,68 , 4,4 , 4,0 , 776,7 , 1828,11 , 2, 1, 1, 6, 7 }, // English/Latin/SouthSudan
- { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 151,4 , 6947,95 , 4,4 , 4,0 , 776,7 , 1839,12 , 2, 1, 1, 6, 7 }, // English/Latin/SintMaarten
+ { 31, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {83,83,80}, 115,1 , 6879,68 , 4,4 , 4,0 , 776,7 , 1828,11 , 2, 1, 1, 6, 7 }, // English/Latin/South Sudan
+ { 31, 7, 256, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {65,78,71}, 151,4 , 6947,95 , 4,4 , 4,0 , 776,7 , 1839,12 , 2, 1, 1, 6, 7 }, // English/Latin/Sint Maarten
{ 31, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 776,7 , 1851,5 , 2, 1, 1, 6, 7 }, // English/Latin/World
{ 31, 7, 261, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 200,10 , 210,9 , 120,10 , 10,17 , 37,5 , 8,10 , 0,48 , 48,86 , 134,24 , 0,48 , 48,86 , 134,24 , 0,28 , 28,57 , 85,14 , 0,28 , 28,57 , 85,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 13,5 , 4,0 , 776,7 , 1856,6 , 2, 1, 1, 6, 7 }, // English/Latin/Europe
{ 32, 7, 260, 44, 160, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 219,9 , 219,9 , 559,8 , 567,26 , 37,5 , 256,25 , 5591,48 , 5639,91 , 134,24 , 5591,48 , 5639,91 , 134,24 , 2566,21 , 2587,51 , 2638,14 , 2566,21 , 2587,51 , 2638,14 , 72,3 , 69,3 , 325,6 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 1862,9 , 0,0 , 2, 1, 1, 6, 7 }, // Esperanto/Latin/World
{ 33, 7, 68, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 228,8 , 228,8 , 174,8 , 593,18 , 37,5 , 8,10 , 5730,59 , 5789,91 , 5880,24 , 5730,59 , 5789,91 , 5880,24 , 2652,14 , 2666,63 , 2652,14 , 2652,14 , 2666,63 , 2652,14 , 0,2 , 0,2 , 331,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 7042,20 , 13,5 , 4,0 , 1871,5 , 1876,5 , 2, 1, 1, 6, 7 }, // Estonian/Latin/Estonia
- { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 174,8 , 593,18 , 37,5 , 8,10 , 5904,48 , 5952,83 , 134,24 , 6035,59 , 5952,83 , 134,24 , 2729,28 , 2757,74 , 2831,14 , 2845,35 , 2757,74 , 2831,14 , 0,2 , 0,2 , 337,3 , 340,17 , 22,23 , {68,75,75}, 186,2 , 7062,43 , 13,5 , 4,0 , 1881,8 , 1889,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/FaroeIslands
+ { 34, 7, 71, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 174,8 , 593,18 , 37,5 , 8,10 , 5904,48 , 5952,83 , 134,24 , 6035,59 , 5952,83 , 134,24 , 2729,28 , 2757,74 , 2831,14 , 2845,35 , 2757,74 , 2831,14 , 0,2 , 0,2 , 337,3 , 340,17 , 22,23 , {68,75,75}, 186,2 , 7062,43 , 13,5 , 4,0 , 1881,8 , 1889,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Faroe Islands
{ 34, 7, 58, 44, 46, 59, 37, 48, 8722, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 174,8 , 593,18 , 37,5 , 8,10 , 5904,48 , 5952,83 , 134,24 , 6035,59 , 5952,83 , 134,24 , 2729,28 , 2757,74 , 2831,14 , 2845,35 , 2757,74 , 2831,14 , 0,2 , 0,2 , 337,3 , 340,17 , 22,23 , {68,75,75}, 144,3 , 7062,43 , 13,5 , 4,0 , 1881,8 , 656,7 , 2, 0, 1, 6, 7 }, // Faroese/Latin/Denmark
{ 36, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 611,8 , 496,17 , 243,4 , 247,9 , 6094,69 , 6163,105 , 6268,24 , 6292,93 , 6385,129 , 6268,24 , 2880,21 , 2901,67 , 2968,14 , 2880,21 , 2982,81 , 2968,14 , 75,3 , 72,3 , 357,5 , 362,17 , 379,23 , {69,85,82}, 14,1 , 7105,20 , 13,5 , 4,0 , 1896,5 , 1901,5 , 2, 1, 1, 6, 7 }, // Finnish/Latin/Finland
{ 37, 7, 74, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 1914,6 , 2, 1, 1, 6, 7 }, // French/Latin/France
{ 37, 7, 3, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {68,90,68}, 198,2 , 7125,51 , 13,5 , 4,0 , 1906,8 , 1920,7 , 2, 1, 6, 5, 6 }, // French/Latin/Algeria
{ 37, 7, 21, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 536,7 , 98,16 , 37,5 , 281,23 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 1927,8 , 2, 1, 1, 6, 7 }, // French/Latin/Belgium
{ 37, 7, 23, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 1935,5 , 0, 0, 1, 6, 7 }, // French/Latin/Benin
- { 37, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 1940,12 , 0, 0, 1, 6, 7 }, // French/Latin/BurkinaFaso
+ { 37, 7, 34, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 1940,12 , 0, 0, 1, 6, 7 }, // French/Latin/Burkina Faso
{ 37, 7, 35, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {66,73,70}, 159,3 , 7235,53 , 13,5 , 4,0 , 1906,8 , 929,7 , 0, 0, 1, 6, 7 }, // French/Latin/Burundi
{ 37, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 78,5 , 75,4 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 1952,8 , 0, 0, 1, 6, 7 }, // French/Latin/Cameroon
{ 37, 7, 38, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8221, 8220, 0,6 , 0,6 , 236,8 , 236,8 , 559,8 , 98,16 , 304,9 , 313,24 , 6662,64 , 6577,85 , 134,24 , 6662,64 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 66,4 , 63,4 , 402,6 , 211,17 , 228,23 , {67,65,68}, 6,1 , 7344,54 , 47,6 , 4,0 , 1960,17 , 960,6 , 2, 0, 7, 6, 7 }, // French/Latin/Canada
- { 37, 7, 41, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 1977,25 , 0, 0, 1, 6, 7 }, // French/Latin/CentralAfricanRepublic
+ { 37, 7, 41, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 1977,25 , 0, 0, 1, 6, 7 }, // French/Latin/Central African Republic
{ 37, 7, 42, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2002,5 , 0, 0, 1, 6, 7 }, // French/Latin/Chad
{ 37, 7, 48, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {75,77,70}, 36,2 , 7398,51 , 13,5 , 4,0 , 1906,8 , 2007,7 , 0, 0, 1, 6, 7 }, // French/Latin/Comoros
- { 37, 7, 49, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {67,68,70}, 203,2 , 7449,53 , 13,5 , 4,0 , 1906,8 , 2014,14 , 2, 1, 1, 6, 7 }, // French/Latin/CongoKinshasa
- { 37, 7, 50, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2028,17 , 0, 0, 1, 6, 7 }, // French/Latin/CongoBrazzaville
- { 37, 7, 53, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 2045,13 , 0, 0, 1, 6, 7 }, // French/Latin/IvoryCoast
+ { 37, 7, 49, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {67,68,70}, 203,2 , 7449,53 , 13,5 , 4,0 , 1906,8 , 2014,14 , 2, 1, 1, 6, 7 }, // French/Latin/Congo Kinshasa
+ { 37, 7, 50, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2028,17 , 0, 0, 1, 6, 7 }, // French/Latin/Congo Brazzaville
+ { 37, 7, 53, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 2045,13 , 0, 0, 1, 6, 7 }, // French/Latin/Ivory Coast
{ 37, 7, 59, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {68,74,70}, 38,3 , 7502,57 , 13,5 , 4,0 , 1906,8 , 2058,8 , 0, 0, 6, 6, 7 }, // French/Latin/Djibouti
- { 37, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2066,18 , 0, 0, 1, 6, 7 }, // French/Latin/EquatorialGuinea
- { 37, 7, 76, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2084,16 , 2, 1, 1, 6, 7 }, // French/Latin/FrenchGuiana
- { 37, 7, 77, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2100,19 , 0, 0, 1, 6, 7 }, // French/Latin/FrenchPolynesia
+ { 37, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2066,18 , 0, 0, 1, 6, 7 }, // French/Latin/Equatorial Guinea
+ { 37, 7, 76, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2084,16 , 2, 1, 1, 6, 7 }, // French/Latin/French Guiana
+ { 37, 7, 77, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2100,19 , 0, 0, 1, 6, 7 }, // French/Latin/French Polynesia
{ 37, 7, 79, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,65,70}, 32,4 , 7288,56 , 13,5 , 4,0 , 1906,8 , 2119,5 , 0, 0, 1, 6, 7 }, // French/Latin/Gabon
{ 37, 7, 88, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2124,10 , 2, 1, 1, 6, 7 }, // French/Latin/Guadeloupe
{ 37, 7, 91, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {71,78,70}, 209,2 , 7594,48 , 13,5 , 4,0 , 1906,8 , 2134,6 , 0, 0, 1, 6, 7 }, // French/Latin/Guinea
@@ -1475,23 +1475,23 @@ static const QLocaleData locale_data[] = {
{ 37, 7, 138, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2186,7 , 2, 1, 1, 6, 7 }, // French/Latin/Mayotte
{ 37, 7, 142, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2193,6 , 2, 1, 1, 6, 7 }, // French/Latin/Monaco
{ 37, 7, 145, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6726,61 , 6577,85 , 134,24 , 6726,61 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 66,4 , 63,4 , 402,6 , 211,17 , 228,23 , {77,65,68}, 214,3 , 7882,54 , 13,5 , 4,0 , 1906,8 , 2199,5 , 2, 1, 6, 5, 6 }, // French/Latin/Morocco
- { 37, 7, 153, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2204,18 , 0, 0, 1, 6, 7 }, // French/Latin/NewCaledonia
+ { 37, 7, 153, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2204,18 , 0, 0, 1, 6, 7 }, // French/Latin/New Caledonia
{ 37, 7, 156, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 2222,5 , 0, 0, 1, 6, 7 }, // French/Latin/Niger
{ 37, 7, 176, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2227,10 , 2, 1, 1, 6, 7 }, // French/Latin/Reunion
{ 37, 7, 179, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {82,87,70}, 176,2 , 7936,50 , 13,5 , 4,0 , 1906,8 , 1448,6 , 0, 0, 1, 6, 7 }, // French/Latin/Rwanda
{ 37, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 2237,7 , 0, 0, 1, 6, 7 }, // French/Latin/Senegal
{ 37, 7, 188, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {83,67,82}, 181,2 , 7986,71 , 13,5 , 4,0 , 1906,8 , 1509,10 , 2, 1, 1, 6, 7 }, // French/Latin/Seychelles
- { 37, 7, 200, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2244,24 , 2, 1, 1, 6, 7 }, // French/Latin/SaintPierreAndMiquelon
+ { 37, 7, 200, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2244,24 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Pierre And Miquelon
{ 37, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 236,8 , 236,8 , 174,8 , 10,17 , 37,5 , 337,14 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {67,72,70}, 217,3 , 8057,45 , 13,5 , 53,6 , 2268,15 , 2283,6 , 2, 0, 1, 6, 7 }, // French/Latin/Switzerland
{ 37, 7, 207, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {83,89,80}, 220,2 , 8102,51 , 13,5 , 4,0 , 1906,8 , 2289,5 , 0, 0, 6, 5, 6 }, // French/Latin/Syria
{ 37, 7, 212, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,79,70}, 200,3 , 7176,59 , 13,5 , 4,0 , 1906,8 , 2294,4 , 0, 0, 1, 6, 7 }, // French/Latin/Togo
{ 37, 7, 216, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {84,78,68}, 222,2 , 8153,51 , 13,5 , 4,0 , 1906,8 , 2298,7 , 3, 0, 7, 5, 6 }, // French/Latin/Tunisia
{ 37, 7, 229, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 18,7 , 25,12 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {86,85,86}, 196,2 , 8204,51 , 13,5 , 4,0 , 1906,8 , 1737,7 , 0, 0, 1, 6, 7 }, // French/Latin/Vanuatu
- { 37, 7, 235, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2305,16 , 0, 0, 1, 6, 7 }, // French/Latin/WallisAndFutunaIslands
+ { 37, 7, 235, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {88,80,70}, 205,4 , 7559,35 , 13,5 , 4,0 , 1906,8 , 2305,16 , 0, 0, 1, 6, 7 }, // French/Latin/Wallis And Futuna Islands
{ 37, 7, 244, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2321,16 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Barthelemy
{ 37, 7, 245, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 236,8 , 236,8 , 120,10 , 98,16 , 37,5 , 8,10 , 6514,63 , 6577,85 , 134,24 , 6514,63 , 6577,85 , 134,24 , 3063,35 , 3098,52 , 3150,14 , 3063,35 , 3098,52 , 3150,14 , 0,2 , 0,2 , 402,6 , 211,17 , 228,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 1906,8 , 2337,12 , 2, 1, 1, 6, 7 }, // French/Latin/Saint Martin
{ 38, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 6,8 , 6,8 , 357,8 , 98,16 , 37,5 , 8,10 , 6787,48 , 6835,95 , 134,24 , 6787,48 , 6835,95 , 134,24 , 3164,21 , 3185,54 , 85,14 , 3164,21 , 3185,54 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3455,19 , 8,5 , 59,6 , 2349,5 , 2354,8 , 2, 1, 1, 6, 7 }, // Western Frisian/Latin/Netherlands
- { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 244,10 , 244,10 , 120,10 , 619,21 , 37,5 , 8,10 , 6930,61 , 6991,142 , 7133,24 , 6930,61 , 7157,167 , 7133,24 , 3239,28 , 3267,69 , 3336,14 , 3239,28 , 3267,69 , 3336,14 , 83,1 , 79,1 , 408,6 , 5,17 , 22,23 , {71,66,80}, 115,1 , 8255,86 , 4,4 , 4,0 , 2362,8 , 2370,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/UnitedKingdom
+ { 39, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 244,10 , 244,10 , 120,10 , 619,21 , 37,5 , 8,10 , 6930,61 , 6991,142 , 7133,24 , 6930,61 , 7157,167 , 7133,24 , 3239,28 , 3267,69 , 3336,14 , 3239,28 , 3267,69 , 3336,14 , 83,1 , 79,1 , 408,6 , 5,17 , 22,23 , {71,66,80}, 115,1 , 8255,86 , 4,4 , 4,0 , 2362,8 , 2370,22 , 2, 1, 1, 6, 7 }, // Gaelic/Latin/United Kingdom
{ 40, 7, 197, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 7324,60 , 7384,87 , 7471,24 , 7495,60 , 7555,87 , 7642,36 , 3350,35 , 3385,49 , 3434,14 , 3448,35 , 3483,49 , 3532,21 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3910,20 , 13,5 , 4,0 , 2392,6 , 2398,6 , 2, 1, 1, 6, 7 }, // Galician/Latin/Spain
{ 41, 15, 81, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 171, 187, 0,6 , 0,6 , 261,8 , 261,8 , 174,8 , 667,19 , 37,5 , 8,10 , 7678,48 , 7726,99 , 7825,24 , 7678,48 , 7726,99 , 7825,24 , 3553,28 , 3581,62 , 3643,14 , 3553,28 , 3581,62 , 3643,14 , 0,2 , 0,2 , 414,5 , 419,33 , 22,23 , {71,69,76}, 224,1 , 8341,43 , 13,5 , 4,0 , 2404,7 , 2411,10 , 2, 1, 1, 6, 7 }, // Georgian/Georgian/Georgia
{ 42, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 269,9 , 269,9 , 174,8 , 593,18 , 37,5 , 8,10 , 7849,48 , 7897,83 , 134,24 , 7980,59 , 7897,83 , 134,24 , 3657,21 , 3678,60 , 3738,14 , 3752,28 , 3678,60 , 3738,14 , 0,2 , 0,2 , 452,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8384,19 , 13,5 , 4,0 , 2421,7 , 2428,11 , 2, 1, 1, 6, 7 }, // German/Latin/Germany
@@ -1516,13 +1516,13 @@ static const QLocaleData locale_data[] = {
{ 51, 7, 99, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 192,8 , 192,8 , 611,8 , 593,18 , 37,5 , 8,10 , 9548,59 , 9607,82 , 9689,24 , 9548,59 , 9607,82 , 9689,24 , 4539,35 , 4574,81 , 4655,14 , 4539,35 , 4574,81 , 4655,14 , 106,4 , 99,4 , 473,4 , 5,17 , 22,23 , {73,83,75}, 228,3 , 8778,49 , 13,5 , 4,0 , 2655,8 , 2663,6 , 0, 0, 1, 6, 7 }, // Icelandic/Latin/Iceland
{ 52, 7, 101, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 338,10 , 348,9 , 27,8 , 80,18 , 228,5 , 233,10 , 9713,48 , 9761,87 , 134,24 , 9713,48 , 9761,87 , 134,24 , 4669,28 , 4697,43 , 4740,14 , 4669,28 , 4697,43 , 4740,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 8827,39 , 4,4 , 4,0 , 2669,9 , 2669,9 , 0, 0, 7, 6, 7 }, // Indonesian/Latin/Indonesia
{ 53, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Interlingua/Latin/France
- { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/CanadianAboriginal/Canada
+ { 55, 44, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Canadian Aboriginal/Canada
{ 55, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Inuktitut/Latin/Canada
{ 57, 7, 104, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 357,11 , 244,10 , 120,10 , 98,16 , 37,5 , 8,10 , 9848,62 , 9910,107 , 10017,24 , 9848,62 , 9910,107 , 10017,24 , 4754,37 , 4791,75 , 4866,14 , 4754,37 , 4791,75 , 4866,14 , 110,4 , 103,4 , 477,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8866,31 , 4,4 , 4,0 , 2678,7 , 2685,4 , 2, 1, 7, 6, 7 }, // Irish/Latin/Ireland
{ 58, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 98,16 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 2689,8 , 2697,6 , 2, 1, 1, 6, 7 }, // Italian/Latin/Italy
- { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 98,16 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 2689,8 , 2703,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/SanMarino
+ { 58, 7, 184, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 98,16 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 2689,8 , 2703,10 , 2, 1, 1, 6, 7 }, // Italian/Latin/San Marino
{ 58, 7, 206, 46, 8217, 59, 37, 48, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 254,7 , 254,7 , 174,8 , 10,17 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,72,70}, 217,3 , 8916,53 , 8,5 , 36,5 , 2689,8 , 2713,8 , 2, 0, 1, 6, 7 }, // Italian/Latin/Switzerland
- { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 98,16 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 2689,8 , 2721,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/VaticanCityState
+ { 58, 7, 230, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 98,16 , 37,5 , 8,10 , 10041,48 , 10089,94 , 10183,24 , 10041,48 , 10089,94 , 10183,24 , 4880,28 , 4908,57 , 4965,14 , 4880,28 , 4908,57 , 4965,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 2689,8 , 2721,18 , 2, 1, 1, 6, 7 }, // Italian/Latin/Vatican City State
{ 59, 19, 108, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 170,5 , 170,5 , 549,10 , 420,13 , 55,4 , 372,10 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 4979,14 , 4993,28 , 4979,14 , 4979,14 , 4993,28 , 4979,14 , 114,2 , 107,2 , 483,3 , 340,17 , 22,23 , {74,80,89}, 129,1 , 8969,11 , 4,4 , 4,0 , 2739,3 , 2742,2 , 0, 0, 7, 6, 7 }, // Japanese/Japanese/Japan
{ 60, 7, 101, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,68,82}, 231,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 7, 6, 7 }, // Javanese/Latin/Indonesia
{ 61, 21, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 368,12 , 380,11 , 287,6 , 35,18 , 351,8 , 359,13 , 10207,63 , 10270,87 , 10357,31 , 10388,69 , 10270,87 , 10357,31 , 5021,33 , 5054,54 , 5108,20 , 5021,33 , 5054,54 , 5108,20 , 116,9 , 109,7 , 486,8 , 494,33 , 22,23 , {73,78,82}, 117,1 , 8980,49 , 4,4 , 4,0 , 2744,5 , 2749,4 , 2, 1, 7, 7, 7 }, // Kannada/Kannada/India
@@ -1530,16 +1530,16 @@ static const QLocaleData locale_data[] = {
{ 63, 2, 110, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 391,10 , 174,8 , 753,22 , 37,5 , 8,10 , 10553,60 , 10613,83 , 10696,24 , 10720,60 , 10780,83 , 10696,24 , 5252,21 , 5273,56 , 5329,14 , 5252,21 , 5343,56 , 5329,14 , 0,2 , 0,2 , 527,4 , 531,17 , 548,23 , {75,90,84}, 236,1 , 9052,58 , 13,5 , 4,0 , 2768,10 , 2778,9 , 2, 1, 1, 6, 7 }, // Kazakh/Cyrillic/Kazakhstan
{ 64, 7, 179, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 10863,60 , 10923,101 , 158,27 , 10863,60 , 10923,101 , 158,27 , 5399,35 , 5434,84 , 85,14 , 5399,35 , 5434,84 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,87,70}, 176,2 , 0,7 , 8,5 , 4,0 , 2787,11 , 2798,8 , 0, 0, 1, 6, 7 }, // Kinyarwanda/Latin/Rwanda
{ 65, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 401,10 , 401,10 , 287,6 , 775,23 , 37,5 , 8,10 , 11024,48 , 11072,80 , 11152,24 , 11176,59 , 11235,80 , 11152,24 , 5518,38 , 5556,57 , 5613,14 , 5518,38 , 5556,57 , 5613,14 , 125,5 , 116,14 , 527,4 , 571,17 , 22,23 , {75,71,83}, 237,3 , 9110,52 , 13,5 , 4,0 , 2806,8 , 2814,10 , 2, 1, 1, 6, 7 }, // Kirghiz/Cyrillic/Kyrgyzstan
- { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 411,7 , 411,7 , 798,9 , 807,16 , 382,7 , 389,13 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 5627,14 , 5641,28 , 5627,14 , 5627,14 , 5641,28 , 5627,14 , 130,2 , 130,2 , 588,3 , 5,17 , 22,23 , {75,82,87}, 240,1 , 9162,19 , 4,4 , 4,0 , 2824,3 , 2827,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/SouthKorea
- { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 411,7 , 411,7 , 798,9 , 807,16 , 382,7 , 389,13 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 5627,14 , 5641,28 , 5627,14 , 5627,14 , 5641,28 , 5627,14 , 130,2 , 130,2 , 588,3 , 5,17 , 22,23 , {75,80,87}, 241,3 , 9181,39 , 4,4 , 4,0 , 2824,3 , 2831,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/NorthKorea
+ { 66, 22, 114, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 411,7 , 411,7 , 798,9 , 807,16 , 382,7 , 389,13 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 5627,14 , 5641,28 , 5627,14 , 5627,14 , 5641,28 , 5627,14 , 130,2 , 130,2 , 588,3 , 5,17 , 22,23 , {75,82,87}, 240,1 , 9162,19 , 4,4 , 4,0 , 2824,3 , 2827,4 , 0, 0, 7, 6, 7 }, // Korean/Korean/South Korea
+ { 66, 22, 113, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 411,7 , 411,7 , 798,9 , 807,16 , 382,7 , 389,13 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 11315,39 , 5627,14 , 5641,28 , 5627,14 , 5627,14 , 5641,28 , 5627,14 , 130,2 , 130,2 , 588,3 , 5,17 , 22,23 , {75,80,87}, 241,3 , 9181,39 , 4,4 , 4,0 , 2824,3 , 2831,11 , 0, 0, 1, 6, 7 }, // Korean/Korean/North Korea
{ 67, 7, 217, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {84,82,89}, 244,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Kurdish/Latin/Turkey
{ 68, 7, 35, 44, 46, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 11354,60 , 11414,106 , 158,27 , 11354,60 , 11414,106 , 158,27 , 5669,34 , 5703,89 , 85,14 , 5669,34 , 5703,89 , 85,14 , 132,5 , 132,5 , 45,4 , 5,17 , 22,23 , {66,73,70}, 159,3 , 9220,27 , 0,4 , 4,0 , 2842,8 , 2850,8 , 0, 0, 1, 6, 7 }, // Rundi/Latin/Burundi
{ 69, 23, 117, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 418,9 , 433,8 , 823,19 , 55,4 , 402,24 , 11520,61 , 11581,75 , 158,27 , 11520,61 , 11581,75 , 158,27 , 5792,36 , 5828,57 , 5885,17 , 5792,36 , 5828,57 , 5885,17 , 137,8 , 137,8 , 45,4 , 5,17 , 22,23 , {76,65,75}, 245,1 , 9247,21 , 4,4 , 36,5 , 2858,3 , 2858,3 , 0, 0, 7, 6, 7 }, // Lao/Lao/Laos
{ 71, 7, 118, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 427,8 , 427,8 , 174,8 , 842,26 , 37,5 , 8,10 , 11656,65 , 11721,101 , 134,24 , 11656,65 , 11721,101 , 134,24 , 5902,51 , 5953,72 , 6025,14 , 6039,51 , 6090,72 , 6025,14 , 145,14 , 145,11 , 591,5 , 340,17 , 22,23 , {69,85,82}, 14,1 , 9268,23 , 13,5 , 4,0 , 2861,8 , 2869,7 , 2, 1, 1, 6, 7 }, // Latvian/Latin/Latvia
- { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 203,2 , 9291,23 , 13,5 , 4,0 , 2876,7 , 2883,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/CongoKinshasa
+ { 72, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 203,2 , 9291,23 , 13,5 , 4,0 , 2876,7 , 2883,30 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Congo Kinshasa
{ 72, 7, 6, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {65,79,65}, 246,2 , 9314,23 , 13,5 , 4,0 , 2876,7 , 2913,6 , 2, 1, 1, 6, 7 }, // Lingala/Latin/Angola
- { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9337,23 , 13,5 , 4,0 , 2876,7 , 2919,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/CentralAfricanRepublic
- { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9337,23 , 13,5 , 4,0 , 2876,7 , 2945,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/CongoBrazzaville
+ { 72, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9337,23 , 13,5 , 4,0 , 2876,7 , 2919,26 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Central African Republic
+ { 72, 7, 50, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 435,9 , 435,9 , 433,8 , 98,16 , 37,5 , 8,10 , 11822,48 , 11870,203 , 12073,24 , 11822,48 , 11870,203 , 12073,24 , 6162,28 , 6190,100 , 6290,14 , 6162,28 , 6190,100 , 6290,14 , 159,8 , 156,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 9337,23 , 13,5 , 4,0 , 2876,7 , 2945,5 , 0, 0, 1, 6, 7 }, // Lingala/Latin/Congo Brazzaville
{ 73, 7, 124, 44, 160, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8222, 8220, 0,6 , 0,6 , 444,8 , 444,8 , 53,10 , 868,27 , 37,5 , 8,10 , 12097,70 , 12167,96 , 12263,24 , 12097,70 , 12287,98 , 12263,24 , 6304,21 , 6325,89 , 6414,14 , 6304,21 , 6325,89 , 6414,14 , 167,9 , 162,6 , 596,6 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9360,30 , 13,5 , 4,0 , 2950,8 , 2958,7 , 2, 1, 1, 6, 7 }, // Lithuanian/Latin/Lithuania
{ 74, 2, 127, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 895,7 , 80,18 , 37,5 , 8,10 , 12385,61 , 12446,85 , 12531,24 , 12385,61 , 12446,85 , 12531,24 , 6428,35 , 6463,54 , 1659,14 , 6517,34 , 6463,54 , 1659,14 , 176,10 , 168,8 , 602,5 , 5,17 , 22,23 , {77,75,68}, 248,3 , 9390,56 , 13,5 , 4,0 , 2965,10 , 2975,10 , 2, 1, 1, 6, 7 }, // Macedonian/Cyrillic/Macedonia
{ 75, 7, 128, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 98,16 , 37,5 , 8,10 , 12555,48 , 12603,92 , 134,24 , 12555,48 , 12603,92 , 134,24 , 6551,34 , 6585,60 , 6645,14 , 6551,34 , 6585,60 , 6645,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,71,65}, 166,2 , 9446,13 , 8,5 , 4,0 , 2985,8 , 2993,12 , 0, 0, 1, 6, 7 }, // Malagasy/Latin/Madagascar
@@ -1549,14 +1549,14 @@ static const QLocaleData locale_data[] = {
{ 76, 7, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 348,9 , 348,9 , 536,7 , 10,17 , 18,7 , 25,12 , 12695,48 , 12743,82 , 12825,24 , 12695,48 , 12743,82 , 12825,24 , 6659,28 , 6687,43 , 6730,14 , 6659,28 , 6687,43 , 6730,14 , 186,2 , 176,3 , 607,4 , 5,17 , 22,23 , {83,71,68}, 6,1 , 9529,37 , 4,4 , 4,0 , 3005,6 , 3017,9 , 2, 1, 7, 6, 7 }, // Malay/Latin/Singapore
{ 77, 24, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 452,13 , 465,12 , 287,6 , 914,18 , 18,7 , 25,12 , 12849,62 , 12911,88 , 12999,32 , 12849,62 , 12911,88 , 12999,32 , 6744,41 , 6785,77 , 6862,22 , 6744,41 , 6884,76 , 6960,21 , 0,2 , 0,2 , 611,6 , 617,31 , 22,23 , {73,78,82}, 117,1 , 9566,40 , 4,4 , 4,0 , 3026,6 , 3032,6 , 2, 1, 7, 7, 7 }, // Malayalam/Malayalam/India
{ 78, 7, 133, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 477,8 , 485,7 , 120,10 , 932,23 , 37,5 , 8,10 , 13031,48 , 13079,86 , 13165,36 , 13031,48 , 13079,86 , 13201,24 , 6981,28 , 7009,63 , 7072,21 , 6981,28 , 7009,63 , 7093,20 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 9606,27 , 4,4 , 4,0 , 3038,5 , 1248,5 , 2, 1, 7, 6, 7 }, // Maltese/Latin/Malta
- { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 251,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Maori/Latin/NewZealand
+ { 79, 7, 154, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,90,68}, 251,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Maori/Latin/New Zealand
{ 80, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 492,9 , 492,9 , 287,6 , 210,18 , 18,7 , 25,12 , 13225,66 , 13291,86 , 13377,32 , 13225,66 , 13291,86 , 13377,32 , 7113,32 , 7145,53 , 4432,19 , 7113,32 , 7145,53 , 4432,19 , 188,5 , 179,4 , 465,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 9633,43 , 4,4 , 4,0 , 3043,5 , 2633,4 , 2, 1, 7, 7, 7 }, // Marathi/Devanagari/India
{ 82, 2, 143, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 955,10 , 965,16 , 37,5 , 87,12 , 13409,99 , 13508,190 , 13698,38 , 13409,99 , 13508,190 , 13698,38 , 7198,21 , 7219,43 , 7198,21 , 7198,21 , 7219,43 , 7198,21 , 193,3 , 183,3 , 527,4 , 571,17 , 22,23 , {77,78,84}, 254,1 , 9676,25 , 8,5 , 4,0 , 3048,6 , 3054,6 , 0, 0, 1, 6, 7 }, // Mongolian/Cyrillic/Mongolia
{ 82, 8, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 255,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Mongolian/Mongolian/China
{ 84, 13, 150, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 501,5 , 0,6 , 506,7 , 506,7 , 245,6 , 63,17 , 37,5 , 8,10 , 13736,85 , 13736,85 , 13821,53 , 13736,85 , 13736,85 , 13874,52 , 7262,33 , 7295,54 , 7349,18 , 7262,33 , 7295,54 , 7349,18 , 94,9 , 89,7 , 465,4 , 5,17 , 22,23 , {78,80,82}, 258,4 , 9701,49 , 8,5 , 4,0 , 3060,6 , 3066,5 , 2, 1, 7, 6, 7 }, // Nepali/Devanagari/Nepal
{ 84, 13, 100, 46, 44, 59, 37, 2406, 45, 43, 101, 8220, 8221, 8216, 8217, 501,5 , 0,6 , 506,7 , 506,7 , 245,6 , 63,17 , 18,7 , 25,12 , 13736,85 , 13736,85 , 13821,53 , 13736,85 , 13736,85 , 13874,52 , 7262,33 , 7295,54 , 7349,18 , 7262,33 , 7295,54 , 7349,18 , 94,9 , 89,7 , 465,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 9750,49 , 8,5 , 4,0 , 3060,6 , 2633,4 , 2, 1, 7, 7, 7 }, // Nepali/Devanagari/India
- { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 8,10 , 5904,48 , 13926,83 , 134,24 , 6035,59 , 13926,83 , 134,24 , 2377,35 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 8,5 , 4,0 , 3071,12 , 3083,5 , 2, 0, 1, 6, 7 }, // NorwegianBokmal/Latin/Norway
- { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 8,10 , 5904,48 , 13926,83 , 134,24 , 6035,59 , 13926,83 , 134,24 , 2377,35 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 8,5 , 4,0 , 3071,12 , 3088,21 , 2, 0, 1, 6, 7 }, // NorwegianBokmal/Latin/SvalbardAndJanMayenIslands
+ { 85, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 8,10 , 5904,48 , 13926,83 , 134,24 , 6035,59 , 13926,83 , 134,24 , 2377,35 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 8,5 , 4,0 , 3071,12 , 3083,5 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Norway
+ { 85, 7, 203, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 8,10 , 5904,48 , 13926,83 , 134,24 , 6035,59 , 13926,83 , 134,24 , 2377,35 , 2312,51 , 2363,14 , 2377,35 , 2312,51 , 2363,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 8,5 , 4,0 , 3071,12 , 3088,21 , 2, 0, 1, 6, 7 }, // Norwegian Bokmal/Latin/Svalbard And Jan Mayen Islands
{ 86, 7, 74, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Occitan/Latin/France
{ 87, 26, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 513,8 , 521,7 , 543,6 , 35,18 , 18,7 , 25,12 , 14009,86 , 14009,86 , 14095,32 , 14009,86 , 14009,86 , 14095,32 , 7367,33 , 7400,54 , 7454,18 , 7367,33 , 7400,54 , 7454,18 , 0,2 , 0,2 , 648,5 , 5,17 , 22,23 , {73,78,82}, 117,1 , 9843,43 , 8,5 , 4,0 , 3109,5 , 3114,4 , 2, 1, 7, 7, 7 }, // Oriya/Oriya/India
{ 88, 1, 1, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 46,6 , 46,6 , 528,9 , 537,8 , 412,8 , 991,20 , 55,4 , 426,11 , 14127,68 , 14195,69 , 158,27 , 14264,69 , 14264,69 , 14333,24 , 7472,39 , 7472,39 , 85,14 , 7472,39 , 7472,39 , 85,14 , 196,4 , 186,4 , 0,5 , 5,17 , 22,23 , {65,70,78}, 262,1 , 9886,25 , 13,5 , 4,0 , 3118,4 , 3122,9 , 0, 0, 6, 4, 5 }, // Pashto/Arabic/Afghanistan
@@ -1565,15 +1565,15 @@ static const QLocaleData locale_data[] = {
{ 90, 7, 172, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 163,7 , 163,7 , 981,10 , 10,17 , 37,5 , 8,10 , 14655,48 , 14703,97 , 14800,24 , 14655,48 , 14824,99 , 14923,24 , 7574,34 , 7608,59 , 7667,14 , 7574,34 , 7608,59 , 7681,14 , 0,2 , 0,2 , 320,5 , 5,17 , 22,23 , {80,76,78}, 267,2 , 10003,77 , 13,5 , 4,0 , 3144,6 , 3150,6 , 2, 1, 1, 6, 7 }, // Polish/Latin/Poland
{ 91, 7, 30, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 254,7 , 254,7 , 120,10 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7695,28 , 7723,79 , 7802,14 , 7695,28 , 7723,79 , 7802,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {66,82,76}, 269,2 , 10080,54 , 8,5 , 4,0 , 3156,9 , 3165,6 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Brazil
{ 91, 7, 6, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {65,79,65}, 246,2 , 10134,54 , 13,5 , 4,0 , 3156,9 , 3171,6 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Angola
- { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 271,1 , 10188,69 , 13,5 , 4,0 , 3156,9 , 3177,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/CapeVerde
- { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 10257,81 , 13,5 , 4,0 , 3156,9 , 3187,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/EastTimor
- { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10338,59 , 13,5 , 4,0 , 3156,9 , 3198,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/EquatorialGuinea
- { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 200,3 , 10397,62 , 13,5 , 4,0 , 3156,9 , 3214,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/GuineaBissau
+ { 91, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {67,86,69}, 271,1 , 10188,69 , 13,5 , 4,0 , 3156,9 , 3177,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Cape Verde
+ { 91, 7, 62, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {85,83,68}, 155,3 , 10257,81 , 13,5 , 4,0 , 3156,9 , 3187,11 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/East Timor
+ { 91, 7, 66, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 10338,59 , 13,5 , 4,0 , 3156,9 , 3198,16 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Equatorial Guinea
+ { 91, 7, 92, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {88,79,70}, 200,3 , 10397,62 , 13,5 , 4,0 , 3156,9 , 3214,12 , 0, 0, 1, 6, 7 }, // Portuguese/Latin/Guinea Bissau
{ 91, 7, 125, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3156,9 , 3226,10 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Luxembourg
{ 91, 7, 126, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 18,7 , 25,12 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {77,79,80}, 133,4 , 10459,53 , 13,5 , 4,0 , 3156,9 , 3236,19 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Macau
{ 91, 7, 146, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {77,90,78}, 272,3 , 10512,72 , 13,5 , 4,0 , 3156,9 , 3255,10 , 2, 1, 7, 6, 7 }, // Portuguese/Latin/Mozambique
{ 91, 7, 173, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3265,17 , 3282,8 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Portugal
- { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 275,2 , 10584,104 , 13,5 , 4,0 , 3156,9 , 3290,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/SaoTomeAndPrincipe
+ { 91, 7, 185, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {83,84,78}, 275,2 , 10584,104 , 13,5 , 4,0 , 3156,9 , 3290,19 , 2, 1, 1, 6, 7 }, // Portuguese/Latin/Sao Tome And Principe
{ 91, 7, 206, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 640,27 , 37,5 , 8,10 , 14947,48 , 14995,89 , 134,24 , 14947,48 , 14995,89 , 134,24 , 7816,49 , 7723,79 , 7802,14 , 7816,49 , 7723,79 , 7802,14 , 209,8 , 198,8 , 0,5 , 5,17 , 22,23 , {67,72,70}, 217,3 , 10688,45 , 13,5 , 4,0 , 3156,9 , 3309,5 , 2, 0, 1, 6, 7 }, // Portuguese/Latin/Switzerland
{ 92, 4, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 567,9 , 567,9 , 287,6 , 10,17 , 18,7 , 25,12 , 15084,50 , 15134,68 , 15202,28 , 15084,50 , 15134,68 , 15202,28 , 7865,36 , 7901,57 , 7958,23 , 7865,36 , 7901,57 , 7958,23 , 217,6 , 206,6 , 696,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 10733,39 , 4,4 , 4,0 , 3314,6 , 3320,4 , 2, 1, 7, 7, 7 }, // Punjabi/Gurmukhi/India
{ 92, 1, 163, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 80,18 , 18,7 , 25,12 , 15230,67 , 15230,67 , 158,27 , 15230,67 , 15230,67 , 158,27 , 7981,37 , 7981,37 , 85,14 , 7981,37 , 7981,37 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {80,75,82}, 277,1 , 10772,13 , 41,6 , 4,0 , 3324,6 , 3330,7 , 0, 0, 7, 6, 7 }, // Punjabi/Arabic/Pakistan
@@ -1589,24 +1589,24 @@ static const QLocaleData locale_data[] = {
{ 96, 2, 116, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 981,10 , 335,22 , 55,4 , 59,9 , 15798,62 , 11235,80 , 11152,24 , 15860,62 , 15922,82 , 11152,24 , 8332,21 , 8353,62 , 8415,14 , 8332,21 , 8353,62 , 8332,21 , 0,2 , 0,2 , 263,5 , 571,17 , 22,23 , {75,71,83}, 237,3 , 11223,82 , 13,5 , 4,0 , 3408,7 , 3430,8 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Kyrgyzstan
{ 96, 2, 141, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 981,10 , 335,22 , 55,4 , 59,9 , 15798,62 , 11235,80 , 11152,24 , 15860,62 , 15922,82 , 11152,24 , 8332,21 , 8353,62 , 8415,14 , 8332,21 , 8353,62 , 8332,21 , 0,2 , 0,2 , 263,5 , 571,17 , 22,23 , {77,68,76}, 285,1 , 11305,79 , 13,5 , 4,0 , 3408,7 , 3438,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Moldova
{ 96, 2, 222, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 116,7 , 116,7 , 981,10 , 335,22 , 37,5 , 8,10 , 15798,62 , 11235,80 , 11152,24 , 15860,62 , 15922,82 , 11152,24 , 8332,21 , 8353,62 , 8415,14 , 8332,21 , 8353,62 , 8332,21 , 0,2 , 0,2 , 263,5 , 571,17 , 22,23 , {85,65,72}, 286,1 , 11384,92 , 13,5 , 4,0 , 3408,7 , 3445,7 , 2, 1, 1, 6, 7 }, // Russian/Cyrillic/Ukraine
- { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 16004,48 , 16052,91 , 16143,24 , 16004,48 , 16052,91 , 16143,24 , 8429,28 , 8457,66 , 8523,14 , 8429,28 , 8457,66 , 8523,14 , 223,2 , 212,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11476,25 , 4,4 , 36,5 , 3452,5 , 3457,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/CentralAfricanRepublic
+ { 98, 7, 41, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 16004,48 , 16052,91 , 16143,24 , 16004,48 , 16052,91 , 16143,24 , 8429,28 , 8457,66 , 8523,14 , 8429,28 , 8457,66 , 8523,14 , 223,2 , 212,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 11476,25 , 4,4 , 36,5 , 3452,5 , 3457,22 , 0, 0, 1, 6, 7 }, // Sango/Latin/Central African Republic
{ 99, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Sanskrit/Devanagari/India
{ 100, 2, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16167,48 , 16215,81 , 12531,24 , 16167,48 , 16215,81 , 12531,24 , 8537,28 , 8565,52 , 8617,14 , 8537,28 , 8565,52 , 8617,14 , 225,9 , 214,8 , 704,7 , 5,17 , 22,23 , {82,83,68}, 287,3 , 11501,58 , 13,5 , 4,0 , 3479,6 , 3485,6 , 0, 0, 1, 6, 7 }, // Serbian/Cyrillic/Serbia
- { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16296,58 , 16354,81 , 16435,24 , 16296,58 , 16354,81 , 16435,24 , 8631,33 , 8664,57 , 2172,14 , 8631,33 , 8664,57 , 2172,14 , 234,11 , 222,8 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 11559,174 , 13,5 , 4,0 , 3491,6 , 620,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/BosniaAndHerzegowina
+ { 100, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16296,58 , 16354,81 , 16435,24 , 16296,58 , 16354,81 , 16435,24 , 8631,33 , 8664,57 , 2172,14 , 8631,33 , 8664,57 , 2172,14 , 234,11 , 222,8 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 11559,174 , 13,5 , 4,0 , 3491,6 , 620,19 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Bosnia And Herzegowina
{ 100, 7, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16296,58 , 16354,81 , 16435,24 , 16296,58 , 16354,81 , 16435,24 , 8631,33 , 8664,57 , 2172,14 , 8631,33 , 8664,57 , 2172,14 , 234,11 , 222,8 , 313,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11733,23 , 13,5 , 4,0 , 3491,6 , 3497,9 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Montenegro
{ 100, 7, 243, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16459,48 , 16354,81 , 16435,24 , 16459,48 , 16354,81 , 16435,24 , 8721,28 , 8749,54 , 2172,14 , 8721,28 , 8749,54 , 2172,14 , 245,9 , 222,8 , 313,7 , 5,17 , 22,23 , {82,83,68}, 287,3 , 11756,58 , 13,5 , 4,0 , 3491,6 , 3506,6 , 0, 0, 1, 6, 7 }, // Serbian/Latin/Serbia
- { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16507,58 , 16215,81 , 12531,24 , 16507,58 , 16215,81 , 12531,24 , 8803,33 , 8836,55 , 8617,14 , 8803,33 , 8836,55 , 8617,14 , 254,11 , 214,8 , 704,7 , 5,17 , 22,23 , {66,65,77}, 290,2 , 11814,174 , 13,5 , 4,0 , 3479,6 , 3512,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/BosniaAndHerzegowina
+ { 100, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16507,58 , 16215,81 , 12531,24 , 16507,58 , 16215,81 , 12531,24 , 8803,33 , 8836,55 , 8617,14 , 8803,33 , 8836,55 , 8617,14 , 254,11 , 214,8 , 704,7 , 5,17 , 22,23 , {66,65,77}, 290,2 , 11814,174 , 13,5 , 4,0 , 3479,6 , 3512,19 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Bosnia And Herzegowina
{ 100, 2, 242, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16507,58 , 16215,81 , 12531,24 , 16507,58 , 16215,81 , 12531,24 , 8803,33 , 8836,55 , 8617,14 , 8803,33 , 8836,55 , 8617,14 , 254,11 , 214,8 , 704,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11988,23 , 13,5 , 4,0 , 3479,6 , 3531,9 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Montenegro
{ 100, 2, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16507,58 , 16215,81 , 12531,24 , 16507,58 , 16215,81 , 12531,24 , 8803,33 , 8565,52 , 8617,14 , 8803,33 , 8565,52 , 8617,14 , 225,9 , 214,8 , 704,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11988,23 , 13,5 , 4,0 , 3479,6 , 3540,6 , 2, 1, 1, 6, 7 }, // Serbian/Cyrillic/Kosovo
{ 100, 7, 257, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8216, 8216, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 16296,58 , 16354,81 , 16435,24 , 16296,58 , 16354,81 , 16435,24 , 8631,33 , 8749,54 , 2172,14 , 8631,33 , 8749,54 , 2172,14 , 245,9 , 222,8 , 313,7 , 5,17 , 22,23 , {69,85,82}, 14,1 , 11733,23 , 13,5 , 4,0 , 3491,6 , 3546,6 , 2, 1, 1, 6, 7 }, // Serbian/Latin/Kosovo
{ 101, 2, 81, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 584,9 , 584,9 , 174,8 , 1066,23 , 37,5 , 8,10 , 16565,63 , 16628,82 , 11152,24 , 16710,60 , 16770,86 , 11152,24 , 8891,28 , 8919,61 , 8980,14 , 8994,28 , 9022,61 , 8980,14 , 265,15 , 230,15 , 45,4 , 5,17 , 22,23 , {71,69,76}, 224,1 , 12011,17 , 8,5 , 4,0 , 3552,4 , 3556,11 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Georgia
{ 101, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 584,9 , 584,9 , 174,8 , 1066,23 , 37,5 , 8,10 , 16565,63 , 16628,82 , 11152,24 , 16710,60 , 16770,86 , 11152,24 , 8891,28 , 8919,61 , 8980,14 , 8994,28 , 9022,61 , 8980,14 , 265,15 , 230,15 , 45,4 , 5,17 , 22,23 , {82,85,66}, 119,1 , 12028,17 , 8,5 , 4,0 , 3552,4 , 3567,6 , 2, 1, 1, 6, 7 }, // Ossetic/Cyrillic/Russia
- { 102, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Southern Sotho/Latin/SouthAfrica
- { 103, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tswana/Latin/SouthAfrica
+ { 102, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Southern Sotho/Latin/South Africa
+ { 103, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tswana/Latin/South Africa
{ 104, 7, 240, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 16856,48 , 16904,100 , 17004,24 , 16856,48 , 16904,100 , 17004,24 , 9083,28 , 9111,55 , 9166,14 , 9083,28 , 9111,55 , 9166,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 155,3 , 12045,22 , 4,4 , 4,0 , 3573,8 , 1791,8 , 2, 1, 7, 6, 7 }, // Shona/Latin/Zimbabwe
{ 105, 1, 163, 1643, 1644, 1563, 37, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 17028,72 , 17028,72 , 158,27 , 17028,72 , 17028,72 , 158,27 , 9180,35 , 9180,35 , 9215,21 , 9180,35 , 9180,35 , 9236,31 , 280,11 , 245,11 , 711,6 , 717,52 , 22,23 , {80,75,82}, 172,2 , 12067,43 , 8,5 , 4,0 , 3581,4 , 3585,7 , 0, 0, 7, 6, 7 }, // Sindhi/Arabic/Pakistan
- { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 593,9 , 602,8 , 53,10 , 63,17 , 228,5 , 233,10 , 17100,59 , 17159,96 , 17255,32 , 17287,61 , 17159,96 , 17255,32 , 9267,39 , 9306,62 , 9368,19 , 9267,39 , 9306,62 , 9368,19 , 291,5 , 256,4 , 769,5 , 774,37 , 22,23 , {76,75,82}, 292,3 , 12110,58 , 4,4 , 4,0 , 3592,5 , 3597,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/SriLanka
- { 107, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Swati/Latin/SouthAfrica
+ { 106, 32, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 593,9 , 602,8 , 53,10 , 63,17 , 228,5 , 233,10 , 17100,59 , 17159,96 , 17255,32 , 17287,61 , 17159,96 , 17255,32 , 9267,39 , 9306,62 , 9368,19 , 9267,39 , 9306,62 , 9368,19 , 291,5 , 256,4 , 769,5 , 774,37 , 22,23 , {76,75,82}, 292,3 , 12110,58 , 4,4 , 4,0 , 3592,5 , 3597,11 , 2, 1, 1, 6, 7 }, // Sinhala/Sinhala/Sri Lanka
+ { 107, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Swati/Latin/South Africa
{ 108, 7, 191, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 610,7 , 1089,10 , 496,17 , 55,4 , 59,9 , 17348,48 , 17396,82 , 16435,24 , 17348,48 , 17478,89 , 16435,24 , 9387,21 , 9408,52 , 9460,14 , 9387,21 , 9408,52 , 9460,14 , 0,2 , 0,2 , 320,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12168,26 , 13,5 , 4,0 , 3608,10 , 3618,9 , 2, 1, 1, 6, 7 }, // Slovak/Latin/Slovakia
{ 109, 7, 192, 44, 46, 59, 37, 48, 8722, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 617,8 , 617,8 , 1099,9 , 1108,19 , 37,5 , 8,10 , 17567,59 , 17626,86 , 16435,24 , 17567,59 , 17626,86 , 16435,24 , 9474,35 , 9509,52 , 9561,14 , 9474,35 , 9509,52 , 9561,14 , 62,4 , 260,4 , 54,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 12194,28 , 13,5 , 4,0 , 3627,11 , 3638,9 , 2, 1, 1, 6, 7 }, // Slovenian/Latin/Slovenia
{ 110, 7, 194, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1127,19 , 18,7 , 25,12 , 17712,48 , 17760,189 , 17949,24 , 17712,48 , 17760,189 , 17949,24 , 9575,28 , 9603,47 , 9650,15 , 9575,28 , 9603,47 , 9650,15 , 296,3 , 264,3 , 45,4 , 5,17 , 22,23 , {83,79,83}, 90,1 , 12222,22 , 4,4 , 4,0 , 3647,8 , 3655,10 , 0, 0, 1, 6, 7 }, // Somali/Latin/Somalia
@@ -1620,12 +1620,12 @@ static const QLocaleData locale_data[] = {
{ 111, 7, 30, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {66,82,76}, 269,2 , 12425,52 , 4,4 , 4,0 , 3704,7 , 3165,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Brazil
{ 111, 7, 43, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 357,8 , 640,27 , 37,5 , 8,10 , 17973,61 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {67,76,80}, 6,1 , 12477,45 , 4,4 , 36,5 , 3704,7 , 3726,5 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Chile
{ 111, 7, 47, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 536,7 , 640,27 , 18,7 , 25,12 , 17973,61 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 9753,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {67,79,80}, 6,1 , 12522,54 , 8,5 , 4,0 , 3704,7 , 3731,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Colombia
- { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 295,1 , 12576,67 , 4,4 , 4,0 , 3704,7 , 3739,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/CostaRica
+ { 111, 7, 52, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {67,82,67}, 295,1 , 12576,67 , 4,4 , 4,0 , 3704,7 , 3739,10 , 2, 0, 1, 6, 7 }, // Spanish/Latin/Costa Rica
{ 111, 7, 55, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {67,85,80}, 6,1 , 12643,42 , 4,4 , 4,0 , 3704,7 , 3749,4 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Cuba
- { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 296,3 , 12685,54 , 4,4 , 89,6 , 3704,7 , 3753,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/DominicanRepublic
+ { 111, 7, 61, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {68,79,80}, 296,3 , 12685,54 , 4,4 , 89,6 , 3704,7 , 3753,20 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Dominican Republic
{ 111, 7, 63, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 4,4 , 36,5 , 3704,7 , 3356,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ecuador
- { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 4,4 , 4,0 , 3704,7 , 3773,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/ElSalvador
- { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 12809,92 , 4,4 , 4,0 , 3704,7 , 3784,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/EquatorialGuinea
+ { 111, 7, 65, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 4,4 , 4,0 , 3704,7 , 3773,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/El Salvador
+ { 111, 7, 66, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {88,65,70}, 32,4 , 12809,92 , 4,4 , 4,0 , 3704,7 , 3784,17 , 0, 0, 1, 6, 7 }, // Spanish/Latin/Equatorial Guinea
{ 111, 7, 90, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 536,7 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {71,84,81}, 299,1 , 12901,30 , 18,5 , 4,0 , 3704,7 , 3801,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Guatemala
{ 111, 7, 96, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 1146,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {72,78,76}, 285,1 , 12931,60 , 4,4 , 4,0 , 3704,7 , 3810,8 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Honduras
{ 111, 7, 139, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 27,8 , 640,27 , 55,4 , 59,9 , 18147,60 , 18034,89 , 18123,24 , 18207,48 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {77,88,78}, 6,1 , 12991,48 , 47,6 , 4,0 , 3818,17 , 3835,6 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Mexico
@@ -1634,25 +1634,25 @@ static const QLocaleData locale_data[] = {
{ 111, 7, 168, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {80,89,71}, 305,3 , 13162,61 , 8,5 , 23,6 , 3704,7 , 3856,8 , 0, 0, 7, 6, 7 }, // Spanish/Latin/Paraguay
{ 111, 7, 169, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 536,7 , 640,27 , 37,5 , 8,10 , 18255,60 , 15345,88 , 18123,24 , 18315,60 , 18375,88 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {80,69,78}, 278,2 , 13223,43 , 4,4 , 4,0 , 3704,7 , 3345,4 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Peru
{ 111, 7, 170, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 18,7 , 25,12 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {80,72,80}, 175,1 , 13266,48 , 13,5 , 4,0 , 3704,7 , 3864,9 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Philippines
- { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 1173,8 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 4,4 , 4,0 , 3704,7 , 1437,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/PuertoRico
- { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 433,8 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 95,7 , 4,0 , 3704,7 , 3873,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/UnitedStates
+ { 111, 7, 174, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 1173,8 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 4,4 , 4,0 , 3704,7 , 1437,11 , 2, 1, 7, 6, 7 }, // Spanish/Latin/Puerto Rico
+ { 111, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 433,8 , 640,27 , 18,7 , 25,12 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 3150,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,83,68}, 6,1 , 12739,70 , 95,7 , 4,0 , 3704,7 , 3873,14 , 2, 1, 7, 6, 7 }, // Spanish/Latin/United States
{ 111, 7, 227, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18255,60 , 15345,88 , 18123,24 , 18315,60 , 18375,88 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {85,89,85}, 6,1 , 13314,48 , 8,5 , 4,0 , 3704,7 , 3887,7 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Uruguay
{ 111, 7, 231, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 18,7 , 25,12 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {86,69,70}, 308,3 , 13362,64 , 4,4 , 36,5 , 3704,7 , 3894,9 , 2, 0, 7, 6, 7 }, // Spanish/Latin/Venezuela
- { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3704,7 , 3903,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/CanaryIslands
+ { 111, 7, 238, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3704,7 , 3903,8 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Canary Islands
{ 111, 7, 246, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 37,5 , 8,10 , 18147,60 , 18034,89 , 18123,24 , 18147,60 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 3150,14 , 9665,35 , 9700,53 , 9753,14 , 66,4 , 63,4 , 0,5 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 4,4 , 4,0 , 3911,23 , 3934,13 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Latin America
- { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3704,7 , 3947,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/CeutaAndMelilla
+ { 111, 7, 250, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 625,7 , 625,7 , 287,6 , 640,27 , 55,4 , 426,11 , 17973,61 , 18034,89 , 18123,24 , 17973,61 , 18034,89 , 18123,24 , 9665,35 , 9700,53 , 8099,14 , 9665,35 , 9700,53 , 8099,14 , 55,5 , 52,5 , 0,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 13,5 , 4,0 , 3704,7 , 3947,15 , 2, 1, 1, 6, 7 }, // Spanish/Latin/Ceuta And Melilla
{ 113, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 632,8 , 632,8 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 18511,84 , 134,24 , 18463,48 , 18511,84 , 134,24 , 9767,60 , 9767,60 , 85,14 , 9767,60 , 9767,60 , 85,14 , 0,2 , 0,2 , 591,5 , 811,47 , 22,23 , {84,90,83}, 188,3 , 13426,67 , 4,4 , 4,0 , 3962,9 , 1616,8 , 0, 0, 1, 6, 7 }, // Swahili/Latin/Tanzania
- { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 632,8 , 632,8 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 18511,84 , 134,24 , 18463,48 , 18511,84 , 134,24 , 9767,60 , 9767,60 , 85,14 , 9767,60 , 9767,60 , 85,14 , 0,2 , 0,2 , 591,5 , 811,47 , 22,23 , {67,68,70}, 203,2 , 13493,55 , 4,4 , 4,0 , 3971,8 , 3979,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/CongoKinshasa
+ { 113, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 632,8 , 632,8 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 18511,84 , 134,24 , 18463,48 , 18511,84 , 134,24 , 9767,60 , 9767,60 , 85,14 , 9767,60 , 9767,60 , 85,14 , 0,2 , 0,2 , 591,5 , 811,47 , 22,23 , {67,68,70}, 203,2 , 13493,55 , 4,4 , 4,0 , 3971,8 , 3979,32 , 2, 1, 1, 6, 7 }, // Swahili/Latin/Congo Kinshasa
{ 113, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 632,8 , 632,8 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 18511,84 , 134,24 , 18463,48 , 18511,84 , 134,24 , 9767,60 , 9767,60 , 85,14 , 9767,60 , 9767,60 , 85,14 , 0,2 , 0,2 , 591,5 , 811,47 , 22,23 , {75,69,83}, 2,3 , 13548,58 , 4,4 , 4,0 , 3962,9 , 1182,5 , 2, 1, 7, 6, 7 }, // Swahili/Latin/Kenya
{ 113, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 632,8 , 632,8 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 18511,84 , 134,24 , 18463,48 , 18511,84 , 134,24 , 9767,60 , 9767,60 , 85,14 , 9767,60 , 9767,60 , 85,14 , 0,2 , 0,2 , 591,5 , 811,47 , 22,23 , {85,71,88}, 193,3 , 13606,61 , 4,4 , 4,0 , 3962,9 , 1681,6 , 0, 0, 1, 6, 7 }, // Swahili/Latin/Uganda
{ 114, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 640,9 , 640,9 , 53,10 , 98,16 , 37,5 , 437,16 , 18595,59 , 18654,86 , 134,24 , 18595,59 , 18654,86 , 134,24 , 9827,29 , 9856,50 , 2363,14 , 9827,29 , 9856,50 , 2363,14 , 299,2 , 267,2 , 45,4 , 5,17 , 22,23 , {83,69,75}, 186,2 , 13667,45 , 13,5 , 4,0 , 4011,7 , 4018,7 , 2, 0, 1, 6, 7 }, // Swedish/Latin/Sweden
{ 114, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 640,9 , 640,9 , 1181,10 , 98,16 , 37,5 , 437,16 , 18595,59 , 18654,86 , 134,24 , 18595,59 , 18654,86 , 134,24 , 9827,29 , 9856,50 , 2363,14 , 9827,29 , 9856,50 , 2363,14 , 299,2 , 267,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 4011,7 , 1079,7 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Finland
- { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 640,9 , 640,9 , 53,10 , 98,16 , 37,5 , 437,16 , 18595,59 , 18654,86 , 134,24 , 18595,59 , 18654,86 , 134,24 , 9827,29 , 9856,50 , 2363,14 , 9827,29 , 9856,50 , 2363,14 , 299,2 , 267,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 4011,7 , 4025,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/AlandIslands
+ { 114, 7, 248, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 640,9 , 640,9 , 53,10 , 98,16 , 37,5 , 437,16 , 18595,59 , 18654,86 , 134,24 , 18595,59 , 18654,86 , 134,24 , 9827,29 , 9856,50 , 2363,14 , 9827,29 , 9856,50 , 2363,14 , 299,2 , 267,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8897,19 , 13,5 , 4,0 , 4011,7 , 4025,5 , 2, 1, 1, 6, 7 }, // Swedish/Latin/Aland Islands
{ 116, 2, 209, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 80,18 , 37,5 , 8,10 , 11024,48 , 18740,71 , 11152,24 , 11024,48 , 18740,71 , 11152,24 , 9906,28 , 9934,55 , 9989,14 , 9906,28 , 9934,55 , 9989,14 , 301,7 , 269,7 , 45,4 , 5,17 , 22,23 , {84,74,83}, 311,4 , 13712,19 , 13,5 , 4,0 , 4030,6 , 4036,10 , 2, 1, 1, 6, 7 }, // Tajik/Cyrillic/Tajikistan
{ 117, 27, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 649,13 , 649,13 , 287,6 , 210,18 , 382,7 , 453,12 , 18811,58 , 18869,86 , 18955,31 , 18811,58 , 18869,86 , 18955,31 , 10003,39 , 10042,49 , 10091,20 , 10003,39 , 10042,49 , 10091,20 , 308,8 , 276,8 , 858,7 , 5,17 , 22,23 , {73,78,82}, 117,1 , 13731,49 , 8,5 , 4,0 , 4046,5 , 4051,7 , 2, 1, 7, 7, 7 }, // Tamil/Tamil/India
{ 117, 27, 130, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 649,13 , 649,13 , 287,6 , 210,18 , 382,7 , 453,12 , 18811,58 , 18869,86 , 18955,31 , 18811,58 , 18869,86 , 18955,31 , 10003,39 , 10042,49 , 10091,20 , 10003,39 , 10042,49 , 10091,20 , 308,8 , 276,8 , 858,7 , 5,17 , 22,23 , {77,89,82}, 170,2 , 13780,61 , 8,5 , 4,0 , 4046,5 , 4058,7 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Malaysia
{ 117, 27, 190, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 649,13 , 649,13 , 287,6 , 210,18 , 382,7 , 453,12 , 18811,58 , 18869,86 , 18955,31 , 18811,58 , 18869,86 , 18955,31 , 10003,39 , 10042,49 , 10091,20 , 10003,39 , 10042,49 , 10091,20 , 308,8 , 276,8 , 858,7 , 5,17 , 22,23 , {83,71,68}, 6,1 , 13841,61 , 8,5 , 4,0 , 4046,5 , 4065,11 , 2, 1, 7, 6, 7 }, // Tamil/Tamil/Singapore
- { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 649,13 , 649,13 , 287,6 , 210,18 , 37,5 , 8,10 , 18811,58 , 18869,86 , 18955,31 , 18811,58 , 18869,86 , 18955,31 , 10003,39 , 10042,49 , 10091,20 , 10003,39 , 10042,49 , 10091,20 , 308,8 , 276,8 , 858,7 , 5,17 , 22,23 , {76,75,82}, 315,3 , 13902,49 , 8,5 , 4,0 , 4046,5 , 4076,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/SriLanka
+ { 117, 27, 198, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 649,13 , 649,13 , 287,6 , 210,18 , 37,5 , 8,10 , 18811,58 , 18869,86 , 18955,31 , 18811,58 , 18869,86 , 18955,31 , 10003,39 , 10042,49 , 10091,20 , 10003,39 , 10042,49 , 10091,20 , 308,8 , 276,8 , 858,7 , 5,17 , 22,23 , {76,75,82}, 315,3 , 13902,49 , 8,5 , 4,0 , 4046,5 , 4076,6 , 2, 1, 1, 6, 7 }, // Tamil/Tamil/Sri Lanka
{ 118, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 662,9 , 662,9 , 981,10 , 1191,23 , 55,4 , 59,9 , 18986,62 , 19048,81 , 158,27 , 18986,62 , 19048,81 , 158,27 , 10111,36 , 10147,56 , 10203,14 , 10111,36 , 10147,56 , 10203,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 119,1 , 13951,21 , 0,4 , 4,0 , 4082,5 , 3415,6 , 2, 1, 1, 6, 7 }, // Tatar/Cyrillic/Russia
{ 119, 28, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 671,11 , 671,11 , 357,8 , 1214,18 , 18,7 , 25,12 , 19129,62 , 19191,86 , 19277,31 , 19129,62 , 19191,86 , 19277,31 , 10217,32 , 10249,60 , 10309,18 , 10217,32 , 10249,60 , 10309,18 , 0,2 , 0,2 , 865,7 , 872,27 , 22,23 , {73,78,82}, 117,1 , 13972,26 , 4,4 , 4,0 , 4087,6 , 4093,8 , 2, 1, 7, 7, 7 }, // Telugu/Telugu/India
{ 120, 30, 211, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 123,5 , 123,5 , 682,8 , 690,7 , 287,6 , 1232,19 , 37,5 , 465,28 , 19308,63 , 19371,98 , 19308,63 , 19308,63 , 19371,98 , 19308,63 , 10327,23 , 10350,68 , 10418,16 , 10327,23 , 10350,68 , 10418,16 , 316,10 , 284,10 , 899,4 , 5,17 , 22,23 , {84,72,66}, 318,3 , 13998,16 , 4,4 , 4,0 , 4101,3 , 4101,3 , 2, 1, 7, 6, 7 }, // Thai/Thai/Thailand
@@ -1661,7 +1661,7 @@ static const QLocaleData locale_data[] = {
{ 122, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1274,23 , 18,7 , 25,12 , 19775,36 , 19811,54 , 19865,24 , 19775,36 , 19811,54 , 19865,24 , 10591,21 , 10612,29 , 10641,14 , 10591,21 , 10655,29 , 10684,14 , 333,7 , 302,7 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,2 , 14046,16 , 4,4 , 4,0 , 4125,4 , 82,5 , 2, 1, 7, 6, 7 }, // Tigrinya/Ethiopic/Ethiopia
{ 122, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1274,23 , 18,7 , 25,12 , 19775,36 , 19811,54 , 19865,24 , 19775,36 , 19811,54 , 19865,24 , 10591,21 , 10612,29 , 10684,14 , 10591,21 , 10655,29 , 10684,14 , 333,7 , 302,7 , 45,4 , 5,17 , 22,23 , {69,82,78}, 41,3 , 0,7 , 4,4 , 4,0 , 4125,4 , 4129,4 , 2, 1, 1, 6, 7 }, // Tigrinya/Ethiopic/Eritrea
{ 123, 7, 214, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 697,8 , 697,8 , 697,8 , 697,8 , 287,6 , 98,16 , 18,7 , 25,12 , 19889,51 , 19940,87 , 20027,24 , 19889,51 , 19940,87 , 20027,24 , 10698,29 , 10727,60 , 10787,14 , 10698,29 , 10727,60 , 10787,14 , 340,10 , 309,6 , 903,5 , 908,59 , 967,65 , {84,79,80}, 191,2 , 14062,41 , 13,5 , 4,0 , 4133,13 , 1631,5 , 2, 1, 1, 6, 7 }, // Tongan/Latin/Tonga
- { 124, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tsonga/Latin/SouthAfrica
+ { 124, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Tsonga/Latin/South Africa
{ 125, 7, 217, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 705,8 , 705,8 , 1297,9 , 1306,16 , 37,5 , 8,10 , 20051,48 , 20099,75 , 20174,24 , 20051,48 , 20099,75 , 20174,24 , 10801,28 , 10829,54 , 10883,14 , 10801,28 , 10829,54 , 10883,14 , 350,2 , 315,2 , 193,4 , 5,17 , 22,23 , {84,82,89}, 244,1 , 14103,40 , 4,4 , 4,0 , 4146,6 , 4152,7 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Turkey
{ 125, 7, 56, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 705,8 , 705,8 , 1297,9 , 1306,16 , 18,7 , 25,12 , 20051,48 , 20099,75 , 20174,24 , 20051,48 , 20099,75 , 20174,24 , 10801,28 , 10829,54 , 10883,14 , 10801,28 , 10829,54 , 10883,14 , 350,2 , 315,2 , 193,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8384,19 , 4,4 , 4,0 , 4146,6 , 4159,6 , 2, 1, 1, 6, 7 }, // Turkish/Latin/Cyprus
{ 126, 7, 218, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8220, 8221, 0,6 , 0,6 , 713,8 , 713,8 , 981,10 , 1306,16 , 37,5 , 8,10 , 20198,51 , 20249,77 , 20326,24 , 20350,51 , 20401,77 , 20326,24 , 10897,28 , 10925,54 , 10979,14 , 10993,28 , 11021,54 , 10979,14 , 352,13 , 317,14 , 1032,4 , 5,17 , 22,23 , {84,77,84}, 322,3 , 14143,49 , 13,5 , 4,0 , 4165,12 , 4177,12 , 2, 1, 1, 6, 7 }, // Turkmen/Latin/Turkmenistan
@@ -1674,19 +1674,19 @@ static const QLocaleData locale_data[] = {
{ 131, 2, 228, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 667,19 , 37,5 , 87,12 , 11024,48 , 18740,71 , 11152,24 , 21292,48 , 21340,71 , 11152,24 , 11399,28 , 11427,53 , 11480,14 , 11494,28 , 11522,53 , 11480,14 , 381,2 , 347,2 , 45,4 , 5,17 , 22,23 , {85,90,83}, 329,3 , 14443,49 , 13,5 , 4,0 , 4251,7 , 4258,10 , 0, 0, 1, 6, 7 }, // Uzbek/Cyrillic/Uzbekistan
{ 132, 7, 232, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 754,8 , 754,8 , 120,10 , 210,18 , 37,5 , 8,10 , 21411,75 , 21486,99 , 158,27 , 21585,75 , 21660,99 , 158,27 , 11575,33 , 11608,55 , 11663,21 , 11575,33 , 11608,55 , 11663,21 , 383,2 , 349,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 332,1 , 14492,33 , 13,5 , 4,0 , 4268,10 , 4278,8 , 0, 0, 1, 6, 7 }, // Vietnamese/Latin/Vietnam
{ 133, 7, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1430,23 , 37,5 , 8,10 , 21759,48 , 21807,74 , 21881,24 , 21905,48 , 21807,74 , 21881,24 , 11684,21 , 11705,43 , 11748,14 , 11762,28 , 11705,43 , 11748,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 8,5 , 4,0 , 4286,7 , 0,0 , 2, 1, 1, 6, 7 }, // Volapuk/Latin/World
- { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 762,11 , 773,10 , 27,8 , 10,17 , 37,5 , 8,10 , 21953,52 , 22005,87 , 22092,26 , 22118,59 , 22005,87 , 22092,26 , 11790,29 , 11819,77 , 11896,15 , 11911,30 , 11819,77 , 11896,15 , 385,2 , 351,2 , 1045,7 , 5,17 , 22,23 , {71,66,80}, 115,1 , 14525,92 , 4,4 , 4,0 , 4293,7 , 4300,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/UnitedKingdom
+ { 134, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 762,11 , 773,10 , 27,8 , 10,17 , 37,5 , 8,10 , 21953,52 , 22005,87 , 22092,26 , 22118,59 , 22005,87 , 22092,26 , 11790,29 , 11819,77 , 11896,15 , 11911,30 , 11819,77 , 11896,15 , 385,2 , 351,2 , 1045,7 , 5,17 , 22,23 , {71,66,80}, 115,1 , 14525,92 , 4,4 , 4,0 , 4293,7 , 4300,16 , 2, 1, 1, 6, 7 }, // Welsh/Latin/United Kingdom
{ 135, 7, 187, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1181,10 , 1453,17 , 37,5 , 8,10 , 22177,47 , 22224,84 , 158,27 , 22177,47 , 22224,84 , 158,27 , 11941,28 , 11969,50 , 11941,28 , 11941,28 , 11969,50 , 11941,28 , 387,3 , 353,3 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 14617,65 , 8,5 , 4,0 , 4316,5 , 4321,8 , 0, 0, 1, 6, 7 }, // Wolof/Latin/Senegal
- { 136, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/SouthAfrica
+ { 136, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Xhosa/Latin/South Africa
{ 137, 18, 260, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 783,9 , 783,9 , 27,8 , 1470,19 , 37,5 , 8,10 , 22308,58 , 22366,92 , 158,27 , 22366,92 , 22366,92 , 158,27 , 12019,54 , 12019,54 , 85,14 , 12019,54 , 12019,54 , 85,14 , 390,11 , 356,10 , 45,4 , 5,17 , 22,23 , {0,0,0}, 0,0 , 2586,0 , 41,6 , 4,0 , 4329,6 , 4335,5 , 2, 1, 1, 6, 7 }, // Yiddish/Hebrew/World
{ 138, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 22458,73 , 22531,121 , 158,27 , 22458,73 , 22531,121 , 158,27 , 12073,44 , 12117,69 , 85,14 , 12073,44 , 12117,69 , 85,14 , 401,5 , 366,5 , 45,4 , 5,17 , 22,23 , {78,71,78}, 174,1 , 14682,34 , 4,4 , 4,0 , 4340,10 , 4350,18 , 2, 1, 1, 6, 7 }, // Yoruba/Latin/Nigeria
{ 138, 7, 23, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 22652,74 , 22726,134 , 158,27 , 22652,74 , 22726,134 , 158,27 , 12186,44 , 12230,69 , 85,14 , 12186,44 , 12230,69 , 85,14 , 406,5 , 371,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 14716,34 , 4,4 , 4,0 , 4340,10 , 4368,16 , 0, 0, 1, 6, 7 }, // Yoruba/Latin/Benin
- { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 792,9 , 801,8 , 543,6 , 35,18 , 37,5 , 8,10 , 22860,48 , 22908,91 , 134,24 , 22860,48 , 22908,91 , 22999,24 , 12299,28 , 12327,74 , 12401,14 , 12299,28 , 12327,74 , 12401,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 14750,67 , 4,4 , 4,0 , 4384,7 , 4391,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/SouthAfrica
- { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 437,16 , 5904,48 , 13926,83 , 134,24 , 23023,59 , 13926,83 , 134,24 , 12415,28 , 12443,51 , 2363,14 , 12494,28 , 12443,51 , 2363,14 , 411,9 , 376,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 13,5 , 4,0 , 4408,7 , 4415,5 , 2, 0, 1, 6, 7 }, // NorwegianNynorsk/Latin/Norway
- { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 468,19 , 37,5 , 8,10 , 16459,48 , 23082,83 , 16435,24 , 16459,48 , 23082,83 , 16435,24 , 2086,28 , 2114,58 , 2172,14 , 2086,28 , 2114,58 , 2186,14 , 420,10 , 387,7 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 14817,170 , 13,5 , 4,0 , 4420,8 , 620,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/BosniaAndHerzegowina
- { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 23165,48 , 23213,83 , 12531,24 , 23165,48 , 23213,83 , 12531,24 , 12522,28 , 12550,56 , 8617,14 , 12522,28 , 12550,56 , 8617,14 , 225,9 , 394,7 , 45,4 , 5,17 , 22,23 , {66,65,77}, 290,2 , 14987,151 , 13,5 , 4,0 , 4428,8 , 3512,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/BosniaAndHerzegowina
+ { 140, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 792,9 , 801,8 , 543,6 , 35,18 , 37,5 , 8,10 , 22860,48 , 22908,91 , 134,24 , 22860,48 , 22908,91 , 22999,24 , 12299,28 , 12327,74 , 12401,14 , 12299,28 , 12327,74 , 12401,14 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {90,65,82}, 5,1 , 14750,67 , 4,4 , 4,0 , 4384,7 , 4391,17 , 2, 1, 7, 6, 7 }, // Zulu/Latin/South Africa
+ { 141, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 192,8 , 192,8 , 981,10 , 496,17 , 37,5 , 437,16 , 5904,48 , 13926,83 , 134,24 , 23023,59 , 13926,83 , 134,24 , 12415,28 , 12443,51 , 2363,14 , 12494,28 , 12443,51 , 2363,14 , 411,9 , 376,11 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 9799,44 , 13,5 , 4,0 , 4408,7 , 4415,5 , 2, 0, 1, 6, 7 }, // Norwegian Nynorsk/Latin/Norway
+ { 142, 7, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 1039,7 , 468,19 , 37,5 , 8,10 , 16459,48 , 23082,83 , 16435,24 , 16459,48 , 23082,83 , 16435,24 , 2086,28 , 2114,58 , 2172,14 , 2086,28 , 2114,58 , 2186,14 , 420,10 , 387,7 , 313,7 , 5,17 , 22,23 , {66,65,77}, 140,2 , 14817,170 , 13,5 , 4,0 , 4420,8 , 620,19 , 2, 1, 1, 6, 7 }, // Bosnian/Latin/Bosnia And Herzegowina
+ { 142, 2, 27, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 116,7 , 116,7 , 1039,7 , 1046,20 , 37,5 , 8,10 , 23165,48 , 23213,83 , 12531,24 , 23165,48 , 23213,83 , 12531,24 , 12522,28 , 12550,56 , 8617,14 , 12522,28 , 12550,56 , 8617,14 , 225,9 , 394,7 , 45,4 , 5,17 , 22,23 , {66,65,77}, 290,2 , 14987,151 , 13,5 , 4,0 , 4428,8 , 3512,19 , 2, 1, 1, 6, 7 }, // Bosnian/Cyrillic/Bosnia And Herzegowina
{ 143, 29, 131, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,86,82}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 5, 6, 7 }, // Divehi/Thaana/Maldives
- { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 686,17 , 37,5 , 8,10 , 23296,102 , 23398,140 , 158,27 , 23296,102 , 23398,140 , 158,27 , 12606,30 , 12636,57 , 85,14 , 12606,30 , 12636,57 , 85,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 115,1 , 0,7 , 4,4 , 4,0 , 4436,5 , 4441,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/IsleOfMan
- { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 98,16 , 37,5 , 8,10 , 23538,46 , 23584,130 , 158,27 , 23538,46 , 23584,130 , 158,27 , 12693,28 , 12721,61 , 85,14 , 12693,28 , 12721,61 , 85,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 115,1 , 0,7 , 4,4 , 4,0 , 4453,8 , 4461,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/UnitedKingdom
+ { 144, 7, 251, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 686,17 , 37,5 , 8,10 , 23296,102 , 23398,140 , 158,27 , 23296,102 , 23398,140 , 158,27 , 12606,30 , 12636,57 , 85,14 , 12606,30 , 12636,57 , 85,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 115,1 , 0,7 , 4,4 , 4,0 , 4436,5 , 4441,12 , 2, 1, 1, 6, 7 }, // Manx/Latin/Isle Of Man
+ { 145, 7, 224, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 98,16 , 37,5 , 8,10 , 23538,46 , 23584,130 , 158,27 , 23538,46 , 23584,130 , 158,27 , 12693,28 , 12721,61 , 85,14 , 12693,28 , 12721,61 , 85,14 , 66,4 , 63,4 , 45,4 , 5,17 , 22,23 , {71,66,80}, 115,1 , 0,7 , 4,4 , 4,0 , 4453,8 , 4461,14 , 2, 1, 1, 6, 7 }, // Cornish/Latin/United Kingdom
{ 146, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1489,8 , 1497,18 , 18,7 , 25,12 , 23714,48 , 23762,192 , 158,27 , 23714,48 , 23762,192 , 158,27 , 12782,28 , 12810,49 , 12859,14 , 12782,28 , 12810,49 , 12859,14 , 430,2 , 401,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15138,17 , 4,4 , 4,0 , 4475,4 , 4479,5 , 2, 1, 1, 6, 7 }, // Akan/Latin/Ghana
{ 147, 13, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1515,6 , 98,16 , 18,7 , 25,12 , 23954,88 , 23954,88 , 158,27 , 23954,88 , 23954,88 , 158,27 , 12873,49 , 12873,49 , 12922,20 , 12873,49 , 12873,49 , 12922,20 , 188,5 , 403,5 , 45,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 15155,13 , 8,5 , 4,0 , 4484,6 , 2633,4 , 2, 1, 7, 7, 7 }, // Konkani/Devanagari/India
{ 148, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,72,83}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Ga/Latin/Ghana
@@ -1700,11 +1700,11 @@ static const QLocaleData locale_data[] = {
{ 157, 14, 67, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,82,78}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tigre/Ethiopic/Eritrea
{ 158, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 174,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Jju/Latin/Nigeria
{ 159, 7, 106, 44, 46, 59, 37, 48, 45, 43, 101, 8216, 8217, 8220, 8221, 0,6 , 0,6 , 254,7 , 254,7 , 27,8 , 1521,27 , 37,5 , 8,10 , 24437,48 , 24485,77 , 24562,24 , 24437,48 , 24485,77 , 24562,24 , 13144,28 , 13172,50 , 3150,14 , 13144,28 , 13172,50 , 3150,14 , 441,2 , 419,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 3102,20 , 8,5 , 4,0 , 4509,6 , 4515,6 , 2, 1, 1, 6, 7 }, // Friulian/Latin/Italy
- { 160, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Venda/Latin/SouthAfrica
+ { 160, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Venda/Latin/South Africa
{ 161, 7, 83, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 809,11 , 820,10 , 543,6 , 1548,23 , 493,12 , 505,17 , 24586,48 , 24634,87 , 24721,24 , 24586,48 , 24634,87 , 24721,24 , 13222,28 , 13250,44 , 13294,14 , 13222,28 , 13250,44 , 13294,14 , 443,3 , 421,5 , 45,4 , 5,17 , 22,23 , {71,72,83}, 163,3 , 15203,37 , 4,4 , 4,0 , 4521,6 , 4527,12 , 2, 1, 1, 6, 7 }, // Ewe/Latin/Ghana
{ 161, 7, 212, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 809,11 , 820,10 , 543,6 , 1548,23 , 37,5 , 8,10 , 24586,48 , 24634,87 , 24721,24 , 24586,48 , 24634,87 , 24721,24 , 13222,28 , 13250,44 , 13294,14 , 13222,28 , 13250,44 , 13294,14 , 443,3 , 421,5 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 15240,106 , 4,4 , 4,0 , 4521,6 , 4539,11 , 0, 0, 1, 6, 7 }, // Ewe/Latin/Togo
{ 162, 14, 69, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,84,66}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Walamo/Ethiopic/Ethiopia
- { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 287,6 , 10,17 , 18,7 , 25,12 , 24745,59 , 24804,95 , 158,27 , 24745,59 , 24804,95 , 158,27 , 13308,21 , 13329,57 , 85,14 , 13308,21 , 13329,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 4,0 , 4550,14 , 4564,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/UnitedStates
+ { 163, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 287,6 , 10,17 , 18,7 , 25,12 , 24745,59 , 24804,95 , 158,27 , 24745,59 , 24804,95 , 158,27 , 13308,21 , 13329,57 , 85,14 , 13308,21 , 13329,57 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 4,4 , 4,0 , 4550,14 , 4564,19 , 2, 1, 7, 6, 7 }, // Hawaiian/Latin/United States
{ 164, 7, 157, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {78,71,78}, 174,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Tyap/Latin/Nigeria
{ 165, 7, 129, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,87,75}, 0,0 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Nyanja/Latin/Malawi
{ 166, 7, 170, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 830,9 , 839,8 , 543,6 , 35,18 , 18,7 , 25,12 , 24899,48 , 24947,88 , 25035,38 , 24899,48 , 24947,88 , 24899,48 , 13386,28 , 13414,55 , 13386,28 , 13386,28 , 13414,55 , 13386,28 , 0,2 , 0,2 , 0,5 , 5,17 , 22,23 , {80,72,80}, 175,1 , 15346,58 , 4,4 , 4,0 , 4583,8 , 4591,9 , 2, 1, 7, 6, 7 }, // Filipino/Latin/Philippines
@@ -1715,8 +1715,8 @@ static const QLocaleData locale_data[] = {
{ 169, 7, 121, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {76,82,68}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Kpelle/Latin/Liberia
{ 170, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 427,8 , 427,8 , 383,7 , 1571,23 , 522,10 , 532,19 , 7980,59 , 25197,85 , 134,24 , 7980,59 , 25197,85 , 134,24 , 13623,28 , 13651,65 , 3738,14 , 13623,28 , 13651,65 , 3738,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15459,15 , 13,5 , 4,0 , 4651,14 , 4665,11 , 2, 1, 1, 6, 7 }, // Low German/Latin/Germany
{ 170, 7, 151, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 427,8 , 427,8 , 383,7 , 1571,23 , 522,10 , 532,19 , 7980,59 , 25197,85 , 134,24 , 7980,59 , 25197,85 , 134,24 , 13623,28 , 13651,65 , 3738,14 , 13623,28 , 13651,65 , 3738,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15459,15 , 13,5 , 4,0 , 4651,14 , 4676,12 , 2, 1, 1, 6, 7 }, // Low German/Latin/Netherlands
- { 171, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // South Ndebele/Latin/SouthAfrica
- { 172, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Northern Sotho/Latin/SouthAfrica
+ { 171, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // South Ndebele/Latin/South Africa
+ { 172, 7, 195, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {90,65,82}, 5,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 6, 7 }, // Northern Sotho/Latin/South Africa
{ 173, 7, 161, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 25282,59 , 25341,145 , 25486,24 , 25282,59 , 25341,145 , 25486,24 , 13716,33 , 13749,75 , 13824,14 , 13716,33 , 13749,75 , 13824,14 , 460,11 , 439,13 , 45,4 , 5,17 , 22,23 , {78,79,75}, 186,2 , 15474,63 , 13,5 , 4,0 , 4688,15 , 4703,5 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Norway
{ 173, 7, 73, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 981,10 , 98,16 , 37,5 , 8,10 , 25510,60 , 25341,145 , 25486,24 , 25510,60 , 25341,145 , 25486,24 , 13838,21 , 13859,70 , 13929,14 , 13838,21 , 13859,70 , 13929,14 , 471,2 , 452,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 15537,23 , 13,5 , 4,0 , 4688,15 , 4708,6 , 2, 1, 1, 6, 7 }, // Northern Sami/Latin/Finland
{ 173, 7, 205, 44, 160, 59, 37, 48, 8722, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 228,8 , 228,8 , 53,10 , 63,17 , 37,5 , 8,10 , 25282,59 , 25341,145 , 25486,24 , 25282,59 , 25341,145 , 25486,24 , 13716,33 , 13749,75 , 13824,14 , 13716,33 , 13749,75 , 13824,14 , 460,11 , 439,13 , 45,4 , 5,17 , 22,23 , {83,69,75}, 186,2 , 15560,63 , 13,5 , 4,0 , 4688,15 , 4714,6 , 2, 0, 1, 6, 7 }, // Northern Sami/Latin/Sweden
@@ -1741,13 +1741,13 @@ static const QLocaleData locale_data[] = {
{ 188, 7, 132, 46, 44, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 28484,47 , 28531,92 , 28623,24 , 28484,47 , 28531,92 , 28623,24 , 15514,28 , 15542,44 , 15586,14 , 15514,28 , 15542,44 , 15586,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 16022,24 , 4,4 , 4,0 , 4878,9 , 2155,4 , 0, 0, 1, 6, 7 }, // Bambara/Latin/Mali
{ 188, 75, 132, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Bambara/Nko/Mali
{ 189, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 28647,48 , 28695,207 , 28902,24 , 28647,48 , 28695,207 , 28902,24 , 15600,28 , 15628,64 , 15692,14 , 15600,28 , 15628,64 , 15692,14 , 547,2 , 535,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15623,24 , 4,4 , 4,0 , 4887,6 , 1182,5 , 2, 1, 7, 6, 7 }, // Embu/Latin/Kenya
- { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 870,8 , 870,8 , 543,6 , 35,18 , 18,7 , 25,12 , 28926,36 , 28962,58 , 29020,24 , 28926,36 , 28962,58 , 29020,24 , 15706,28 , 15734,49 , 15783,14 , 15706,28 , 15734,49 , 15783,14 , 549,3 , 537,6 , 1111,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16046,25 , 4,4 , 4,0 , 4893,3 , 4896,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/UnitedStates
+ { 190, 12, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 870,8 , 870,8 , 543,6 , 35,18 , 18,7 , 25,12 , 28926,36 , 28962,58 , 29020,24 , 28926,36 , 28962,58 , 29020,24 , 15706,28 , 15734,49 , 15783,14 , 15706,28 , 15734,49 , 15783,14 , 549,3 , 537,6 , 1111,6 , 5,17 , 22,23 , {85,83,68}, 6,1 , 16046,25 , 4,4 , 4,0 , 4893,3 , 4896,15 , 2, 1, 7, 6, 7 }, // Cherokee/Cherokee/United States
{ 191, 7, 137, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 29044,47 , 29091,68 , 29159,24 , 29044,47 , 29091,68 , 29159,24 , 15797,27 , 15824,48 , 15872,14 , 15797,27 , 15824,48 , 15872,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {77,85,82}, 172,2 , 16071,21 , 41,6 , 4,0 , 4911,14 , 4925,5 , 0, 0, 1, 6, 7 }, // Morisyen/Latin/Mauritius
{ 192, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 18463,48 , 29183,264 , 134,24 , 18463,48 , 29183,264 , 134,24 , 15886,28 , 15914,133 , 14830,14 , 15886,28 , 15914,133 , 14830,14 , 552,4 , 543,5 , 45,4 , 5,17 , 22,23 , {84,90,83}, 188,3 , 15995,27 , 4,4 , 4,0 , 4930,10 , 1616,8 , 0, 0, 1, 6, 7 }, // Makonde/Latin/Tanzania
{ 193, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8221, 8221, 8217, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 29447,83 , 29530,111 , 29641,24 , 29447,83 , 29530,111 , 29641,24 , 16047,36 , 16083,63 , 16146,14 , 16047,36 , 16083,63 , 16146,14 , 556,3 , 548,3 , 45,4 , 5,17 , 22,23 , {84,90,83}, 188,3 , 16092,29 , 41,6 , 4,0 , 4940,8 , 4948,9 , 0, 0, 1, 6, 7 }, // Langi/Latin/Tanzania
{ 194, 7, 221, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 29665,48 , 29713,97 , 134,24 , 29665,48 , 29713,97 , 134,24 , 16160,28 , 16188,66 , 16254,14 , 16160,28 , 16188,66 , 16254,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,71,88}, 193,3 , 16121,26 , 0,4 , 4,0 , 4957,7 , 4964,7 , 0, 0, 1, 6, 7 }, // Ganda/Latin/Uganda
{ 195, 7, 239, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 18,7 , 25,12 , 29810,48 , 29858,83 , 29941,24 , 29810,48 , 29858,83 , 29941,24 , 16268,80 , 16268,80 , 85,14 , 16268,80 , 16268,80 , 85,14 , 559,8 , 551,7 , 45,4 , 5,17 , 22,23 , {90,77,87}, 127,1 , 0,7 , 4,4 , 4,0 , 4971,9 , 1785,6 , 2, 1, 1, 6, 7 }, // Bemba/Latin/Zambia
- { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 433,8 , 1594,27 , 37,5 , 8,10 , 29965,48 , 30013,85 , 134,24 , 29965,48 , 30013,85 , 134,24 , 16348,28 , 16376,73 , 16449,14 , 16348,28 , 16463,73 , 16449,14 , 70,2 , 67,2 , 45,4 , 340,17 , 22,23 , {67,86,69}, 271,1 , 16147,43 , 13,5 , 4,0 , 4980,12 , 4992,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/CapeVerde
+ { 196, 7, 39, 44, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 163,7 , 163,7 , 433,8 , 1594,27 , 37,5 , 8,10 , 29965,48 , 30013,85 , 134,24 , 29965,48 , 30013,85 , 134,24 , 16348,28 , 16376,73 , 16449,14 , 16348,28 , 16463,73 , 16449,14 , 70,2 , 67,2 , 45,4 , 340,17 , 22,23 , {67,86,69}, 271,1 , 16147,43 , 13,5 , 4,0 , 4980,12 , 4992,10 , 2, 1, 1, 6, 7 }, // Kabuverdianu/Latin/Cape Verde
{ 197, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 30098,48 , 30146,86 , 30232,24 , 30098,48 , 30146,86 , 30232,24 , 16536,28 , 16564,51 , 16615,14 , 16536,28 , 16564,51 , 16615,14 , 567,2 , 558,2 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 15623,24 , 4,4 , 4,0 , 5002,6 , 1182,5 , 2, 1, 7, 6, 7 }, // Meru/Latin/Kenya
{ 198, 7, 111, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 30256,49 , 30305,121 , 30426,24 , 30256,49 , 30305,121 , 30426,24 , 16629,28 , 16657,53 , 16710,14 , 16629,28 , 16657,53 , 16710,14 , 569,6 , 560,10 , 45,4 , 5,17 , 22,23 , {75,69,83}, 2,3 , 16190,26 , 4,4 , 4,0 , 5008,8 , 5016,12 , 2, 1, 7, 6, 7 }, // Kalenjin/Latin/Kenya
{ 199, 7, 148, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 18,7 , 25,12 , 0,48 , 30450,136 , 134,24 , 0,48 , 30450,136 , 134,24 , 16724,23 , 16747,92 , 16839,14 , 16724,23 , 16747,92 , 16839,14 , 575,7 , 570,5 , 45,4 , 5,17 , 22,23 , {78,65,68}, 6,1 , 16216,22 , 4,4 , 4,0 , 5028,13 , 5041,8 , 2, 1, 1, 6, 7 }, // Nama/Latin/Namibia
@@ -1772,20 +1772,20 @@ static const QLocaleData locale_data[] = {
{ 218, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 21292,48 , 11235,80 , 11152,24 , 21292,48 , 11235,80 , 11152,24 , 17949,25 , 17974,45 , 18019,17 , 17949,25 , 17974,45 , 17949,25 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 119,1 , 16513,43 , 13,5 , 4,0 , 5210,7 , 5217,5 , 2, 1, 1, 6, 7 }, // Chechen/Cyrillic/Russia
{ 219, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 878,8 , 878,8 , 955,10 , 1644,23 , 37,5 , 8,10 , 32002,65 , 32067,117 , 32184,30 , 32002,65 , 32214,117 , 32184,30 , 18036,37 , 18073,68 , 11221,14 , 18036,37 , 18073,68 , 11221,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 119,1 , 16556,44 , 13,5 , 4,0 , 5222,19 , 5241,7 , 2, 1, 1, 6, 7 }, // Church/Cyrillic/Russia
{ 220, 2, 178, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {82,85,66}, 119,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Chuvash/Cyrillic/Russia
- { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 32331,49 , 32380,99 , 32479,24 , 32331,49 , 32380,99 , 32479,24 , 18141,28 , 18169,50 , 18219,14 , 18141,28 , 18169,50 , 18219,14 , 656,5 , 649,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 203,2 , 16600,24 , 0,4 , 4,0 , 5248,8 , 5256,16 , 2, 1, 1, 6, 7 }, // LubaKatanga/Latin/CongoKinshasa
+ { 230, 7, 49, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 32331,49 , 32380,99 , 32479,24 , 32331,49 , 32380,99 , 32479,24 , 18141,28 , 18169,50 , 18219,14 , 18141,28 , 18169,50 , 18219,14 , 656,5 , 649,6 , 45,4 , 5,17 , 22,23 , {67,68,70}, 203,2 , 16600,24 , 0,4 , 4,0 , 5248,8 , 5256,16 , 2, 1, 1, 6, 7 }, // Luba Katanga/Latin/Congo Kinshasa
{ 231, 7, 125, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 886,10 , 886,10 , 174,8 , 593,18 , 37,5 , 8,10 , 32503,48 , 32551,85 , 134,24 , 32636,59 , 32551,85 , 134,24 , 18233,28 , 18261,65 , 3738,14 , 18326,35 , 18261,65 , 3738,14 , 661,5 , 655,8 , 452,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 8384,19 , 13,5 , 4,0 , 5272,14 , 5286,10 , 2, 1, 1, 6, 7 }, // Luxembourgish/Latin/Luxembourg
{ 236, 7, 21, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 1, 6, 7 }, // Walloon/Latin/Belgium
{ 237, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 8218, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 32695,48 , 32743,195 , 32938,24 , 32695,48 , 32743,195 , 32938,24 , 18361,28 , 18389,72 , 18461,14 , 18361,28 , 18389,72 , 18461,14 , 666,3 , 663,3 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16624,21 , 0,4 , 4,0 , 5296,5 , 5301,7 , 0, 0, 1, 6, 7 }, // Aghem/Latin/Cameroon
{ 238, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 32962,48 , 33010,90 , 33100,24 , 32962,48 , 33010,90 , 33100,24 , 18475,28 , 18503,70 , 18573,14 , 18475,28 , 18503,70 , 18573,14 , 669,10 , 666,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16645,22 , 13,5 , 4,0 , 5308,5 , 5313,8 , 0, 0, 1, 6, 7 }, // Basaa/Latin/Cameroon
{ 239, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 31225,46 , 31271,88 , 31359,24 , 31225,46 , 31271,88 , 31359,24 , 17656,28 , 18587,53 , 18640,14 , 17656,28 , 18587,53 , 18640,14 , 679,8 , 675,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 16408,23 , 0,4 , 4,0 , 5321,10 , 5331,5 , 0, 0, 1, 6, 7 }, // Zarma/Latin/Niger
{ 240, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 33124,49 , 33173,99 , 33272,24 , 33124,49 , 33173,99 , 33272,24 , 18654,28 , 18682,45 , 18727,14 , 18654,28 , 18682,45 , 18727,14 , 687,5 , 685,6 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 13,5 , 4,0 , 5336,5 , 1952,8 , 0, 0, 1, 6, 7 }, // Duala/Latin/Cameroon
- { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 33296,36 , 33332,82 , 33414,24 , 33296,36 , 33332,82 , 33414,24 , 18741,28 , 18769,50 , 18819,14 , 18741,28 , 18769,50 , 18819,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 16667,23 , 13,5 , 4,0 , 5341,5 , 5346,7 , 0, 0, 1, 6, 7 }, // JolaFonyi/Latin/Senegal
+ { 241, 7, 187, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 33296,36 , 33332,82 , 33414,24 , 33296,36 , 33332,82 , 33414,24 , 18741,28 , 18769,50 , 18819,14 , 18741,28 , 18769,50 , 18819,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 16667,23 , 13,5 , 4,0 , 5341,5 , 5346,7 , 0, 0, 1, 6, 7 }, // Jola Fonyi/Latin/Senegal
{ 242, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 33438,50 , 33488,141 , 33629,24 , 33438,50 , 33488,141 , 33629,24 , 18833,30 , 18863,85 , 18948,14 , 18833,30 , 18863,85 , 18948,14 , 692,7 , 691,9 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16690,23 , 13,5 , 4,0 , 5353,6 , 5359,7 , 0, 0, 1, 6, 7 }, // Ewondo/Latin/Cameroon
{ 243, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 33653,39 , 33692,191 , 158,27 , 33653,39 , 33692,191 , 158,27 , 18962,29 , 18991,45 , 19036,14 , 18962,29 , 18991,45 , 19036,14 , 699,6 , 700,7 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16713,11 , 13,5 , 4,0 , 5366,5 , 5371,7 , 0, 0, 1, 6, 7 }, // Bafia/Latin/Cameroon
- { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 33883,48 , 33931,213 , 34144,24 , 33883,48 , 33931,213 , 34144,24 , 19050,28 , 19078,59 , 19137,14 , 19050,28 , 19078,59 , 19137,14 , 705,8 , 707,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 272,3 , 0,7 , 41,6 , 4,0 , 5378,5 , 5383,10 , 2, 1, 7, 6, 7 }, // MakhuwaMeetto/Latin/Mozambique
+ { 244, 7, 146, 44, 46, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 33883,48 , 33931,213 , 34144,24 , 33883,48 , 33931,213 , 34144,24 , 19050,28 , 19078,59 , 19137,14 , 19050,28 , 19078,59 , 19137,14 , 705,8 , 707,10 , 45,4 , 5,17 , 22,23 , {77,90,78}, 272,3 , 0,7 , 41,6 , 4,0 , 5378,5 , 5383,10 , 2, 1, 7, 6, 7 }, // Makhuwa Meetto/Latin/Mozambique
{ 245, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 34168,48 , 34216,139 , 34355,24 , 34168,48 , 34216,139 , 34355,24 , 19151,28 , 19179,74 , 19253,14 , 19151,28 , 19179,74 , 19253,14 , 713,5 , 717,5 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16724,17 , 4,4 , 4,0 , 5393,6 , 5399,7 , 0, 0, 1, 6, 7 }, // Mundang/Latin/Cameroon
{ 246, 7, 37, 44, 160, 59, 37, 48, 45, 43, 101, 8222, 8221, 171, 187, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 34379,51 , 34430,143 , 158,27 , 34379,51 , 34430,143 , 158,27 , 19267,30 , 19297,89 , 19386,14 , 19267,30 , 19297,89 , 19386,14 , 718,4 , 722,4 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16741,20 , 13,5 , 4,0 , 5406,6 , 5412,7 , 0, 0, 1, 6, 7 }, // Kwasio/Latin/Cameroon
- { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1667,9 , 98,16 , 18,7 , 551,12 , 34573,54 , 34627,96 , 34723,24 , 34573,54 , 34627,96 , 34723,24 , 19400,38 , 19438,79 , 19517,14 , 19400,38 , 19438,79 , 19517,14 , 722,2 , 726,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 115,1 , 0,7 , 4,4 , 4,0 , 5419,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/SouthSudan
+ { 247, 7, 254, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 1667,9 , 98,16 , 18,7 , 551,12 , 34573,54 , 34627,96 , 34723,24 , 34573,54 , 34627,96 , 34723,24 , 19400,38 , 19438,79 , 19517,14 , 19400,38 , 19438,79 , 19517,14 , 722,2 , 726,2 , 45,4 , 5,17 , 22,23 , {83,83,80}, 115,1 , 0,7 , 4,4 , 4,0 , 5419,9 , 0,0 , 2, 1, 1, 6, 7 }, // Nuer/Latin/South Sudan
{ 248, 2, 178, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8220, 0,6 , 0,6 , 896,11 , 896,11 , 245,6 , 1676,30 , 37,5 , 8,10 , 34747,50 , 34797,116 , 34913,24 , 34747,50 , 34937,121 , 34913,24 , 19531,21 , 19552,71 , 19623,14 , 19531,21 , 19552,71 , 19623,14 , 724,2 , 728,2 , 1117,5 , 1122,17 , 22,23 , {82,85,66}, 119,1 , 16761,47 , 13,5 , 4,0 , 5428,9 , 5437,9 , 2, 1, 1, 6, 7 }, // Sakha/Cyrillic/Russia
{ 249, 7, 210, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 120,10 , 10,17 , 37,5 , 8,10 , 35058,48 , 35106,117 , 158,27 , 35058,48 , 35106,117 , 158,27 , 19637,28 , 19665,60 , 19725,14 , 19637,28 , 19665,60 , 19725,14 , 726,9 , 730,9 , 45,4 , 5,17 , 22,23 , {84,90,83}, 188,3 , 16808,25 , 0,4 , 4,0 , 5446,9 , 5455,9 , 0, 0, 1, 6, 7 }, // Sangu/Latin/Tanzania
{ 251, 7, 156, 46, 160, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 31225,46 , 31271,88 , 31359,24 , 31225,46 , 31271,88 , 31359,24 , 17656,28 , 17684,54 , 17441,14 , 17656,28 , 17684,54 , 17441,14 , 679,8 , 675,10 , 45,4 , 5,17 , 22,23 , {88,79,70}, 200,3 , 16408,23 , 0,4 , 4,0 , 5464,13 , 5331,5 , 0, 0, 1, 6, 7 }, // Tasawaq/Latin/Niger
@@ -1799,15 +1799,15 @@ static const QLocaleData locale_data[] = {
{ 259, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 1497,18 , 37,5 , 8,10 , 36414,137 , 36551,142 , 36693,36 , 36414,137 , 36551,142 , 36693,36 , 20260,49 , 20260,49 , 20309,21 , 20260,49 , 20260,49 , 20309,21 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16896,12 , 8,5 , 4,0 , 5551,5 , 5556,7 , 0, 0, 1, 6, 7 }, // Meta/Latin/Cameroon
{ 260, 7, 37, 44, 46, 59, 37, 48, 45, 43, 101, 171, 187, 8220, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 27,8 , 1716,32 , 37,5 , 8,10 , 36729,165 , 36729,165 , 158,27 , 36729,165 , 36729,165 , 158,27 , 20330,111 , 20330,111 , 85,14 , 20330,111 , 20330,111 , 85,14 , 763,9 , 771,8 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 16908,16 , 8,5 , 4,0 , 5563,16 , 5579,7 , 0, 0, 1, 6, 7 }, // Ngiemboon/Latin/Cameroon
{ 290, 11, 100, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,78,82}, 117,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 1, 7, 7, 7 }, // Manipuri/Bengali/India
- { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 332,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // TaiDam/Tai Viet/Vietnam
+ { 309, 100, 232, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {86,78,68}, 332,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Tai Dam/Tai Viet/Vietnam
{ 312, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Akoose/Latin/Cameroon
- { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 543,6 , 35,18 , 18,7 , 25,12 , 36894,180 , 36894,180 , 158,27 , 36894,180 , 36894,180 , 158,27 , 20441,87 , 20441,87 , 85,14 , 20441,87 , 20441,87 , 20528,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 41,6 , 4,0 , 5586,12 , 5598,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/UnitedStates
+ { 313, 7, 225, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 543,6 , 35,18 , 18,7 , 25,12 , 36894,180 , 36894,180 , 158,27 , 36894,180 , 36894,180 , 158,27 , 20441,87 , 20441,87 , 85,14 , 20441,87 , 20441,87 , 20528,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {85,83,68}, 6,1 , 0,7 , 41,6 , 4,0 , 5586,12 , 5598,22 , 2, 1, 7, 6, 7 }, // Lakota/Latin/United States
{ 314, 9, 145, 44, 160, 59, 37, 48, 45, 43, 101, 171, 187, 8222, 8221, 0,6 , 0,6 , 0,6 , 0,6 , 433,8 , 98,16 , 37,5 , 8,10 , 27255,48 , 27303,81 , 27384,24 , 27255,48 , 27303,81 , 27384,24 , 14844,30 , 20542,48 , 85,14 , 14844,30 , 20542,48 , 85,14 , 516,6 , 494,8 , 45,4 , 5,17 , 22,23 , {77,65,68}, 0,0 , 15845,21 , 0,4 , 4,0 , 5620,8 , 4805,6 , 2, 1, 6, 5, 6 }, // Standard Moroccan Tamazight/Tifinagh/Morocco
{ 315, 7, 43, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,76,80}, 6,1 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Mapuche/Latin/Chile
{ 316, 1, 103, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 37074,105 , 37074,105 , 37179,24 , 37074,105 , 37074,105 , 37179,24 , 20590,58 , 20590,58 , 20648,14 , 20590,58 , 20590,58 , 20648,14 , 772,3 , 779,3 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 16924,20 , 13,5 , 4,0 , 5628,14 , 5642,5 , 0, 0, 6, 5, 6 }, // Central Kurdish/Arabic/Iraq
{ 316, 1, 102, 1643, 1644, 1563, 1642, 1632, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 37074,105 , 37074,105 , 37179,24 , 37074,105 , 37074,105 , 37179,24 , 20590,58 , 20590,58 , 20648,14 , 20590,58 , 20590,58 , 20648,14 , 772,3 , 779,3 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 16944,19 , 13,5 , 4,0 , 5628,14 , 5647,5 , 0, 0, 6, 5, 5 }, // Central Kurdish/Arabic/Iran
- { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 114,6 , 593,18 , 55,4 , 59,9 , 37203,48 , 37251,85 , 16435,24 , 37336,60 , 37396,93 , 16435,24 , 20662,28 , 20690,53 , 20743,14 , 20662,28 , 20690,53 , 20743,14 , 775,9 , 782,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16963,27 , 13,5 , 4,0 , 5652,14 , 5666,6 , 2, 1, 1, 6, 7 }, // LowerSorbian/Latin/Germany
- { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 114,6 , 593,18 , 563,12 , 59,9 , 37489,48 , 37537,86 , 16435,24 , 37623,60 , 37683,93 , 16435,24 , 20757,28 , 20785,53 , 20838,14 , 20757,28 , 20785,53 , 20838,14 , 775,9 , 792,9 , 1139,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16990,29 , 13,5 , 4,0 , 5672,15 , 5687,6 , 2, 1, 1, 6, 7 }, // UpperSorbian/Latin/Germany
+ { 317, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 114,6 , 593,18 , 55,4 , 59,9 , 37203,48 , 37251,85 , 16435,24 , 37336,60 , 37396,93 , 16435,24 , 20662,28 , 20690,53 , 20743,14 , 20662,28 , 20690,53 , 20743,14 , 775,9 , 782,10 , 45,4 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16963,27 , 13,5 , 4,0 , 5652,14 , 5666,6 , 2, 1, 1, 6, 7 }, // Lower Sorbian/Latin/Germany
+ { 318, 7, 82, 44, 46, 59, 37, 48, 45, 43, 101, 8222, 8220, 8218, 8216, 0,6 , 0,6 , 185,7 , 185,7 , 114,6 , 593,18 , 563,12 , 59,9 , 37489,48 , 37537,86 , 16435,24 , 37623,60 , 37683,93 , 16435,24 , 20757,28 , 20785,53 , 20838,14 , 20757,28 , 20785,53 , 20838,14 , 775,9 , 792,9 , 1139,5 , 5,17 , 22,23 , {69,85,82}, 14,1 , 16990,29 , 13,5 , 4,0 , 5672,15 , 5687,6 , 2, 1, 1, 6, 7 }, // Upper Sorbian/Latin/Germany
{ 319, 7, 37, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {88,65,70}, 32,4 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Kenyang/Latin/Cameroon
{ 320, 7, 38, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {67,65,68}, 233,3 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 2, 0, 7, 6, 7 }, // Mohawk/Latin/Canada
{ 321, 75, 91, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 368,48 , 368,48 , 158,27 , 368,48 , 368,48 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {71,78,70}, 209,2 , 0,7 , 8,5 , 4,0 , 0,0 , 0,0 , 0, 0, 1, 6, 7 }, // Nko/Nko/Guinea
@@ -1821,7 +1821,7 @@ static const QLocaleData locale_data[] = {
{ 346, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 171, 187, 8249, 8250, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 14357,70 , 14357,70 , 158,27 , 14357,70 , 14357,70 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 653,4 , 657,39 , 22,23 , {73,82,82}, 338,3 , 17030,27 , 8,5 , 4,0 , 5724,7 , 3136,5 , 0, 0, 6, 5, 5 }, // Mazanderani/Arabic/Iran
{ 349, 1, 102, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 37,5 , 8,10 , 38181,77 , 38181,77 , 158,27 , 38181,77 , 38181,77 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,82,82}, 0,0 , 0,7 , 8,5 , 4,0 , 5731,11 , 0,0 , 0, 0, 6, 5, 5 }, // Northern Luri/Arabic/Iran
{ 349, 1, 103, 1643, 1644, 1563, 1642, 1776, 45, 43, 101, 8220, 8221, 8216, 8217, 0,6 , 0,6 , 0,6 , 0,6 , 53,10 , 63,17 , 18,7 , 25,12 , 38181,77 , 38181,77 , 158,27 , 38181,77 , 38181,77 , 158,27 , 0,28 , 0,28 , 85,14 , 0,28 , 0,28 , 85,14 , 0,2 , 0,2 , 45,4 , 5,17 , 22,23 , {73,81,68}, 44,5 , 0,7 , 8,5 , 4,0 , 5731,11 , 0,0 , 0, 0, 6, 5, 6 }, // Northern Luri/Arabic/Iraq
- { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 951,5 , 951,5 , 412,8 , 441,14 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2023,28 , 2023,28 , 2051,14 , 2023,28 , 2023,28 , 2051,14 , 60,2 , 57,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 130,3 , 17057,11 , 4,4 , 4,0 , 5742,2 , 5744,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/HongKong
+ { 357, 6, 97, 46, 44, 59, 37, 48, 45, 43, 101, 12300, 12301, 12302, 12303, 170,5 , 170,5 , 951,5 , 951,5 , 412,8 , 441,14 , 198,6 , 215,13 , 4671,39 , 4671,39 , 158,27 , 4671,39 , 4671,39 , 158,27 , 2023,28 , 2023,28 , 2051,14 , 2023,28 , 2023,28 , 2051,14 , 60,2 , 57,2 , 45,4 , 5,17 , 22,23 , {72,75,68}, 130,3 , 17057,11 , 4,4 , 4,0 , 5742,2 , 5744,14 , 2, 1, 7, 6, 7 }, // Cantonese/Traditional Han/Hong Kong
{ 357, 5, 44, 46, 44, 59, 37, 48, 45, 43, 101, 8220, 8221, 8216, 8217, 170,5 , 170,5 , 951,5 , 951,5 , 412,8 , 420,13 , 198,6 , 204,11 , 4671,39 , 4710,38 , 158,27 , 4671,39 , 4710,38 , 158,27 , 2002,21 , 2023,28 , 2051,14 , 2002,21 , 2023,28 , 2051,14 , 60,2 , 57,2 , 45,4 , 5,17 , 22,23 , {67,78,89}, 129,1 , 3122,13 , 4,4 , 4,0 , 5758,2 , 5760,7 , 2, 1, 7, 6, 7 }, // Cantonese/Simplified Han/China
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, {0,0,0}, 0,0, 0,0, 0,0, 0,0, 0,0, 0,0, 0, 0, 0, 0, 0 } // trailing 0s
};
@@ -6392,7 +6392,7 @@ static const char language_name_list[] =
"Mongolian\0"
"Nauru\0"
"Nepali\0"
-"NorwegianBokmal\0"
+"Norwegian Bokmal\0"
"Occitan\0"
"Oriya\0"
"Pashto\0"
@@ -6448,7 +6448,7 @@ static const char language_name_list[] =
"Yoruba\0"
"Zhuang\0"
"Zulu\0"
-"NorwegianNynorsk\0"
+"Norwegian Nynorsk\0"
"Bosnian\0"
"Divehi\0"
"Manx\0"
@@ -6537,7 +6537,7 @@ static const char language_name_list[] =
"Kongo\0"
"Kwanyama\0"
"Limburgish\0"
-"LubaKatanga\0"
+"Luba Katanga\0"
"Luxembourgish\0"
"Navaho\0"
"Ndonga\0"
@@ -6548,10 +6548,10 @@ static const char language_name_list[] =
"Basaa\0"
"Zarma\0"
"Duala\0"
-"JolaFonyi\0"
+"Jola Fonyi\0"
"Ewondo\0"
"Bafia\0"
-"MakhuwaMeetto\0"
+"Makhuwa Meetto\0"
"Mundang\0"
"Kwasio\0"
"Nuer\0"
@@ -6570,26 +6570,26 @@ static const char language_name_list[] =
"Ngiemboon\0"
"Aragonese\0"
"Akkadian\0"
-"AncientEgyptian\0"
-"AncientGreek\0"
+"Ancient Egyptian\0"
+"Ancient Greek\0"
"Aramaic\0"
"Balinese\0"
"Bamun\0"
-"BatakToba\0"
+"Batak Toba\0"
"Buginese\0"
"Buhid\0"
"Carian\0"
"Chakma\0"
-"ClassicalMandaic\0"
+"Classical Mandaic\0"
"Coptic\0"
"Dogri\0"
-"EasternCham\0"
-"EasternKayah\0"
+"Eastern Cham\0"
+"Eastern Kayah\0"
"Etruscan\0"
"Gothic\0"
"Hanunoo\0"
"Ingush\0"
-"LargeFloweryMiao\0"
+"Large Flowery Miao\0"
"Lepcha\0"
"Limbu\0"
"Lisu\0"
@@ -6599,15 +6599,15 @@ static const char language_name_list[] =
"Mandingo\0"
"Manipuri\0"
"Meroitic\0"
-"NorthernThai\0"
-"OldIrish\0"
-"OldNorse\0"
-"OldPersian\0"
-"OldTurkish\0"
+"Northern Thai\0"
+"Old Irish\0"
+"Old Norse\0"
+"Old Persian\0"
+"Old Turkish\0"
"Pahlavi\0"
"Parthian\0"
"Phoenician\0"
-"PrakritLanguage\0"
+"Prakrit Language\0"
"Rejang\0"
"Sabaean\0"
"Samaritan\0"
@@ -6616,16 +6616,16 @@ static const char language_name_list[] =
"Sora\0"
"Sylheti\0"
"Tagbanwa\0"
-"TaiDam\0"
-"TaiNua\0"
+"Tai Dam\0"
+"Tai Nua\0"
"Ugaritic\0"
"Akoose\0"
"Lakota\0"
"Standard Moroccan Tamazight\0"
"Mapuche\0"
"Central Kurdish\0"
-"LowerSorbian\0"
-"UpperSorbian\0"
+"Lower Sorbian\0"
+"Upper Sorbian\0"
"Kenyang\0"
"Mohawk\0"
"Nko\0"
@@ -6663,7 +6663,7 @@ static const char language_name_list[] =
"Tokelau\0"
"Tok Pisin\0"
"Tuvalu\0"
-"UncodedLanguages\0"
+"Uncoded Languages\0"
"Cantonese\0"
"Osage\0"
"Tangut\0"
@@ -6755,281 +6755,281 @@ static const quint16 language_name_index[] = {
680, // Mongolian
690, // Nauru
696, // Nepali
- 703, // NorwegianBokmal
- 719, // Occitan
- 727, // Oriya
- 733, // Pashto
- 740, // Persian
- 748, // Polish
- 755, // Portuguese
- 766, // Punjabi
- 774, // Quechua
- 782, // Romansh
- 790, // Romanian
- 799, // Russian
- 807, // Samoan
- 814, // Sango
- 820, // Sanskrit
- 829, // Serbian
- 837, // Ossetic
- 845, // Southern Sotho
- 860, // Tswana
- 867, // Shona
- 873, // Sindhi
- 880, // Sinhala
- 888, // Swati
- 894, // Slovak
- 901, // Slovenian
- 911, // Somali
- 918, // Spanish
- 926, // Sundanese
- 936, // Swahili
- 944, // Swedish
- 952, // Sardinian
- 962, // Tajik
- 968, // Tamil
- 974, // Tatar
- 980, // Telugu
- 987, // Thai
- 992, // Tibetan
- 1000, // Tigrinya
- 1009, // Tongan
- 1016, // Tsonga
- 1023, // Turkish
- 1031, // Turkmen
- 1039, // Tahitian
- 1048, // Uighur
- 1055, // Ukrainian
- 1065, // Urdu
- 1070, // Uzbek
- 1076, // Vietnamese
- 1087, // Volapuk
- 1095, // Welsh
- 1101, // Wolof
- 1107, // Xhosa
- 1113, // Yiddish
- 1121, // Yoruba
- 1128, // Zhuang
- 1135, // Zulu
- 1140, // NorwegianNynorsk
- 1157, // Bosnian
- 1165, // Divehi
- 1172, // Manx
- 1177, // Cornish
- 1185, // Akan
- 1190, // Konkani
- 1198, // Ga
- 1201, // Igbo
- 1206, // Kamba
- 1212, // Syriac
- 1219, // Blin
- 1224, // Geez
- 1229, // Koro
- 1234, // Sidamo
- 1241, // Atsam
- 1247, // Tigre
- 1253, // Jju
- 1257, // Friulian
- 1266, // Venda
- 1272, // Ewe
- 1276, // Walamo
- 1283, // Hawaiian
- 1292, // Tyap
- 1297, // Nyanja
- 1304, // Filipino
- 1313, // Swiss German
- 1326, // Sichuan Yi
- 1337, // Kpelle
- 1344, // Low German
- 1355, // South Ndebele
- 1369, // Northern Sotho
- 1384, // Northern Sami
- 1398, // Taroko
- 1405, // Gusii
- 1411, // Taita
- 1417, // Fulah
- 1423, // Kikuyu
- 1430, // Samburu
- 1438, // Sena
- 1443, // North Ndebele
- 1457, // Rombo
- 1463, // Tachelhit
- 1473, // Kabyle
- 1480, // Nyankole
- 1489, // Bena
- 1494, // Vunjo
- 1500, // Bambara
- 1508, // Embu
- 1513, // Cherokee
- 1522, // Morisyen
- 1531, // Makonde
- 1539, // Langi
- 1545, // Ganda
- 1551, // Bemba
- 1557, // Kabuverdianu
- 1570, // Meru
- 1575, // Kalenjin
- 1584, // Nama
- 1589, // Machame
- 1597, // Colognian
- 1607, // Masai
- 1613, // Soga
- 1618, // Luyia
- 1624, // Asu
- 1628, // Teso
- 1633, // Saho
- 1638, // Koyra Chiini
- 1651, // Rwa
- 1655, // Luo
- 1659, // Chiga
- 1665, // Central Morocco Tamazight
- 1691, // Koyraboro Senni
- 1707, // Shambala
- 1716, // Bodo
- 1721, // Avaric
- 1728, // Chamorro
- 1737, // Chechen
- 1745, // Church
- 1752, // Chuvash
- 1760, // Cree
- 1765, // Haitian
- 1773, // Herero
- 1780, // Hiri Motu
- 1790, // Kanuri
- 1797, // Komi
- 1802, // Kongo
- 1808, // Kwanyama
- 1817, // Limburgish
- 1828, // LubaKatanga
- 1840, // Luxembourgish
- 1854, // Navaho
- 1861, // Ndonga
- 1868, // Ojibwa
- 1875, // Pali
- 1880, // Walloon
- 1888, // Aghem
- 1894, // Basaa
- 1900, // Zarma
- 1906, // Duala
- 1912, // JolaFonyi
- 1922, // Ewondo
- 1929, // Bafia
- 1935, // MakhuwaMeetto
- 1949, // Mundang
- 1957, // Kwasio
- 1964, // Nuer
- 1969, // Sakha
- 1975, // Sangu
- 1981, // Congo Swahili
- 1995, // Tasawaq
- 2003, // Vai
- 2007, // Walser
- 2014, // Yangben
- 2022, // Avestan
- 2030, // Asturian
- 2039, // Ngomba
- 2046, // Kako
- 2051, // Meta
- 2056, // Ngiemboon
- 2066, // Aragonese
- 2076, // Akkadian
- 2085, // AncientEgyptian
- 2101, // AncientGreek
- 2114, // Aramaic
- 2122, // Balinese
- 2131, // Bamun
- 2137, // BatakToba
- 2147, // Buginese
- 2156, // Buhid
- 2162, // Carian
- 2169, // Chakma
- 2176, // ClassicalMandaic
- 2193, // Coptic
- 2200, // Dogri
- 2206, // EasternCham
- 2218, // EasternKayah
- 2231, // Etruscan
- 2240, // Gothic
- 2247, // Hanunoo
- 2255, // Ingush
- 2262, // LargeFloweryMiao
- 2279, // Lepcha
- 2286, // Limbu
- 2292, // Lisu
- 2297, // Lu
- 2300, // Lycian
- 2307, // Lydian
- 2314, // Mandingo
- 2323, // Manipuri
- 2332, // Meroitic
- 2341, // NorthernThai
- 2354, // OldIrish
- 2363, // OldNorse
- 2372, // OldPersian
- 2383, // OldTurkish
- 2394, // Pahlavi
- 2402, // Parthian
- 2411, // Phoenician
- 2422, // PrakritLanguage
- 2438, // Rejang
- 2445, // Sabaean
- 2453, // Samaritan
- 2463, // Santali
- 2471, // Saurashtra
- 2482, // Sora
- 2487, // Sylheti
- 2495, // Tagbanwa
- 2504, // TaiDam
- 2511, // TaiNua
- 2518, // Ugaritic
- 2527, // Akoose
- 2534, // Lakota
- 2541, // Standard Moroccan Tamazight
- 2569, // Mapuche
- 2577, // Central Kurdish
- 2593, // LowerSorbian
- 2606, // UpperSorbian
- 2619, // Kenyang
- 2627, // Mohawk
- 2634, // Nko
- 2638, // Prussian
- 2647, // Kiche
- 2653, // Southern Sami
- 2667, // Lule Sami
- 2677, // Inari Sami
- 2688, // Skolt Sami
- 2699, // Warlpiri
- 2708, // Manichaean Middle Persian
- 2734, // Mende
- 2740, // Ancient North Arabian
- 2762, // Linear A
- 2771, // Hmong Njua
- 2782, // Ho
- 2785, // Lezghian
- 2794, // Bassa
- 2800, // Mono
- 2805, // Tedim Chin
- 2816, // Maithili
- 2825, // Ahom
- 2830, // American Sign Language
- 2853, // Ardhamagadhi Prakrit
- 2874, // Bhojpuri
- 2883, // Hieroglyphic Luwian
- 2903, // Literary Chinese
- 2920, // Mazanderani
- 2932, // Mru
- 2936, // Newari
- 2943, // Northern Luri
- 2957, // Palauan
- 2965, // Papiamento
- 2976, // Saraiki
- 2984, // Tokelau
- 2992, // Tok Pisin
- 3002, // Tuvalu
- 3009, // UncodedLanguages
- 3026, // Cantonese
- 3036, // Osage
- 3042, // Tangut
+ 703, // Norwegian Bokmal
+ 720, // Occitan
+ 728, // Oriya
+ 734, // Pashto
+ 741, // Persian
+ 749, // Polish
+ 756, // Portuguese
+ 767, // Punjabi
+ 775, // Quechua
+ 783, // Romansh
+ 791, // Romanian
+ 800, // Russian
+ 808, // Samoan
+ 815, // Sango
+ 821, // Sanskrit
+ 830, // Serbian
+ 838, // Ossetic
+ 846, // Southern Sotho
+ 861, // Tswana
+ 868, // Shona
+ 874, // Sindhi
+ 881, // Sinhala
+ 889, // Swati
+ 895, // Slovak
+ 902, // Slovenian
+ 912, // Somali
+ 919, // Spanish
+ 927, // Sundanese
+ 937, // Swahili
+ 945, // Swedish
+ 953, // Sardinian
+ 963, // Tajik
+ 969, // Tamil
+ 975, // Tatar
+ 981, // Telugu
+ 988, // Thai
+ 993, // Tibetan
+ 1001, // Tigrinya
+ 1010, // Tongan
+ 1017, // Tsonga
+ 1024, // Turkish
+ 1032, // Turkmen
+ 1040, // Tahitian
+ 1049, // Uighur
+ 1056, // Ukrainian
+ 1066, // Urdu
+ 1071, // Uzbek
+ 1077, // Vietnamese
+ 1088, // Volapuk
+ 1096, // Welsh
+ 1102, // Wolof
+ 1108, // Xhosa
+ 1114, // Yiddish
+ 1122, // Yoruba
+ 1129, // Zhuang
+ 1136, // Zulu
+ 1141, // Norwegian Nynorsk
+ 1159, // Bosnian
+ 1167, // Divehi
+ 1174, // Manx
+ 1179, // Cornish
+ 1187, // Akan
+ 1192, // Konkani
+ 1200, // Ga
+ 1203, // Igbo
+ 1208, // Kamba
+ 1214, // Syriac
+ 1221, // Blin
+ 1226, // Geez
+ 1231, // Koro
+ 1236, // Sidamo
+ 1243, // Atsam
+ 1249, // Tigre
+ 1255, // Jju
+ 1259, // Friulian
+ 1268, // Venda
+ 1274, // Ewe
+ 1278, // Walamo
+ 1285, // Hawaiian
+ 1294, // Tyap
+ 1299, // Nyanja
+ 1306, // Filipino
+ 1315, // Swiss German
+ 1328, // Sichuan Yi
+ 1339, // Kpelle
+ 1346, // Low German
+ 1357, // South Ndebele
+ 1371, // Northern Sotho
+ 1386, // Northern Sami
+ 1400, // Taroko
+ 1407, // Gusii
+ 1413, // Taita
+ 1419, // Fulah
+ 1425, // Kikuyu
+ 1432, // Samburu
+ 1440, // Sena
+ 1445, // North Ndebele
+ 1459, // Rombo
+ 1465, // Tachelhit
+ 1475, // Kabyle
+ 1482, // Nyankole
+ 1491, // Bena
+ 1496, // Vunjo
+ 1502, // Bambara
+ 1510, // Embu
+ 1515, // Cherokee
+ 1524, // Morisyen
+ 1533, // Makonde
+ 1541, // Langi
+ 1547, // Ganda
+ 1553, // Bemba
+ 1559, // Kabuverdianu
+ 1572, // Meru
+ 1577, // Kalenjin
+ 1586, // Nama
+ 1591, // Machame
+ 1599, // Colognian
+ 1609, // Masai
+ 1615, // Soga
+ 1620, // Luyia
+ 1626, // Asu
+ 1630, // Teso
+ 1635, // Saho
+ 1640, // Koyra Chiini
+ 1653, // Rwa
+ 1657, // Luo
+ 1661, // Chiga
+ 1667, // Central Morocco Tamazight
+ 1693, // Koyraboro Senni
+ 1709, // Shambala
+ 1718, // Bodo
+ 1723, // Avaric
+ 1730, // Chamorro
+ 1739, // Chechen
+ 1747, // Church
+ 1754, // Chuvash
+ 1762, // Cree
+ 1767, // Haitian
+ 1775, // Herero
+ 1782, // Hiri Motu
+ 1792, // Kanuri
+ 1799, // Komi
+ 1804, // Kongo
+ 1810, // Kwanyama
+ 1819, // Limburgish
+ 1830, // Luba Katanga
+ 1843, // Luxembourgish
+ 1857, // Navaho
+ 1864, // Ndonga
+ 1871, // Ojibwa
+ 1878, // Pali
+ 1883, // Walloon
+ 1891, // Aghem
+ 1897, // Basaa
+ 1903, // Zarma
+ 1909, // Duala
+ 1915, // Jola Fonyi
+ 1926, // Ewondo
+ 1933, // Bafia
+ 1939, // Makhuwa Meetto
+ 1954, // Mundang
+ 1962, // Kwasio
+ 1969, // Nuer
+ 1974, // Sakha
+ 1980, // Sangu
+ 1986, // Congo Swahili
+ 2000, // Tasawaq
+ 2008, // Vai
+ 2012, // Walser
+ 2019, // Yangben
+ 2027, // Avestan
+ 2035, // Asturian
+ 2044, // Ngomba
+ 2051, // Kako
+ 2056, // Meta
+ 2061, // Ngiemboon
+ 2071, // Aragonese
+ 2081, // Akkadian
+ 2090, // Ancient Egyptian
+ 2107, // Ancient Greek
+ 2121, // Aramaic
+ 2129, // Balinese
+ 2138, // Bamun
+ 2144, // Batak Toba
+ 2155, // Buginese
+ 2164, // Buhid
+ 2170, // Carian
+ 2177, // Chakma
+ 2184, // Classical Mandaic
+ 2202, // Coptic
+ 2209, // Dogri
+ 2215, // Eastern Cham
+ 2228, // Eastern Kayah
+ 2242, // Etruscan
+ 2251, // Gothic
+ 2258, // Hanunoo
+ 2266, // Ingush
+ 2273, // Large Flowery Miao
+ 2292, // Lepcha
+ 2299, // Limbu
+ 2305, // Lisu
+ 2310, // Lu
+ 2313, // Lycian
+ 2320, // Lydian
+ 2327, // Mandingo
+ 2336, // Manipuri
+ 2345, // Meroitic
+ 2354, // Northern Thai
+ 2368, // Old Irish
+ 2378, // Old Norse
+ 2388, // Old Persian
+ 2400, // Old Turkish
+ 2412, // Pahlavi
+ 2420, // Parthian
+ 2429, // Phoenician
+ 2440, // Prakrit Language
+ 2457, // Rejang
+ 2464, // Sabaean
+ 2472, // Samaritan
+ 2482, // Santali
+ 2490, // Saurashtra
+ 2501, // Sora
+ 2506, // Sylheti
+ 2514, // Tagbanwa
+ 2523, // Tai Dam
+ 2531, // Tai Nua
+ 2539, // Ugaritic
+ 2548, // Akoose
+ 2555, // Lakota
+ 2562, // Standard Moroccan Tamazight
+ 2590, // Mapuche
+ 2598, // Central Kurdish
+ 2614, // Lower Sorbian
+ 2628, // Upper Sorbian
+ 2642, // Kenyang
+ 2650, // Mohawk
+ 2657, // Nko
+ 2661, // Prussian
+ 2670, // Kiche
+ 2676, // Southern Sami
+ 2690, // Lule Sami
+ 2700, // Inari Sami
+ 2711, // Skolt Sami
+ 2722, // Warlpiri
+ 2731, // Manichaean Middle Persian
+ 2757, // Mende
+ 2763, // Ancient North Arabian
+ 2785, // Linear A
+ 2794, // Hmong Njua
+ 2805, // Ho
+ 2808, // Lezghian
+ 2817, // Bassa
+ 2823, // Mono
+ 2828, // Tedim Chin
+ 2839, // Maithili
+ 2848, // Ahom
+ 2853, // American Sign Language
+ 2876, // Ardhamagadhi Prakrit
+ 2897, // Bhojpuri
+ 2906, // Hieroglyphic Luwian
+ 2926, // Literary Chinese
+ 2943, // Mazanderani
+ 2955, // Mru
+ 2959, // Newari
+ 2966, // Northern Luri
+ 2980, // Palauan
+ 2988, // Papiamento
+ 2999, // Saraiki
+ 3007, // Tokelau
+ 3015, // Tok Pisin
+ 3025, // Tuvalu
+ 3032, // Uncoded Languages
+ 3050, // Cantonese
+ 3060, // Osage
+ 3066, // Tangut
};
static const char script_name_list[] =
@@ -7077,7 +7077,7 @@ static const char script_name_list[] =
"Brahmi\0"
"Buginese\0"
"Buhid\0"
-"CanadianAboriginal\0"
+"Canadian Aboriginal\0"
"Carian\0"
"Chakma\0"
"Cham\0"
@@ -7166,7 +7166,7 @@ static const char script_name_list[] =
"Hatran\0"
"Multani\0"
"Old Hungarian\0"
-"SignWriting\0"
+"Sign Writing\0"
"Adlam\0"
"Bhaiksuki\0"
"Marchen\0"
@@ -7222,104 +7222,104 @@ static const quint16 script_name_index[] = {
325, // Brahmi
332, // Buginese
341, // Buhid
- 347, // CanadianAboriginal
- 366, // Carian
- 373, // Chakma
- 380, // Cham
- 385, // Coptic
- 392, // Cypriot
- 400, // Egyptian Hieroglyphs
- 421, // Fraser
- 428, // Glagolitic
- 439, // Gothic
- 446, // Han
- 450, // Hangul
- 457, // Hanunoo
- 465, // Imperial Aramaic
- 482, // Inscriptional Pahlavi
- 504, // Inscriptional Parthian
- 527, // Javanese
- 536, // Kaithi
- 543, // Katakana
- 552, // Kayah Li
- 561, // Kharoshthi
- 572, // Lanna
- 578, // Lepcha
- 585, // Limbu
- 591, // Linear B
- 600, // Lycian
- 607, // Lydian
- 614, // Mandaean
- 623, // Meitei Mayek
- 636, // Meroitic
- 645, // Meroitic Cursive
- 662, // Nko
- 666, // New Tai Lue
- 678, // Ogham
- 684, // Ol Chiki
- 693, // Old Italic
- 704, // Old Persian
- 716, // Old South Arabian
- 734, // Orkhon
- 741, // Osmanya
- 749, // Phags Pa
- 758, // Phoenician
- 769, // Pollard Phonetic
- 786, // Rejang
- 793, // Runic
- 799, // Samaritan
- 809, // Saurashtra
- 820, // Sharada
- 828, // Shavian
- 836, // Sora Sompeng
- 849, // Cuneiform
- 859, // Sundanese
- 869, // Syloti Nagri
- 882, // Tagalog
- 890, // Tagbanwa
- 899, // Tai Le
- 906, // Tai Viet
- 915, // Takri
- 921, // Ugaritic
- 930, // Braille
- 938, // Hiragana
- 947, // Caucasian Albanian
- 966, // Bassa Vah
- 976, // Duployan
- 985, // Elbasan
- 993, // Grantha
- 1001, // Pahawh Hmong
- 1014, // Khojki
- 1021, // Linear A
- 1030, // Mahajani
- 1039, // Manichaean
- 1050, // Mende Kikakui
- 1064, // Modi
- 1069, // Mro
- 1073, // Old North Arabian
- 1091, // Nabataean
- 1101, // Palmyrene
- 1111, // Pau Cin Hau
- 1123, // Old Permic
- 1134, // Psalter Pahlavi
- 1150, // Siddham
- 1158, // Khudawadi
- 1168, // Tirhuta
- 1176, // Varang Kshiti
- 1190, // Ahom
- 1195, // Anatolian Hieroglyphs
- 1217, // Hatran
- 1224, // Multani
- 1232, // Old Hungarian
- 1246, // SignWriting
- 1258, // Adlam
- 1264, // Bhaiksuki
- 1274, // Marchen
- 1282, // Newa
- 1287, // Osage
- 1293, // Tangut
- 1300, // Han with Bopomofo
- 1318, // Jamo
+ 347, // Canadian Aboriginal
+ 367, // Carian
+ 374, // Chakma
+ 381, // Cham
+ 386, // Coptic
+ 393, // Cypriot
+ 401, // Egyptian Hieroglyphs
+ 422, // Fraser
+ 429, // Glagolitic
+ 440, // Gothic
+ 447, // Han
+ 451, // Hangul
+ 458, // Hanunoo
+ 466, // Imperial Aramaic
+ 483, // Inscriptional Pahlavi
+ 505, // Inscriptional Parthian
+ 528, // Javanese
+ 537, // Kaithi
+ 544, // Katakana
+ 553, // Kayah Li
+ 562, // Kharoshthi
+ 573, // Lanna
+ 579, // Lepcha
+ 586, // Limbu
+ 592, // Linear B
+ 601, // Lycian
+ 608, // Lydian
+ 615, // Mandaean
+ 624, // Meitei Mayek
+ 637, // Meroitic
+ 646, // Meroitic Cursive
+ 663, // Nko
+ 667, // New Tai Lue
+ 679, // Ogham
+ 685, // Ol Chiki
+ 694, // Old Italic
+ 705, // Old Persian
+ 717, // Old South Arabian
+ 735, // Orkhon
+ 742, // Osmanya
+ 750, // Phags Pa
+ 759, // Phoenician
+ 770, // Pollard Phonetic
+ 787, // Rejang
+ 794, // Runic
+ 800, // Samaritan
+ 810, // Saurashtra
+ 821, // Sharada
+ 829, // Shavian
+ 837, // Sora Sompeng
+ 850, // Cuneiform
+ 860, // Sundanese
+ 870, // Syloti Nagri
+ 883, // Tagalog
+ 891, // Tagbanwa
+ 900, // Tai Le
+ 907, // Tai Viet
+ 916, // Takri
+ 922, // Ugaritic
+ 931, // Braille
+ 939, // Hiragana
+ 948, // Caucasian Albanian
+ 967, // Bassa Vah
+ 977, // Duployan
+ 986, // Elbasan
+ 994, // Grantha
+ 1002, // Pahawh Hmong
+ 1015, // Khojki
+ 1022, // Linear A
+ 1031, // Mahajani
+ 1040, // Manichaean
+ 1051, // Mende Kikakui
+ 1065, // Modi
+ 1070, // Mro
+ 1074, // Old North Arabian
+ 1092, // Nabataean
+ 1102, // Palmyrene
+ 1112, // Pau Cin Hau
+ 1124, // Old Permic
+ 1135, // Psalter Pahlavi
+ 1151, // Siddham
+ 1159, // Khudawadi
+ 1169, // Tirhuta
+ 1177, // Varang Kshiti
+ 1191, // Ahom
+ 1196, // Anatolian Hieroglyphs
+ 1218, // Hatran
+ 1225, // Multani
+ 1233, // Old Hungarian
+ 1247, // Sign Writing
+ 1260, // Adlam
+ 1266, // Bhaiksuki
+ 1276, // Marchen
+ 1284, // Newa
+ 1289, // Osage
+ 1295, // Tangut
+ 1302, // Han with Bopomofo
+ 1320, // Jamo
};
static const char country_name_list[] =
@@ -7327,12 +7327,12 @@ static const char country_name_list[] =
"Afghanistan\0"
"Albania\0"
"Algeria\0"
-"AmericanSamoa\0"
+"American Samoa\0"
"Andorra\0"
"Angola\0"
"Anguilla\0"
"Antarctica\0"
-"AntiguaAndBarbuda\0"
+"Antigua And Barbuda\0"
"Argentina\0"
"Armenia\0"
"Aruba\0"
@@ -7350,58 +7350,58 @@ static const char country_name_list[] =
"Bermuda\0"
"Bhutan\0"
"Bolivia\0"
-"BosniaAndHerzegowina\0"
+"Bosnia And Herzegowina\0"
"Botswana\0"
-"BouvetIsland\0"
+"Bouvet Island\0"
"Brazil\0"
-"BritishIndianOceanTerritory\0"
+"British Indian Ocean Territory\0"
"Brunei\0"
"Bulgaria\0"
-"BurkinaFaso\0"
+"Burkina Faso\0"
"Burundi\0"
"Cambodia\0"
"Cameroon\0"
"Canada\0"
-"CapeVerde\0"
-"CaymanIslands\0"
-"CentralAfricanRepublic\0"
+"Cape Verde\0"
+"Cayman Islands\0"
+"Central African Republic\0"
"Chad\0"
"Chile\0"
"China\0"
-"ChristmasIsland\0"
-"CocosIslands\0"
+"Christmas Island\0"
+"Cocos Islands\0"
"Colombia\0"
"Comoros\0"
-"CongoKinshasa\0"
-"CongoBrazzaville\0"
-"CookIslands\0"
-"CostaRica\0"
-"IvoryCoast\0"
+"Congo Kinshasa\0"
+"Congo Brazzaville\0"
+"Cook Islands\0"
+"Costa Rica\0"
+"Ivory Coast\0"
"Croatia\0"
"Cuba\0"
"Cyprus\0"
-"CzechRepublic\0"
+"Czech Republic\0"
"Denmark\0"
"Djibouti\0"
"Dominica\0"
-"DominicanRepublic\0"
-"EastTimor\0"
+"Dominican Republic\0"
+"East Timor\0"
"Ecuador\0"
"Egypt\0"
-"ElSalvador\0"
-"EquatorialGuinea\0"
+"El Salvador\0"
+"Equatorial Guinea\0"
"Eritrea\0"
"Estonia\0"
"Ethiopia\0"
-"FalklandIslands\0"
-"FaroeIslands\0"
+"Falkland Islands\0"
+"Faroe Islands\0"
"Fiji\0"
"Finland\0"
"France\0"
"Guernsey\0"
-"FrenchGuiana\0"
-"FrenchPolynesia\0"
-"FrenchSouthernTerritories\0"
+"French Guiana\0"
+"French Polynesia\0"
+"French Southern Territories\0"
"Gabon\0"
"Gambia\0"
"Georgia\0"
@@ -7415,12 +7415,12 @@ static const char country_name_list[] =
"Guam\0"
"Guatemala\0"
"Guinea\0"
-"GuineaBissau\0"
+"Guinea Bissau\0"
"Guyana\0"
"Haiti\0"
-"HeardAndMcDonaldIslands\0"
+"Heard And McDonald Islands\0"
"Honduras\0"
-"HongKong\0"
+"Hong Kong\0"
"Hungary\0"
"Iceland\0"
"India\0"
@@ -7436,8 +7436,8 @@ static const char country_name_list[] =
"Kazakhstan\0"
"Kenya\0"
"Kiribati\0"
-"NorthKorea\0"
-"SouthKorea\0"
+"North Korea\0"
+"South Korea\0"
"Kuwait\0"
"Kyrgyzstan\0"
"Laos\0"
@@ -7457,7 +7457,7 @@ static const char country_name_list[] =
"Maldives\0"
"Mali\0"
"Malta\0"
-"MarshallIslands\0"
+"Marshall Islands\0"
"Martinique\0"
"Mauritania\0"
"Mauritius\0"
@@ -7475,58 +7475,58 @@ static const char country_name_list[] =
"Nauru\0"
"Nepal\0"
"Netherlands\0"
-"CuraSao\0"
-"NewCaledonia\0"
-"NewZealand\0"
+"Cura Sao\0"
+"New Caledonia\0"
+"New Zealand\0"
"Nicaragua\0"
"Niger\0"
"Nigeria\0"
"Niue\0"
-"NorfolkIsland\0"
-"NorthernMarianaIslands\0"
+"Norfolk Island\0"
+"Northern Mariana Islands\0"
"Norway\0"
"Oman\0"
"Pakistan\0"
"Palau\0"
-"PalestinianTerritories\0"
+"Palestinian Territories\0"
"Panama\0"
-"PapuaNewGuinea\0"
+"Papua New Guinea\0"
"Paraguay\0"
"Peru\0"
"Philippines\0"
"Pitcairn\0"
"Poland\0"
"Portugal\0"
-"PuertoRico\0"
+"Puerto Rico\0"
"Qatar\0"
"Reunion\0"
"Romania\0"
"Russia\0"
"Rwanda\0"
-"SaintKittsAndNevis\0"
-"SaintLucia\0"
-"SaintVincentAndTheGrenadines\0"
+"Saint Kitts And Nevis\0"
+"Saint Lucia\0"
+"Saint Vincent And The Grenadines\0"
"Samoa\0"
-"SanMarino\0"
-"SaoTomeAndPrincipe\0"
-"SaudiArabia\0"
+"San Marino\0"
+"Sao Tome And Principe\0"
+"Saudi Arabia\0"
"Senegal\0"
"Seychelles\0"
-"SierraLeone\0"
+"Sierra Leone\0"
"Singapore\0"
"Slovakia\0"
"Slovenia\0"
-"SolomonIslands\0"
+"Solomon Islands\0"
"Somalia\0"
-"SouthAfrica\0"
-"SouthGeorgiaAndTheSouthSandwichIslands\0"
+"South Africa\0"
+"South Georgia And The South Sandwich Islands\0"
"Spain\0"
-"SriLanka\0"
-"SaintHelena\0"
-"SaintPierreAndMiquelon\0"
+"Sri Lanka\0"
+"Saint Helena\0"
+"Saint Pierre And Miquelon\0"
"Sudan\0"
"Suriname\0"
-"SvalbardAndJanMayenIslands\0"
+"Svalbard And Jan Mayen Islands\0"
"Swaziland\0"
"Sweden\0"
"Switzerland\0"
@@ -7538,48 +7538,48 @@ static const char country_name_list[] =
"Togo\0"
"Tokelau\0"
"Tonga\0"
-"TrinidadAndTobago\0"
+"Trinidad And Tobago\0"
"Tunisia\0"
"Turkey\0"
"Turkmenistan\0"
-"TurksAndCaicosIslands\0"
+"Turks And Caicos Islands\0"
"Tuvalu\0"
"Uganda\0"
"Ukraine\0"
-"UnitedArabEmirates\0"
-"UnitedKingdom\0"
-"UnitedStates\0"
-"UnitedStatesMinorOutlyingIslands\0"
+"United Arab Emirates\0"
+"United Kingdom\0"
+"United States\0"
+"United States Minor Outlying Islands\0"
"Uruguay\0"
"Uzbekistan\0"
"Vanuatu\0"
-"VaticanCityState\0"
+"Vatican City State\0"
"Venezuela\0"
"Vietnam\0"
-"BritishVirginIslands\0"
-"UnitedStatesVirginIslands\0"
-"WallisAndFutunaIslands\0"
-"WesternSahara\0"
+"British Virgin Islands\0"
+"United States Virgin Islands\0"
+"Wallis And Futuna Islands\0"
+"Western Sahara\0"
"Yemen\0"
-"CanaryIslands\0"
+"Canary Islands\0"
"Zambia\0"
"Zimbabwe\0"
-"ClippertonIsland\0"
+"Clipperton Island\0"
"Montenegro\0"
"Serbia\0"
"Saint Barthelemy\0"
"Saint Martin\0"
"Latin America\0"
-"AscensionIsland\0"
-"AlandIslands\0"
-"DiegoGarcia\0"
-"CeutaAndMelilla\0"
-"IsleOfMan\0"
+"Ascension Island\0"
+"Aland Islands\0"
+"Diego Garcia\0"
+"Ceuta And Melilla\0"
+"Isle Of Man\0"
"Jersey\0"
-"TristanDaCunha\0"
-"SouthSudan\0"
+"Tristan Da Cunha\0"
+"South Sudan\0"
"Bonaire\0"
-"SintMaarten\0"
+"Sint Maarten\0"
"Kosovo\0"
"European Union\0"
"Outlying Oceania\0"
@@ -7592,264 +7592,264 @@ static const quint16 country_name_index[] = {
8, // Afghanistan
20, // Albania
28, // Algeria
- 36, // AmericanSamoa
- 50, // Andorra
- 58, // Angola
- 65, // Anguilla
- 74, // Antarctica
- 85, // AntiguaAndBarbuda
- 103, // Argentina
- 113, // Armenia
- 121, // Aruba
- 127, // Australia
- 137, // Austria
- 145, // Azerbaijan
- 156, // Bahamas
- 164, // Bahrain
- 172, // Bangladesh
- 183, // Barbados
- 192, // Belarus
- 200, // Belgium
- 208, // Belize
- 215, // Benin
- 221, // Bermuda
- 229, // Bhutan
- 236, // Bolivia
- 244, // BosniaAndHerzegowina
- 265, // Botswana
- 274, // BouvetIsland
- 287, // Brazil
- 294, // BritishIndianOceanTerritory
- 322, // Brunei
- 329, // Bulgaria
- 338, // BurkinaFaso
- 350, // Burundi
- 358, // Cambodia
- 367, // Cameroon
- 376, // Canada
- 383, // CapeVerde
- 393, // CaymanIslands
- 407, // CentralAfricanRepublic
- 430, // Chad
- 435, // Chile
- 441, // China
- 447, // ChristmasIsland
- 463, // CocosIslands
- 476, // Colombia
- 485, // Comoros
- 493, // CongoKinshasa
- 507, // CongoBrazzaville
- 524, // CookIslands
- 536, // CostaRica
- 546, // IvoryCoast
- 557, // Croatia
- 565, // Cuba
- 570, // Cyprus
- 577, // CzechRepublic
- 591, // Denmark
- 599, // Djibouti
- 608, // Dominica
- 617, // DominicanRepublic
- 635, // EastTimor
- 645, // Ecuador
- 653, // Egypt
- 659, // ElSalvador
- 670, // EquatorialGuinea
- 687, // Eritrea
- 695, // Estonia
- 703, // Ethiopia
- 712, // FalklandIslands
- 728, // FaroeIslands
- 741, // Fiji
- 746, // Finland
- 754, // France
- 761, // Guernsey
- 770, // FrenchGuiana
- 783, // FrenchPolynesia
- 799, // FrenchSouthernTerritories
- 825, // Gabon
- 831, // Gambia
- 838, // Georgia
- 846, // Germany
- 854, // Ghana
- 860, // Gibraltar
- 870, // Greece
- 877, // Greenland
- 887, // Grenada
- 895, // Guadeloupe
- 906, // Guam
- 911, // Guatemala
- 921, // Guinea
- 928, // GuineaBissau
- 941, // Guyana
- 948, // Haiti
- 954, // HeardAndMcDonaldIslands
- 978, // Honduras
- 987, // HongKong
- 996, // Hungary
- 1004, // Iceland
- 1012, // India
- 1018, // Indonesia
- 1028, // Iran
- 1033, // Iraq
- 1038, // Ireland
- 1046, // Israel
- 1053, // Italy
- 1059, // Jamaica
- 1067, // Japan
- 1073, // Jordan
- 1080, // Kazakhstan
- 1091, // Kenya
- 1097, // Kiribati
- 1106, // NorthKorea
- 1117, // SouthKorea
- 1128, // Kuwait
- 1135, // Kyrgyzstan
- 1146, // Laos
- 1151, // Latvia
- 1158, // Lebanon
- 1166, // Lesotho
- 1174, // Liberia
- 1182, // Libya
- 1188, // Liechtenstein
- 1202, // Lithuania
- 1212, // Luxembourg
- 1223, // Macau
- 1229, // Macedonia
- 1239, // Madagascar
- 1250, // Malawi
- 1257, // Malaysia
- 1266, // Maldives
- 1275, // Mali
- 1280, // Malta
- 1286, // MarshallIslands
- 1302, // Martinique
- 1313, // Mauritania
- 1324, // Mauritius
- 1334, // Mayotte
- 1342, // Mexico
- 1349, // Micronesia
- 1360, // Moldova
- 1368, // Monaco
- 1375, // Mongolia
- 1384, // Montserrat
- 1395, // Morocco
- 1403, // Mozambique
- 1414, // Myanmar
- 1422, // Namibia
- 1430, // Nauru
- 1436, // Nepal
- 1442, // Netherlands
- 1454, // CuraSao
- 1462, // NewCaledonia
- 1475, // NewZealand
- 1486, // Nicaragua
- 1496, // Niger
- 1502, // Nigeria
- 1510, // Niue
- 1515, // NorfolkIsland
- 1529, // NorthernMarianaIslands
- 1552, // Norway
- 1559, // Oman
- 1564, // Pakistan
- 1573, // Palau
- 1579, // PalestinianTerritories
- 1602, // Panama
- 1609, // PapuaNewGuinea
- 1624, // Paraguay
- 1633, // Peru
- 1638, // Philippines
- 1650, // Pitcairn
- 1659, // Poland
- 1666, // Portugal
- 1675, // PuertoRico
- 1686, // Qatar
- 1692, // Reunion
- 1700, // Romania
- 1708, // Russia
- 1715, // Rwanda
- 1722, // SaintKittsAndNevis
- 1741, // SaintLucia
- 1752, // SaintVincentAndTheGrenadines
- 1781, // Samoa
- 1787, // SanMarino
- 1797, // SaoTomeAndPrincipe
- 1816, // SaudiArabia
- 1828, // Senegal
- 1836, // Seychelles
- 1847, // SierraLeone
- 1859, // Singapore
- 1869, // Slovakia
- 1878, // Slovenia
- 1887, // SolomonIslands
- 1902, // Somalia
- 1910, // SouthAfrica
- 1922, // SouthGeorgiaAndTheSouthSandwichIslands
- 1961, // Spain
- 1967, // SriLanka
- 1976, // SaintHelena
- 1988, // SaintPierreAndMiquelon
- 2011, // Sudan
- 2017, // Suriname
- 2026, // SvalbardAndJanMayenIslands
- 2053, // Swaziland
- 2063, // Sweden
- 2070, // Switzerland
- 2082, // Syria
- 2088, // Taiwan
- 2095, // Tajikistan
- 2106, // Tanzania
- 2115, // Thailand
- 2124, // Togo
- 2129, // Tokelau
- 2137, // Tonga
- 2143, // TrinidadAndTobago
- 2161, // Tunisia
- 2169, // Turkey
- 2176, // Turkmenistan
- 2189, // TurksAndCaicosIslands
- 2211, // Tuvalu
- 2218, // Uganda
- 2225, // Ukraine
- 2233, // UnitedArabEmirates
- 2252, // UnitedKingdom
- 2266, // UnitedStates
- 2279, // UnitedStatesMinorOutlyingIslands
- 2312, // Uruguay
- 2320, // Uzbekistan
- 2331, // Vanuatu
- 2339, // VaticanCityState
- 2356, // Venezuela
- 2366, // Vietnam
- 2374, // BritishVirginIslands
- 2395, // UnitedStatesVirginIslands
- 2421, // WallisAndFutunaIslands
- 2444, // WesternSahara
- 2458, // Yemen
- 2464, // CanaryIslands
- 2478, // Zambia
- 2485, // Zimbabwe
- 2494, // ClippertonIsland
- 2511, // Montenegro
- 2522, // Serbia
- 2529, // Saint Barthelemy
- 2546, // Saint Martin
- 2559, // Latin America
- 2573, // AscensionIsland
- 2589, // AlandIslands
- 2602, // DiegoGarcia
- 2614, // CeutaAndMelilla
- 2630, // IsleOfMan
- 2640, // Jersey
- 2647, // TristanDaCunha
- 2662, // SouthSudan
- 2673, // Bonaire
- 2681, // SintMaarten
- 2693, // Kosovo
- 2700, // European Union
- 2715, // Outlying Oceania
- 2732, // World
- 2738, // Europe
+ 36, // American Samoa
+ 51, // Andorra
+ 59, // Angola
+ 66, // Anguilla
+ 75, // Antarctica
+ 86, // Antigua And Barbuda
+ 106, // Argentina
+ 116, // Armenia
+ 124, // Aruba
+ 130, // Australia
+ 140, // Austria
+ 148, // Azerbaijan
+ 159, // Bahamas
+ 167, // Bahrain
+ 175, // Bangladesh
+ 186, // Barbados
+ 195, // Belarus
+ 203, // Belgium
+ 211, // Belize
+ 218, // Benin
+ 224, // Bermuda
+ 232, // Bhutan
+ 239, // Bolivia
+ 247, // Bosnia And Herzegowina
+ 270, // Botswana
+ 279, // Bouvet Island
+ 293, // Brazil
+ 300, // British Indian Ocean Territory
+ 331, // Brunei
+ 338, // Bulgaria
+ 347, // Burkina Faso
+ 360, // Burundi
+ 368, // Cambodia
+ 377, // Cameroon
+ 386, // Canada
+ 393, // Cape Verde
+ 404, // Cayman Islands
+ 419, // Central African Republic
+ 444, // Chad
+ 449, // Chile
+ 455, // China
+ 461, // Christmas Island
+ 478, // Cocos Islands
+ 492, // Colombia
+ 501, // Comoros
+ 509, // Congo Kinshasa
+ 524, // Congo Brazzaville
+ 542, // Cook Islands
+ 555, // Costa Rica
+ 566, // Ivory Coast
+ 578, // Croatia
+ 586, // Cuba
+ 591, // Cyprus
+ 598, // Czech Republic
+ 613, // Denmark
+ 621, // Djibouti
+ 630, // Dominica
+ 639, // Dominican Republic
+ 658, // East Timor
+ 669, // Ecuador
+ 677, // Egypt
+ 683, // El Salvador
+ 695, // Equatorial Guinea
+ 713, // Eritrea
+ 721, // Estonia
+ 729, // Ethiopia
+ 738, // Falkland Islands
+ 755, // Faroe Islands
+ 769, // Fiji
+ 774, // Finland
+ 782, // France
+ 789, // Guernsey
+ 798, // French Guiana
+ 812, // French Polynesia
+ 829, // French Southern Territories
+ 857, // Gabon
+ 863, // Gambia
+ 870, // Georgia
+ 878, // Germany
+ 886, // Ghana
+ 892, // Gibraltar
+ 902, // Greece
+ 909, // Greenland
+ 919, // Grenada
+ 927, // Guadeloupe
+ 938, // Guam
+ 943, // Guatemala
+ 953, // Guinea
+ 960, // Guinea Bissau
+ 974, // Guyana
+ 981, // Haiti
+ 987, // Heard And McDonald Islands
+ 1014, // Honduras
+ 1023, // Hong Kong
+ 1033, // Hungary
+ 1041, // Iceland
+ 1049, // India
+ 1055, // Indonesia
+ 1065, // Iran
+ 1070, // Iraq
+ 1075, // Ireland
+ 1083, // Israel
+ 1090, // Italy
+ 1096, // Jamaica
+ 1104, // Japan
+ 1110, // Jordan
+ 1117, // Kazakhstan
+ 1128, // Kenya
+ 1134, // Kiribati
+ 1143, // North Korea
+ 1155, // South Korea
+ 1167, // Kuwait
+ 1174, // Kyrgyzstan
+ 1185, // Laos
+ 1190, // Latvia
+ 1197, // Lebanon
+ 1205, // Lesotho
+ 1213, // Liberia
+ 1221, // Libya
+ 1227, // Liechtenstein
+ 1241, // Lithuania
+ 1251, // Luxembourg
+ 1262, // Macau
+ 1268, // Macedonia
+ 1278, // Madagascar
+ 1289, // Malawi
+ 1296, // Malaysia
+ 1305, // Maldives
+ 1314, // Mali
+ 1319, // Malta
+ 1325, // Marshall Islands
+ 1342, // Martinique
+ 1353, // Mauritania
+ 1364, // Mauritius
+ 1374, // Mayotte
+ 1382, // Mexico
+ 1389, // Micronesia
+ 1400, // Moldova
+ 1408, // Monaco
+ 1415, // Mongolia
+ 1424, // Montserrat
+ 1435, // Morocco
+ 1443, // Mozambique
+ 1454, // Myanmar
+ 1462, // Namibia
+ 1470, // Nauru
+ 1476, // Nepal
+ 1482, // Netherlands
+ 1494, // Cura Sao
+ 1503, // New Caledonia
+ 1517, // New Zealand
+ 1529, // Nicaragua
+ 1539, // Niger
+ 1545, // Nigeria
+ 1553, // Niue
+ 1558, // Norfolk Island
+ 1573, // Northern Mariana Islands
+ 1598, // Norway
+ 1605, // Oman
+ 1610, // Pakistan
+ 1619, // Palau
+ 1625, // Palestinian Territories
+ 1649, // Panama
+ 1656, // Papua New Guinea
+ 1673, // Paraguay
+ 1682, // Peru
+ 1687, // Philippines
+ 1699, // Pitcairn
+ 1708, // Poland
+ 1715, // Portugal
+ 1724, // Puerto Rico
+ 1736, // Qatar
+ 1742, // Reunion
+ 1750, // Romania
+ 1758, // Russia
+ 1765, // Rwanda
+ 1772, // Saint Kitts And Nevis
+ 1794, // Saint Lucia
+ 1806, // Saint Vincent And The Grenadines
+ 1839, // Samoa
+ 1845, // San Marino
+ 1856, // Sao Tome And Principe
+ 1878, // Saudi Arabia
+ 1891, // Senegal
+ 1899, // Seychelles
+ 1910, // Sierra Leone
+ 1923, // Singapore
+ 1933, // Slovakia
+ 1942, // Slovenia
+ 1951, // Solomon Islands
+ 1967, // Somalia
+ 1975, // South Africa
+ 1988, // South Georgia And The South Sandwich Islands
+ 2033, // Spain
+ 2039, // Sri Lanka
+ 2049, // Saint Helena
+ 2062, // Saint Pierre And Miquelon
+ 2088, // Sudan
+ 2094, // Suriname
+ 2103, // Svalbard And Jan Mayen Islands
+ 2134, // Swaziland
+ 2144, // Sweden
+ 2151, // Switzerland
+ 2163, // Syria
+ 2169, // Taiwan
+ 2176, // Tajikistan
+ 2187, // Tanzania
+ 2196, // Thailand
+ 2205, // Togo
+ 2210, // Tokelau
+ 2218, // Tonga
+ 2224, // Trinidad And Tobago
+ 2244, // Tunisia
+ 2252, // Turkey
+ 2259, // Turkmenistan
+ 2272, // Turks And Caicos Islands
+ 2297, // Tuvalu
+ 2304, // Uganda
+ 2311, // Ukraine
+ 2319, // United Arab Emirates
+ 2340, // United Kingdom
+ 2355, // United States
+ 2369, // United States Minor Outlying Islands
+ 2406, // Uruguay
+ 2414, // Uzbekistan
+ 2425, // Vanuatu
+ 2433, // Vatican City State
+ 2452, // Venezuela
+ 2462, // Vietnam
+ 2470, // British Virgin Islands
+ 2493, // United States Virgin Islands
+ 2522, // Wallis And Futuna Islands
+ 2548, // Western Sahara
+ 2563, // Yemen
+ 2569, // Canary Islands
+ 2584, // Zambia
+ 2591, // Zimbabwe
+ 2600, // Clipperton Island
+ 2618, // Montenegro
+ 2629, // Serbia
+ 2636, // Saint Barthelemy
+ 2653, // Saint Martin
+ 2666, // Latin America
+ 2680, // Ascension Island
+ 2697, // Aland Islands
+ 2711, // Diego Garcia
+ 2724, // Ceuta And Melilla
+ 2742, // Isle Of Man
+ 2754, // Jersey
+ 2761, // Tristan Da Cunha
+ 2778, // South Sudan
+ 2790, // Bonaire
+ 2798, // Sint Maarten
+ 2811, // Kosovo
+ 2818, // European Union
+ 2833, // Outlying Oceania
+ 2850, // World
+ 2856, // Europe
};
static const unsigned char language_code_list[] =
@@ -7938,7 +7938,7 @@ static const unsigned char language_code_list[] =
"mn\0" // Mongolian
"na\0" // Nauru
"ne\0" // Nepali
-"nb\0" // NorwegianBokmal
+"nb\0" // Norwegian Bokmal
"oc\0" // Occitan
"or\0" // Oriya
"ps\0" // Pashto
@@ -7994,7 +7994,7 @@ static const unsigned char language_code_list[] =
"yo\0" // Yoruba
"za\0" // Zhuang
"zu\0" // Zulu
-"nn\0" // NorwegianNynorsk
+"nn\0" // Norwegian Nynorsk
"bs\0" // Bosnian
"dv\0" // Divehi
"gv\0" // Manx
@@ -8083,7 +8083,7 @@ static const unsigned char language_code_list[] =
"kg\0" // Kongo
"kj\0" // Kwanyama
"li\0" // Limburgish
-"lu\0" // LubaKatanga
+"lu\0" // Luba Katanga
"lb\0" // Luxembourgish
"nv\0" // Navaho
"ng\0" // Ndonga
@@ -8094,10 +8094,10 @@ static const unsigned char language_code_list[] =
"bas" // Basaa
"dje" // Zarma
"dua" // Duala
-"dyo" // JolaFonyi
+"dyo" // Jola Fonyi
"ewo" // Ewondo
"ksf" // Bafia
-"mgh" // MakhuwaMeetto
+"mgh" // Makhuwa Meetto
"mua" // Mundang
"nmg" // Kwasio
"nus" // Nuer
@@ -8116,26 +8116,26 @@ static const unsigned char language_code_list[] =
"nnh" // Ngiemboon
"an\0" // Aragonese
"akk" // Akkadian
-"egy" // AncientEgyptian
-"grc" // AncientGreek
+"egy" // Ancient Egyptian
+"grc" // Ancient Greek
"arc" // Aramaic
"ban" // Balinese
"bax" // Bamun
-"bbc" // BatakToba
+"bbc" // Batak Toba
"bug" // Buginese
"bku" // Buhid
"xcr" // Carian
"ccp" // Chakma
-"myz" // ClassicalMandaic
+"myz" // Classical Mandaic
"cop" // Coptic
"doi" // Dogri
-"cjm" // EasternCham
-"eky" // EasternKayah
+"cjm" // Eastern Cham
+"eky" // Eastern Kayah
"ett" // Etruscan
"got" // Gothic
"hnn" // Hanunoo
"inh" // Ingush
-"hmd" // LargeFloweryMiao
+"hmd" // Large Flowery Miao
"lep" // Lepcha
"lif" // Limbu
"lis" // Lisu
@@ -8145,15 +8145,15 @@ static const unsigned char language_code_list[] =
"man" // Mandingo
"mni" // Manipuri
"xmr" // Meroitic
-"nod" // NorthernThai
-"sga" // OldIrish
-"non" // OldNorse
-"peo" // OldPersian
-"otk" // OldTurkish
+"nod" // Northern Thai
+"sga" // Old Irish
+"non" // Old Norse
+"peo" // Old Persian
+"otk" // Old Turkish
"pal" // Pahlavi
"xpr" // Parthian
"phn" // Phoenician
-"pra" // PrakritLanguage
+"pra" // Prakrit Language
"rej" // Rejang
"xsa" // Sabaean
"smp" // Samaritan
@@ -8162,16 +8162,16 @@ static const unsigned char language_code_list[] =
"srb" // Sora
"syl" // Sylheti
"tbw" // Tagbanwa
-"blt" // TaiDam
-"tdd" // TaiNua
+"blt" // Tai Dam
+"tdd" // Tai Nua
"uga" // Ugaritic
"bss" // Akoose
"lkt" // Lakota
"zgh" // Standard Moroccan Tamazight
"arn" // Mapuche
"ckb" // Central Kurdish
-"dsb" // LowerSorbian
-"hsb" // UpperSorbian
+"dsb" // Lower Sorbian
+"hsb" // Upper Sorbian
"ken" // Kenyang
"moh" // Mohawk
"nqo" // Nko
@@ -8209,7 +8209,7 @@ static const unsigned char language_code_list[] =
"tkl" // Tokelau
"tpi" // Tok Pisin
"tvl" // Tuvalu
-"mis" // UncodedLanguages
+"mis" // Uncoded Languages
"yue" // Cantonese
"osa" // Osage
"txg" // Tangut
@@ -8260,7 +8260,7 @@ static const unsigned char script_code_list[] =
"Brah" // Brahmi
"Bugi" // Buginese
"Buhd" // Buhid
-"Cans" // CanadianAboriginal
+"Cans" // Canadian Aboriginal
"Cari" // Carian
"Cakm" // Chakma
"Cham" // Cham
@@ -8349,7 +8349,7 @@ static const unsigned char script_code_list[] =
"Hatr" // Hatran
"Mult" // Multani
"Hung" // Old Hungarian
-"Sgnw" // SignWriting
+"Sgnw" // Sign Writing
"Adlm" // Adlam
"Bhks" // Bhaiksuki
"Marc" // Marchen
@@ -8364,12 +8364,12 @@ static const unsigned char country_code_list[] =
"AF\0" // Afghanistan
"AL\0" // Albania
"DZ\0" // Algeria
-"AS\0" // AmericanSamoa
+"AS\0" // American Samoa
"AD\0" // Andorra
"AO\0" // Angola
"AI\0" // Anguilla
"AQ\0" // Antarctica
-"AG\0" // AntiguaAndBarbuda
+"AG\0" // Antigua And Barbuda
"AR\0" // Argentina
"AM\0" // Armenia
"AW\0" // Aruba
@@ -8387,58 +8387,58 @@ static const unsigned char country_code_list[] =
"BM\0" // Bermuda
"BT\0" // Bhutan
"BO\0" // Bolivia
-"BA\0" // BosniaAndHerzegowina
+"BA\0" // Bosnia And Herzegowina
"BW\0" // Botswana
-"BV\0" // BouvetIsland
+"BV\0" // Bouvet Island
"BR\0" // Brazil
-"IO\0" // BritishIndianOceanTerritory
+"IO\0" // British Indian Ocean Territory
"BN\0" // Brunei
"BG\0" // Bulgaria
-"BF\0" // BurkinaFaso
+"BF\0" // Burkina Faso
"BI\0" // Burundi
"KH\0" // Cambodia
"CM\0" // Cameroon
"CA\0" // Canada
-"CV\0" // CapeVerde
-"KY\0" // CaymanIslands
-"CF\0" // CentralAfricanRepublic
+"CV\0" // Cape Verde
+"KY\0" // Cayman Islands
+"CF\0" // Central African Republic
"TD\0" // Chad
"CL\0" // Chile
"CN\0" // China
-"CX\0" // ChristmasIsland
-"CC\0" // CocosIslands
+"CX\0" // Christmas Island
+"CC\0" // Cocos Islands
"CO\0" // Colombia
"KM\0" // Comoros
-"CD\0" // CongoKinshasa
-"CG\0" // CongoBrazzaville
-"CK\0" // CookIslands
-"CR\0" // CostaRica
-"CI\0" // IvoryCoast
+"CD\0" // Congo Kinshasa
+"CG\0" // Congo Brazzaville
+"CK\0" // Cook Islands
+"CR\0" // Costa Rica
+"CI\0" // Ivory Coast
"HR\0" // Croatia
"CU\0" // Cuba
"CY\0" // Cyprus
-"CZ\0" // CzechRepublic
+"CZ\0" // Czech Republic
"DK\0" // Denmark
"DJ\0" // Djibouti
"DM\0" // Dominica
-"DO\0" // DominicanRepublic
-"TL\0" // EastTimor
+"DO\0" // Dominican Republic
+"TL\0" // East Timor
"EC\0" // Ecuador
"EG\0" // Egypt
-"SV\0" // ElSalvador
-"GQ\0" // EquatorialGuinea
+"SV\0" // El Salvador
+"GQ\0" // Equatorial Guinea
"ER\0" // Eritrea
"EE\0" // Estonia
"ET\0" // Ethiopia
-"FK\0" // FalklandIslands
-"FO\0" // FaroeIslands
+"FK\0" // Falkland Islands
+"FO\0" // Faroe Islands
"FJ\0" // Fiji
"FI\0" // Finland
"FR\0" // France
"GG\0" // Guernsey
-"GF\0" // FrenchGuiana
-"PF\0" // FrenchPolynesia
-"TF\0" // FrenchSouthernTerritories
+"GF\0" // French Guiana
+"PF\0" // French Polynesia
+"TF\0" // French Southern Territories
"GA\0" // Gabon
"GM\0" // Gambia
"GE\0" // Georgia
@@ -8452,12 +8452,12 @@ static const unsigned char country_code_list[] =
"GU\0" // Guam
"GT\0" // Guatemala
"GN\0" // Guinea
-"GW\0" // GuineaBissau
+"GW\0" // Guinea Bissau
"GY\0" // Guyana
"HT\0" // Haiti
-"HM\0" // HeardAndMcDonaldIslands
+"HM\0" // Heard And McDonald Islands
"HN\0" // Honduras
-"HK\0" // HongKong
+"HK\0" // Hong Kong
"HU\0" // Hungary
"IS\0" // Iceland
"IN\0" // India
@@ -8473,8 +8473,8 @@ static const unsigned char country_code_list[] =
"KZ\0" // Kazakhstan
"KE\0" // Kenya
"KI\0" // Kiribati
-"KP\0" // NorthKorea
-"KR\0" // SouthKorea
+"KP\0" // North Korea
+"KR\0" // South Korea
"KW\0" // Kuwait
"KG\0" // Kyrgyzstan
"LA\0" // Laos
@@ -8494,7 +8494,7 @@ static const unsigned char country_code_list[] =
"MV\0" // Maldives
"ML\0" // Mali
"MT\0" // Malta
-"MH\0" // MarshallIslands
+"MH\0" // Marshall Islands
"MQ\0" // Martinique
"MR\0" // Mauritania
"MU\0" // Mauritius
@@ -8512,58 +8512,58 @@ static const unsigned char country_code_list[] =
"NR\0" // Nauru
"NP\0" // Nepal
"NL\0" // Netherlands
-"CW\0" // CuraSao
-"NC\0" // NewCaledonia
-"NZ\0" // NewZealand
+"CW\0" // Cura Sao
+"NC\0" // New Caledonia
+"NZ\0" // New Zealand
"NI\0" // Nicaragua
"NE\0" // Niger
"NG\0" // Nigeria
"NU\0" // Niue
-"NF\0" // NorfolkIsland
-"MP\0" // NorthernMarianaIslands
+"NF\0" // Norfolk Island
+"MP\0" // Northern Mariana Islands
"NO\0" // Norway
"OM\0" // Oman
"PK\0" // Pakistan
"PW\0" // Palau
-"PS\0" // PalestinianTerritories
+"PS\0" // Palestinian Territories
"PA\0" // Panama
-"PG\0" // PapuaNewGuinea
+"PG\0" // Papua New Guinea
"PY\0" // Paraguay
"PE\0" // Peru
"PH\0" // Philippines
"PN\0" // Pitcairn
"PL\0" // Poland
"PT\0" // Portugal
-"PR\0" // PuertoRico
+"PR\0" // Puerto Rico
"QA\0" // Qatar
"RE\0" // Reunion
"RO\0" // Romania
"RU\0" // Russia
"RW\0" // Rwanda
-"KN\0" // SaintKittsAndNevis
-"LC\0" // SaintLucia
-"VC\0" // SaintVincentAndTheGrenadines
+"KN\0" // Saint Kitts And Nevis
+"LC\0" // Saint Lucia
+"VC\0" // Saint Vincent And The Grenadines
"WS\0" // Samoa
-"SM\0" // SanMarino
-"ST\0" // SaoTomeAndPrincipe
-"SA\0" // SaudiArabia
+"SM\0" // San Marino
+"ST\0" // Sao Tome And Principe
+"SA\0" // Saudi Arabia
"SN\0" // Senegal
"SC\0" // Seychelles
-"SL\0" // SierraLeone
+"SL\0" // Sierra Leone
"SG\0" // Singapore
"SK\0" // Slovakia
"SI\0" // Slovenia
-"SB\0" // SolomonIslands
+"SB\0" // Solomon Islands
"SO\0" // Somalia
-"ZA\0" // SouthAfrica
-"GS\0" // SouthGeorgiaAndTheSouthSandwichIslands
+"ZA\0" // South Africa
+"GS\0" // South Georgia And The South Sandwich Islands
"ES\0" // Spain
-"LK\0" // SriLanka
-"SH\0" // SaintHelena
-"PM\0" // SaintPierreAndMiquelon
+"LK\0" // Sri Lanka
+"SH\0" // Saint Helena
+"PM\0" // Saint Pierre And Miquelon
"SD\0" // Sudan
"SR\0" // Suriname
-"SJ\0" // SvalbardAndJanMayenIslands
+"SJ\0" // Svalbard And Jan Mayen Islands
"SZ\0" // Swaziland
"SE\0" // Sweden
"CH\0" // Switzerland
@@ -8575,48 +8575,48 @@ static const unsigned char country_code_list[] =
"TG\0" // Togo
"TK\0" // Tokelau
"TO\0" // Tonga
-"TT\0" // TrinidadAndTobago
+"TT\0" // Trinidad And Tobago
"TN\0" // Tunisia
"TR\0" // Turkey
"TM\0" // Turkmenistan
-"TC\0" // TurksAndCaicosIslands
+"TC\0" // Turks And Caicos Islands
"TV\0" // Tuvalu
"UG\0" // Uganda
"UA\0" // Ukraine
-"AE\0" // UnitedArabEmirates
-"GB\0" // UnitedKingdom
-"US\0" // UnitedStates
-"UM\0" // UnitedStatesMinorOutlyingIslands
+"AE\0" // United Arab Emirates
+"GB\0" // United Kingdom
+"US\0" // United States
+"UM\0" // United States Minor Outlying Islands
"UY\0" // Uruguay
"UZ\0" // Uzbekistan
"VU\0" // Vanuatu
-"VA\0" // VaticanCityState
+"VA\0" // Vatican City State
"VE\0" // Venezuela
"VN\0" // Vietnam
-"VG\0" // BritishVirginIslands
-"VI\0" // UnitedStatesVirginIslands
-"WF\0" // WallisAndFutunaIslands
-"EH\0" // WesternSahara
+"VG\0" // British Virgin Islands
+"VI\0" // United States Virgin Islands
+"WF\0" // Wallis And Futuna Islands
+"EH\0" // Western Sahara
"YE\0" // Yemen
-"IC\0" // CanaryIslands
+"IC\0" // Canary Islands
"ZM\0" // Zambia
"ZW\0" // Zimbabwe
-"CP\0" // ClippertonIsland
+"CP\0" // Clipperton Island
"ME\0" // Montenegro
"RS\0" // Serbia
"BL\0" // Saint Barthelemy
"MF\0" // Saint Martin
"419" // Latin America
-"AC\0" // AscensionIsland
-"AX\0" // AlandIslands
-"DG\0" // DiegoGarcia
-"EA\0" // CeutaAndMelilla
-"IM\0" // IsleOfMan
+"AC\0" // Ascension Island
+"AX\0" // Aland Islands
+"DG\0" // Diego Garcia
+"EA\0" // Ceuta And Melilla
+"IM\0" // Isle Of Man
"JE\0" // Jersey
-"TA\0" // TristanDaCunha
-"SS\0" // SouthSudan
+"TA\0" // Tristan Da Cunha
+"SS\0" // South Sudan
"BQ\0" // Bonaire
-"SX\0" // SintMaarten
+"SX\0" // Sint Maarten
"XK\0" // Kosovo
"EU\0" // European Union
"QO\0" // Outlying Oceania
diff --git a/src/corelib/tools/qregularexpression.cpp b/src/corelib/tools/qregularexpression.cpp
index af2e46dd00..6f0e572f41 100644
--- a/src/corelib/tools/qregularexpression.cpp
+++ b/src/corelib/tools/qregularexpression.cpp
@@ -483,6 +483,11 @@ QT_BEGIN_NAMESPACE
Note the usage of the non-capturing group in order to preserve the meaning
of the branch operator inside the pattern.
+ The QRegularExpression::anchoredPattern() helper method does exactly that for
+ you.
+
+ \sa anchoredPattern
+
\section3 Porting from QRegExp's Partial Matching
When using QRegExp::exactMatch(), if an exact match was not found, one
@@ -516,10 +521,10 @@ QT_BEGIN_NAMESPACE
\section2 Wildcard matching
- There is no equivalent of wildcard matching in QRegularExpression.
- Nevertheless, rewriting a regular expression in wildcard syntax to a
- Perl-compatible regular expression is a very easy task, given the fact
- that wildcard syntax supported by QRegExp is very simple.
+ There is no direct way to do wildcard matching in QRegularExpression.
+ However, the wildcardToRegularExpression method is provided to translate
+ glob patterns into a Perl-compatible regular expression that can be used
+ for that purpose.
\section2 Other pattern syntaxes
@@ -784,82 +789,6 @@ QT_BEGIN_NAMESPACE
Qt 5.4.
*/
-namespace QtPrivate {
-/*!
- internal
-*/
-QString wildcardToRegularExpression(const QString &wildcardString)
-{
- const int wclen = wildcardString.length();
- QString rx;
- int i = 0;
- bool hasNegativeBracket = false;
- const QChar *wc = wildcardString.unicode();
-
- while (i < wclen) {
- const QChar c = wc[i++];
- switch (c.unicode()) {
- case '*':
- rx += QLatin1String(".*");
- break;
- case '?':
- rx += QLatin1Char('.');
- break;
- case '$':
- case '(':
- case ')':
- case '+':
- case '.':
- case '^':
- case '{':
- case '|':
- case '}':
- rx += QLatin1Char('\\');
- rx += c;
- break;
- case '[':
- // Support for the [!abc] or [!a-c] syntax
- // Implements a negative look-behind for one char.
- if (wc[i] == QLatin1Char(']')) {
- rx += c;
- rx += wc[i++];
- } else if (wc[i] == QLatin1Char('!')) {
- rx += QLatin1String(".(?<");
- rx += wc[i++];
- rx += c;
- hasNegativeBracket = true;
- } else {
- rx += c;
- }
-
- if (i < wclen) {
- if (rx[i] == QLatin1Char(']'))
- rx += wc[i++];
- while (i < wclen && wc[i] != QLatin1Char(']')) {
- if (wc[i] == QLatin1Char('\\'))
- rx += QLatin1Char('\\');
- rx += wc[i++];
- }
- }
- break;
- case ']':
- rx += c;
- // Closes the negative look-behind expression.
- if (hasNegativeBracket) {
- rx += QLatin1Char(')');
- hasNegativeBracket = false;
- }
- break;
- default:
- rx += c;
- break;
- }
- }
-
- return rx;
-}
-}
-
/*!
\internal
*/
@@ -1583,47 +1512,6 @@ void QRegularExpression::setPattern(const QString &pattern)
}
/*!
- \since 5.12
-
- Sets the pattern string of the regular expression to \a wildcard pattern.
- The pattern options are left unchanged.
-
- \warning Unlike QRegExp, this implementation follows closely the definition
- of wildcard for glob patterns:
- \table
- \row \li \b{c}
- \li Any character represents itself apart from those mentioned
- below. Thus \b{c} matches the character \e c.
- \row \li \b{?}
- \li Matches any single character. It is the same as
- \b{.} in full regexps.
- \row \li \b{*}
- \li Matches zero or more of any characters. It is the
- same as \b{.*} in full regexps.
- \row \li \b{[abc]}
- \li Matches one character given in the bracket.
- \row \li \b{[a-c]}
- \li Matches one character from the range given in the bracket.
- \row \li \b{[!abc]}
- \li Matches one character that is not given in the bracket.
- \row \li \b{[!a-c]}
- \li matches one character that is not from the range given in the
- bracket.
- \endtable
-
- \note This function generates a regular expression that will act following
- the wildcard pattern given. However the content of the regular expression
- will not be the same as the one set.
-
- \sa pattern(), setPattern()
-*/
-void QRegularExpression::setWildcardPattern(const QString &pattern)
-{
- setPattern(QtPrivate::wildcardToRegularExpression(pattern));
-}
-
-
-/*!
Returns the pattern options for the regular expression.
\sa setPatternOptions(), pattern()
@@ -1988,6 +1876,141 @@ QString QRegularExpression::escape(const QString &str)
}
/*!
+ \since 5.12
+
+ Returns a regular expression representation of the given glob \a pattern.
+ The transformation is targeting file path globbing, which means in particular
+ that path separators receive special treatment. This implies that it is not
+ just a basic translation from "*" to ".*".
+
+ \snippet code/src_corelib_tools_qregularexpression.cpp 31
+
+ \warning Unlike QRegExp, this implementation follows closely the definition
+ of wildcard for glob patterns:
+ \table
+ \row \li \b{c}
+ \li Any character represents itself apart from those mentioned
+ below. Thus \b{c} matches the character \e c.
+ \row \li \b{?}
+ \li Matches any single character. It is the same as
+ \b{.} in full regexps.
+ \row \li \b{*}
+ \li Matches zero or more of any characters. It is the
+ same as \b{.*} in full regexps.
+ \row \li \b{[abc]}
+ \li Matches one character given in the bracket.
+ \row \li \b{[a-c]}
+ \li Matches one character from the range given in the bracket.
+ \row \li \b{[!abc]}
+ \li Matches one character that is not given in the bracket. It is the
+ same as \b{[^abc]} in full regexp.
+ \row \li \b{[!a-c]}
+ \li Matches one character that is not from the range given in the
+ bracket. It is the same as \b{[^a-c]} in full regexp.
+ \endtable
+
+ \note The backslash (\\) character is \e not an escape char in this context.
+ In order to match one of the special characters, place it in square brackets
+ (for example, "[?]").
+
+ More information about the implementation can be found in:
+ \list
+ \li \l {https://en.wikipedia.org/wiki/Glob_(programming)} {The Wikipedia Glob article}
+ \li \c man 7 glob
+ \endlist
+
+ \sa escape()
+*/
+QString QRegularExpression::wildcardToRegularExpression(const QString &pattern)
+{
+ const int wclen = pattern.length();
+ QString rx;
+ rx.reserve(wclen + wclen / 16);
+ int i = 0;
+ const QChar *wc = pattern.unicode();
+
+#ifdef Q_OS_WIN
+ const QLatin1Char nativePathSeparator('\\');
+ const QLatin1String starEscape("[^/\\\\]*");
+ const QLatin1String questionMarkEscape("[^/\\\\]");
+#else
+ const QLatin1Char nativePathSeparator('/');
+ const QLatin1String starEscape("[^/]*");
+ const QLatin1String questionMarkEscape("[^/]");
+#endif
+
+ while (i < wclen) {
+ const QChar c = wc[i++];
+ switch (c.unicode()) {
+ case '*':
+ rx += starEscape;
+ break;
+ case '?':
+ rx += questionMarkEscape;
+ break;
+ case '\\':
+#ifdef Q_OS_WIN
+ case '/':
+ rx += QLatin1String("[/\\\\]");
+ break;
+#endif
+ case '$':
+ case '(':
+ case ')':
+ case '+':
+ case '.':
+ case '^':
+ case '{':
+ case '|':
+ case '}':
+ rx += QLatin1Char('\\');
+ rx += c;
+ break;
+ case '[':
+ rx += c;
+ // Support for the [!abc] or [!a-c] syntax
+ if (i < wclen) {
+ if (wc[i] == QLatin1Char('!')) {
+ rx += QLatin1Char('^');
+ ++i;
+ }
+
+ if (i < wclen && wc[i] == QLatin1Char(']'))
+ rx += wc[i++];
+
+ while (i < wclen && wc[i] != QLatin1Char(']')) {
+ // The '/' appearing in a character class invalidates the
+ // regular expression parsing. It also concerns '\\' on
+ // Windows OS types.
+ if (wc[i] == QLatin1Char('/') || wc[i] == nativePathSeparator)
+ return rx;
+ if (wc[i] == QLatin1Char('\\'))
+ rx += QLatin1Char('\\');
+ rx += wc[i++];
+ }
+ }
+ break;
+ default:
+ rx += c;
+ break;
+ }
+ }
+
+ return rx;
+}
+
+/*!
+ \fn QRegularExpression::anchoredPattern(const QString &expression)
+
+ \since 5.12
+
+ Returns the expression wrapped between the \c{\A} and \c{\z} anchors to be
+ used for exact matching.
+
+ \sa {Porting from QRegExp's Exact Matching}
+*/
+
+/*!
\since 5.1
Constructs a valid, empty QRegularExpressionMatch object. The regular
diff --git a/src/corelib/tools/qregularexpression.h b/src/corelib/tools/qregularexpression.h
index d0f90b90b3..f9e7029550 100644
--- a/src/corelib/tools/qregularexpression.h
+++ b/src/corelib/tools/qregularexpression.h
@@ -96,7 +96,6 @@ public:
QString pattern() const;
void setPattern(const QString &pattern);
- void setWildcardPattern(const QString &pattern);
bool isValid() const;
int patternErrorOffset() const;
@@ -142,6 +141,13 @@ public:
void optimize() const;
static QString escape(const QString &str);
+ static QString wildcardToRegularExpression(const QString &str);
+ static inline QString anchoredPattern(const QString &expression)
+ {
+ return QLatin1String("\\A(?:")
+ + expression
+ + QLatin1String(")\\z");
+ }
bool operator==(const QRegularExpression &re) const;
inline bool operator!=(const QRegularExpression &re) const { return !operator==(re); }
diff --git a/src/corelib/tools/qregularexpression_p.h b/src/corelib/tools/qregularexpression_p.h
deleted file mode 100644
index f5455de853..0000000000
--- a/src/corelib/tools/qregularexpression_p.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2018 Samuel Gaist <samuel.gaist@edeltech.ch>
-** Copyright (C) 2018 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtCore module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QREGULAREXPRESSION_P_H
-#define QREGULAREXPRESSION_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <private/qglobal_p.h>
-
-#include <qregularexpression.h>
-#include <qstring.h>
-
-QT_REQUIRE_CONFIG(regularexpression);
-
-QT_BEGIN_NAMESPACE
-
-namespace QtPrivate {
-QString wildcardToRegularExpression(const QString &expression);
-}
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/corelib/tools/qstringlist.cpp b/src/corelib/tools/qstringlist.cpp
index e9b7397a74..712ba74716 100644
--- a/src/corelib/tools/qstringlist.cpp
+++ b/src/corelib/tools/qstringlist.cpp
@@ -692,7 +692,7 @@ int QtPrivate::QStringList_indexOf(const QStringList *that, const QRegularExpres
if (from < 0)
from = qMax(from + that->size(), 0);
- QString exactPattern = QLatin1String("\\A(?:") + re.pattern() + QLatin1String(")\\z");
+ QString exactPattern = QRegularExpression::anchoredPattern(re.pattern());
QRegularExpression exactRe(exactPattern, re.patternOptions());
for (int i = from; i < that->size(); ++i) {
@@ -722,7 +722,7 @@ int QtPrivate::QStringList_lastIndexOf(const QStringList *that, const QRegularEx
else if (from >= that->size())
from = that->size() - 1;
- QString exactPattern = QLatin1String("\\A(?:") + re.pattern() + QLatin1String(")\\z");
+ QString exactPattern = QRegularExpression::anchoredPattern(re.pattern());
QRegularExpression exactRe(exactPattern, re.patternOptions());
for (int i = from; i >= 0; --i) {
diff --git a/src/corelib/tools/qtimezoneprivate.cpp b/src/corelib/tools/qtimezoneprivate.cpp
index 2b6c2ea6a5..8bf7336a42 100644
--- a/src/corelib/tools/qtimezoneprivate.cpp
+++ b/src/corelib/tools/qtimezoneprivate.cpp
@@ -260,6 +260,8 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
const qint64 sixteenHoursInMSecs(16 * 3600 * 1000);
Q_STATIC_ASSERT(-sixteenHoursInMSecs / 1000 < QTimeZone::MinUtcOffsetSecs
&& sixteenHoursInMSecs / 1000 > QTimeZone::MaxUtcOffsetSecs);
+ const qint64 recent = forLocalMSecs - sixteenHoursInMSecs;
+ const qint64 imminent = forLocalMSecs + sixteenHoursInMSecs;
/*
Offsets are Local - UTC, positive to the east of Greenwich, negative to
the west; DST offset always exceeds standard offset, when DST applies.
@@ -327,7 +329,7 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
// Get a transition definitely before the local MSecs; usually all we need.
// Only around the transition times might we need another.
- Data tran = previousTransition(forLocalMSecs - sixteenHoursInMSecs);
+ Data tran = previousTransition(recent);
Q_ASSERT(forLocalMSecs < 0 || // Pre-epoch TZ info may be unavailable
forLocalMSecs - tran.offsetFromUtc * 1000 >= tran.atMSecsSinceEpoch);
Data nextTran = nextTransition(tran.atMSecsSinceEpoch);
@@ -343,8 +345,7 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
&& forLocalMSecs > nextTran.atMSecsSinceEpoch + nextTran.offsetFromUtc * 1000) {
Data newTran = nextTransition(nextTran.atMSecsSinceEpoch);
if (newTran.atMSecsSinceEpoch == invalidMSecs()
- || newTran.atMSecsSinceEpoch + newTran.offsetFromUtc * 1000
- > forLocalMSecs + sixteenHoursInMSecs) {
+ || newTran.atMSecsSinceEpoch + newTran.offsetFromUtc * 1000 > imminent) {
// Definitely not a relevant tansition: too far in the future.
break;
}
@@ -357,10 +358,10 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
/*
So now tran is definitely before and nextTran is either after or only
- slightly before. The one with the larger offset is in DST; the other in
- standard time. Our hint tells us which of those to use (defaulting to
- standard if no hint): try it first; if that fails, try the other; if both
- fail life's tricky.
+ slightly before. One is standard time; we interpret the other as DST
+ (although the transition might in fact by a change in standard offset). Our
+ hint tells us which of those to use (defaulting to standard if no hint): try
+ it first; if that fails, try the other; if both fail, life's tricky.
*/
Q_ASSERT(forLocalMSecs < 0
|| forLocalMSecs - tran.offsetFromUtc * 1000 > tran.atMSecsSinceEpoch);
@@ -369,7 +370,9 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
nextTran.atMSecsSinceEpoch = forLocalMSecs - nextTran.offsetFromUtc * 1000;
tran.atMSecsSinceEpoch = forLocalMSecs - tran.offsetFromUtc * 1000;
- const bool nextIsDst = tran.offsetFromUtc < nextTran.offsetFromUtc;
+ // If both or neither have zero DST, treat the one with lower offset as standard:
+ const bool nextIsDst = !nextTran.daylightTimeOffset == !tran.daylightTimeOffset
+ ? tran.offsetFromUtc < nextTran.offsetFromUtc : nextTran.daylightTimeOffset;
// If that agrees with hint > 0, our first guess is to use nextTran; else tran.
const bool nextFirst = nextIsDst == (hint > 0) && nextStart != invalidMSecs();
for (int i = 0; i < 2; i++) {
@@ -399,7 +402,7 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
0 < tran.atMSecsSinceEpoch - nextTran.atMSecsSinceEpoch
= (nextTran.offsetFromUtc - tran.offsetFromUtc) * 1000
*/
- int dstStep = nextTran.offsetFromUtc - tran.offsetFromUtc;
+ int dstStep = (nextTran.offsetFromUtc - tran.offsetFromUtc) * 1000;
Q_ASSERT(dstStep > 0); // How else could we get here ?
if (nextFirst) { // hint thought we needed nextTran, so use tran
tran.atMSecsSinceEpoch -= dstStep;
@@ -415,8 +418,8 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
/* Bracket and refine to discover offset. */
qint64 utcEpochMSecs;
- int early = offsetFromUtc(forLocalMSecs - sixteenHoursInMSecs);
- int late = offsetFromUtc(forLocalMSecs + sixteenHoursInMSecs);
+ int early = offsetFromUtc(recent);
+ int late = offsetFromUtc(imminent);
if (Q_LIKELY(early == late)) { // > 99% of the time
utcEpochMSecs = forLocalMSecs - early * 1000;
} else {
@@ -437,9 +440,7 @@ QTimeZonePrivate::Data QTimeZonePrivate::dataForLocalTime(qint64 forLocalMSecs,
utcEpochMSecs = forStd;
} else {
// Invalid forLocalMSecs: in spring-forward gap.
- const int dstStep = daylightTimeOffset(early < late ?
- forLocalMSecs + sixteenHoursInMSecs :
- forLocalMSecs - sixteenHoursInMSecs);
+ const int dstStep = daylightTimeOffset(early < late ? imminent : recent);
Q_ASSERT(dstStep); // There can't be a transition without it !
utcEpochMSecs = (hint > 0) ? forStd - dstStep : forDst + dstStep;
}
diff --git a/src/corelib/tools/qtimezoneprivate_mac.mm b/src/corelib/tools/qtimezoneprivate_mac.mm
index fa0dd87cfc..d3c4fbe5da 100644
--- a/src/corelib/tools/qtimezoneprivate_mac.mm
+++ b/src/corelib/tools/qtimezoneprivate_mac.mm
@@ -227,7 +227,7 @@ QTimeZonePrivate::Data QMacTimeZonePrivate::nextTransition(qint64 afterMSecsSinc
QTimeZonePrivate::Data QMacTimeZonePrivate::previousTransition(qint64 beforeMSecsSinceEpoch) const
{
// The native API only lets us search forward, so we need to find an early-enough start:
- const NSTimeInterval lowerBound = std::numeric_limits<NSTimeInterval>::min();
+ const NSTimeInterval lowerBound = std::numeric_limits<NSTimeInterval>::lowest();
const qint64 endSecs = beforeMSecsSinceEpoch / 1000;
const int year = 366 * 24 * 3600; // a (long) year, in seconds
NSTimeInterval prevSecs = endSecs; // sentinel for later check
diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
index 6a27aad9e5..bed62a02bd 100644
--- a/src/corelib/tools/qtimezoneprivate_tz.cpp
+++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
@@ -878,14 +878,17 @@ QString QTzTimeZonePrivate::displayName(QTimeZone::TimeType timeType,
}
// Otherwise is strange sequence, so work backwards through trans looking for first match, if any
- for (int i = m_tranTimes.size() - 1; i >= 0; --i) {
- if (m_tranTimes.at(i).atMSecsSinceEpoch <= currentMSecs) {
- tran = dataForTzTransition(m_tranTimes.at(i));
- if ((timeType == QTimeZone::DaylightTime && tran.daylightTimeOffset != 0)
- || (timeType == QTimeZone::StandardTime && tran.daylightTimeOffset == 0)) {
- return tran.abbreviation;
- }
- }
+ auto it = std::partition_point(m_tranTimes.cbegin(), m_tranTimes.cend(),
+ [currentMSecs](const QTzTransitionTime &at) {
+ return at.atMSecsSinceEpoch <= currentMSecs;
+ });
+
+ while (it != m_tranTimes.cbegin()) {
+ --it;
+ tran = dataForTzTransition(*it);
+ int offset = tran.daylightTimeOffset;
+ if ((timeType == QTimeZone::DaylightTime) != (offset == 0))
+ return tran.abbreviation;
}
// Otherwise if no match use current data
@@ -900,7 +903,7 @@ QString QTzTimeZonePrivate::abbreviation(qint64 atMSecsSinceEpoch) const
int QTzTimeZonePrivate::offsetFromUtc(qint64 atMSecsSinceEpoch) const
{
const QTimeZonePrivate::Data tran = data(atMSecsSinceEpoch);
- return tran.standardTimeOffset + tran.daylightTimeOffset;
+ return tran.offsetFromUtc; // == tran.standardTimeOffset + tran.daylightTimeOffset
}
int QTzTimeZonePrivate::standardTimeOffset(qint64 atMSecsSinceEpoch) const
@@ -942,40 +945,38 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::dataForTzTransition(QTzTransitionTime
QTimeZonePrivate::Data QTzTimeZonePrivate::data(qint64 forMSecsSinceEpoch) const
{
+ // If we have no rules (so probably an invalid tz), return invalid data:
+ if (!m_tranTimes.size())
+ return invalidData();
+
// If the required time is after the last transition and we have a POSIX rule then use it
- if (m_tranTimes.size() > 0 && m_tranTimes.last().atMSecsSinceEpoch < forMSecsSinceEpoch
+ if (m_tranTimes.last().atMSecsSinceEpoch < forMSecsSinceEpoch
&& !m_posixRule.isEmpty() && forMSecsSinceEpoch >= 0) {
const int year = QDateTime::fromMSecsSinceEpoch(forMSecsSinceEpoch, Qt::UTC).date().year();
QVector<QTimeZonePrivate::Data> posixTrans =
calculatePosixTransitions(m_posixRule, year - 1, year + 1,
m_tranTimes.last().atMSecsSinceEpoch);
- for (int i = posixTrans.size() - 1; i >= 0; --i) {
- if (posixTrans.at(i).atMSecsSinceEpoch <= forMSecsSinceEpoch) {
- QTimeZonePrivate::Data data = posixTrans.at(i);
- data.atMSecsSinceEpoch = forMSecsSinceEpoch;
- return data;
- }
- }
- }
-
- // Otherwise if we can find a valid tran then use its rule
- for (int i = m_tranTimes.size() - 1; i >= 0; --i) {
- if (m_tranTimes.at(i).atMSecsSinceEpoch <= forMSecsSinceEpoch) {
- Data data = dataForTzTransition(m_tranTimes.at(i));
+ auto it = std::partition_point(posixTrans.cbegin(), posixTrans.cend(),
+ [forMSecsSinceEpoch] (const QTimeZonePrivate::Data &at) {
+ return at.atMSecsSinceEpoch <= forMSecsSinceEpoch;
+ });
+ if (it > posixTrans.cbegin()) {
+ QTimeZonePrivate::Data data = *--it;
data.atMSecsSinceEpoch = forMSecsSinceEpoch;
return data;
}
}
- // Otherwise use the earliest transition we have
- if (m_tranTimes.size() > 0) {
- Data data = dataForTzTransition(m_tranTimes.at(0));
- data.atMSecsSinceEpoch = forMSecsSinceEpoch;
- return data;
- }
-
- // Otherwise we have no rules, so probably an invalid tz, so return invalid data
- return invalidData();
+ // Otherwise, if we can find a valid tran, then use its rule:
+ auto last = std::partition_point(m_tranTimes.cbegin(), m_tranTimes.cend(),
+ [forMSecsSinceEpoch] (const QTzTransitionTime &at) {
+ return at.atMSecsSinceEpoch <= forMSecsSinceEpoch;
+ });
+ if (last > m_tranTimes.cbegin())
+ --last;
+ Data data = dataForTzTransition(*last);
+ data.atMSecsSinceEpoch = forMSecsSinceEpoch;
+ return data;
}
bool QTzTimeZonePrivate::hasTransitions() const
@@ -992,21 +993,20 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::nextTransition(qint64 afterMSecsSince
QVector<QTimeZonePrivate::Data> posixTrans =
calculatePosixTransitions(m_posixRule, year - 1, year + 1,
m_tranTimes.last().atMSecsSinceEpoch);
- for (int i = 0; i < posixTrans.size(); ++i) {
- if (posixTrans.at(i).atMSecsSinceEpoch > afterMSecsSinceEpoch)
- return posixTrans.at(i);
- }
- }
+ auto it = std::partition_point(posixTrans.cbegin(), posixTrans.cend(),
+ [afterMSecsSinceEpoch] (const QTimeZonePrivate::Data &at) {
+ return at.atMSecsSinceEpoch <= afterMSecsSinceEpoch;
+ });
- // Otherwise if we can find a valid tran then use its rule
- for (int i = 0; i < m_tranTimes.size(); ++i) {
- if (m_tranTimes.at(i).atMSecsSinceEpoch > afterMSecsSinceEpoch) {
- return dataForTzTransition(m_tranTimes.at(i));
- }
+ return it == posixTrans.cend() ? invalidData() : *it;
}
- // Otherwise we have no rule, or there is no next transition, so return invalid data
- return invalidData();
+ // Otherwise, if we can find a valid tran, use its rule:
+ auto last = std::partition_point(m_tranTimes.cbegin(), m_tranTimes.cend(),
+ [afterMSecsSinceEpoch] (const QTzTransitionTime &at) {
+ return at.atMSecsSinceEpoch <= afterMSecsSinceEpoch;
+ });
+ return last != m_tranTimes.cend() ? dataForTzTransition(*last) : invalidData();
}
QTimeZonePrivate::Data QTzTimeZonePrivate::previousTransition(qint64 beforeMSecsSinceEpoch) const
@@ -1018,21 +1018,20 @@ QTimeZonePrivate::Data QTzTimeZonePrivate::previousTransition(qint64 beforeMSecs
QVector<QTimeZonePrivate::Data> posixTrans =
calculatePosixTransitions(m_posixRule, year - 1, year + 1,
m_tranTimes.last().atMSecsSinceEpoch);
- for (int i = posixTrans.size() - 1; i >= 0; --i) {
- if (posixTrans.at(i).atMSecsSinceEpoch < beforeMSecsSinceEpoch)
- return posixTrans.at(i);
- }
+ auto it = std::partition_point(posixTrans.cbegin(), posixTrans.cend(),
+ [beforeMSecsSinceEpoch] (const QTimeZonePrivate::Data &at) {
+ return at.atMSecsSinceEpoch < beforeMSecsSinceEpoch;
+ });
+ Q_ASSERT(it > posixTrans.cbegin());
+ return *--it;
}
// Otherwise if we can find a valid tran then use its rule
- for (int i = m_tranTimes.size() - 1; i >= 0; --i) {
- if (m_tranTimes.at(i).atMSecsSinceEpoch < beforeMSecsSinceEpoch) {
- return dataForTzTransition(m_tranTimes.at(i));
- }
- }
-
- // Otherwise we have no rule, so return invalid data
- return invalidData();
+ auto last = std::partition_point(m_tranTimes.cbegin(), m_tranTimes.cend(),
+ [beforeMSecsSinceEpoch] (const QTzTransitionTime &at) {
+ return at.atMSecsSinceEpoch < beforeMSecsSinceEpoch;
+ });
+ return last > m_tranTimes.cbegin() ? dataForTzTransition(*--last) : invalidData();
}
// TODO Could cache the value and monitor the required files for any changes
diff --git a/src/corelib/tools/tools.pri b/src/corelib/tools/tools.pri
index 7a74dfda3e..9ec6ea4894 100644
--- a/src/corelib/tools/tools.pri
+++ b/src/corelib/tools/tools.pri
@@ -183,8 +183,7 @@ qtConfig(regularexpression) {
QMAKE_USE_PRIVATE += pcre2
HEADERS += \
- tools/qregularexpression.h \
- tools/qregularexpression_p.h
+ tools/qregularexpression.h
SOURCES += tools/qregularexpression.cpp
}