Шрифты Qt для встраиваемой Linux-системы
Qt обычно использует fontconfig для доступа к системным шрифтам. Если fontconfig недоступен, например, в специализированных встраиваемых системах, где пространство ограничено, Qt использует QBasicFontDatabase. В этом случае приложения Qt будут искать шрифты в каталоге Qt lib/fonts/. Qt автоматически обнаруживает предварительно рендерные шрифты и TrueType шрифты.
Qt использует шрифтовой движок FreeType 2 для вывода шрифтов. Поддерживаемые форматы зависят от установленной локально версии библиотеки FreeType. При использовании QBasicFontDatabase Qt также поддерживает формат шрифтов Qt Prerendered (QPF2), лёгкий и не масштабируемый формат шрифтов. QPF2 — это родной формат Qt для встраиваемой Linux 4.x.
Все поддерживаемые шрифты используют кодировку Unicode. Большинство современных шрифтов тоже используют её, но обычно не содержат всех символов Unicode. Полный 16-разрядный шрифт Unicode занимает более 1 МБ памяти.
Форматы FreeType
Библиотека FreeType 2 может поддерживать следующие форматы шрифтов:
- TrueType (TTF)
- PostScript Type1 (PFA/PFB)
- Bitmap Distribution Format (BDF)
- CID-keyed Type1
- Compact Font Format (CFF)
- Шрифты OpenType
- Bitmap-шрифты на основе SFNT
- Portable Compiled Format (PCF)
- Формат шрифтов Microsoft Windows (Windows FNT)
- Portable Font Resource (PFR)
- Тип 42 (ограниченная поддержка)
Можно добавить модули к шрифтовому движку FreeType 2 для поддержки других типов файлов шрифтов. Для получения дополнительной информации посетите сайт движка: http://freetype.sourceforge.net/freetype2/index.html.
Глифы, рендеренные с использованием FreeType, эффективно разделяются между приложениями, что уменьшает потребление памяти и ускоряет рендеринг текста.
Шрифты Qt Prerendered (QPF2)
Qt Prerendered Font (QPF2) — архитектурно-независимый, лёгкий и не масштабируемый формат шрифтов.
Qt поставляется с кроссплатформенным инструментом makeqpf, включённым в каталог tools, который позволяет генерировать файлы QPF2 из системных шрифтов.
QPF2 поддерживает антиалиасинг и сложные системы письма, используя информацию из соответствующего шрифта TrueType, если он присутствует в системе. Формат разработан для прямого отображения в памяти. Тот же формат используется для совместного использования глифов из не предварительно рендерных шрифтов между приложениями.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qt-embedded-fonts.html