我正在尝试在 JetBrains Compose for Desktop 中使用放置在 src/main/resources/fonts/
中的一些字体 ttf 文件。如何使用函数 androidx.compose.ui.text.font.Font()
中的字体文件?我尝试使用许多在线文章中提到的 R.fonts.font_file
,但它似乎只适用于 Android。
我知道有 this。他正面临着我在这里遇到的完全相同的问题。我试过这个。不幸的是,它没有奏效。我上面链接的问题的唯一答案是,解决方案是将字体文件放在 src/main/resources
中并使用:
Font(
resource = "font.ttf",
weight = FontWeight.W400,
style = FontStyle.Normal,
)
但它不起作用。我机器上的 androidx.compose.ui.text.font.Font()
函数需要 3 个参数,resId
、weight
和 style
。
public fun Font(
resId: Int,
weight: FontWeight,
style: FontStyle,
)
(复制自创意工具提示)
如您所见,它需要一个 resId
: Int。我应该如何在 Int 中指定它?
由于 JetBrains Compose for Desktop 仍处于早期测试阶段,我在网上能找到的资源真的很稀缺。我尝试搜索“kotlin 资源 ID”以找到将字体文件作为 ID 引用的方法,但我能找到的都是真正针对 Android 的东西。我也尝试搜索“jetpack compose桌面字体”和“jetbrains compose字体”,得到的结果也充斥着Android的东西。是的,我尝试在搜索查询中使用“-android”,但结果中剩下的所有内容都无关紧要。我链接的问题是我唯一能找到的关于桌面字体的 Jetpack Compose 的问题。
这是我的大部分project structure。
这是当我将鼠标悬停在 Font()
上时 IntelliJ Idea 显示的 tooltip。没那么有用吧?
科特林版本:1.5.10
Jetpack compose 版本:0.5.0-build225(最新预发布)
顺便说一句,如果重要的话,我正在 MacBook 上使用 Manjaro Linux。
另外,我的英语很差,所以我可能犯了一些语法错误。