2017-07-21 14 views
1

Light/Regular/Medium/Bold/Blackの5種類のフォントファミリを使用し、Normal、Italic、およびCondensedの3つのスタイルを使用するQMLアプリケーションがあります。QMLと正確に一致するフォントスタイル

font listing

私は、彼らが同じ姓を共有する同じ重量の「通常」と「凝縮」スタイルの両方をロードすると、どちらのスタイルが最初にロードされたものを使用されている:

FontLoader { source:"qrc:/fonts/DINPro-CondRegular.otf"; id:cond } 
FontLoader { source:"qrc:/fonts/DINPro-Regular.otf";  id:norm } 
Timer { running:true; onTriggered:console.log(id:norm.name==cond.name) } // outputs `true` 

// This ends up using the condensed flavor 
Text { text:'hi mom'; font { family:'DINPro' } } 

特定のフォントファイルやFontLoaderインスタンスを使用するTextオブジェクトを伝えるためにいくつかの方法がありますか?イタリック体の場合はitalic propertyですが、「凝縮した」フレーバーの場合はプロパティがありません。

フォントの通常スタイルと凝縮スタイルを同じドキュメントで使用し、異なるTextに使用するフォントを指定するにはどうすればよいですか?

答えて

2

この特定のフォントでは、styleName propertyを使用してさまざまなフレーバーをコントロールできることがわかりました。私は働いているものが見つかるまで、さまざまなスタイルのストリングを試し続けました。

FontLoader { source:"qrc:/fonts/DINPro-Regular.otf"  } 
FontLoader { source:"qrc:/fonts/DINPro-CondRegular.otf" } 
FontLoader { source:"qrc:/fonts/DINPro-CondMedium.otf" } 

Text { text:'norm'; font { family:'DINPro';     styleName:'Regular' } } 
Text { text:'bold'; font { family:'DINPro'; weight:Font.Bold; styleName:'Regular' } } 
Text { text:'blak'; font { family:'DINPro'; weight:Font.Black; styleName:'Regular' } } 
Text { text:'cond norm'; font { family:'DINPro'; styleName:'CondRegular' } }  
Text { text:'cond bold'; font { family:'DINPro'; styleName:'CondBold' } }  
Text { text:'cond blak'; font { family:'DINPro'; styleName:'CondBlack' } } 

テープと文字列と一緒に保持されているように感じますが、動作しています。誰かがこれを処理するためのより堅牢な方法を持っている場合、特にstyleNameの文字列を正確に知るためには、この答えではなく、その答えを喜んで受け入れます。

関連する問題