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 座標に変換され、フォントからのアウトラインはそれに応じてパスに追加されます。
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 |
選択したフォントに特定の文字が含まれていない場合、Qt は自動的にその文字を含む類似のフォントを選択します。デフォルトでは、これは文字ごとに行われます。
つまり、ある珍しいケースでは、同じスクリプトであっても、1つの文字列を表現するために多くの異なるフォントが使用される可能性があります。contextFontMerging
を true に設定すると、代わりに入力文字列の最大のサブセットにマッチするフォールバックフォントを見つけようとします。こ れは、 グ リ フ が欠落 し てい る 文字列に対 し ては よ り 高 く な り ますが、 よ り 一貫 し た結果が得 ら れ る 可能性があ り ます。デフォルトでは、contextFontMerging
はfalse
です。
このプロパティは Qt 6.8 で導入されました。
QFont::StyleStrategyも参照してください 。
font.family : string |
フ ォ ン ト のフ ァ ミ リ 名を設定 し ます。
ファミリ名は大文字小文字を区別せず、オプションでファウンドリ名を含めることができます(例:"Helvetica [Cronyx]")。ファミリが複数のファウンドリから入手可能で、ファウンドリが指定されていない場合は、任意のファウンドリが選択されます。そのフ ァ ミ リ が得 ら れない と き は、 フ ォ ン ト 照合アルゴ リ ズ ム を用いて フ ァ ミ リ が設定 さ れます。
font.features : object |
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
機能は、QFont の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 です。
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 |
ascent ・descent ・leading を提供する縦線メ ト リ ッ ク のセ ッ ト を競合 さ せます。こ れ ら は し ば し ばwin(Windows) メ ト リ ッ ク とtypo(組版) メ ト リ ッ ク と 呼ばれます。仕様では、行間にはtypo
メ ト リ ッ ク を用いる こ と を推奨 し てい ますが、 多 く のアプ リ ケーシ ョ ンは、 フ ォ ン ト のfsSelectionフ ィ ール ド でUSE_TYPO_METRICS
フ ラ グが設定 さ れていない限 り 、win
メ ト リ ッ ク を好みます。後方互換性の理由から、これは Qt アプ リ ケーシ ョ ンの場合も同様です。こ れは、typo
メ ト リ ッ ク が有効であ る こ と を示すUSE_TYPO_METRICS
フ ラ グ を設定 し てい る フ ォ ン ト や、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 |
浮動小数点値を、 可変フ ォ ン ト 内の可変軸に適用 し ます。
可変フ ォ ン ト は、 同 じ フ ォ ン ト フ ァ イ ル内に複数のバ リ エーシ ョ ン (異な る太 さ ・ 幅 ・ ス タ イ ルを持つ) を格納す る 方法を提供 し ます。バ リ エーシ ョ ンは、 「バ リ エーシ ョ ン軸」 と い う あらかじめ定義 さ れたパ ラ メ タ セ ッ ト に対す る 浮動小数点値 と し て与え ら れます。特定のインスタンスは通常、フォントデザイナーによって名前が与えられ、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 | 900PathText { text: "Hello"; font.weight: Font.DemiBold } |
font.wordSpacing : real |
フォントの単語間隔を設定します。
単語間隔は、個々の単語間のデフォルトの間隔を変更します。正の値を指定する と 、 単語の間隔が対応す る ピ ク セル分拡が り 、 負の値を指定する と 、 単語の間隔が対応す る ピ ク セル分狭 く な り ます。
y : real |
PathText のベースラインの垂直位置。
注: このプロパティは、テキストのベースラインの位置を参照し、そのバウンディングボックスの上端を参照しません。これは、PathText を Qt Quick Shapes と一緒に使用する場合などに、混乱を引き起こす可能性があります。フォントのアセントを取得する方法についてはFontMetrics を参照してください。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。