Spec-Zone.ru › Qt 5.9

Класс QFontDatabase

Класс QFontDatabase предоставляет информацию о шрифтах, доступных в базовой системе окон. Подробнее...

Заголовок: #include <QFontDatabase>
qmake: QT += gui
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Примечание: Все функции в этом классе являются потокобезопасными.

Типы публичного доступа

перечисление SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont }
перечисление WritingSystem { Any, Latin, Greek, Cyrillic, ..., Nko }

Публичные функции

QFontDatabase()
bool bold(const QString &family, const QString &style) const
QStringList families(WritingSystem writingSystem = Any) const
QFont font(const QString &family, const QString &style, int pointSize) const
bool isBitmapScalable(const QString &family, const QString &style = QString()) const
bool isFixedPitch(const QString &family, const QString &style = QString()) const
bool isPrivateFamily(const QString &family) const
bool isScalable(const QString &family, const QString &style = QString()) const
bool isSmoothlyScalable(const QString &family, const QString &style = QString()) const
bool italic(const QString &family, const QString &style) const
QList<int> pointSizes(const QString &family, const QString &styleName = QString())
QList<int> smoothSizes(const QString &family, const QString &styleName)
QString styleString(const QFont &font)
QString styleString(const QFontInfo &fontInfo)
QStringList styles(const QString &family) const
int weight(const QString &family, const QString &style) const
QList<WritingSystem> writingSystems() const
QList<WritingSystem> writingSystems(const QString &family) const

Статические публичные члены

int addApplicationFont(const QString &fileName)
int addApplicationFontFromData(const QByteArray &fontData)
QStringList applicationFontFamilies(int id)
bool removeAllApplicationFonts()
bool removeApplicationFont(int id)
QList<int> standardSizes()
QFont systemFont(SystemFont type)
QString writingSystemName(WritingSystem writingSystem)
QString writingSystemSample(WritingSystem writingSystem)

Подробное описание

Класс QFontDatabase предоставляет информацию о шрифтах, доступных в базовой системе окон.

Наиболее распространенные способы использования этого класса — запросить у базы данных список семейств шрифтов families() и размеры pointSizes() и стили styles(), которые доступны для каждого семейства. Альтернативой pointSizes() является smoothSizes(), которая возвращает размеры, при которых данное семейство и стиль будут выглядеть привлекательно.

Если семейство шрифтов доступно от двух или более производителей, имя производителя включается в имя семейства; например: "Helvetica [Adobe]" и "Helvetica [Cronyx]". При указании семейства вы можете использовать старый формат "производитель-семейство" или формат в квадратных скобках "семейство [производитель]"; например: "Cronyx-Helvetica" или "Helvetica [Cronyx]". Если у семейства есть производитель, оно всегда возвращается в формате в квадратных скобках, как и в случае с значением, возвращаемым функцией families().

Функция font() возвращает QFont по заданному семейству, стилю и размеру.

Комбинацию семейства и стиля можно проверить на italic() или bold() и получить ее weight(). Аналогично, можно вызвать isBitmapScalable(), isSmoothlyScalable(), isScalable() и isFixedPitch().

Используйте функцию styleString(), чтобы получить текстовое представление стиля.

Класс QFontDatabase также поддерживает некоторые статические функции, например, standardSizes(). Вы можете получить описание системы письма с помощью writingSystemName(), а образец символов в системе письма с помощью writingSystemSample().

Пример:

    QFontDatabase database;
    QTreeWidget fontTree;
    fontTree.setColumnCount(2);
    fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes");

    foreach (const QString &family, database.families()) {
        QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree);
        familyItem->setText(0, family);

        foreach (const QString &style, database.styles(family)) {
            QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem);
            styleItem->setText(0, style);

            QString sizes;
            foreach (int points, database.smoothSizes(family, style))
                sizes += QString::number(points) + ' ';

            styleItem->setText(1, sizes.trimmed());
        }
    }

Этот пример получает список семейств шрифтов, список стилей для каждого семейства и размеры, доступные для каждой комбинации семейства и стиля, отображая эту информацию в дереве.

См. также QFont, QFontInfo, QFontMetrics и Пример карты символов.

Документация по типам членов

перечисление QFontDatabase::SystemFont

Константа Значение Описание
QFontDatabase::GeneralFont 0 Шрифт по умолчанию системы.
QFontDatabase::FixedFont 1 Фиксированный шрифт, рекомендуемый системой.
QFontDatabase::TitleFont 2 Стандартный шрифт системы для заголовков.
QFontDatabase::SmallestReadableFont 3 Наименьший читаемый шрифт системы.

Это перечисление было введено или изменено в Qt 5.2.

перечисление QFontDatabase::WritingSystem

Константа Значение Описание
QFontDatabase::Any 0
QFontDatabase::Latin 1
QFontDatabase::Greek 2
QFontDatabase::Cyrillic 3
QFontDatabase::Armenian 4
QFontDatabase::Hebrew 5
QFontDatabase::Arabic 6
QFontDatabase::Syriac 7
QFontDatabase::Thaana 8
QFontDatabase::Devanagari 9
QFontDatabase::Bengali 10
QFontDatabase::Gurmukhi 11
QFontDatabase::Gujarati 12
QFontDatabase::Oriya 13
QFontDatabase::Tamil 14
QFontDatabase::Telugu 15
QFontDatabase::Kannada 16
QFontDatabase::Malayalam 17
QFontDatabase::Sinhala 18
QFontDatabase::Thai 19
QFontDatabase::Lao 20
QFontDatabase::Tibetan 21
QFontDatabase::Myanmar 22
QFontDatabase::Georgian 23
QFontDatabase::Khmer 24
QFontDatabase::SimplifiedChinese 25
QFontDatabase::TraditionalChinese 26
QFontDatabase::Japanese 27
QFontDatabase::Korean 28
QFontDatabase::Vietnamese 29
QFontDatabase::Symbol 30
QFontDatabase::Other Symbol (то же, что и Символ)
QFontDatabase::Ogham ?
QFontDatabase::Runic ?
QFontDatabase::Nko ?

Документация функций-членов

QFontDatabase::QFontDatabase()

Создаёт объект базы данных шрифтов.

[static] int QFontDatabase::addApplicationFont(const QString &fileName)

Загружает шрифт из файла, указанного параметром fileName, и делает его доступным для приложения. Возвращается идентификатор, который может быть использован для удаления шрифта функцией removeApplicationFont() или для получения списка имён семейств, содержащихся в шрифте.

Функция возвращает -1, если шрифт не удалось загрузить.

В настоящее время поддерживаются только TrueType-шрифты, TrueType-коллекции шрифтов и OpenType-шрифты.

Примечание: Добавление шрифтов приложения на платформах Unix/X11 без fontconfig в настоящее время не поддерживается.

Функция была добавлена в Qt 4.2.

См. также addApplicationFontFromData(), applicationFontFamilies() и removeApplicationFont().

[static] int QFontDatabase::addApplicationFontFromData(const QByteArray &fontData)

Загружает шрифт из двоичных данных, указанных в fontData, и делает его доступным для приложения. Возвращается идентификатор, который может быть использован для удаления шрифта функцией removeApplicationFont() или для получения списка имён семейств, содержащихся в шрифте.

Функция возвращает -1, если шрифт не удалось загрузить.

В настоящее время поддерживаются только TrueType-шрифты и TrueType-коллекции шрифтов.

Примечание: Добавление шрифтов приложения на платформах Unix/X11 без fontconfig в настоящее время не поддерживается.

Функция была добавлена в Qt 4.2.

См. также addApplicationFont(), applicationFontFamilies() и removeApplicationFont().

[static] QStringList QFontDatabase::applicationFontFamilies(int id)

Возвращает список семейств шрифтов для заданного шрифта приложения, идентифицируемого по значению id.

Функция была добавлена в Qt 4.2.

См. также addApplicationFont() и addApplicationFontFromData().

bool QFontDatabase::bold(const QString &family, const QString &style) const

Возвращает true , если шрифт с семейством family и стилем style является полужирным; в противном случае возвращает false.

См. также italic() и weight().

QStringList QFontDatabase::families(WritingSystem writingSystem = Any) const

Возвращает отсортированный список доступных семейств шрифтов, которые поддерживают writingSystem.

Если семейство существует в нескольких гарнитурах, возвращаемое имя шрифта имеет вид «family [foundry]». Примеры: «Times [Adobe]», «Times [Cronyx]», «Palatino».

См. также writingSystems().

QFont QFontDatabase::font(const QString &family, const QString &style, int pointSize) const

Возвращает объект QFont, который имеет семейство family, стиль style и размер шрифта pointSize. Если подходящий шрифт не может быть создан, возвращается объект QFont, использующий стандартный шрифт приложения.

bool QFontDatabase::isBitmapScalable(const QString &family, const QString &style = QString()) const

Возвращает true , если шрифт с семейством family и стилем style является масштабируемым растровым шрифтом; в противном случае возвращает false. Масштабирование растрового шрифта обычно даёт неэстетичный и трудночитаемый результат, потому что пиксели шрифта масштабируются. Если вам нужно масштабировать растровый шрифт, лучше масштабировать его до одного из фиксированных размеров, возвращаемых функцией smoothSizes().

См. также isScalable() и isSmoothlyScalable().

bool QFontDatabase::isFixedPitch(const QString &family, const QString &style = QString()) const

Возвращает true , если шрифт с семейством family и стилем style является шрифтом с фиксированной шириной; в противном случае возвращает false.

bool QFontDatabase::isPrivateFamily(const QString &family) const

Возвращает true тогда и только тогда, когда семейство шрифтов family является частным.

Это происходит, например, на macOS и iOS, где системные шрифты недоступны для пользователя. Для полноты, QFontDatabase::families() возвращает все семейства шрифтов, включая частные. Вы должны использовать эту функцию, если разрабатываете элемент управления выбором шрифта, чтобы скрыть частные шрифты.

Эта функция была представлена в Qt 5.5.

См. также families().

bool QFontDatabase::isScalable(const QString &family, const QString &style = QString()) const

Возвращает true , если шрифт с семейством family и стилем style масштабируется; в противном случае возвращает false.

См. также isBitmapScalable() и isSmoothlyScalable().

bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &style = QString()) const

Возвращает true , если шрифт с семейством family и стилем style плавно масштабируется; в противном случае возвращает false. Если эта функция возвращает true, то этот шрифт безопасно масштабировать до любого размера, и результат всегда будет привлекательным.

См. также isScalable() и isBitmapScalable().

bool QFontDatabase::italic(const QString &family, const QString &style) const

Возвращает true , если шрифт с семейством family и стилем style курсивный; в противном случае возвращает false.

См. также weight() и bold().

QList<int> QFontDatabase::pointSizes(const QString &family, const QString &styleName = QString())

Возвращает список доступных размеров точек для шрифта с семейством family и стилем styleName. Список может быть пустым.

См. также smoothSizes() и standardSizes().

[static] bool QFontDatabase::removeAllApplicationFonts()

Удаляет все локальные шрифты приложения, добавленные ранее с помощью addApplicationFont() и addApplicationFontFromData().

Возвращает true , если разгрузка шрифтов прошла успешно; в противном случае возвращает false.

Эта функция была представлена в Qt 4.2.

См. также removeApplicationFont(), addApplicationFont() и addApplicationFontFromData().

[static] bool QFontDatabase::removeApplicationFont(int id)

Удаляет ранее загруженный шрифт приложения, идентифицированный по id. Возвращает true , если разгрузка шрифта прошла успешно; в противном случае возвращает false.

Эта функция была представлена в Qt 4.2.

См. также removeAllApplicationFonts(), addApplicationFont() и addApplicationFontFromData().

QList<int> QFontDatabase::smoothSizes(const QString &family, const QString &styleName)

Возвращает размеры точек шрифта с семейством family и стилем styleName, которые будут выглядеть привлекательно. Список может быть пустым. Для не масштабируемых и bitmap-масштабируемых шрифтов эта функция эквивалентна pointSizes().

См. также pointSizes() и standardSizes().

[static] QList<int> QFontDatabase::standardSizes()

Возвращает список стандартных размеров шрифтов.

См. также smoothSizes() и pointSizes().

QString QFontDatabase::styleString(const QFont &font)

Возвращает строку, описывающую стиль шрифта font. Например, "Жирный Курсив", "Жирный", "Курсив" или "Нормальный". Может быть возвращена пустая строка.

QString QFontDatabase::styleString(const QFontInfo &fontInfo)

Возвращает строку, описывающую стиль шрифта fontInfo. Например, "Жирный Курсив", "Жирный", "Курсив" или "Нормальный". Может быть возвращена пустая строка.

QStringList QFontDatabase::styles(const QString &family) const

Возвращает список стилей, доступных для семейства шрифтов family. Некоторые примеры стилей: "Light", "Light Italic", "Bold", "Oblique", "Demi". Список может быть пустым.

См. также families().

[static] QFont QFontDatabase::systemFont(SystemFont type)

Возвращает наиболее подходящий шрифт для данного типа type для правильной интеграции с внешним видом системы.

Эта функция была представлена в Qt 5.2.

См. также QGuiApplication::font().

int QFontDatabase::weight(const QString &family, const QString &style) const

Возвращает толщину шрифта с семейством family и стилем style. Если такой комбинации семейства и стиля нет, возвращает -1.

См. также italic() и bold().

[static] QString QFontDatabase::writingSystemName(WritingSystem writingSystem)

Возвращает имена writingSystem (например, для отображения пользователю в диалоговом окне).

[static] QString QFontDatabase::writingSystemSample(WritingSystem writingSystem)

Возвращает строку с образцами символов из writingSystem.

QList<WritingSystem> QFontDatabase::writingSystems() const

Возвращает отсортированный список доступных систем письма. Этот список сгенерирован из информации обо всех установленных шрифтах на системе.

См. также families().

QList<WritingSystem> QFontDatabase::writingSystems(const QString &family) const

Возвращает отсортированный список систем письма, поддерживаемых данным семейством шрифтов family.

См. также families().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qfontdatabase.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API