2016-12-02 9 views
2

Kivy Labelsは、フォントサイズ、太字などのフォントプロパティをカスタマイズすることができる素晴らしいプロパティmarkupを持っています。しかし、フォントがない場合はどうしたらよいですか?
.ttfフォントがどのように機能するのか分かりません。私はいくつかの必要なすべてのテキストタイプのファイルを.ttf持っているが、私はそれらを一緒に置く方法を考えていない。
この場合、グーグルでは、大部分がカスタマイズ可能なCSSに関する質問に導かれました。どのフォントを太字、斜体として扱うかについての質問がありました。カスタムフォントのKivyラベルマークアップ

さらに詳しい情報これは私が話しているものです:このコードを実行する

from kivy.base import runTouchApp 
from kivy.uix.label import Label 

runTouchApp(Label(font_name = 'my_font.ttf', 
        markup = True, 
        text = '[b]Bold[/b] and [i]italics[/i]')) 

、私は次のような出力が得られます。 enter image description here


だから、それらのマークアップタグからの影響はなかったです。しかし、たとえば、テキストの色付けタグは機能します。そのため、フォントの問題があると確信しています。

プログラムで変更する方法はありますか?太字のテキストのレンダリングに使用するフォントはありますか?そうでない場合は、フォントを変更するためにどのような手順を取ることができますか?テキストスタイルだけが異なる2つのフォントをマージするにはどうすればよいですか?

Thisは、マークアップで[font=<font .ttf file>]タグがあります私が使用したフォント(my_font.ttfに改名通常版)

答えて

1

です。基本的には、hereのすべてを使用可能にする必要があります。私はArialTimes New Romanを私のデスクトップにコピーしました。ここで私はこのコードを手に入れ、フォントを変更しました。同様の方法で、[i]または[b][font]タグの内側に使用することもできます。

from kivy.lang import Builder 
from kivy.base import runTouchApp 
from kivy.uix.boxlayout import BoxLayout 
Builder.load_string(''' 
<Test>: 
    Label: 
     markup: True 
     text: "[font=Arial]test[/font][font=times]test[/font]" 
''') 
class Test(BoxLayout): pass 
runTouchApp(Test()) 

ただし、フォントをマージする方法がわかりません。私も複数のTimes New RomanまたはArialファイルが見つかりました。 1つは普通のもの、もう1つは太字のものなどですが、唯一の違いは接尾辞付きです - arial.ttfariali.ttfarialb.ttfarialbi.ttftimes.ttftimesi.ttfなどです。同様の方法を試してみてください。多分イタリック体/太字の部分は接尾辞を使用します。

+0

確かに、接尾辞部分は機能しません:p。しかし、 'font'タグは行く方法と思われます。 – Leva7

+0

@ Leva7悲しいことに:/多分、いくつかのフォントを作成するアプリケーションには、フォントを一緒にリンクする方法があります。 Unfortunatelly私はその部分がまだどのように動作するのかわかりません。 – KeyWeeUsr