macson taylor
macson taylor

Reputation: 181

Python : font_name and bold property not working together in kivy

I am using python-2.7 and kivy. If i use font_name and bold property together then bold property doesn't work.If i remove font_name property then bold property works.Anyone tell me where i am making mistake?

test.py

from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.core.window import Window

class User(Screen):
    pass


class Test(App):

    def build(self):
        return self.root


if __name__ == '__main__':
    Test().run()

test.kv

User:
    BoxLayout:

        Button:
            font_name: 'Verdana'
            bold : True
            text: 'Font name and bold not working together'

Upvotes: 1

Views: 1062

Answers (1)

ikolim
ikolim

Reputation: 16011

It does not work because the given font_name does not contain Verdana bold.

Solution 1

Replace

font_name: 'Verdana'

with

font_name: './data/fonts/Verdana/verdanab.ttf'

Solution 2

Use config to override the default fonts, Roboto

kv file

Button:
    bold : True
    text: 'Font name and bold not working together'

Python code

from kivy.config import Config

default_font = Config.get('kivy', 'default_font')
print(default_font)

fonts = [
    'Verdana', './data/fonts/Verdana/verdana.ttf',
    './data/fonts/Verdana/verdanai.ttf',
    './data/fonts/Verdana/verdanab.ttf',
    './data/fonts/Verdana/verdanaz.ttf'
]
Config.set('kivy', 'default_font', fonts)
default_font = Config.get('kivy', 'default_font')
print(default_font)

Download Verdana Fonts

The Verdana fonts that is usedin this example is from AllBestFonts

Output

Img01 - Solution 1 Img02 - Solution 2

Upvotes: 3

Related Questions