QFontDatabase: Move writing_system_sample() into only caller

Change-Id: I225a24a73c3d0e79db5b1a33513f5582d1abf531
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
bb10
Tor Arne Vestbø 2022-03-25 11:54:22 +01:00
parent d0ce9886f1
commit 4bd3080163
1 changed files with 76 additions and 79 deletions

View File

@ -2003,90 +2003,87 @@ QString QFontDatabase::writingSystemName(WritingSystem writingSystem)
return QCoreApplication::translate("QFontDatabase", name);
}
static QStringView writing_system_sample(QFontDatabase::WritingSystem writingSystem)
{
switch (writingSystem) {
case QFontDatabase::Any:
case QFontDatabase::Symbol:
// show only ascii characters
return u"AaBbzZ";
case QFontDatabase::Latin:
// This is cheating... we only show latin-1 characters so that we don't
// end up loading lots of fonts - at least on X11...
return u"Aa\x00C3\x00E1Zz";
case QFontDatabase::Greek:
return u"\x0393\x03B1\x03A9\x03C9";
case QFontDatabase::Cyrillic:
return u"\x0414\x0434\x0436\x044f";
case QFontDatabase::Armenian:
return u"\x053f\x054f\x056f\x057f";
case QFontDatabase::Hebrew:
return u"\x05D0\x05D1\x05D2\x05D3";
case QFontDatabase::Arabic:
return u"\x0623\x0628\x062C\x062F\x064A\x0629\x0020\x0639\x0631\x0628\x064A\x0629";
case QFontDatabase::Syriac:
return u"\x0715\x0725\x0716\x0726";
case QFontDatabase::Thaana:
return u"\x0784\x0794\x078c\x078d";
case QFontDatabase::Devanagari:
return u"\x0905\x0915\x0925\x0935";
case QFontDatabase::Bengali:
return u"\x0986\x0996\x09a6\x09b6";
case QFontDatabase::Gurmukhi:
return u"\x0a05\x0a15\x0a25\x0a35";
case QFontDatabase::Gujarati:
return u"\x0a85\x0a95\x0aa5\x0ab5";
case QFontDatabase::Oriya:
return u"\x0b06\x0b16\x0b2b\x0b36";
case QFontDatabase::Tamil:
return u"\x0b89\x0b99\x0ba9\x0bb9";
case QFontDatabase::Telugu:
return u"\x0c05\x0c15\x0c25\x0c35";
case QFontDatabase::Kannada:
return u"\x0c85\x0c95\x0ca5\x0cb5";
case QFontDatabase::Malayalam:
return u"\x0d05\x0d15\x0d25\x0d35";
case QFontDatabase::Sinhala:
return u"\x0d90\x0da0\x0db0\x0dc0";
case QFontDatabase::Thai:
return u"\x0e02\x0e12\x0e22\x0e32";
case QFontDatabase::Lao:
return u"\x0e8d\x0e9d\x0ead\x0ebd";
case QFontDatabase::Tibetan:
return u"\x0f00\x0f01\x0f02\x0f03";
case QFontDatabase::Myanmar:
return u"\x1000\x1001\x1002\x1003";
case QFontDatabase::Georgian:
return u"\x10a0\x10b0\x10c0\x10d0";
case QFontDatabase::Khmer:
return u"\x1780\x1790\x17b0\x17c0";
case QFontDatabase::SimplifiedChinese:
return u"\x4e2d\x6587\x8303\x4f8b";
case QFontDatabase::TraditionalChinese:
return u"\x4e2d\x6587\x7bc4\x4f8b";
case QFontDatabase::Japanese:
return u"\x30b5\x30f3\x30d7\x30eb\x3067\x3059";
case QFontDatabase::Korean:
return u"\xac00\xac11\xac1a\xac2f";
case QFontDatabase::Vietnamese:
return u"\x1ED7\x1ED9\x1ED1\x1ED3";
case QFontDatabase::Ogham:
return u"\x1681\x1682\x1683\x1684";
case QFontDatabase::Runic:
return u"\x16a0\x16a1\x16a2\x16a3";
case QFontDatabase::Nko:
return u"\x7ca\x7cb\x7cc\x7cd";
default:
return nullptr;
}
}
/*!
Returns a string with sample characters from \a writingSystem.
*/
QString QFontDatabase::writingSystemSample(WritingSystem writingSystem)
{
return writing_system_sample(writingSystem).toString();
return [&]() -> QStringView {
switch (writingSystem) {
case QFontDatabase::Any:
case QFontDatabase::Symbol:
// show only ascii characters
return u"AaBbzZ";
case QFontDatabase::Latin:
// This is cheating... we only show latin-1 characters so that we don't
// end up loading lots of fonts - at least on X11...
return u"Aa\x00C3\x00E1Zz";
case QFontDatabase::Greek:
return u"\x0393\x03B1\x03A9\x03C9";
case QFontDatabase::Cyrillic:
return u"\x0414\x0434\x0436\x044f";
case QFontDatabase::Armenian:
return u"\x053f\x054f\x056f\x057f";
case QFontDatabase::Hebrew:
return u"\x05D0\x05D1\x05D2\x05D3";
case QFontDatabase::Arabic:
return u"\x0623\x0628\x062C\x062F\x064A\x0629\x0020\x0639\x0631\x0628\x064A\x0629";
case QFontDatabase::Syriac:
return u"\x0715\x0725\x0716\x0726";
case QFontDatabase::Thaana:
return u"\x0784\x0794\x078c\x078d";
case QFontDatabase::Devanagari:
return u"\x0905\x0915\x0925\x0935";
case QFontDatabase::Bengali:
return u"\x0986\x0996\x09a6\x09b6";
case QFontDatabase::Gurmukhi:
return u"\x0a05\x0a15\x0a25\x0a35";
case QFontDatabase::Gujarati:
return u"\x0a85\x0a95\x0aa5\x0ab5";
case QFontDatabase::Oriya:
return u"\x0b06\x0b16\x0b2b\x0b36";
case QFontDatabase::Tamil:
return u"\x0b89\x0b99\x0ba9\x0bb9";
case QFontDatabase::Telugu:
return u"\x0c05\x0c15\x0c25\x0c35";
case QFontDatabase::Kannada:
return u"\x0c85\x0c95\x0ca5\x0cb5";
case QFontDatabase::Malayalam:
return u"\x0d05\x0d15\x0d25\x0d35";
case QFontDatabase::Sinhala:
return u"\x0d90\x0da0\x0db0\x0dc0";
case QFontDatabase::Thai:
return u"\x0e02\x0e12\x0e22\x0e32";
case QFontDatabase::Lao:
return u"\x0e8d\x0e9d\x0ead\x0ebd";
case QFontDatabase::Tibetan:
return u"\x0f00\x0f01\x0f02\x0f03";
case QFontDatabase::Myanmar:
return u"\x1000\x1001\x1002\x1003";
case QFontDatabase::Georgian:
return u"\x10a0\x10b0\x10c0\x10d0";
case QFontDatabase::Khmer:
return u"\x1780\x1790\x17b0\x17c0";
case QFontDatabase::SimplifiedChinese:
return u"\x4e2d\x6587\x8303\x4f8b";
case QFontDatabase::TraditionalChinese:
return u"\x4e2d\x6587\x7bc4\x4f8b";
case QFontDatabase::Japanese:
return u"\x30b5\x30f3\x30d7\x30eb\x3067\x3059";
case QFontDatabase::Korean:
return u"\xac00\xac11\xac1a\xac2f";
case QFontDatabase::Vietnamese:
return u"\x1ED7\x1ED9\x1ED1\x1ED3";
case QFontDatabase::Ogham:
return u"\x1681\x1682\x1683\x1684";
case QFontDatabase::Runic:
return u"\x16a0\x16a1\x16a2\x16a3";
case QFontDatabase::Nko:
return u"\x7ca\x7cb\x7cc\x7cd";
default:
return nullptr;
}
}().toString();
}
void QFontDatabasePrivate::parseFontName(const QString &name, QString &foundry, QString &family)