Merge remote-tracking branch 'origin/release' into stable
Change-Id: I3199d47f7d450853032ea5aa38cd4c7c30b9a3d0
This commit is contained in:
commit
bddf6d4359
@ -104,8 +104,10 @@ public:
|
||||
dirty = false;
|
||||
|
||||
// This is a workaround for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58800
|
||||
// Avoid using std::nth_element for stdlibc++ <= 4.7.3 || (>= 4.8.0 && <= 4.8.2)
|
||||
#if defined(__GLIBCXX__) && (__GLIBCXX__ <= 20130411 || (__GLIBCXX__ >= 20130322 && __GLIBCXX__ <= 20131016))
|
||||
// Avoid using std::nth_element for the affected stdlibc++ releases 4.7.3 and 4.8.2.
|
||||
// Note that the official __GLIBCXX__ value of the releases is not used since that
|
||||
// one might be patched on some GNU/Linux distributions.
|
||||
#if defined(__GLIBCXX__) && __GLIBCXX__ <= 20140107
|
||||
QVector<T> sorted = values;
|
||||
std::sort(sorted.begin(), sorted.end());
|
||||
currentMedian = sorted.at(bufferSize / 2);
|
||||
|
@ -500,58 +500,60 @@ QSupportedWritingSystems QPlatformFontDatabase::writingSystemsFromTrueTypeBits(q
|
||||
}
|
||||
}
|
||||
}
|
||||
if (codePageRange[0] & ((1 << Latin1CsbBit) | (1 << CentralEuropeCsbBit) | (1 << TurkishCsbBit) | (1 << BalticCsbBit))) {
|
||||
writingSystems.setSupported(QFontDatabase::Latin);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Latin", familyName.latin1());
|
||||
if (!hasScript) {
|
||||
if (codePageRange[0] & ((1 << Latin1CsbBit) | (1 << CentralEuropeCsbBit) | (1 << TurkishCsbBit) | (1 << BalticCsbBit))) {
|
||||
writingSystems.setSupported(QFontDatabase::Latin);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Latin", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << CyrillicCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Cyrillic);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Cyrillic", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << GreekCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Greek);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Greek", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << HebrewCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Hebrew);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Hebrew", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << ArabicCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Arabic);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Arabic", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << VietnameseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Vietnamese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Vietnamese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << SimplifiedChineseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::SimplifiedChinese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Simplified Chinese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << TraditionalChineseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::TraditionalChinese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Traditional Chinese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << JapaneseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Japanese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Japanese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & ((1 << KoreanCsbBit) | (1 << KoreanJohabCsbBit))) {
|
||||
writingSystems.setSupported(QFontDatabase::Korean);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Korean", familyName.latin1());
|
||||
}
|
||||
if (!hasScript)
|
||||
writingSystems.setSupported(QFontDatabase::Symbol);
|
||||
}
|
||||
if (codePageRange[0] & (1 << CyrillicCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Cyrillic);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Cyrillic", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << GreekCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Greek);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Greek", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << HebrewCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Hebrew);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Hebrew", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << ArabicCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Arabic);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Arabic", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << VietnameseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Vietnamese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Vietnamese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << SimplifiedChineseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::SimplifiedChinese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Simplified Chinese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << TraditionalChineseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::TraditionalChinese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Traditional Chinese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & (1 << JapaneseCsbBit)) {
|
||||
writingSystems.setSupported(QFontDatabase::Japanese);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Japanese", familyName.latin1());
|
||||
}
|
||||
if (codePageRange[0] & ((1 << KoreanCsbBit) | (1 << KoreanJohabCsbBit))) {
|
||||
writingSystems.setSupported(QFontDatabase::Korean);
|
||||
hasScript = true;
|
||||
//qDebug("font %s supports Korean", familyName.latin1());
|
||||
}
|
||||
if (!hasScript)
|
||||
writingSystems.setSupported(QFontDatabase::Symbol);
|
||||
|
||||
return writingSystems;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user