PathText QML Type

指定したフォントで文字列を定義します。詳細...

Import Statement: import QtQuick
Since: QtQuick 2.15

プロパティ

詳細説明

この要素は、指定されたフォントで指定された文字列の形状を定義します。テキストのベースラインは x 座標と y 座標に変換され、フォントからのアウトラインはそれに応じてパスに追加されます。

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も参照

プロパティ Documentation

font.bold : bool

フォントの太さを設定します。


font.capitalization : enumeration

テキストの大文字小文字を設定します。

定数説明
Font.MixedCase大文字に変更しない
Font.AllUppercaseテキストがすべて大文字で表示されるように変更します。
Font.AllLowercaseテキストがすべて小文字で表示されるように変更します。
Font.SmallCapsテキストを小文字で表示します。
Font.Capitalizeテキストを各単語の最初の文字を大文字としてレンダリングするように変更する
PathText { text: "Hello"; font.capitalization: Font.AllLowercase }

font.contextFontMerging : bool [since 6.8]

選択したフォントに特定の文字が含まれていない場合、Qt は自動的にその文字を含む類似のフォントを選択します。デフォルトでは、これは文字ごとに行われます。

つまり、ある珍しいケースでは、同じスクリプトであっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。contextFontMerging を true に設定すると、代わりに入力文字列の最大のサブセットにマッチするフォールバックフォントを見つけようとします。こ れは、 グ リ フ が欠落 し てい る 文字列に対 し ては よ り 高 く な り ますが、 よ り 一貫 し た結果が得 ら れ る 可能性があ り ます。デフォルトでは、contextFontMergingfalse です。

このプロパティは Qt 6.8 で導入されました。

QFont::StyleStrategyも参照してください


font.family : string

フ ォ ン ト のフ ァ ミ リ 名を設定 し ます。

ファミリ名は大文字小文字を区別せず、オプションでファウンドリ名を含めることができます(例:"Helvetica [Cronyx]")。ファミリが複数のファウンドリから入手可能で、ファウンドリが指定されていない場合は、任意のファウンドリが選択されます。そのフ ァ ミ リ が得 ら れない と き は、 フ ォ ン ト 照合アルゴ リ ズ ム を用いて フ ァ ミ リ が設定 さ れます。


font.features : object [since 6.6]

features 内の内容に基づいてテ キ ス ト をシ ェーピ ン グす る 際に、 特定の OpenType 機能に整数値を適用 し ます。こ れは、 フ ォ ン ト シ ェーピ ン グ処理への高度な ア ク セ ス を提供 し 、 それ以外の API では網羅 さ れていない フ ォ ン ト 機能に対応す る ために利用す る こ と がで き ます。

フ ォ ン ト 機能は、 4 文字 タ グか ら 整数値へのマ ッ プで表 さ れます。ほとんどの場合、タグと一緒に渡されるこの整数値はブーリアン値を表します:ゼロの値はその機能が無効であることを意味し、ゼロ以外の値は有効であることを意味します。しかし、ある種のフォント機能については、この値は別の解釈を持つことがあります。例えば、salt 機能に適用される場合、値は、使用する文体の代替を指定するインデックスです。

た と えば、frac フ ォ ン ト 機能は、 ス ラ ッ シ ュ で区切 ら れた対角線上の分数 (1/2 の よ う に) を別の表現で変換 し ます。通常 こ れは、 分数全体を 1 文字幅に焼 き 出す こ と にな り ます (½ の よ う に)。

フ ォ ン ト が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 機能は、QFontfont.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 です。

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

font.letterSpacing : real

フォントの文字間隔を設定します。

文字間隔は、フォント内の個々の文字の間のデフォルトの間隔を変更します。正の値を指定すると、文字間隔は対応するピクセル分だけ大きくなり、負の値を指定すると、文字間隔は小さくなります。


font.pixelSize : int

フォントサイズをピクセル単位で設定します。

この関数を使用すると、フォントのデバイスに依存するようになります。デバイスに依存しない方法でフォントサイズを設定するにはpointSize を使用します。


font.pointSize : real

フォントサイズをポイントで設定します。ポ イ ン ト サ イ ズは 0 よ り 大 き く す る 必要があ り ます。


font.preferShaping : bool

フォントが文字集合に複雑な規則を適用して正しく表示することがある。バラモン文字のようないくつかの文字体系では、これはテキストを読みやすくするために必要なことですが、ラテン文字のような文字体系では、単なる見栄えのための機能です。preferShaping プロパティを false に設定すると、このような機能が不要な場合はすべて無効になり、ほとんどの場合パフォーマンスが向上します。

デフォルト値はtrueです。

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

font.preferTypoLineMetrics : bool [since 6.8]

ascentdescentleading を提供する縦線メ ト リ ッ ク のセ ッ ト を競合 さ せます。こ れ ら は し ば し ばwin(Windows) メ ト リ ッ ク とtypo(組版) メ ト リ ッ ク と 呼ばれます。仕様では、行間にはtypo メ ト リ ッ ク を用いる こ と を推奨 し てい ますが、 多 く のアプ リ ケーシ ョ ンは、 フ ォ ン ト のfsSelectionフ ィ ール ド でUSE_TYPO_METRICS フ ラ グが設定 さ れていない限 り 、win メ ト リ ッ ク を好みます。後方互換性の理由から、これは Qt アプ リ ケーシ ョ ンの場合も同様です。こ れは、typo メ ト リ ッ ク が有効であ る こ と を示すUSE_TYPO_METRICS フ ラ グ を設定 し てい る フ ォ ン ト や、win メ ト リ ッ ク とtypo メ ト リ ッ ク が一致 し てい る フ ォ ン ト に対 し ては問題ではあ り ません。し か し 、 あ る 種の フ ォ ン ト に対 し ては、win メ ト リ ッ ク が望ましい行間隔 よ り も 大き く 、USE_TYPO_METRICS フ ラ グが誤っ て設定 さ れない こ と があ り ます。その よ う な フ ォ ン ト に対 し ては、font.preferTypoLineMetrics を設定す る こ と が優れた結果を も た ら す可能性があ り ます。

デフォルトでは、preferTypoLineMetricsfalse になります。

このプロパティは Qt 6.8 で導入されました。

QFont::StyleStrategyも参照してください


font.strikeout : bool

フォントに取り消し線スタイルがあるかどうかを設定します。


font.styleName : string

フォントのスタイル名を設定します。

スタイル名は大文字小文字を区別しません。設定する と 、 フ ォ ン ト は、 フ ォ ン ト プ ロパテ ィfont.weightfont.boldfont.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.Thin100
Font.ExtraLight200
Font.Light300
Font.Normal400(デフォルト)
Font.Medium500
Font.DemiBold600
Font.Bold700
Font.ExtraBold800
Font.Black900
PathText { text: "Hello"; font.weight: Font.DemiBold }

font.wordSpacing : real

フォントの単語間隔を設定します。

単語間隔は、個々の単語間のデフォルトの間隔を変更します。正の値を指定する と 、 単語の間隔が対応す る ピ ク セル分だけ拡が り 、 負の値を指定する と 、 単語の間隔が対応す る ピ ク セル分だけ狭 く な り ます。


text : string

このPathText がアウトラインを含むべきテキスト。


x : real

PathText のベースラインの水平位置。


y : real

PathText のベースラインの垂直位置。

注: このプロパティは、テキストのベースラインの位置を指し、そのバウンディングボックスの上端を指すものではありません。このため、PathTextQt Quick Shapes とともに使用する場合など、混乱が生じることがあります。フ ォ ン ト のアセ ン ト を取得す る 方法についてはFontMetrics を参照 し て く だ さ い。


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