Font Awesome 5 Icons for Kivy
This will only work for free versions of Font Awesome.
import kivysome
kivysome.enable(kivysome.LATEST, group=kivysome.FontGroup.REGULAR)
Kits will not be maintained any further. They will work as long as Font Awesome don't change their API.
Go to Font Awesome and generate your kit there. The specified version is respected. For the moment, only free licenses are supported.
In your main.py register your font:
import kivysome
kivysome.enable("https://kit.fontawesome.com/{YOURCODE}.js", group=kivysome.FontGroup.SOLID)
In your .kv
file or string, reference the short Font Awesome (i.e., without fa-
prefix) as you can copy them from their website.
#: import icon kivysome.icon
Button:
markup: True # Always turn markup on
text: "%s Comment" % icon('comment', 24)
Kivysome will cache the files in the font folder and not redownload them from GitHub.
If a kit is given, however, the kit version will have to be fetched from Font Awesome on every execution.
If kivysome.LATEST
is given, the latest version will also have to be determined from GitHub's servers.
Font packs will only be downloaded if new versions are published, then.
To completely avoid regular server access, a pinned version will have to be given.
The initial download can also be circumvented by downloading it a single time on the developer's machine and publishing
the downloaded fonts
folder with the project. The folder should then contain a .css
, .fontd
, and a .ttf
file
matching the pinned Font Awesome version and font group.
Check the examples
folder for more insight.