이 페이지에서

font QML Value Type

QFont 의 속성을 가진 글꼴 값입니다. font 유형은 QFont 의 속성을 가진 글꼴 값을 가리킵니다. 더 보기...

Import Statement: import QtQuick

속성

상세 설명

font 유형의 속성은 기본적으로 애플리케이션의 기본값 font 로 설정됩니다.

예시:

    Text {
        font.family: "Helvetica"
        font.pointSize: 13
        font.bold: true
    }

font 는 structured value 유형이므로, JavaScript 객체를 사용하여 생성할 수도 있습니다:

    readonly property font myFont: ({
        family: "Helvetica",
        pointSize: 13,
        bold: true
    })

C++와 통합할 때, C++에서 QML로 전달되는 모든 ` QFont ` 값은 자동으로 ` font ` 값으로 변환되며, 그 반대의 경우도 마찬가지임을 유의하십시오.

이 값 유형은 QtQuick 임포트를 통해 제공됩니다.

QML 값 유형도 참조하십시오 .

속성 문서

bold : bool

글꼴의 굵기가 굵은지 여부.

capitalization : enumeration

텍스트의 대소문자 표기.

상수설명
Font.MixedCase일반적인 경우: 대소문자 변경이 적용되지 않습니다
Font.AllUppercase텍스트를 모두 대문자로 렌더링하도록 변경합니다
Font.AllLowercase텍스트를 모두 소문자로 렌더링하도록 변경합니다
Font.SmallCaps텍스트를 소문자 대문자(small-caps)로 렌더링하도록 변경합니다
Font.Capitalize각 단어의 첫 글자를 대문자로 표시하도록 텍스트를 변경합니다
Text { text: "Hello"; font.capitalization: Font.AllLowercase }

contextFontMerging : bool [since 6.8]

선택한 글꼴에 특정 문자가 포함되어 있지 않은 경우, Qt는 해당 문자가 포함된 모양이 비슷한 대체 글꼴을 자동으로 선택합니다. 기본적으로 이 작업은 문자 단위로 수행됩니다.

즉, 드문 경우이긴 하지만, 동일한 문자 체계에 속하더라도 하나의 문자열을 표현하는 데 여러 가지 다른 글꼴이 사용될 수 있습니다. ` contextFontMerging `를 `true`로 설정하면, 대신 입력 문자열의 가장 큰 부분 집합과 일치하는 대체 글꼴을 찾으려고 시도합니다. 글리프가 누락된 문자열의 경우 이 작업에 더 많은 비용이 들 수 있지만, 더 일관된 결과를 얻을 수 있습니다. 기본적으로 ` contextFontMerging `의 값은 ` false`입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

QFont::StyleStrategy도 참조하십시오 .

family : string

글꼴의 이름.

패밀리 이름은 대소문자를 구분하지 않으며, 선택적으로 폰트 제작사 이름을 포함할 수 있습니다(예: "Helvetica [Cronyx]"). 해당 서체 패밀리가 여러 서체 제작사에서 제공되지만 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 서체 패밀리를 사용할 수 없는 경우, 서체 매칭 알고리즘을 사용하여 서체 패밀리가 설정됩니다.

features : object [since 6.6]

내용에 따라 텍스트의 형태를 조정할 때 특정 OpenType 기능에 정수 값을 적용합니다. 이를 통해 글꼴 형태 조정 과정에 대한 고급 수준의 접근이 가능하며, API에서 지원하지 않는 글꼴 기능을 구현하는 데 활용할 수 있습니다.

글꼴 기능은 4글자 태그와 정수 값 간의 매핑으로 표현됩니다. 대부분의 경우 태그와 함께 전달되는 이 정수 값은 부울 값을 나타냅니다. 0인 경우 해당 기능이 비활성화된 것이며, 0이 아닌 경우 활성화된 것입니다. 그러나 특정 글꼴 기능의 경우 다른 방식으로 해석될 수도 있습니다. 예를 들어, ‘ salt ’ 기능에 적용될 경우, 이 값은 사용할 스타일적 대안을 지정하는 인덱스 역할을 합니다.

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

글꼴이 ` frac ` 기능을 지원하는 경우, 다음 코드와 같이 셰이퍼에서 이 기능을 활성화할 수 있습니다:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1 }
}

동일한 매핑에서 여러 기능에 값을 할당할 수 있습니다. 예를 들어, 글꼴의 커닝도 비활성화하고 싶다면 다음과 같이 명시적으로 비활성화할 수 있습니다:

Text {
    text: "One divided by two is 1/2"
    font.family: "MyFractionFont"
    font.features: { "frac": 1, "kern": 0 }
}

또한 폰트 속성을 객체에 모아둘 수도 있습니다:

Text {
    text: "One divided by two is 1/2"
    font: {
        family: "MyFractionFont"
        features: { "frac": 1, "kern": 0 }
    }
}

참고: 기본적으로 Qt는 다른 글꼴 속성에 따라 특정 글꼴 기능을 활성화하거나 비활성화합니다. 특히, ‘ kern ’ 기능은 ‘ font::kerning ’ 속성에 따라 활성화되거나 비활성화됩니다. 또한, ‘font.letterSpacing’이 설정된 경우 모든 리가처 기능(liga, clig,

dlig, hlig)는 font.letterSpacing이 설정된 경우 비활성화되지만, 이는 리가처 사용이 미적 목적에 국한되는 문자 체계에 한합니다. 리가처가 필수적인 문자 체계의 경우, 해당 기능은 기본 상태를 유지합니다. font.features 를 사용하여 설정된 값은 기본 동작을 재정의합니다. 예를 들어, "kern" 가 1로 설정된 경우, font::kerning 속성이 false로 설정되어 있더라도 커닝은 항상 활성화됩니다. 마찬가지로,

0 로 설정된 경우, 커닝은 항상 비활성화됩니다.

이 속성은 Qt 6.6에서 도입되었습니다.

QFont::setFeature()도 참조하십시오 .

hintingPreference : enumeration

텍스트에 적용할 권장 힌팅.

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

참고: 이 속성은 렌더링 유형 Text.NativeRendering 와 함께 사용할 때만 효과가 있습니다.

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

italic : bool

해당 글꼴에 이탤릭체가 있는지 여부.

kerning : bool

텍스트 모양을 조정할 때 커닝 OpenType 기능을 활성화하거나 비활성화합니다. 이 기능을 비활성화하면 텍스트를 생성하거나 수정할 때 성능이 향상될 수 있지만, 일부 시각적 효과가 저하될 수 있습니다. 기본값은 true 입니다.

Text { text: "OATS FLAVOUR WAY"; font.kerning: false }

letterSpacing : real

글꼴의 글자 간격입니다.

글자 간격은 글꼴 내 개별 글자 사이의 기본 간격을 조정합니다. 양수 값을 지정하면 해당 픽셀 수만큼 글자 간격이 넓어지고, 음수 값을 지정하면 간격이 좁아집니다.

pixelSize : int

픽셀 단위의 글꼴 크기.

글꼴을 장치에 종속적으로 만듭니다. 장치와 무관한 방식으로 글꼴 크기를 설정하려면 ` pointSize `를 사용하십시오.

pointSize : real

포인트 단위의 글꼴 크기. 포인트 크기는 0보다 커야 합니다.

preferShaping : bool

때로는 글꼴이 문자를 올바르게 표시하기 위해 특정 문자 집합에 복잡한 규칙을 적용하기도 합니다. 브라흐미 문자 체계와 같은 일부 문자 체계에서는 텍스트를 가독성 있게 표시하기 위해 이러한 처리가 필수적이지만, 예를 들어 라틴 문자 체계에서는 단순히 미적 효과에 불과합니다. preferShaping 속성을 false로 설정하면 필요하지 않은 경우 이러한 모든 기능을 비활성화할 수 있으며, 대부분의 경우 성능이 향상됩니다.

기본값은 ` true`입니다.

Text { text: "Some text"; font.preferShaping: false }

preferTypoLineMetrics : bool [since 6.8]

글꼴의 수직 간격( ascent), 수평 간격( descent ), 수직 간격( leading )을 제공하는 서로 다른 세트의 수직 선 메트릭입니다. 이들은 흔히 ‘윈 (Windows) 메트릭’과 ‘타이포 (타이포그래피) 메트릭’으로 불립니다. 사양에서는 줄 간격에 typo 메트릭을 사용할 것을 권장하지만, 많은 애플리케이션은 글꼴의 fsSelection 필드에 USE_TYPO_METRICS 플래그가 설정되어 있지 않은 한 win 메트릭을 선호합니다. 하위 호환성상의 이유로 Qt 애플리케이션에서도 마찬가지입니다. 이는 ‘ USE_TYPO_METRICS ’ 플래그를 설정하여 ‘ typo ’ 메트릭이 유효함을 나타내는 글꼴이나, ‘ win ’ 메트릭과 ‘ typo ’ 메트릭이 일치하는 글꼴의 경우에는 문제가 되지 않습니다. 그러나 특정 글꼴의 경우 ‘ win ’ 메트릭이 바람직한 줄 간격보다 클 수 있으며, ‘ USE_TYPO_METRICS ’ 플래그가 실수로 설정되지 않은 상태일 수 있습니다. 이러한 글꼴의 경우 ‘ font.preferTypoLineMetrics ’를 설정하면 더 나은 결과를 얻을 수 있습니다.

기본적으로 ` preferTypoLineMetrics `는 ` false`입니다.

이 속성은 Qt 6.8에서 도입되었습니다.

QFont::StyleStrategy도 참조하십시오 .

strikeout : bool

해당 글꼴에 취소선 스타일이 있는지 여부.

styleName : string

글꼴의 스타일 이름입니다.

스타일 이름은 대소문자를 구분하지 않습니다. 이 값이 설정되면, 폰트는 font.weight, font.bold, font.italic 와 같은 폰트 속성 대신 스타일 이름에 따라 매칭됩니다.

underline : bool

텍스트에 밑줄이 그어져 있는지 여부.

variableAxes : object [since 6.7]

가변 글꼴의 가변 축에 부동 소수점 값을 적용합니다.

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

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

Text {
    text: "Foobar"
    font.family: "MyVariableFont"
    font.variableAxes: { "wght": (Font.Normal + Font.Bold) / 2.0 }
}

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

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

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

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

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

이 속성은 Qt 6.7에서 도입되었습니다.

QFont::setVariableAxis()도 참조하십시오 .

weight : int

요청된 글꼴의 굵기입니다. 요청된 굵기는 1에서 1000 사이의 정수이거나, 다음의 미리 정의된 값 중 하나여야 합니다:

상수설명
Font.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400 (기본값)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
Text { text: "Hello"; font.weight: Font.DemiBold }

wordSpacing : real

글꼴의 단어 간격입니다.

단어 간격은 개별 단어 사이의 기본 간격을 조정합니다. 양수 값을 지정하면 단어 간격이 해당 픽셀 수만큼 넓어지고, 음수 값을 지정하면 단어 간격이 그만큼 좁아집니다.

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