主题
自定义字体指南 (Fonts)
系统字体 (System fonts)
你可以直接使用安装在计算机上的(系统)字体,例如 "Consolas"、"Arial"、"Verdana"、"Tahoma" 等。
局限性
在以 CanvasKit 为渲染器的 Flet Web 应用中,无法直接使用系统字体。
使用示例
以下示例演示了如何在 Flet 应用程序中使用 "Consolas" 字体:
python
import flet as ft
def main(page: ft.Page):
page.add(
ft.Text(
value="This text is rendered with Consolas font",
font_family="Consolas"
)
)
ft.run(main)导入字体 (Importing Fonts)
字体可以通过提供绝对 URL 从外部资源导入,也可以从应用程序的 assets 静态资源目录中加载(参见 Assets 指南)。
这可以通过设置页面的 page.fonts 属性来实现。
要应用已导入的字体,你可以:
- 使用
Theme.font_family设置整个应用程序的默认/备用字体系列。 - 为单个控件单独指定字体。例如:
Text.font_family。
使用示例
下面的示例从 GitHub 加载了 "Kanit" 字体,从本地资源中加载了 "Open Sans" 字体。其中 "Kanit" 被设置为应用的默认字体,而 "Open Sans" 则被应用到特定的 Text 控件上。
python
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 = ft.Theme(font_family="Kanit") # 默认应用字体
page.add(
ft.Text("This text uses the Kanit font"),
ft.Text("This text uses the Open Sans font", font_family="Open Sans")
)
ft.run(main, assets_dir="assets")静态与可变字体 (Static and Variable Fonts)
目前,Flet 仅支持静态字体。这些静态字体具有特定的宽度、字重或样式组合(例如 "Open Sans Regular")。
对可变字体(Variable Fonts)的支持正在开发中。
然而,如果你现在想要使用可变字体,你可以使用 fonttools 从中生成特定字重的静态字体实例,例如:
sh
fonttools varLib.mutator ./YourVariableFont-VF.ttf wght=140 wdth=85要探索可用的字体特性(例如 wght 字重的可选范围值),你可以使用在线工具 Wakamai Fondue。