PathText QML Type
지정된 글꼴로 문자열을 정의합니다. 더 보기...
| Import Statement: | import QtQuick |
| Since: | QtQuick 2.15 |
속성
- font.bold : bool
- font.capitalization : enumeration
- font.contextFontMerging : bool
(since 6.8) - font.family : string
- font.features : object
(since 6.6) - font.italic : bool
- font.kerning : bool
- font.letterSpacing : real
- font.pixelSize : int
- font.pointSize : real
- font.preferShaping : bool
- font.preferTypoLineMetrics : bool
(since 6.8) - font.strikeout : bool
- font.styleName : string
- font.underline : bool
- font.variableAxes : object
(since 6.7) - font.weight : int
- font.wordSpacing : real
- text : string
- x : real
- y : real
상세 설명
이 요소는 지정된 글꼴로 표시되는 특정 문자열의 모양을 정의합니다. 텍스트의 기준선이 x 및 y 좌표로 변환되며, 이에 따라 글꼴의 윤곽선이 경로에 추가됩니다.
Shape 항목에서 텍스트를 렌더링하는 데 사용할 경우 다음 사항에 유의하십시오:
- 올바르게 채우려면 ' ShapePath'의 fillRule을 ShapePath.WindingFill로 설정해야 합니다.
- 모든 글꼴이 획 그리기에 적합한 깔끔한 윤곽선을 제공하는 것은 아닙니다. 획이 있는 윤곽선을 원하지만 결과가 만족스럽지 않다면 다른 글꼴을 사용해 보십시오.
PathText {
x: 0
y: font.pixelSize
font.family: "Arial"
font.pixelSize: 100
text: "Foobar"
}Path, QPainterPath::setFillRule, PathPolyline, PathQuad, PathCubic, PathArc, PathAngleArc, PathCurve, PathSvg 및 PathMove도 참조하십시오 .
속성 문서
font.bold : bool
글꼴의 굵기를 굵게로 설정할지 여부를 지정합니다.
font.capitalization : enumeration
텍스트의 대소문자 표기 방식을 설정합니다.
| 상수 | 설명 |
|---|---|
Font.MixedCase | 일반적인 경우: 대소문자 변경이 적용되지 않습니다 |
Font.AllUppercase | 텍스트를 모두 대문자로 표시되도록 변경합니다 |
Font.AllLowercase | 텍스트가 모두 소문자로 렌더링되도록 변경합니다. |
Font.SmallCaps | 텍스트를 소문자 대문자(small-caps)로 렌더링하도록 변경합니다 |
Font.Capitalize | 각 단어의 첫 글자만 대문자로 표시되도록 텍스트를 변경합니다 |
font.contextFontMerging : bool [since 6.8]
선택한 글꼴에 특정 문자가 포함되어 있지 않은 경우, Qt는 해당 문자가 포함된 모양이 비슷한 대체 글꼴을 자동으로 선택합니다. 기본적으로 이 작업은 문자 단위로 수행됩니다.
즉, 드문 경우이긴 하지만, 동일한 문자 체계에 속하더라도 하나의 텍스트 문자열을 표현하는 데 여러 가지 서로 다른 글꼴이 사용될 수 있습니다. ` contextFontMerging `를 `true`로 설정하면, 대신 입력 문자열의 가장 큰 부분 집합과 일치하는 대체 글꼴을 찾으려고 시도합니다. 글리프가 누락된 문자열의 경우 처리 비용이 더 많이 들 수 있지만, 더 일관된 결과를 얻을 수 있습니다. 기본적으로 ` contextFontMerging `의 값은 ` false`입니다.
이 속성은 Qt 6.8에서 도입되었습니다.
QFont::StyleStrategy도 참조하십시오 .
font.family : string
글꼴의 패밀리 이름을 설정합니다.
패밀리 이름은 대소문자를 구분하지 않으며, 선택적으로 폰트 제작사 이름을 포함할 수 있습니다(예: "Helvetica [Cronyx]"). 해당 서체 패밀리가 두 개 이상의 폰트 제작사에서 제공되며 제작사가 명시되지 않은 경우, 임의의 제작사가 선택됩니다. 해당 서체 패밀리를 사용할 수 없는 경우, 서체 매칭 알고리즘을 사용하여 서체 패밀리가 설정됩니다.
font.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 ’ 속성에 따라 활성화되거나 비활성화됩니다. 또한, ‘ ’가 설정된 경우 모든 리가처 기능(liga, clig,
dlig, hlig)은 font.letterSpacing 이 설정된 경우 비활성화되지만, 이는 리가처 사용이 순전히 미적 목적인 문자 체계에만 해당됩니다. 리가처가 필수적인 문자 체계의 경우, 해당 기능은 기본 상태를 유지합니다. font.features 를 사용하여 설정된 값은 기본 동작을 덮어씁니다. 예를 들어, "kern" 가 1로 설정된 경우, font::kerning 속성이 false로 설정되어 있더라도 커닝은 항상 활성화됩니다. 마찬가지로,
0 로 설정된 경우, 커닝은 항상 비활성화됩니다.
이 속성은 Qt 6.6에서 도입되었습니다.
QFont::setFeature()도 참조하십시오 .
font.italic : bool
글꼴에 이탤릭 스타일이 있는지 여부를 설정합니다.
font.kerning : bool
텍스트 모양을 조정할 때 커닝 OpenType 기능을 활성화하거나 비활성화합니다. 이 기능을 비활성화하면 텍스트를 생성하거나 수정할 때 성능이 향상될 수 있지만, 일부 시각적 효과가 저하될 수 있습니다. 기본값은 true 입니다.
Text { text: "OATS FLAVOUR WAY"; font.kerning: false }font.letterSpacing : real
글꼴의 글자 간격을 설정합니다.
글자 간격은 글꼴 내 개별 글자 사이의 기본 간격을 변경합니다. 양수 값을 지정하면 해당 픽셀 수만큼 글자 간격이 넓어지고, 음수 값을 지정하면 간격이 좁아집니다.
font.pixelSize : int
글꼴 크기를 픽셀 단위로 설정합니다.
이 함수를 사용하면 글꼴이 장치에 종속됩니다. 장치 독립적인 방식으로 글꼴 크기를 설정하려면 ` pointSize `를 사용하십시오.
font.pointSize : real
글꼴 크기를 포인트 단위로 설정합니다. 포인트 크기는 0보다 커야 합니다.
font.preferShaping : bool
때로는 글꼴이 특정 문자 집합을 올바르게 표시하기 위해 복잡한 규칙을 적용하기도 합니다. 브라흐미 문자 체계와 같은 일부 문자 체계에서는 텍스트를 가독성 있게 표시하기 위해 이러한 처리가 필수적이지만, 예를 들어 라틴 문자 체계에서는 단순히 미적 효과를 위한 기능에 불과합니다. preferShaping 속성을 false로 설정하면 필요하지 않은 경우 이러한 모든 기능을 비활성화할 수 있으며, 대부분의 경우 성능이 향상됩니다.
기본값은 ` true`입니다.
Text { text: "Some text"; font.preferShaping: false }font.preferTypoLineMetrics : bool [since 6.8]
글꼴의 ascent, descent 및 leading 를 제공하는 서로 다른 세트의 수직선 측정값입니다. 이들은 흔히 ‘win (Windows) 측정값’과 ‘typo (타이포그래피) 측정값’으로 불립니다. 사양에서는 줄 간격에 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도 참조하십시오 .
font.strikeout : bool
글꼴에 취소선 스타일이 적용될지 여부를 설정합니다.
font.styleName : string
글꼴의 스타일 이름을 설정합니다.
스타일 이름은 대소문자를 구분하지 않습니다. 이 값이 설정되면, 글꼴은 글꼴 속성 font.weight, font.bold 및 font.italic 대신 스타일 이름과 일치 여부를 확인합니다.
font.underline : bool
텍스트에 밑줄을 그을지 여부를 설정합니다.
font.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개의 라틴-1 문자 시퀀스) 요건을 충족해야 한다는 점입니다.
기본적으로 가변 축은 설정되어 있지 않습니다.
참고: Windows에서 선택적 GDI 글꼴 백엔드를 사용하는 경우 가변 축이 지원되지 않습니다.
이 속성은 Qt 6.7에서 도입되었습니다.
QFont::setVariableAxis()도 참조하십시오 .
font.weight : int
글꼴의 굵기를 설정합니다.
굵기는 다음 중 하나일 수 있습니다:
| 상수 | 설명 |
|---|---|
Font.Thin | 100 |
Font.ExtraLight | 200 |
Font.Light | 300 |
Font.Normal | 400 (기본값) |
Font.Medium | 500 |
Font.DemiBold | 600 |
Font.Bold | 700 |
Font.ExtraBold | 800 |
Font.Black | 900 |
font.wordSpacing : real
글꼴의 단어 간격을 설정합니다.
단어 간격은 개별 단어 사이의 기본 간격을 변경합니다. 양수 값을 지정하면 단어 간격이 해당 픽셀 수만큼 넓어지고, 음수 값을 지정하면 단어 간격이 그만큼 좁아집니다.
text : string
이 PathText 에 대한 본문에는 개요가 포함되어야 합니다.
x : real
PathText 의 베이스라인이 수평을 이루는 위치.
y : real
PathText 의 기준선 수직 위치.
참고: 이 속성은 텍스트의 기준선 위치를 나타내며, 바운딩 박스의 상단 위치를 의미하는 것은 아닙니다. 이로 인해, 예를 들어 ' PathText '을 ' Qt Quick ' 도형과 함께 사용할 때 혼동이 발생할 수 있습니다. 텍스트를 예상되는 위치로 이동시키는 데 사용할 수 있는 글꼴의 상승(ascent) 값을 구하는 방법에 대한 정보는 FontMetrics 을 참조하십시오.
© 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.