forked from icerockdev/moko-resources
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFontResource.kt
More file actions
34 lines (30 loc) · 986 Bytes
/
Copy pathFontResource.kt
File metadata and controls
34 lines (30 loc) · 986 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*
* Copyright 2023 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license.
*/
package dev.icerock.moko.resources.compose
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.platform.Font
import dev.icerock.moko.resources.FontResource
import dev.icerock.moko.resources.compose.internal.produceByteArray
@Composable
actual fun FontResource.asFont(
weight: FontWeight,
style: FontStyle,
): Font? {
val bytes: ByteArray? by produceByteArray(url = fileUrl)
return remember(bytes, weight, style) {
bytes?.let { b ->
Font(
identity = fontFamily,
data = b,
weight = weight,
style = style,
)
}
}
}