이 페이지에서

QFont Class

QFont 클래스는 텍스트 그리기에 사용되는 글꼴에 대한 쿼리를 지정합니다. 더 보기...

헤더: #include <QFont>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

참고: 이 클래스의 모든 함수는 재진입 가능합니다.

공개 유형

(since 6.7) struct Tag
enum Capitalization { MixedCase, AllUppercase, AllLowercase, SmallCaps, Capitalize }
enum HintingPreference { PreferDefaultHinting, PreferNoHinting, PreferVerticalHinting, PreferFullHinting }
enum SpacingType { PercentageSpacing, AbsoluteSpacing }
enum Stretch { AnyStretch, UltraCondensed, ExtraCondensed, Condensed, SemiCondensed, …, UltraExpanded }
enum Style { StyleNormal, StyleItalic, StyleOblique }
enum StyleHint { AnyStyle, SansSerif, Helvetica, Serif, Times, …, System }
enum StyleStrategy { PreferDefault, PreferBitmap, PreferDevice, PreferOutline, ForceOutline, …, PreferQuality }
enum Weight { Thin, ExtraLight, Light, Normal, Medium, …, Black }

공개 함수

QFont()
QFont(const QFont &font, const QPaintDevice *pd)
QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)
QFont(const QStringList &families, int pointSize = -1, int weight = -1, bool italic = false)
QFont(const QFont &font)
QFont(QFont &&)
~QFont()
bool bold() const
QFont::Capitalization capitalization() const
(since 6.7) void clearFeatures()
(since 6.7) void clearVariableAxes()
QString defaultFamily() const
bool exactMatch() const
QStringList families() const
QString family() const
(since 6.7) QList<QFont::Tag> featureTags() const
(since 6.7) quint32 featureValue(QFont::Tag tag) const
bool fixedPitch() const
bool fromString(const QString &descrip)
QFont::HintingPreference hintingPreference() const
bool isCopyOf(const QFont &f) const
(since 6.7) bool isFeatureSet(QFont::Tag tag) const
(since 6.7) bool isVariableAxisSet(QFont::Tag tag) const
bool italic() const
bool kerning() const
QString key() const
qreal letterSpacing() const
QFont::SpacingType letterSpacingType() const
bool overline() const
int pixelSize() const
int pointSize() const
qreal pointSizeF() const
QFont resolve(const QFont &other) const
void setBold(bool enable)
void setCapitalization(QFont::Capitalization caps)
void setFamilies(const QStringList &families)
void setFamily(const QString &family)
(since 6.7) void setFeature(QFont::Tag tag, quint32 value)
void setFixedPitch(bool enable)
void setHintingPreference(QFont::HintingPreference hintingPreference)
void setItalic(bool enable)
void setKerning(bool enable)
void setLetterSpacing(QFont::SpacingType type, qreal spacing)
void setOverline(bool enable)
void setPixelSize(int pixelSize)
void setPointSize(int pointSize)
void setPointSizeF(qreal pointSize)
void setStretch(int factor)
void setStrikeOut(bool enable)
void setStyle(QFont::Style style)
void setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)
void setStyleName(const QString &styleName)
void setStyleStrategy(QFont::StyleStrategy s)
void setUnderline(bool enable)
(since 6.7) void setVariableAxis(QFont::Tag tag, float value)
void setWeight(QFont::Weight weight)
void setWordSpacing(qreal spacing)
int stretch() const
bool strikeOut() const
QFont::Style style() const
QFont::StyleHint styleHint() const
QString styleName() const
QFont::StyleStrategy styleStrategy() const
void swap(QFont &other)
QString toString() const
bool underline() const
(since 6.7) void unsetFeature(QFont::Tag tag)
(since 6.7) void unsetVariableAxis(QFont::Tag tag)
(since 6.7) QList<QFont::Tag> variableAxisTags() const
(since 6.7) float variableAxisValue(QFont::Tag tag) const
QFont::Weight weight() const
qreal wordSpacing() const
operator QVariant() const
bool operator!=(const QFont &f) const
bool operator<(const QFont &f) const
QFont &operator=(QFont &&other)
QFont &operator=(const QFont &font)
bool operator==(const QFont &f) const

정적 공용 멤버

void insertSubstitution(const QString &familyName, const QString &substituteName)
void insertSubstitutions(const QString &familyName, const QStringList &substituteNames)
void removeSubstitutions(const QString &familyName)
QString substitute(const QString &familyName)
QStringList substitutes(const QString &familyName)
QStringList substitutions()
size_t qHash(const QFont &key, size_t seed = 0)
QDataStream &operator<<(QDataStream &s, const QFont &font)
QDataStream &operator>>(QDataStream &s, QFont &font)

상세 설명

QFont는 시스템에 있는 하나 이상의 글꼴에 대한 쿼리로 볼 수 있습니다.

QFont 객체를 생성할 때, 해당 글꼴이 갖기를 원하는 다양한 속성을 지정합니다. Qt는 지정된 속성을 가진 글꼴을 사용하며, 일치하는 글꼴이 없는 경우 가장 유사한 설치된 글꼴을 사용합니다. 실제로 사용되는 글꼴의 속성은 ` QFontInfo ` 객체에서 가져올 수 있습니다. 윈도우 시스템이 정확히 일치하는 글꼴을 제공하는 경우, ` exactMatch()`는 ` true`를 반환합니다. ` QFontMetricsF `를 사용하여 치수(예: ` QFontMetrics::horizontalAdvance()`를 사용하여 문자열의 픽셀 길이)를 가져올 수 있습니다.

명시적으로 설정되지 않은 속성은 글꼴 선택 알고리즘에 영향을 미치지 않으며, 대신 기본값이 우선적으로 적용됩니다.

일반적으로 단일 파일로 표현되는 특정 물리적 글꼴을 로드하려면, 대신 QRawFont 를 사용하십시오.

QFont를 사용하려면 먼저 QGuiApplication 인스턴스가 존재해야 한다는 점에 유의하십시오. QGuiApplication::setFont()를 사용하여 애플리케이션의 기본 글꼴을 설정할 수 있습니다.

선택한 폰트에 표시해야 할 모든 문자가 포함되어 있지 않은 경우, QFont는 가장 유사한 폰트에서 해당 문자를 찾으려고 시도합니다. QPainter 가 폰트에서 문자를 가져올 때, QFont는 해당 문자가 있는지 여부를 보고합니다. 문자가 없는 경우, QPainter 는 채워지지 않은 사각형을 그립니다.

QFont는 다음과 같이 생성합니다:

QFont serifFont("Times", 10, QFont::Bold);
QFont sansFont("Helvetica [Cronyx]", 12);

생성자에서 설정된 속성은 나중에 다시 설정할 수도 있습니다(예: setFamily(), setPointSize(), setPointSizeF(), setWeight() 및 setItalic()). 나머지 속성은 생성 후 설정해야 합니다(예: setBold(), setUnderline(), setOverline(), setStrikeOut() 및 setFixedPitch()). QFontInfo 객체는 글꼴의 속성이 설정된 후에 생성해야 합니다. QFontInfo 객체는 글꼴의 속성을 변경하더라도 변경되지 않습니다. 이에 상응하는 "get" 함수(예: family(), pointSize() 등)는 사용된 값이 다를 수 있더라도 설정된 값을 반환합니다. 실제 값은 QFontInfo 객체에서 확인할 수 있습니다.

요청된 글꼴 패밀리를 사용할 수 없는 경우, setStyleHint()을 사용하여 특정 QFont::StyleHint 및 QFont::StyleStrategy 을 선택함으로써 font matching algorithm 에 영향을 줄 수 있습니다. 기본 패밀리(현재 스타일 힌트에 해당)는 defaultFamily()에 의해 반환됩니다.

insertSubstitution() 및 insertSubstitutions()을 사용하여 글꼴 패밀리 이름에 대한 대체값을 지정할 수 있습니다. 대체값은 removeSubstitutions()을 사용하여 제거할 수 있습니다. substitute()을 사용하여 패밀리의 첫 번째 대체값을 가져오거나, 대체값이 없는 경우 패밀리 이름 자체를 가져옵니다. substitutes()을 사용하여 패밀리의 대체값 목록(비어 있을 수 있음)을 가져옵니다. 글꼴을 대체한 후에는 모든 QFont 객체를 삭제하고 다시 생성하여 글꼴 업데이트를 트리거해야 합니다.

모든 QFont에는 key() 메서드가 있으며, 이를 캐시나 딕셔너리의 키로 사용할 수 있습니다. 사용자의 글꼴 기본 설정을 저장하려면 QSettings 를 사용하고, toString()로 글꼴 정보를 기록하고 fromString()로 다시 읽어올 수 있습니다. operator<<() 및 operator>>() 연산자도 사용할 수 있지만, 이들은 데이터 스트림에서 작동합니다.

setPixelSize()을 사용하여 화면에 표시되는 문자의 높이를 지정된 픽셀 수로 설정할 수 있습니다. 그러나 setPointSize()을 사용해도 유사한 효과를 얻을 수 있으며, 이 방법은 장치 독립성을 보장합니다.

글꼴을 불러오는 작업은 특히 X11 환경에서 처리 비용이 클 수 있습니다. QFont는 QFont 객체의 복사 속도를 높이고, 의존하는 느린 윈도우 시스템 함수의 결과를 캐시하기 위해 광범위한 최적화 기능을 포함하고 있습니다.

글꼴 매칭 알고리즘은 다음과 같이 작동합니다:

  1. 지정된 글꼴 패밀리( setFamilies()로 설정됨)를 검색합니다.
  2. 해당 글꼴이 없으면, 해당 문자 체계를 지원하는 대체 글꼴이 선택됩니다. 글꼴 매칭 알고리즘은 QFont에 설정된 모든 속성에 대해 가장 잘 맞는 글꼴을 찾으려고 시도합니다. 이 과정은 플랫폼마다 다릅니다.
  3. 시스템에 해당 텍스트를 지원할 수 있는 글꼴이 없는 경우, 그 자리에 특수한 “누락된 문자” 상자가 표시됩니다.

참고: 선택한 글꼴이 일반적으로 해당 문자 체계를 지원하지만, 하나 이상의 특정 문자에 대한 글리프가 누락된경우 , Qt는 해당 특정 문자에 대한 대체 글꼴을 찾으려고 시도합니다. 이 기능은 QFont::NoFontMerging 스타일 전략을 사용하여 비활성화할 수 있습니다.

Windows에서는 “Courier” 글꼴 요청이 자동으로 “Courier New”로 변경되는데, 이는 부드러운 크기 조정이 가능한 Courier의 개선된 버전입니다. 구형 “Courier” 비트맵 글꼴은 PreferBitmap 스타일 전략을 설정하여 선택할 수 있습니다( setStyleStrategy() 참조).

글꼴이 발견되면, 나머지 속성들은 우선순위 순서대로 일치됩니다:

  1. fixedPitch()
  2. pointSize() (아래 참조)
  3. weight()
  4. style()

글꼴 패밀리가 일치하는 글꼴이 있다면, 다른 속성은 하나도 일치하지 않더라도, 패밀리는 일치하지 않지만 다른 속성은 일치하는 글꼴보다 이 글꼴이 우선적으로 선택됩니다. 이는 글꼴 패밀리가 가장 중요한 검색 기준이기 때문입니다.

포인트 크기는 요청된 포인트 크기의 20% 이내일 경우 일치하는 것으로 정의됩니다. 여러 글꼴이 일치하고 포인트 크기만으로 구별되는 경우, 요청된 포인트 크기에 가장 가까운 글꼴이 선택됩니다.

텍스트 그리기에 사용되는 실제 글꼴 패밀리, 글꼴 크기, 굵기 및 기타 글꼴 속성은 윈도우 시스템에서 선택된 패밀리에 대해 사용 가능한 항목에 따라 달라집니다. ` QFontInfo ` 객체를 사용하면 텍스트 그리기에 사용된 실제 값을 확인할 수 있습니다.

예시:

QFont f("Helvetica");

Adobe와 Cronyx의 Helvetica가 모두 설치되어 있다면, 둘 중 하나가 사용될 수 있습니다.

QFont f("Helvetica [Cronyx]");

패밀리 이름에 원하는 폰트 제작사를 명시할 수 있습니다. 위 예시에서 폰트 f는 “Helvetica [Cronyx]”로 설정됩니다.

창 시스템에서 실제로 사용되는 글꼴의 속성을 확인하려면 QFontInfo 객체를 사용하십시오. 예를 들어,

QFontInfo info(f1);
QString family = info.family();

글꼴 메트릭을 확인하려면 ` QFontMetrics ` 객체를 사용합니다. 예:

QFontMetrics fm(f1);
int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?");
int textHeightInPixels = fm.height();

글꼴에 대한 보다 일반적인 정보는 comp.fonts FAQ를 참조하십시오. 인코딩에 대한 정보는 UTR17 페이지에서 확인할 수 있습니다.

QFontMetrics, QFontInfo, QFontDatabase도 참조하십시오 .

멤버 유형 문서

enum QFont::Capitalization

이 글꼴이 적용되는 텍스트에 대한 렌더링 옵션.

상수값설명
QFont::MixedCase0대소문자 변경이 적용되지 않는 일반적인 텍스트 렌더링 옵션입니다.
QFont::AllUppercase1이 옵션은 텍스트를 모두 대문자로 렌더링하도록 변경합니다.
QFont::AllLowercase2이 옵션은 텍스트를 모두 소문자로 렌더링합니다.
QFont::SmallCaps3이 옵션은 텍스트를 스몰 캡스(small-caps)로 렌더링합니다.
QFont::Capitalize4이 옵션은 각 단어의 첫 글자를 대문자로 표시하여 텍스트를 렌더링합니다.

enum QFont::HintingPreference

이 열거형은 픽셀 밀도로 인해 가독성 향상이 필요한 디스플레이에서 글리프에 적용할 수 있는 다양한 수준의 힌팅 수준을 설명합니다.

상수값설명
QFont::PreferDefaultHinting0대상 플랫폼의 기본 힌팅 수준을 사용합니다.
QFont::PreferNoHinting1가능한 경우, 글리프의 윤곽선에 힌팅을 적용하지 않고 텍스트를 렌더링합니다. 텍스트 레이아웃은 예를 들어 인쇄 시 사용되는 것과 동일한 메트릭을 사용하여 타이포그래피적으로 정확하고 확장 가능합니다.
QFont::PreferVerticalHinting2가능한 경우, 수평 힌팅 없이 텍스트를 렌더링하되, 수직 방향으로는 글리프를 픽셀 그리드에 정렬합니다. 글리프를 정확하게 렌더링하기에는 밀도가 너무 낮은 디스플레이에서는 텍스트가 더 선명하게 표시됩니다. 하지만 글리프의 수평 메트릭에는 힌팅이 적용되지 않으므로, 줄 바꿈과 같은 세부 사항에 영향을 주지 않으면서도 더 높은 밀도의 장치(예: 프린터)에 맞게 텍스트 레이아웃을 확장할 수 있습니다.
QFont::PreferFullHinting3가능하다면, 텍스트를 가로 및 세로 방향 모두에 힌팅을 적용하여 렌더링하십시오. 텍스트는 대상 기기에서 가독성을 최적화하도록 변경되지만, 메트릭은 텍스트의 대상 크기에 따라 달라지기 때문에 글리프의 위치, 줄 바꿈 및 기타 타이포그래피 세부 사항은 확장되지 않습니다. 즉, 픽셀 밀도가 다른 기기에서는 텍스트 레이아웃이 다르게 보일 수 있습니다.

Qt가 지원하는 모든 플랫폼에서 모든 힌팅 수준이 지원되는 것은 아니므로, 이 열거형은 단지 기본 설정만을 설명한다는 점에 유의하십시오. 다음 표는 선택된 대상 플랫폼 세트에 대해 주어진 힌팅 기본 설정이 미치는 영향을 자세히 보여줍니다.

PreferDefaultHintingPreferNoHintingPreferVerticalHintingPreferFullHinting
Qt에서 Windows 및 DirectWrite가 활성화된 경우전체 힌팅수직 힌팅수직 힌팅전체 힌팅
FreeType운영 체제 설정힌팅 없음수직 힌팅 (약함)전체 힌팅
macOS의 Cocoa힌팅 없음힌팅 없음힌팅 없음힌팅 없음

enum QFont::SpacingType

상수값설명
QFont::PercentageSpacing0값이 100이면 간격이 그대로 유지되며, 값이 200이면 문자 뒤의 간격이 해당 문자의 너비만큼 커집니다.
QFont::AbsoluteSpacing1양수 값을 지정하면 해당 픽셀 수만큼 글자 간격이 넓어지고, 음수 값을 지정하면 간격이 좁아집니다.

enum QFont::Stretch

CSS 명명 규칙을 따르는 미리 정의된 늘림 값입니다. 값이 높을수록 텍스트가 더 많이 늘어나게 됩니다.

상수값설명
QFont::AnyStretch (since Qt 5.8)00 다른 ` QFont ` 속성을 사용하여 일치하는 모든 신축 비율을 허용합니다.
QFont::UltraCondensed5050
QFont::ExtraCondensed6262
QFont::Condensed7575
QFont::SemiCondensed8787
QFont::Unstretched100100
QFont::SemiExpanded112112
QFont::Expanded125125
QFont::ExtraExpanded150150
QFont::UltraExpanded200200

setStretch() 및 stretch()도 참조하십시오 .

enum QFont::Style

이 열거형은 텍스트를 표시하는 데 사용되는 다양한 글리프 스타일을 설명합니다.

상수값설명
QFont::StyleNormal0스타일이 적용되지 않은 텍스트에 사용되는 일반 글리프입니다.
QFont::StyleItalic1이탤릭체 텍스트를 표현하기 위해 특별히 디자인된 이탤릭 글리프입니다.
QFont::StyleOblique2일반적으로 서식이 적용되지 않은 글리프를 기반으로 하지만, 이탤릭체 텍스트를 표현하기 위해 세밀하게 조정되지는 않은 이탤릭체 모양의 글리프.

Weight도 참조하십시오 .

enum QFont::StyleHint

font matching 알고리즘은 선택한 글꼴 패밀리를 사용할 수 없는 경우, 적절한 기본 글꼴 패밀리를 찾기 위해 스타일 힌트를 사용합니다.

상수값설명
QFont::AnyStyle5글꼴 매칭 알고리즘이 패밀리를 선택하도록 합니다. 이것이 기본값입니다.
QFont::SansSerifHelvetica글꼴 매칭 알고리즘이 산세리프 글꼴을 우선적으로 선택합니다.
QFont::Helvetica0SansSerif 의 동의어입니다.
QFont::SerifTimes글꼴 매칭 도구가 세리프 글꼴을 우선적으로 선택합니다.
QFont::Times1Serif 의 동의어입니다.
QFont::TypeWriterCourier글꼴 매처는 고정 피치 글꼴을 우선적으로 선택합니다.
QFont::Courier2TypeWriter 의 동의어입니다.
QFont::OldEnglish3글꼴 매처는 장식용 글꼴을 선호합니다.
QFont::DecorativeOldEnglishOldEnglish 의 동의어입니다.
QFont::Monospace7글꼴 매처는 CSS 일반 글꼴 패밀리 'monospace'에 매핑되는 글꼴을 우선적으로 선택합니다.
QFont::Fantasy8글꼴 매처는 CSS 일반 글꼴 패밀리 'fantasy'에 매핑되는 글꼴을 우선적으로 선택합니다.
QFont::Cursive6글꼴 매처는 CSS 일반 글꼴 계열 'cursive'에 매핑되는 글꼴을 우선적으로 선택합니다.
QFont::System4글꼴 매처는 시스템 글꼴을 우선적으로 선택합니다.

enum QFont::StyleStrategy

스타일 전략은 ‘ font matching ’ 알고리즘에 어떤 유형의 글꼴을 사용해야 하는지 알려주어 적절한 기본 글꼴 군을 찾도록 합니다.

다음과 같은 전략을 사용할 수 있습니다:

Constant값설명
QFont::PreferDefault0x0001기본 스타일 전략입니다. 특정 글꼴 유형을 우선적으로 선택하지 않습니다.
QFont::PreferBitmap0x0002비트맵 글꼴을 선호합니다(아웃라인 글꼴과 대조적으로).
QFont::PreferDevice0x0004장치 글꼴을 우선적으로 사용합니다.
QFont::PreferOutline0x0008비트맵 글꼴 대신 아웃라인 글꼴을 우선적으로 사용합니다.
QFont::ForceOutline0x0010아웃라인 글꼴 사용을 강제합니다.
QFont::NoAntialias0x0100글꼴에 앤티앨리어싱을 적용하지 않습니다.
QFont::NoSubpixelAntialias0x0800가능한 경우 폰트에 대한 서브픽셀 앤티앨리어싱을 피합니다.
QFont::PreferAntialias0x0080가능하면 앤티앨리어싱을 적용합니다.
QFont::ContextFontMerging (since Qt 6.8)0x2000선택한 글꼴에 특정 문자가 포함되어 있지 않은 경우, Qt는 해당 문자가 포함된 모양이 비슷한 대체 글꼴을 자동으로 선택합니다. 기본적으로 이 작업은 문자 단위로 수행됩니다. 즉, 드문 경우이긴 하지만, 동일한 문자 체계에 속하더라도 하나의 텍스트 문자열을 표현하는 데 여러 글꼴이 사용될 수 있습니다. ContextFontMerging 를 설정하면 대신 입력 문자열의 가장 큰 부분 집합과 일치하는 대체 글꼴을 찾으려고 시도합니다. 이는 누락된 글리프가 발생하는 문자열의 경우 처리 비용이 더 많이 들 수 있지만, 더 일관된 결과를 제공할 수 있습니다. NoFontMerging 가 설정된 경우, ContextFontMerging 는 아무런 효과가 없습니다.
QFont::PreferTypoLineMetrics (since Qt 6.8)0x4000호환성을 위해 OpenType 글꼴에는 글꼴의 ascent, descent 및 leading 를 제공하는 두 가지 상충되는 수직선 메트릭 세트가 포함되어 있습니다. 이를 흔히 win (Windows) 메트릭과 typo (타이포그래피) 메트릭이라고 부릅니다. 사양에서는 줄 간격에 ‘ typo ’ 메트릭을 사용할 것을 권장하지만, 많은 애플리케이션은 폰트의 fsSelection 필드에 ‘ USE_TYPO_METRICS ’ 플래그가 설정되어 있지 않은 한 ‘ win ’ 메트릭을 우선적으로 사용합니다. 하위 호환성상의 이유로 Qt 애플리케이션에서도 마찬가지입니다. 이는 ‘ USE_TYPO_METRICS ’ 플래그를 설정하여 ‘ typo ’ 메트릭이 유효함을 나타내는 글꼴이나, ‘ win ’ 메트릭과 ‘ typo ’ 메트릭이 일치하는 글꼴의 경우에는 문제가 되지 않습니다. 그러나 특정 글꼴의 경우 ‘ win ’ 메트릭이 바람직한 줄 간격보다 클 수 있으며, ‘ USE_TYPO_METRICS ’ 플래그가 실수로 설정되지 않은 상태일 수 있습니다. 이러한 글꼴의 경우 ‘ PreferTypoLineMetrics ’를 설정하면 더 나은 결과를 얻을 수 있습니다.
QFont::NoFontMerging0x8000특정 문자 체계에 대해 선택된 글꼴에 그리기를 요청받은 문자가 포함되어 있지 않은 경우, Qt는 해당 문자가 포함된 모양이 비슷한 글꼴을 자동으로 선택합니다. NoFontMerging 플래그는 이 기능을 비활성화합니다. 이 플래그를 활성화하더라도, 선택된 글꼴이 텍스트의 문자 체계를 지원하지 않을 때 Qt가 자동으로 적합한 글꼴을 선택하는 것을 막지는 못한다는 점에 유의하십시오.
QFont::PreferNoShaping0x1000때로는 글꼴이 문자를 올바르게 표시하기 위해 일련의 문자에 복잡한 규칙을 적용하기도 합니다. 브라믹 문자 체계와 같은 일부 문자 체계에서는 텍스트의 가독성을 확보하기 위해 이 과정이 필수적이지만, 예를 들어 라틴 문자 체계에서는 단순히 미적 효과에 불과합니다. PreferNoShaping 플래그는 이러한 기능이 필요하지 않을 때 모든 기능을 비활성화하며, 이는 대부분의 경우 성능을 향상시킵니다(Qt 5.10부터).

이들 중 어느 것이든 다음 플래그 중 하나와 OR 연산을 수행할 수 있습니다:

상수값설명
QFont::PreferMatch0x0020정확한 일치를 우선시합니다. 글꼴 매처는 지정된 정확한 글꼴 크기를 사용하려고 시도합니다.
QFont::PreferQuality0x0040최상의 품질의 글꼴을 우선적으로 사용합니다. 글꼴 매처는 해당 글꼴이 지원하는 가장 가까운 표준 포인트 크기를 사용합니다.

enum QFont::Weight

Qt는 OpenType과 호환되는 1부터 1000까지의 굵기 척도를 사용합니다. 굵기 1은 얇은 글꼴이며, 1000은 매우 굵은 글꼴입니다.

이 열거형에는 미리 정의된 글꼴 굵기가 포함되어 있습니다:

상수값설명
QFont::Thin100100
QFont::ExtraLight200200
QFont::Light300300
QFont::Normal400400
QFont::Medium500500
QFont::DemiBold600600
QFont::Bold700700
QFont::ExtraBold800800
QFont::Black900900

멤버 함수 문서

QFont::QFont()

응용 프로그램의 기본 글꼴을 사용하는 글꼴 객체를 생성합니다.

QGuiApplication::setFont() 및 QGuiApplication::font()도 참조하십시오 .

QFont::QFont(const QFont &font, const QPaintDevice *pd)

font 에서 폰트를 생성하여 페인트 장치 pd 에서 사용할 수 있도록 합니다.

QFont::QFont(const QString &family, int pointSize = -1, int weight = -1, bool italic = false)

지정된 family, pointSize, weight 및 italic 설정을 사용하여 글꼴 객체를 생성합니다.

pointSize 가 0이거나 음수인 경우, 글꼴의 포인트 크기는 시스템에 따라 달라지는 기본값으로 설정됩니다. 일반적으로 이 값은 12포인트입니다.

family 이름에는 선택적으로 폰트 제작사 이름(예: "Helvetica [Cronyx]")을 포함할 수도 있습니다. family 가 두 개 이상의 제작사에서 제공되며 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 패밀리가 제공되지 않는 경우, font matching 알고리즘을 사용하여 패밀리가 설정됩니다.

이 방법은 패밀리 문자열을 쉼표로 분할하고, 그 결과 목록을 사용하여 setFamilies()를 호출합니다. 이름에 쉼표가 포함된 글꼴을 보존하려면 QStringList 을 인수로 받는 생성자를 사용하십시오.

Weight, setFamily(), setPointSize(), setWeight(), setItalic(), setStyleHint(), setFamilies() 및 QGuiApplication::font()도 참조하십시오 .

[explicit] QFont::QFont(const QStringList &families, int pointSize = -1, int weight = -1, bool italic = false)

지정된 families, pointSize, weight 및 italic 설정을 사용하여 글꼴 객체를 생성합니다.

pointSize 가 0이거나 음수인 경우, 글꼴의 포인트 크기는 시스템에 따라 달라지는 기본값으로 설정됩니다. 일반적으로 이 값은 12포인트입니다.

families 에 포함된 각 서체군 이름 항목에는 선택적으로 제작사 이름(예: "Helvetica [Cronyx]")을 포함할 수도 있습니다. 해당 서체군이 두 개 이상의 폰트 제작사에서 제공되며 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 서체군이 제공되지 않는 경우, font matching 알고리즘을 사용하여 서체군이 설정됩니다.

Weight, setPointSize(), setWeight(), setItalic(), setStyleHint(), setFamilies() 및 QGuiApplication::font()도 참조하십시오 .

QFont::QFont(const QFont &font)

font 의 복사본인 글꼴을 생성합니다.

[constexpr noexcept default] QFont::QFont(QFont &&)

QFont 의 인스턴스를 move-construct로 생성합니다.

[noexcept] QFont::~QFont()

글꼴 객체를 삭제하고 할당된 모든 리소스를 해제합니다.

bool QFont::bold() const

weight()의 값이 QFont::Medium 보다 크면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

weight(), setBold(), QFontInfo::bold()도 참조하십시오 .

QFont::Capitalization QFont::capitalization() const

글꼴의 현재 대소문자 표기 방식을 반환합니다.

setCapitalization()도 참조하십시오 .

[since 6.7] void QFont::clearFeatures()

QFont 에 이전에 설정된 모든 기능을 지웁니다.

글꼴 기능에 대한 자세한 내용은 setFeature()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setFeature(), unsetFeature(), featureTags() 및 featureValue()도 참조하십시오 .

[since 6.7] void QFont::clearVariableAxes()

QFont 에서 이전에 설정된 변수 축 값을 모두 지웁니다.

가변 축에 대한 자세한 내용은 setVariableAxis()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet() 및 variableAxisValue()도 참조하십시오 .

QString QFont::defaultFamily() const

현재 스타일 힌트에 해당하는 성을 반환합니다.

StyleHint, styleHint() 및 setStyleHint()도 참조하십시오 .

bool QFont::exactMatch() const

이 글꼴의 설정과 정확히 일치하는 윈도우 시스템 글꼴이 있는 경우 true 를 반환합니다.

QFontInfo도 참조하십시오 .

QStringList QFont::families() const

요청된 글꼴 패밀리 이름, 즉 마지막으로 호출된 setFamilies() 함수나 생성자를 통해 설정된 이름을 반환합니다. 그렇지 않은 경우 빈 리스트를 반환합니다.

setFamily(), setFamilies(), family(), substitutes(), substitute()도 참조하십시오 .

QString QFont::family() const

요청된 글꼴 패밀리 이름을 반환합니다. 이 값은 항상 families() 호출의 첫 번째 항목과 동일합니다.

setFamily(), substitutes(), substitute(), setFamilies() 및 families()도 참조하십시오 .

[since 6.7] QList<QFont::Tag> QFont::featureTags() const

현재 이 QFont 에 설정된 모든 글꼴 기능에 대한 태그 목록을 반환합니다.

글꼴 기능에 대한 자세한 내용은 setFeature()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setFeature(), unsetFeature(), isFeatureSet() 및 clearFeatures()도 참조하십시오 .

[since 6.7] quint32 QFont::featureValue(QFont::Tag tag) const

특정 기능 tag 에 설정된 값을 반환합니다. 태그가 설정되지 않은 경우, 대신 0이 반환됩니다.

글꼴 기능에 대한 자세한 내용은 setFeature()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setFeature(), unsetFeature(), featureTags() 및 isFeatureSet()도 참조하십시오 .

bool QFont::fixedPitch() const

고정 피치가 설정된 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

setFixedPitch() 및 QFontInfo::fixedPitch()도 참조하십시오 .

bool QFont::fromString(const QString &descrip)

이 글꼴을 descrip 의 설명과 일치하도록 설정합니다. 이 설명은 toString() 함수가 반환하는 글꼴 속성 목록으로, 쉼표로 구분되어 있습니다.

toString()도 참조하십시오 .

QFont::HintingPreference QFont::hintingPreference() const

이 글꼴로 렌더링되는 글리프에 대해 현재 선호되는 힌팅 수준을 반환합니다.

setHintingPreference()도 참조하십시오 .

[static] void QFont::insertSubstitution(const QString &familyName, const QString &substituteName)

familyName 패밀리의 치환 테이블에 substituteName 을 삽입합니다.

글꼴을 대체한 후, 모든 QFont 객체를 삭제하고 다시 생성하여 글꼴 업데이트를 트리거합니다.

insertSubstitutions(), removeSubstitutions(), substitutions(), substitute() 및 substitutes()도 참조하십시오 .

[static] void QFont::insertSubstitutions(const QString &familyName, const QStringList &substituteNames)

substituteNames 에 있는 패밀리 목록을 familyName 의 대체 목록에 삽입합니다.

글꼴을 대체한 후, 모든 QFont 객체를 삭제하고 다시 생성하여 글꼴 업데이트를 트리거합니다.

insertSubstitution(), removeSubstitutions(), substitutions() 및 substitute()도 참조하십시오 .

bool QFont::isCopyOf(const QFont &f) const

이 글꼴과 f 가 서로의 복사본인 경우, 즉 둘 중 하나가 다른 하나를 복사하여 생성되었고 그 이후로 둘 다 수정된 적이 없는 경우, true 를 반환합니다. 이는 단순 등가 비교보다 훨씬 더 엄격한 조건입니다.

operator=() 및 operator==()도 참조하십시오 .

[since 6.7] bool QFont::isFeatureSet(QFont::Tag tag) const

tag 로 지정된 피처의 값이 QFont 에 설정되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

글꼴 기능에 대한 자세한 내용은 setFeature()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setFeature(), unsetFeature(), featureTags() 및 featureValue()도 참조하십시오 .

[since 6.7] bool QFont::isVariableAxisSet(QFont::Tag tag) const

tag 로 지정된 변수 축의 값이 QFont 에 설정되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

글꼴 변수 축에 대한 자세한 내용은 setVariableAxis()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setVariableAxis(), unsetVariableAxis(), variableAxisValue() 및 clearVariableAxes()도 참조하십시오 .

bool QFont::italic() const

true 글꼴의 ` style()`가 QFont::StyleNormal

setItalic() 및 style()도 참조하십시오 .

bool QFont::kerning() const

이 글꼴로 텍스트를 그릴 때 커닝을 적용해야 하는지 여부를 나타내는 true 값을 반환합니다.

setKerning()도 참조하십시오 .

QString QFont::key() const

글꼴의 키, 즉 글꼴을 텍스트로 표현한 값을 반환합니다. 일반적으로 글꼴 캐시나 사전의 키로 사용됩니다.

QMap도 참조하십시오 .

qreal QFont::letterSpacing() const

해당 글꼴의 글자 간격을 반환합니다.

setLetterSpacing(), letterSpacingType() 및 setWordSpacing()도 참조하십시오 .

QFont::SpacingType QFont::letterSpacingType() const

문자 간격에 사용되는 간격 유형을 반환합니다.

letterSpacing(), setLetterSpacing() 및 setWordSpacing()도 참조하십시오 .

bool QFont::overline() const

overline이 설정되어 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

setOverline()도 참조하십시오 .

int QFont::pixelSize() const

setPixelSize()를 사용하여 글꼴 크기가 설정된 경우, 해당 글꼴의 픽셀 크기를 반환합니다. setPointSize() 또는 setPointSizeF()를 사용하여 크기가 설정된 경우에는 -1을 반환합니다.

setPixelSize(), pointSize(), QFontInfo::pointSize() 및 QFontInfo::pixelSize()도 참조하십시오 .

int QFont::pointSize() const

글꼴의 포인트 크기를 반환합니다. 글꼴 크기가 픽셀 단위로 지정된 경우 -1을 반환합니다.

setPointSize() 및 pointSizeF()도 참조하십시오 .

qreal QFont::pointSizeF() const

글꼴의 포인트 크기를 반환합니다. 글꼴 크기가 픽셀 단위로 지정된 경우 -1을 반환합니다.

pointSize(), setPointSizeF(), pixelSize(), QFontInfo::pointSize() 및 QFontInfo::pixelSize()도 참조하십시오 .

[static] void QFont::removeSubstitutions(const QString &familyName)

familyName 에 대한 모든 치환을 제거합니다.

insertSubstitutions(), insertSubstitution(), substitutions(), substitute()도 참조하십시오 .

QFont QFont::resolve(const QFont &other) const

이 폰트에 이전에 설정되지 않았던 other 의 속성을 복사한 새로운 QFont 객체를 반환합니다.

void QFont::setBold(bool enable)

enable 가 true인 경우 글꼴의 굵기를 QFont::Bold 로 설정하고, 그렇지 않은 경우 QFont::Normal 로 설정합니다.

굵기를 더 세밀하게 조절하려면 setWeight()을 사용하십시오.

참고: styleName()가 설정된경우 , 이 값은 무시되거나, 플랫폼에서 지원하는 경우 글꼴이 인위적으로 굵게 처리될 수 있습니다.

bold() 및 setWeight()도 참조하십시오 .

void QFont::setCapitalization(QFont::Capitalization caps)

이 글꼴의 텍스트 대소문자 표기 방식을 ‘ caps ’로 설정합니다.

글꼴의 대소문자 표기 방식은 텍스트가 선택된 대소문자 표기 모드로 표시되도록 합니다.

capitalization()도 참조하십시오 .

void QFont::setFamilies(const QStringList &families)

글꼴의 글꼴군 이름 목록을 설정합니다. 이름은 대소문자를 구분하지 않으며, 폰트 제작사 이름을 포함할 수 있습니다. families 에 있는 첫 번째 글꼴군이 해당 글꼴의 기본 글꼴군으로 설정됩니다.

families 에 포함된 각 패밀리 이름 항목에는 선택적으로 폰트 제작사 이름도 포함될 수 있습니다(예: "Helvetica [Cronyx]"). 해당 패밀리가 두 개 이상의 폰트 제작사에서 제공되며 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 패밀리가 제공되지 않는 경우, font matching 알고리즘을 사용하여 패밀리가 설정됩니다.

family(), families(), setFamily(), setStyleHint() 및 QFontInfo도 참조하십시오 .

void QFont::setFamily(const QString &family)

글꼴의 패밀리 이름을 설정합니다. 이름은 대소문자를 구분하지 않으며, 폰트 제작사 이름을 포함할 수 있습니다.

family 이름에는 선택적으로 폰트 제작사 이름도 포함될 수 있습니다(예: "Helvetica [Cronyx]"). family 가 두 곳 이상의 폰트 제작사에서 제공되지만 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 패밀리가 제공되지 않는 경우, font matching 알고리즘을 사용하여 패밀리가 설정됩니다.

family(), setStyleHint(), setFamilies(), families() 및 QFontInfo도 참조하십시오 .

[since 6.7] void QFont::setFeature(QFont::Tag tag, quint32 value)

텍스트를 형성할 때 tag 로 지정된 타이포그래피 기능에 정수 값을 적용합니다. 이는 글꼴 형성 프로세스에 대한 고급 접근 기능을 제공하며, API에서 별도로 다루지 않는 글꼴 기능을 지원하는 데 사용할 수 있습니다.

이 기능은 tag 로 지정되며, 이는 일반적으로 글꼴 기능 맵에 있는 4자 기능 이름에서 인코딩된 것입니다.

대부분의 경우 태그와 함께 전달되는 이 정수형 value 는 부울 값을 나타냅니다. 0 값은 기능이 비활성화되었음을 의미하고, 0이 아닌 값은 활성화되었음을 의미합니다. 그러나 특정 글꼴 기능의 경우 다른 해석이 적용될 수 있습니다. 예를 들어, salt 기능에 적용될 때, 이 값은 사용할 스타일적 대안을 지정하는 인덱스 역할을 합니다.

예를 들어, ‘ frac ’ 글꼴 기능은 슬래시(/)로 구분된 대각선 분수(예: 1/2)를 다른 표현으로 변환합니다. 일반적으로 이는 전체 분수를 단일 문자 너비로 통합하는 과정을 수반합니다(예: ½).

글꼴이 ‘ frac ’ 기능을 지원하는 경우, 글꼴 기능 맵에서 features["frac"] = 1 을 설정하여 셰이퍼에서 이 기능을 활성화할 수 있습니다.

참고: 기본적으로 Qt는 다른 글꼴 속성에 따라 특정 글꼴 기능을 활성화하거나 비활성화합니다. 특히, ‘ kern ’ 기능은 ‘ QFont ’의 ‘ kerning()’ 속성에 따라 활성화되거나 비활성화됩니다. 또한, ‘ letterSpacing()’가 적용되면 모든 리가처 기능(‘liga ’, ‘ clig ’, ‘ dlig ’, ‘ hlig ’)이 비활성화되지만, 이는 리가처 사용이 미적 목적에 그치는 문자 체계에만 해당합니다. 리가처가 필수적인 문자 체계의 경우, 해당 기능은 기본 상태를 유지합니다. setFeature() 및 관련 함수를 사용하여 설정된 값은 기본 동작을 재정의합니다. 예를 들어, "kern" 기능이 1로 설정된 경우, 커닝 속성이 false로 설정되어 있더라도 커닝은 항상 활성화됩니다. 마찬가지로, 0으로 설정되면 커닝은 항상 비활성화됩니다. 글꼴 기능을 기본 동작으로 재설정하려면 unsetFeature()을 사용하여 설정을 해제할 수 있습니다.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, clearFeatures(), unsetFeature(), featureTags()도 참조하십시오 .

void QFont::setFixedPitch(bool enable)

enable 가 true인 경우 고정 피치를 켜고, 그렇지 않은 경우 고정 피치를 끕니다.

fixedPitch() 및 QFontInfo도 참조하십시오 .

void QFont::setHintingPreference(QFont::HintingPreference hintingPreference)

글리프의 힌팅 수준에 대한 기본 설정을 ` hintingPreference`로 설정하십시오. 이는 기본 폰트 렌더링 시스템에 특정 수준의 힌팅을 사용하도록 지시하는 힌트이며, 플랫폼에 따라 지원 여부가 다릅니다. 자세한 내용은 QFont::HintingPreference 문서의 표를 참조하십시오.

기본 힌팅 설정은 QFont::PreferDefaultHinting 입니다.

hintingPreference()도 참조하십시오 .

void QFont::setItalic(bool enable)

enable 가 true인 경우, 글꼴의 style()을 QFont::StyleItalic 로 설정합니다. 그렇지 않은 경우, 스타일은 QFont::StyleNormal 로 설정됩니다.

참고: styleName()가 설정된경우 , 이 값이 무시될 수 있으며, 플랫폼에서 지원하는 경우 디자인된 이탤릭체 글꼴 변형을 선택하는 대신 글꼴이 기울여져 렌더링될 수 있습니다.

italic() 및 QFontInfo도 참조하십시오 .

void QFont::setKerning(bool enable)

enable 가 true인 경우 이 글꼴에 커닝을 활성화하고, 그렇지 않은 경우 비활성화합니다. 기본적으로 커닝은 활성화되어 있습니다.

커닝이 활성화되면, 라틴 문자 텍스트의 경우에도 글리프 메트릭의 합계가 더 이상 일치하지 않습니다. 즉, width('a') + width('b')가 width("ab")와 같다는 가정이 반드시 성립하는 것은 아닙니다.

kerning() 및 QFontMetrics도 참조하십시오 .

void QFont::setLetterSpacing(QFont::SpacingType type, qreal spacing)

글꼴의 글자 간격을 ‘ spacing ’로, 간격 유형을 ‘ type ’로 설정합니다.

글자 간격은 글꼴 내 개별 글자 간의 기본 간격을 변경합니다. 글자 간격은 선택한 간격 유형에 따라 문자 너비의 백분율 또는 픽셀 단위로 더 작게 또는 더 크게 조정할 수 있습니다.

letterSpacing(), letterSpacingType(), setWordSpacing()도 참조하십시오 .

void QFont::setOverline(bool enable)

enable 가 true인 경우 위첨자를 켜고, 그렇지 않은 경우 위첨자를 끕니다.

overline() 및 QFontInfo도 참조하십시오 .

void QFont::setPixelSize(int pixelSize)

글꼴 크기를 pixelSize 픽셀로 설정하며, 최대 크기는 부호 없는 16비트 정수입니다.

이 함수를 사용하면 글꼴이 장치에 종속됩니다. 장치 독립적인 방식으로 글꼴 크기를 설정하려면 setPointSize() 또는 setPointSizeF()을 사용하십시오.

pixelSize()도 참조하십시오 .

void QFont::setPointSize(int pointSize)

글자 크기를 pointSize 로 설정합니다. 글자 크기는 0보다 커야 합니다.

pointSize() 및 setPointSizeF()도 참조하십시오 .

void QFont::setPointSizeF(qreal pointSize)

포인트 크기를 pointSize 로 설정합니다. 포인트 크기는 0보다 커야 합니다. 요청된 정밀도가 모든 플랫폼에서 보장되지는 않을 수 있습니다.

pointSizeF(), setPointSize() 및 setPixelSize()도 참조하십시오 .

void QFont::setStretch(int factor)

글꼴의 확장 계수를 설정합니다.

이 스트레치 계수는 글꼴의 압축 또는 확장 버전과 일치하거나, 글꼴 내 모든 문자의 너비를 factor 퍼센트만큼 변경하는 스트레치 변환을 적용합니다. 예를 들어, ` factor `을 150으로 설정하면 글꼴의 모든 문자가 1.5배(즉, 150%) 더 넓어집니다. 최소 스트레치 계수는 1이며, 최대 스트레치 계수는 4000입니다. 기본 스트레치 계수는 ` AnyStretch`이며, 이 값을 지정하면 어떤 스트레치 계수를 입력하더라도 글꼴에 변환이 적용되지 않습니다.

확장 계수는 아웃라인 글꼴에만 적용됩니다. 비트맵 글꼴의 경우 확장 계수는 무시됩니다.

참고: 기본값이 아닌 고유한 신축 계수를 가진 글꼴을 매칭할때 , 신축 계수 100을 요청하면 글꼴이 중간 너비 글꼴로 다시 신축됩니다.

stretch() 및 QFont::Stretch도 참조하십시오 .

void QFont::setStrikeOut(bool enable)

enable 가 true인 경우 삼진 기능을 켜고, 그렇지 않은 경우 삼진 기능을 끕니다.

strikeOut() 및 QFontInfo도 참조하십시오 .

void QFont::setStyle(QFont::Style style)

글꼴 스타일을 ‘ style ’로 설정합니다.

style(), italic() 및 QFontInfo도 참조하십시오 .

void QFont::setStyleHint(QFont::StyleHint hint, QFont::StyleStrategy strategy = PreferDefault)

스타일 힌트와 전략을 각각 hint 및 strategy 로 설정합니다.

이들이 명시적으로 설정되지 않은 경우, 스타일 힌트는 기본적으로 AnyStyle 로, 스타일 전략은 PreferDefault 로 설정됩니다.

Qt는 X11에서 스타일 힌트를 지원하지 않습니다. 창 시스템에서 이 정보를 제공하지 않기 때문입니다.

StyleHint, styleHint(), StyleStrategy, styleStrategy() 및 QFontInfo도 참조하십시오 .

void QFont::setStyleName(const QString &styleName)

글꼴의 스타일 이름을 ‘ styleName ’로 설정합니다. 이 설정이 적용되면, 글꼴 일치 처리 시 ‘ style()’ 및 ‘ weight()’와 같은 다른 스타일 속성은 무시되지만, 플랫폼의 글꼴 엔진에서 지원하는 경우 이후에 시뮬레이션될 수 있습니다.

인공적으로 시뮬레이션된 스타일의 품질이 낮고, 플랫폼 간 완전한 호환성이 보장되지 않기 때문에, 스타일 이름에 따른 매칭과 스타일 속성에 따른 매칭을 함께 사용하는 것은 권장되지 않습니다.

styleName()도 참조하십시오 .

void QFont::setStyleStrategy(QFont::StyleStrategy s)

글꼴의 스타일 전략을 s 로 설정합니다.

styleStrategy() 및 QFont::StyleStrategy도 참조하십시오 .

void QFont::setUnderline(bool enable)

enable 가 true인 경우 밑줄을 켜고, 그렇지 않은 경우 밑줄을 끕니다.

underline() 및 QFontInfo도 참조하십시오 .

[since 6.7] void QFont::setVariableAxis(QFont::Tag tag, float value)

tag 에 해당하는 가변 축에 value 를 적용합니다.

가변 글꼴은 동일한 글꼴 파일에 여러 가지 변형(다른 굵기, 너비 또는 스타일)을 저장할 수 있는 방법을 제공합니다. 이러한 변형들은 "가변 축"이라고 하는 미리 정의된 매개변수 집합에 대한 부동 소수점 값으로 지정됩니다. 일반적으로 폰트 디자이너가 특정 인스턴스에 이름을 지정하며, Qt에서는 기존의 하위 패밀리와 마찬가지로 ` setStyleName()`를 사용하여 이를 선택할 수 있습니다.

경우에 따라서는 서로 다른 축에 임의의 값을 지정하는 것이 유용할 수도 있습니다. 예를 들어, 폰트에 Regular와 Bold 서브패밀리가 있는 경우, 이 둘 사이의 중간 굵기를 원할 수 있습니다. 이 경우 폰트의 “wght” 축에 사용자 정의 값을 지정하여 수동으로 요청할 수 있습니다.

QFont font;
font.setVariableAxis("wght", (QFont::Normal + QFont::Bold) / 2.0f);

글꼴에서 "wght" 축을 지원하고 지정된 값이 정의된 범위 내에 있다면, 굵기 550.0에 해당하는 글꼴이 제공됩니다.

많은 폰트가 제공하는 몇 가지 표준 축으로는 "wght"(두께), "wdth"(너비), "ital"(이탤릭), "opsz"(광학 크기) 등이 있습니다. 각 축은 폰트 자체에 정의된 개별 범위를 가지고 있습니다. 예를 들어, “wght”는 100에서 900까지(QFont::Thin 에서 QFont::Black 까지)의 범위를 가질 수 있는 반면, “ital”은 0에서 1까지(이탤릭이 아닌 상태에서 완전한 이탤릭까지)의 범위를 가질 수 있습니다.

글꼴은 사용자 정의 축을 정의할 수도 있습니다. 유일한 제한 사항은 이름이 QFont::Tag (4개의 라틴-1 문자 시퀀스)의 요건을 충족해야 한다는 점입니다.

기본적으로 가변 축은 설정되어 있지 않습니다.

참고: Windows에서 선택적 GDI 글꼴 백엔드를 사용하는 경우 가변 축이 지원되지 않습니다.

이 함수는 Qt 6.7에서 도입되었습니다.

unsetVariableAxis도 참조하십시오 .

void QFont::setWeight(QFont::Weight weight)

QFont::Weight 열거형으로 정의된 배율을 사용하여 글꼴의 두께를 weight 로 설정합니다.

참고: styleName()가 설정된경우 , 글꼴 선택 시 이 값이 무시될 수 있습니다.

weight() 및 QFontInfo도 참조하십시오 .

void QFont::setWordSpacing(qreal spacing)

글꼴의 단어 간격을 ‘ spacing ’로 설정합니다.

단어 간격은 개별 단어 사이의 기본 간격을 변경합니다. 양수 값을 지정하면 단어 간격이 해당 픽셀 수만큼 증가하고, 음수 값을 지정하면 단어 간격이 그만큼 줄어듭니다.

단어 간격은 개별 단어가 공백으로 구분되지 않는 문자 체계에는 적용되지 않습니다.

wordSpacing() 및 setLetterSpacing()도 참조하십시오 .

int QFont::stretch() const

해당 글꼴의 스트레치 계수를 반환합니다.

setStretch()도 참조하십시오 .

bool QFont::strikeOut() const

strikeout이 설정되어 있으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

setStrikeOut()도 참조하십시오 .

QFont::Style QFont::style() const

글꼴의 스타일을 반환합니다.

setStyle()도 참조하십시오 .

QFont::StyleHint QFont::styleHint() const

StyleHint 을 반환합니다.

이 스타일 힌트는 ` font matching algorithm`에 영향을 미칩니다. 사용 가능한 힌트 목록은 QFont::StyleHint 를 참조하십시오.

setStyleHint(), QFont::StyleStrategy 및 QFontInfo::styleHint()도 참조하십시오 .

QString QFont::styleName() const

요청된 글꼴 스타일 이름을 반환합니다. 이 기능은 (다른 스타일 속성으로는 정규화할 수 없는) 비정규적인 스타일의 글꼴을 일치시키는 데 사용할 수 있습니다.

setStyleName(), setFamily(), setStyle()도 참조하십시오 .

QFont::StyleStrategy QFont::styleStrategy() const

StyleStrategy 를 반환합니다.

스타일 전략은 ` font matching ` 알고리즘에 영향을 미칩니다. 사용 가능한 전략 목록은 QFont::StyleStrategy 을 참조하십시오.

setStyleStrategy(), setStyleHint() 및 QFont::StyleHint도 참조하십시오 .

[static] QString QFont::substitute(const QString &familyName)

familyName 가 지정될 때마다 사용될 첫 번째 성을 반환합니다. 이 조회는 대소문자를 구분하지 않습니다.

familyName 에 대한 대체 항목이 없는 경우, familyName 가 반환됩니다.

대체 항목 목록을 얻으려면 substitutes()를 사용하십시오.

setFamily(), insertSubstitutions(), insertSubstitution() 및 removeSubstitutions()도 참조하십시오 .

[static] QStringList QFont::substitutes(const QString &familyName)

familyName 가 지정될 때마다 사용될 성(家族名) 목록을 반환합니다. 검색 시 대소문자를 구분하지 않습니다.

familyName 에 대한 대체 항목이 없는 경우, 빈 리스트가 반환됩니다.

substitute(), insertSubstitutions(), insertSubstitution(), removeSubstitutions()도 참조하십시오 .

[static] QStringList QFont::substitutions()

대체된 성을 정렬한 목록을 반환합니다.

insertSubstitution(), removeSubstitutions(), substitute()도 참조하십시오 .

[noexcept] void QFont::swap(QFont &other)

이 글꼴 인스턴스를 other 로 교체합니다. 이 작업은 매우 빠르며 실패하는 일이 없습니다.

QString QFont::toString() const

글꼴에 대한 설명을 반환합니다. 이 설명은 쉼표로 구분된 속성 목록으로, QSettings 에서 사용하기에 매우 적합하며, 다음과 같이 구성됩니다:

  • 글꼴 패밀리
  • 포인트 크기
  • 픽셀 크기
  • 스타일 힌트
  • 글꼴 굵기
  • 글꼴 스타일
  • 밑줄
  • 취소선
  • 고정 폭
  • 항상 0
  • 대문자
  • 글자 간격
  • 단어 간격
  • 늘리기
  • 스타일 전략
  • 글꼴 스타일
  • 글꼴 기능
  • 가변 축

fromString()도 참조하십시오 .

bool QFont::underline() const

underline이 설정되어 있으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

setUnderline()도 참조하십시오 .

[since 6.7] void QFont::unsetFeature(QFont::Tag tag)

명시적으로 활성화/비활성화된 기능 맵에서 ‘ tag ’ 기능을 해제합니다.

참고: 해당 기능이 이전에 추가된 적이없더라도 , 이 작업은 이 QFont 에서 글꼴 기능 맵이 수정된 것으로 표시하므로, 다른 글꼴과 비교하여 결정할 때 이 가 우선 적용됩니다.

QFont 에서 기존 기능을 해제하면 동작이 기본값으로 되돌아갑니다.

글꼴 기능에 대한 자세한 내용은 setFeature()을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, clearFeatures(), setFeature(), featureTags() 및 featureValue()도 참조하십시오 .

[since 6.7] void QFont::unsetVariableAxis(QFont::Tag tag)

tag 로 지정된, 이전에 설정된 변수 축 값을 해제합니다.

참고: 이 태그에 대해 이전에 값이 지정된적이 없더라도 , QFont 는 다른 QFont 값과 대조하여 해결할 때 변수 축이 설정된 것으로 간주합니다.

이 함수는 Qt 6.7에서 도입되었습니다.

setVariableAxis도 참조하십시오 .

[since 6.7] QList<QFont::Tag> QFont::variableAxisTags() const

현재 이 QFont 에 설정된 모든 가변 축에 대한 태그 목록을 반환합니다.

가변 축에 대한 자세한 내용은 setVariableAxis()를 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet() 및 clearVariableAxes()도 참조하십시오 .

[since 6.7] float QFont::variableAxisValue(QFont::Tag tag) const

특정 변수 축 tag 에 설정된 값을 반환합니다. 태그가 설정되지 않은 경우, 대신 0.0이 반환됩니다.

변수 축에 대한 자세한 내용은 ` setVariableAxis()`을 참조하십시오.

이 함수는 Qt 6.7에서 도입되었습니다.

QFont::Tag, setVariableAxis(), unsetVariableAxis(), isVariableAxisSet() 및 clearVariableAxes()도 참조하십시오 .

QFont::Weight QFont::weight() const

QFont::Weight 열거형과 동일한 척도를 사용하여 글꼴의 두께를 반환합니다.

setWeight(), Weight 및 QFontInfo도 참조하십시오 .

qreal QFont::wordSpacing() const

해당 글꼴의 단어 간격을 반환합니다.

setWordSpacing() 및 setLetterSpacing()도 참조하십시오 .

QFont::operator QVariant() const

글꼴을 다음과 같은 형식으로 반환합니다. QVariant

bool QFont::operator!=(const QFont &f) const

이 글꼴이 f 과 다를 경우 true 를 반환하고, 그렇지 않은 경우 false 를 반환합니다.

두 QFont의 글꼴 속성이 다르면 서로 다른 것으로 간주됩니다.

operator==()도 참조하십시오 .

bool QFont::operator<(const QFont &f) const

이 글꼴과 글꼴 f 간의 임의의 비교를 제공합니다. 보장되는 것은 두 글꼴이 같을 때 연산자가 false 를 반환하고, 글꼴이 다를 때 (f1 < f2) == !(f2 < f1)을 반환한다는 점뿐입니다.

이 함수는 특정 상황에서 유용합니다. 예를 들어, QFont 객체를 QMap 의 키로 사용하고자 할 때입니다.

operator==(), operator!=(), isCopyOf()도 참조하십시오 .

[noexcept] QFont &QFont::operator=(QFont &&other)

other 를 이 QFont 인스턴스에 할당합니다.

QFont &QFont::operator=(const QFont &font)

이 글꼴에 ` font `를 할당하고, 해당 글꼴에 대한 참조를 반환합니다.

bool QFont::operator==(const QFont &f) const

이 글꼴이 f 와 동일한 경우 true 를 반환하고, 그렇지 않은 경우 false를 반환합니다.

두 QFont 객체는 폰트 속성이 동일할 때 동일한 것으로 간주됩니다.

operator!=() 및 isCopyOf()도 참조하십시오 .

관련 비멤버

[noexcept] size_t qHash(const QFont &key, size_t seed = 0)

seed 를 계산의 시드로 사용하여 key 에 대한 해시 값을 반환합니다.

QDataStream &operator<<(QDataStream &s, const QFont &font)

font 글꼴을 s 데이터 스트림에 기록합니다. (toString()는 텍스트 스트림에 기록합니다.)

QDataStream 연산자의 형식항목도 참조하십시오 .

QDataStream &operator>>(QDataStream &s, QFont &font)

데이터 스트림 s 에서 폰트 font 를 읽습니다. (fromString()는 텍스트 스트림에서 데이터를 읽습니다.)

QDataStream 연산자의 형식항목도 참조하십시오 .

© 2026 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.