⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qfontdatabase.cpp

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
            }        }    } end:    if (smoothScalable)        return QFontDatabase::standardSizes();    qSort(sizes);    return sizes;#endif}/*!    Returns a list of standard font sizes.    \sa smoothSizes(), pointSizes()*/QList<int> QFontDatabase::standardSizes(){    QList<int> ret;    static const unsigned short standard[] =        { 6, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20, 22, 24, 26, 28, 36, 48, 72, 0 };    const unsigned short *sizes = standard;    while (*sizes) ret << *sizes++;    return ret;}/*!    Returns true if the font that has family \a family and style \a    style is italic; otherwise returns false.    \sa weight(), bold()*/bool QFontDatabase::italic(const QString &family, const QString &style) const{    QString familyName, foundryName;    parseFontName(family, foundryName, familyName);    ::load(familyName);    QtFontFoundry allStyles(foundryName);    QtFontFamily *f = d->family(familyName);    if (!f) return false;    for (int j = 0; j < f->count; j++) {        QtFontFoundry *foundry = f->foundries[j];        if (foundryName.isEmpty() || ucstricmp(foundry->name, foundryName) == 0) {            for (int k = 0; k < foundry->count; k++)                allStyles.style(foundry->styles[k]->key, true);        }    }    QtFontStyle::Key styleKey(style);    QtFontStyle *s = allStyles.style(styleKey);    return s && s->key.style == QFont::StyleItalic;}/*!    Returns true if the font that has family \a family and style \a    style is bold; otherwise returns false.    \sa italic(), weight()*/bool QFontDatabase::bold(const QString &family,                          const QString &style) const{    QString familyName, foundryName;    parseFontName(family, foundryName, familyName);    ::load(familyName);    QtFontFoundry allStyles(foundryName);    QtFontFamily *f = d->family(familyName);    if (!f) return false;    for (int j = 0; j < f->count; j++) {        QtFontFoundry *foundry = f->foundries[j];        if (foundryName.isEmpty() ||             ucstricmp(foundry->name, foundryName) == 0) {            for (int k = 0; k < foundry->count; k++)                allStyles.style(foundry->styles[k]->key, true);        }    }    QtFontStyle::Key styleKey(style);    QtFontStyle *s = allStyles.style(styleKey);    return s && s->key.weight >= QFont::Bold;}/*!    Returns the weight of the font that has family \a family and style    \a style. If there is no such family and style combination,    returns -1.    \sa italic(), bold()*/int QFontDatabase::weight(const QString &family,                           const QString &style) const{    QString familyName, foundryName;    parseFontName(family, foundryName, familyName);    ::load(familyName);    QtFontFoundry allStyles(foundryName);    QtFontFamily *f = d->family(familyName);    if (!f) return -1;    for (int j = 0; j < f->count; j++) {        QtFontFoundry *foundry = f->foundries[j];        if (foundryName.isEmpty() ||             ucstricmp(foundry->name, foundryName) == 0) {            for (int k = 0; k < foundry->count; k++)                allStyles.style(foundry->styles[k]->key, true);        }    }    QtFontStyle::Key styleKey(style);    QtFontStyle *s = allStyles.style(styleKey);    return s ? s->key.weight : -1;}/*!    Returns the names the \a writingSystem (e.g. for displaying to the    user in a dialog).*/QString QFontDatabase::writingSystemName(WritingSystem writingSystem){    const char *name = 0;    switch (writingSystem) {    case Any:        name = "Any";        break;    case Latin:        name = "Latin";        break;    case Greek:        name = "Greek";        break;    case Cyrillic:        name = "Cyrillic";        break;    case Armenian:        name = "Armenian";        break;    case Hebrew:        name = "Hebrew";        break;    case Arabic:        name = "Arabic";        break;    case Syriac:        name = "Syriac";        break;    case Thaana:        name = "Thaana";        break;    case Devanagari:        name = "Devanagari";        break;    case Bengali:        name = "Bengali";        break;    case Gurmukhi:        name = "Gurmukhi";        break;    case Gujarati:        name = "Gujarati";        break;    case Oriya:        name = "Oriya";        break;    case Tamil:        name = "Tamil";        break;    case Telugu:        name = "Telugu";        break;    case Kannada:        name = "Kannada";        break;    case Malayalam:        name = "Malayalam";        break;    case Sinhala:        name = "Sinhala";        break;    case Thai:        name = "Thai";        break;    case Lao:        name = "Lao";        break;    case Tibetan:        name = "Tibetan";        break;    case Myanmar:        name = "Myanmar";        break;    case Georgian:        name = "Georgian";        break;    case Khmer:        name = "Khmer";        break;    case SimplifiedChinese:        name = "Simplified Chinese";        break;    case TraditionalChinese:        name = "Traditional Chinese";        break;    case Japanese:        name = "Japanese";        break;    case Korean:        name = "Korean";        break;    case Vietnamese:        name = "Vietnamese";        break;    case Other:        name = "Other";        break;    default:        Q_ASSERT_X(false, "QFontDatabase::writingSystemName", "invalid 'writingSystem' parameter");        break;    }    return qApp ? qApp->translate("QFont", name) : QString::fromLatin1(name);}/*!    Returns a string with sample characters from \a writingSystem.*/QString QFontDatabase::writingSystemSample(WritingSystem writingSystem){    QString sample = QString::fromLatin1("AaBb");    switch (writingSystem) {    case Any:    case Other:        // show only ascii characters        sample += "YyzZ";        break;    case 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...        sample += QChar(0x00C3);        sample += QChar(0x00E1);        sample += "Zz";        break;    case Greek:        sample += QChar(0x0393);        sample += QChar(0x03B1);        sample += QChar(0x03A9);        sample += QChar(0x03C9);        break;    case Cyrillic:        sample += QChar(0x0414);        sample += QChar(0x0434);        sample += QChar(0x0436);        sample += QChar(0x0402);        break;    case Armenian:        sample += QChar(0x053f);        sample += QChar(0x054f);        sample += QChar(0x056f);        sample += QChar(0x057f);        break;    case Hebrew:        sample += QChar(0x05D0);        sample += QChar(0x05D1);        sample += QChar(0x05D2);        sample += QChar(0x05D3);        break;    case Arabic:        sample += QChar(0x0628);        sample += QChar(0x0629);        sample += QChar(0x062A);        sample += QChar(0x063A);        break;    case Syriac:        sample += QChar(0x0715);        sample += QChar(0x0725);        sample += QChar(0x0716);        sample += QChar(0x0726);        break;    case Thaana:        sample += QChar(0x0784);        sample += QChar(0x0794);        sample += QChar(0x078c);        sample += QChar(0x078d);        break;    case Devanagari:        sample += QChar(0x0905);        sample += QChar(0x0915);        sample += QChar(0x0925);        sample += QChar(0x0935);        break;    case Bengali:        sample += QChar(0x0986);        sample += QChar(0x0996);        sample += QChar(0x09a6);        sample += QChar(0x09b6);        break;    case Gurmukhi:        sample += QChar(0x0a05);        sample += QChar(0x0a15);        sample += QChar(0x0a25);        sample += QChar(0x0a35);        break;    case Gujarati:        sample += QChar(0x0a85);        sample += QChar(0x0a95);        sample += QChar(0x0aa5);        sample += QChar(0x0ab5);        break;    case Oriya:        sample += QChar(0x0b06);        sample += QChar(0x0b16);        sample += QChar(0x0b2b);        sample += QChar(0x0b36);        break;    case Tamil:        sample += QChar(0x0b89);        sample += QChar(0x0b99);        sample += QChar(0x0ba9);        sample += QChar(0x0bb9);        break;    case Telugu:        sample += QChar(0x0c05);        sample += QChar(0x0c15);        sample += QChar(0x0c25);        sample += QChar(0x0c35);        break;    case Kannada:        sample += QChar(0x0c85);        sample += QChar(0x0c95);        sample += QChar(0x0ca5);        sample += QChar(0x0cb5);        break;    case Malayalam:        sample += QChar(0x0d05);        sample += QChar(0x0d15);        sample += QChar(0x0d25);        sample += QChar(0x0d35);        break;    case Sinhala:        sample += QChar(0x0d90);        sample += QChar(0x0da0);        sample += QChar(0x0db0);        sample += QChar(0x0dc0);        break;    case Thai:        sample += QChar(0x0e02);        sample += QChar(0x0e12);        sample += QChar(0x0e22);        sample += QChar(0x0e32);        break;    case Lao:        sample += QChar(0x0e8d);        sample += QChar(0x0e9d);        sample += QChar(0x0ead);        sample += QChar(0x0ebd);        break;    case Tibetan:        sample += QChar(0x0f00);        sample += QChar(0x0f01);        sample += QChar(0x0f02);        sample += QChar(0x0f03);        break;    case Myanmar:        sample += QChar(0x1000);        sample += QChar(0x1001);        sample += QChar(0x1002);        sample += QChar(0x1003);        break;    case Georgian:        sample += QChar(0x10a0);        sample += QChar(0x10b0);        sample += QChar(0x10c0);        sample += QChar(0x10d0);        break;    case Khmer:        sample += QChar(0x1780);        sample += QChar(0x1790);        sample += QChar(0x17b0);        sample += QChar(0x17c0);        break;    case SimplifiedChinese:        sample += QChar(0x4e2d);        sample += QChar(0x6587);        sample += QChar(0x8303);        sample += QChar(0x4f8b);        break;    case TraditionalChinese:        sample += QChar(0x4e2d);        sample += QChar(0x6587);        sample += QChar(0x7bc4);        sample += QChar(0x4f8b);        break;    case Japanese:        sample += QChar(0x3050);        sample += QChar(0x3060);        sample += QChar(0x30b0);        sample += QChar(0x30c0);        break;    case Korean:        sample += QChar(0xac00);        sample += QChar(0xac11);        sample += QChar(0xac1a);        sample += QChar(0xac2f);        break;    case Vietnamese:        break;    default:        break;    }    return sample;}void QFontDatabase::parseFontName(const QString &name, QString &foundry, QString &family){    ::parseFontName(name, foundry, family);}void QFontDatabase::createDatabase(){ initializeDb(); }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -