【发布时间】:2021-06-17 13:58:30
【问题描述】:
我正在尝试在 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 desktop font”和“jetbrains compose font”,得到的结果也充斥着Android的东西。是的,我尝试在搜索查询中使用“-android”,但结果中剩下的所有内容都无关紧要。我链接的问题是我能找到的关于 Jetpack Compose for Desktop 字体的唯一内容。
这是我的大部分project structure。
这是当我将鼠标悬停在 Font() 上时 IntelliJ Idea 显示的 tooltip。没那么有用吧?
Kotlin 版本:1.5.10
Jetpack compose 版本:0.5.0-build225(最新预发布)
顺便说一句,如果重要的话,我会在 MacBook 上使用 Manjaro Linux。
【问题讨论】:
标签: kotlin fonts jvm desktop jetbrains-compose