QFontDatabase Class
QFontDatabase 클래스는 기본 창 시스템에서 사용할 수 있는 글꼴에 대한 정보를 제공합니다. 더 보기...
Header: | #include <QFontDatabase> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
참고: 이 클래스의 모든 함수는 스레드 안전합니다.
공용 형
enum | SystemFont { GeneralFont, FixedFont, TitleFont, SmallestReadableFont } |
enum | WritingSystem { Any, Latin, Greek, Cyrillic, Armenian, …, Nko } |
정적 공용 멤버
(since 6.8) void | addApplicationFallbackFontFamily(QChar::Script script, const QString &familyName) |
int | addApplicationFont(const QString &fileName) |
int | addApplicationFontFromData(const QByteArray &fontData) |
(since 6.8) QStringList | applicationFallbackFontFamilies(QChar::Script script) |
QStringList | applicationFontFamilies(int id) |
bool | bold(const QString &family, const QString &style) |
QStringList | families(QFontDatabase::WritingSystem writingSystem = Any) |
QFont | font(const QString &family, const QString &style, int pointSize) |
bool | isBitmapScalable(const QString &family, const QString &style = QString()) |
bool | isFixedPitch(const QString &family, const QString &style = QString()) |
bool | isPrivateFamily(const QString &family) |
bool | isScalable(const QString &family, const QString &style = QString()) |
bool | isSmoothlyScalable(const QString &family, const QString &style = QString()) |
bool | italic(const QString &family, const QString &style) |
QList<int> | pointSizes(const QString &family, const QString &styleName = QString()) |
bool | removeAllApplicationFonts() |
(since 6.8) bool | removeApplicationFallbackFontFamily(QChar::Script script, const QString &familyName) |
bool | removeApplicationFont(int id) |
(since 6.8) void | setApplicationFallbackFontFamilies(QChar::Script script, const QStringList &familyNames) |
QList<int> | smoothSizes(const QString &family, const QString &styleName) |
QList<int> | standardSizes() |
QString | styleString(const QFont &font) |
QString | styleString(const QFontInfo &fontInfo) |
QStringList | styles(const QString &family) |
QFont | systemFont(QFontDatabase::SystemFont type) |
int | weight(const QString &family, const QString &style) |
QString | writingSystemName(QFontDatabase::WritingSystem writingSystem) |
QString | writingSystemSample(QFontDatabase::WritingSystem writingSystem) |
QList<QFontDatabase::WritingSystem> | writingSystems() |
QList<QFontDatabase::WritingSystem> | writingSystems(const QString &family) |
상세 설명
이 클래스의 가장 일반적인 용도는 데이터베이스에서 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()를 사용하여 문자 체계의 문자 샘플을 검색할 수 있습니다.
예제:
QTreeWidget fontTree; fontTree.setColumnCount(2); fontTree.setHeaderLabels(QStringList() << "Font" << "Smooth Sizes"); const QStringList fontFamilies = QFontDatabase::families(); for (const QString &family : fontFamilies) { QTreeWidgetItem *familyItem = new QTreeWidgetItem(&fontTree); familyItem->setText(0, family); const QStringList fontStyles = QFontDatabase::styles(family); for (const QString &style : fontStyles) { QTreeWidgetItem *styleItem = new QTreeWidgetItem(familyItem); styleItem->setText(0, style); QString sizes; const QList<int> smoothSizes = QFontDatabase::smoothSizes(family, style); for (const auto &points : smoothSizes) sizes += QString::number(points) + ' '; styleItem->setText(1, sizes.trimmed()); } }
이 예는 글꼴 패밀리 목록, 각 패밀리별 스타일 목록, 패밀리 및 스타일의 각 조합에 사용할 수 있는 포인트 크기를 가져와 트리 보기에 이 정보를 표시합니다.
QFont, QFontInfo, QFontMetrics 를참조하세요 .
멤버 유형 문서
enum QFontDatabase::SystemFont
상수 | 값 | 설명 |
---|---|---|
QFontDatabase::GeneralFont | 0 | 기본 시스템 글꼴입니다. |
QFontDatabase::FixedFont | 1 | 시스템에서 권장하는 고정 글꼴입니다. |
QFontDatabase::TitleFont | 2 | 제목의 시스템 표준 글꼴입니다. |
QFontDatabase::SmallestReadableFont | 3 | 가독성이 가장 작은 시스템 글꼴입니다. |
enum 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 | 31 | |
QFontDatabase::Runic | 32 | |
QFontDatabase::Nko | 33 |
멤버 함수 문서
[static, since 6.8]
void QFontDatabase::addApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)
script 에 대한 애플리케이션 정의 대체 글꼴로 familyName 을 추가합니다.
Qt는 선택한 글꼴에서 지원되지 않는 문자를 발견하면 대체 글꼴 목록을 검색하여 일치하는 글꼴을 찾습니다. 이렇게 하면 기본 글꼴이 지원하지 않는 경우에도 여러 스크립트를 하나의 문자열에 결합할 수 있습니다.
대체 글꼴 목록은 문자열의 스크립트 및 시스템 언어와 같은 기타 조건에 따라 선택됩니다.
일반적으로 시스템 대체 글꼴 목록으로 충분하지만 기본 동작을 재정의하는 것이 유용한 경우가 있습니다. 이러한 경우 중 하나는 플랫폼 간 일관성을 보장하기 위해 애플리케이션 글꼴을 폴백으로 사용하는 경우입니다.
또 다른 경우에는 애플리케이션이 지역별로 차이가 있는 스크립트로 작성되어 여러 지역에서 번역되지 않은 상태로 실행하고자 할 수 있습니다. 이 경우 애플리케이션의 언어와 일치하는 지역 폴백을 해당 지역의 폴백으로 재정의하는 것이 유용할 수 있습니다.
script 에서 누락된 문자를 일치시킬 때 familyName 을 addApplicationFallbackFontFamily()에 전달하면 이 글꼴이 기본 설정 글꼴이 됩니다. script 은 유효한 스크립트(QChar::Script_Latin
이상)여야 합니다. 동일한 스크립트에 대해 여러 글꼴을 추가할 경우 역순으로 우선순위가 지정되므로 마지막으로 추가된 글꼴 패밀리가 먼저 확인되는 식으로 우선순위가 지정됩니다.
참고: Qt의 글꼴 일치 알고리즘은 QChar::Script_Common
(미정 스크립트)와 QChar::Script_Latin
을 동일하게 간주합니다. 둘 중 하나에 대한 폴백을 추가하면 다른 하나에도 적용됩니다.
이 함수는 Qt 6.8에 도입되었습니다.
setApplicationFallbackFontFamilies(), removeApplicationFallbackFontFamily() 및 applicationFallbackFontFamilies()도 참조하세요 .
[static]
int QFontDatabase::addApplicationFont(const QString &fileName)
fileName 에서 지정한 파일에서 글꼴을 로드하여 애플리케이션에서 사용할 수 있도록 합니다. removeApplicationFont ()를 사용하여 글꼴을 다시 제거하거나 글꼴에 포함된 패밀리 이름 목록을 검색하는 데 사용할 수 있는 ID가 반환됩니다.
글꼴을 로드할 수 없는 경우 이 함수는 -1을 반환합니다.
현재 트루타입 글꼴, 트루타입 글꼴 모음 및 오픈타입 글꼴만 지원됩니다.
addApplicationFontFromData(), applicationFontFamilies() 및 removeApplicationFont()도 참조하세요 .
[static]
int QFontDatabase::addApplicationFontFromData(const QByteArray &fontData)
fontData 에 지정된 바이너리 데이터에서 글꼴을 로드하여 애플리케이션에서 사용할 수 있도록 합니다. removeApplicationFont ()를 사용하여 글꼴을 다시 제거하거나 글꼴에 포함된 패밀리 이름 목록을 검색하는 데 사용할 수 있는 ID가 반환됩니다.
글꼴을 로드할 수 없는 경우 이 함수는 -1을 반환합니다.
현재 트루타입 글꼴, 트루타입 글꼴 모음 및 오픈타입 글꼴만 지원됩니다.
addApplicationFont(), applicationFontFamilies() 및 removeApplicationFont()도 참조하세요 .
[static, since 6.8]
QStringList QFontDatabase::applicationFallbackFontFamilies(QChar::Script script)
addApplicationFallbackFontFamily() 함수에 의해 script 에 대해 이전에 추가된 애플리케이션 정의 폴백 글꼴 패밀리의 목록을 반환합니다.
이 함수는 Qt 6.8에 도입되었습니다.
setApplicationFallbackFontFamilies(), addApplicationFallbackFontFamily() 및 removeApplicationFallbackFontFamily()도 참조하십시오 .
[static]
QStringList QFontDatabase::applicationFontFamilies(int id)
id 에 의해 식별된 지정된 애플리케이션 글꼴의 글꼴 패밀리 목록을 반환합니다.
addApplicationFont() 및 addApplicationFontFromData()도 참조하세요 .
[static]
bool QFontDatabase::bold(const QString &family, const QString &style)
패밀리 family 및 스타일 style 이 굵은 글꼴인 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[static]
QStringList QFontDatabase::families(QFontDatabase::WritingSystem writingSystem = Any)
writingSystem 을 지원하는 사용 가능한 글꼴 패밀리의 정렬된 목록을 반환합니다.
한 글꼴 패밀리가 여러 파운드리에 존재하는 경우 해당 글꼴의 반환된 이름은 "[파운드리] 패밀리" 형식입니다. 예시: "Times [Adobe]", "Times [Cronyx]", "Palatino".
writingSystems()도 참조하세요 .
[static]
QFont QFontDatabase::font(const QString &family, const QString &style, int pointSize)
패밀리 family, 스타일 style 및 포인트 크기 pointSize 를 가진 QFont 객체를 반환합니다. 일치하는 글꼴을 만들 수 없는 경우 애플리케이션의 기본 글꼴을 사용하는 QFont 객체가 반환됩니다.
[static]
bool QFontDatabase::isBitmapScalable(const QString &family, const QString &style = QString())
가족 family 및 스타일 style 이 있는 글꼴이 스케일링 가능한 비트맵 글꼴이면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 비트맵 글꼴의 크기를 조정하면 글꼴의 픽셀이 크기 조정되기 때문에 일반적으로 가독성이 떨어지는 결과가 생성됩니다. 비트맵 글꼴의 크기를 조정해야 하는 경우 smoothSizes()에서 반환하는 고정 크기 중 하나로 크기를 조정하는 것이 좋습니다.
isScalable() 및 isSmoothlyScalable()도 참조하세요 .
[static]
bool QFontDatabase::isFixedPitch(const QString &family, const QString &style = QString())
패밀리 family 및 스타일 style 이 있는 글꼴이 고정 피치인 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[static]
bool QFontDatabase::isPrivateFamily(const QString &family)
family 글꼴 패밀리가 비공개인 경우에만 true
을 반환합니다.
예를 들어 사용자가 시스템 UI 글꼴에 액세스할 수 없는 macOS 및 iOS에서 발생합니다. 완전성을 위해 QFontDatabase::families()는 비공개 글꼴을 포함한 모든 글꼴 패밀리를 반환합니다. 비공개 글꼴을 숨기려면 글꼴 선택 컨트롤을 개발하는 경우 이 함수를 사용해야 합니다.
families()도 참조하세요 .
[static]
bool QFontDatabase::isScalable(const QString &family, const QString &style = QString())
패밀리 family 및 스타일 style 이 있는 글꼴이 확장 가능한 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
isBitmapScalable() 및 isSmoothlyScalable()도 참조하세요 .
[static]
bool QFontDatabase::isSmoothlyScalable(const QString &family, const QString &style = QString())
패밀리 family 및 스타일 style 이 있는 글꼴이 원활하게 확장 가능한 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다. 이 함수가 true
을 반환하면 이 글꼴을 어떤 크기로 조정해도 안전하며 결과는 항상 매력적으로 보입니다.
isScalable() 및 isBitmapScalable()도 참조하세요 .
[static]
bool QFontDatabase::italic(const QString &family, const QString &style)
패밀리 family 및 스타일 style 이 이탤릭체인 글꼴인 경우 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
[static]
QList<int> QFontDatabase::pointSizes(const QString &family, const QString &styleName = QString())
가족 family 및 스타일 styleName 이 있는 글꼴에 사용할 수 있는 포인트 크기 목록을 반환합니다. 목록은 비어 있을 수 있습니다.
smoothSizes() 및 standardSizes()도 참조하세요 .
[static]
bool QFontDatabase::removeAllApplicationFonts()
addApplicationFont() 및 addApplicationFontFromData()을 사용하여 이전에 추가한 모든 애플리케이션-로컬 글꼴을 제거합니다.
글꼴 언로드에 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
removeApplicationFont(), addApplicationFont() 및 addApplicationFontFromData()도 참조하세요 .
[static, since 6.8]
bool QFontDatabase::removeApplicationFallbackFontFamily(QChar::Script script, const QString &familyName)
script 에 대한 애플리케이션 정의 대체 글꼴 목록에서 addApplicationFallbackFontFamily()를 이전에 추가한 경우 familyName 을 제거합니다.
패밀리 이름이 목록에 있으면 참을 반환하고 그렇지 않으면 거짓을 반환합니다.
이 함수는 Qt 6.8에 도입되었습니다.
addApplicationFallbackFontFamily(), setApplicationFallbackFontFamilies() 및 applicationFallbackFontFamilies()도 참조하세요 .
[static]
bool QFontDatabase::removeApplicationFont(int id)
id 에 의해 식별된 이전에 로드된 애플리케이션 글꼴을 제거합니다. 글꼴 언로드에 성공하면 true
을 반환하고, 그렇지 않으면 false
을 반환합니다.
removeAllApplicationFonts(), addApplicationFont() 및 addApplicationFontFromData()도 참조하세요 .
[static, since 6.8]
void QFontDatabase::setApplicationFallbackFontFamilies(QChar::Script script, const QStringList &familyNames)
script 에 대한 애플리케이션 정의 대체 글꼴 목록을 familyNames 로 설정합니다.
Qt는 script 에서 현재 글꼴이 지원하지 않는 문자를 발견하면, 일치하는 것을 찾을 때까지 familyNames 에서 첫 번째부터 마지막까지 순서대로 패밀리들을 확인합니다. 자세한 내용은 addApplicationFallbackFontFamily()를 참조하십시오.
이 함수는 script 에 대한 애플리케이션 정의 대체 글꼴의 현재 목록을 덮어씁니다.
이 함수는 Qt 6.8에 도입되었습니다.
addApplicationFallbackFontFamily(), removeApplicationFallbackFontFamily() 및 applicationFallbackFontFamilies()도 참조하십시오 .
[static]
QList<int> QFontDatabase::smoothSizes(const QString &family, const QString &styleName)
패밀리 family 및 스타일 styleName 을 가진 글꼴 중 매력적으로 보이는 글꼴의 포인트 크기를 반환합니다. 목록이 비어 있을 수 있습니다. 확장 불가능한 글꼴 및 비트맵 확장 가능한 글꼴의 경우 이 함수는 pointSizes()와 동일합니다.
pointSizes() 및 standardSizes()도 참조하세요 .
[static]
QList<int> QFontDatabase::standardSizes()
표준 글꼴 크기 목록을 반환합니다.
smoothSizes() 및 pointSizes()도 참조하세요 .
[static]
QString QFontDatabase::styleString(const QFont &font)
font 의 스타일을 설명하는 문자열을 반환합니다(예: "굵은 이탤릭체", "굵게", "이탤릭체" 또는 "일반"). 빈 문자열이 반환될 수도 있습니다.
[static]
QString QFontDatabase::styleString(const QFontInfo &fontInfo)
fontInfo 의 스타일을 설명하는 문자열을 반환합니다(예: "굵은 이탤릭체", "굵게", "이탤릭체" 또는 "일반"). 빈 문자열이 반환될 수도 있습니다.
[static]
QStringList QFontDatabase::styles(const QString &family)
글꼴 패밀리에 사용할 수 있는 스타일 목록을 반환합니다 family. 몇 가지 스타일 예시입니다: "밝게", "옅은 이탤릭", "굵게", "비스듬히", "데미". 목록이 비어 있을 수 있습니다.
families()도 참조하세요 .
[static]
QFont QFontDatabase::systemFont(QFontDatabase::SystemFont type)
주어진 type 케이스에 가장 적합한 글꼴을 반환하여 시스템의 모양과 느낌에 적절하게 통합합니다.
QGuiApplication::font()도 참조하세요 .
[static]
int QFontDatabase::weight(const QString &family, const QString &style)
패밀리 family 및 스타일 style 을 가진 글꼴의 가중치를 반환합니다. 이러한 패밀리 및 스타일 조합이 없으면 -1을 반환합니다.
[static]
QString QFontDatabase::writingSystemName(QFontDatabase::WritingSystem writingSystem)
writingSystem 이름을 반환합니다(예: 대화 상자에서 사용자에게 표시하기 위해).
[static]
QString QFontDatabase::writingSystemSample(QFontDatabase::WritingSystem writingSystem)
writingSystem 에서 샘플 문자가 포함된 문자열을 반환합니다.
[static]
QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems()
사용 가능한 쓰기 시스템의 정렬된 목록을 반환합니다. 이 목록은 시스템에 설치된 모든 글꼴에 대한 정보에서 생성된 목록입니다.
families()도 참조하세요 .
[static]
QList<QFontDatabase::WritingSystem> QFontDatabase::writingSystems(const QString &family)
주어진 글꼴이 지원하는 문자 체계의 정렬된 목록을 반환합니다 family.
families()도 참조하세요 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.