字体
系统字体
您可以使用计算机上安装的(系统)字体,例如 "Consolas"、"Arial"、"Verdana"、"Tahoma" 等。
限制
在使用 "canvas kit" 渲染的 Flet Web 应用中无法使用系统字体。
使用示例
以下示例展示了如何在 Flet 应用中使用 "Consolas" 字体。
import flet as ft
def main(page: ft.Page):
page.add(
ft.Text(
value="此文本使用 Consolas 字体渲染",
font_family="Consolas"
)
)
ft.app(main)
导入字体
可以通过提供绝对 URL 从外部资源导入字体,或者从应用程序资产目录中导入(请参阅 资产指南)。
这是通过设置页面的 fonts
属性来完成的。
要应用其中一个导入的字体,您可以:
- 使用
Theme.font_family
设置应用程序范围内的默认/备用字体系列。 - 为单个控件指定字体。例如,
Text.font_family
。
使用示例
下面的示例从 GitHub 加载 "Kanit" 字体,并从本地资产加载 "Open Sans" 字体。"Kanit" 被设置为默认的应用字体,而 "Open Sans" 则应用于特定的 Text
控件。
import flet as ft
def main(page: ft.Page):
page.fonts = {
"Kanit": "https://raw.githubusercontent.com/google/fonts/master/ofl/kanit/Kanit-Bold.ttf",
"Open Sans": "/fonts/OpenSans-Regular.ttf"
}
page.theme = Theme(font_family="Kanit") # 默认应用字体
page.add(
ft.Text("此文本使用 Kanit 字体"),
ft.Text("此文本使用 Open Sans 字体", font_family="Open Sans")
)
ft.app(main, assets_dir="assets")
静态和可变字体
目前,仅支持 静态字体 。这些字体具有特定的宽度、权重或样式组合(例如,"Open Sans Regular")。
对 可变字体 的支持正在进行中。
然而,要使用可变字体,您可 以使用 fonttools 在特定权重下创建静态实例,例如:
fonttools varLib.mutator./YourVariableFont-VF.ttf wght=140 wdth=85
要探索可用的字体功能(例如 wght
的可能选项),可以使用 Wakamai Fondue 在线工具。