2016-12-02 1 views
2

Kivy 라벨에는 글꼴 크기, 굵게 등과 같은 글꼴 속성을 맞춤 설정할 수있는 훌륭한 속성 markup이 있습니다. 글꼴이 모두 acutally 지원하는 경우에만 작동합니다. 하지만 글꼴이 없으면 어떻게해야합니까?
그래서 어쩌면 .ttf 글꼴이 작동하는지 이해할 수 없습니다. 나는 필요한 모든 텍스트 유형을위한 몇 가지 파일을 가지고있다. 그러나 나는 그것들을 조합하는 방법을 모른다.
이 경우 인터넷 검색은 주로 CSS에 대한 질문으로 이어졌습니다. 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


그래서 그 마크 업 태그에서 효과가 없었다. 그러나 텍스트 색칠하기 태그는 작동합니다. 예를 들어 글꼴 문제 일 수 있습니다.

프로그래밍 방식으로 변경하려면 굵은 텍스트를 렌더링하는 데 사용할 글꼴이 있습니까? 그리고 그렇지 않다면 글꼴을 바꾸려면 어떤 단계를 밟아야합니까? 텍스트 스타일 만 다른 두 개의 글꼴을 병합하는 방법은 무엇입니까?

This

은 ( my_font.ttf로 이름이 바뀌 일반 버전) 내가 사용했던 글꼴

답변

1

마크 업에 [font=<font .ttf file>] 태그가있다입니다. 기본적으로 here의 모든 것을 사용할 수 있어야합니다. ArialTimes New Roman을 필자의 데스크탑에 복사했는데이 코드를 사용하여 글꼴을 성공적으로 변경했습니다. 비슷한 방법으로 나는 태그 안에 [i] 또는 [b]을 사용하려고 시도 할 수도 있습니다.

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 개, 굵은 글꼴의 경우 등이 유일한 차이점은 접미어 -, ariali.ttf, arialb.ttf, arialbi.ttf, times.ttf, timesi.ttf 등입니다. 따라서 비슷한 방법으로 시도해보십시오. 기울임 꼴을 인식 할 수 있습니다. 접미어를 통해/굵게 표시됩니다.

+0

물론 접미사 부분이 작동하지 않습니다. p. 그러나'font' 태그가 갈 방법처럼 보입니다. 감사합니다. – Leva7

+0

@ Leva7 슬프게도 :/어쩌면 글꼴을 함께 쓰거나 뭔가를 연결하는 방법이있는 응용 프로그램을 만드는 글꼴이 있습니다. Unfortunatelly 나는 그 부분이 어떻게 작동하는지 전혀 모른다. – KeyWeeUsr

관련 문제