跳到主要内容

字体

系统字体

您可以使用计算机上安装的(系统)字体,例如 "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 属性来完成的。

要应用其中一个导入的字体,您可以:

使用示例

下面的示例从 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 在线工具。