Refactor & Fix the typography.

This commit is contained in:
Thomas Andres Gomez 2025-05-09 17:35:20 +02:00
parent 3b9503243a
commit 09ed7d2d90
56 changed files with 248 additions and 207 deletions

View file

@ -65,7 +65,7 @@ fun AlterationToggleItem(
} }
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
color = animatedColor.value, color = animatedColor.value,

View file

@ -276,7 +276,7 @@ private fun InventoryDialogItem(
) { ) {
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,

View file

@ -146,7 +146,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = stringResource( text = stringResource(
resource = Res.string.character_sheet__level, resource = Res.string.character_sheet__level,
header.value?.level ?: 0 header.value?.level ?: 0
@ -277,14 +277,14 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
text = header.value?.hp ?: "", text = header.value?.hp ?: "",
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.caption, style = MaterialTheme.lwa.typography.characterSheet.headerCaption,
fontWeight = FontWeight.Thin, fontWeight = FontWeight.Thin,
text = "/${header.value?.maxHp ?: ""}", text = "/${header.value?.maxHp ?: ""}",
) )
@ -306,14 +306,14 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
text = header.value?.pp ?: "", text = header.value?.pp ?: "",
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.caption, style = MaterialTheme.lwa.typography.characterSheet.headerCaption,
fontWeight = FontWeight.Thin, fontWeight = FontWeight.Thin,
text = "/${header.value?.maxPp ?: ""}", text = "/${header.value?.maxPp ?: ""}",
) )
@ -340,7 +340,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
text = header.value?.reflex ?: "", text = header.value?.reflex ?: "",
) )
@ -361,7 +361,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.initiative ?: "", text = header.value?.initiative ?: "",
) )
} }
@ -381,12 +381,12 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.mov ?: "", text = header.value?.mov ?: "",
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.caption, style = MaterialTheme.lwa.typography.characterSheet.headerCaption,
text = "m", text = "m",
) )
} }
@ -406,7 +406,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.armor ?: "", text = header.value?.armor ?: "",
) )
} }
@ -426,7 +426,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.bonus ?: "", text = header.value?.bonus ?: "",
) )
} }
@ -446,7 +446,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.grow ?: "", text = header.value?.grow ?: "",
) )
} }
@ -466,7 +466,7 @@ fun CharacterDetailHeader(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.typography.h6, style = MaterialTheme.lwa.typography.characterSheet.headerValue,
text = header.value?.learn ?: "", text = header.value?.learn ?: "",
) )
} }

View file

@ -224,7 +224,7 @@ fun InventoryItem(
text = it, text = it,
) )
Text( Text(
style = MaterialTheme.lwa.typography.inventory.countInline, style = MaterialTheme.lwa.typography.inventory.count,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
text = it, text = it,

View file

@ -75,7 +75,7 @@ fun InventoryPurse(
transitionSpec = coinTransitionSpec(), transitionSpec = coinTransitionSpec(),
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
text = "$it", text = "$it",
) )
@ -93,7 +93,7 @@ fun InventoryPurse(
transitionSpec = coinTransitionSpec(), transitionSpec = coinTransitionSpec(),
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
text = "$it", text = "$it",
) )
@ -111,7 +111,7 @@ fun InventoryPurse(
transitionSpec = coinTransitionSpec(), transitionSpec = coinTransitionSpec(),
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
text = "$it", text = "$it",
) )

View file

@ -16,6 +16,7 @@ import com.pixelized.desktop.lwa.ui.composable.decoratedBox.DecoratedBox
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
import com.pixelized.desktop.lwa.ui.theme.lwa
@Stable @Stable
data class CharacterDetailSheetCharacteristicUio( data class CharacterDetailSheetCharacteristicUio(
@ -51,7 +52,7 @@ fun CharacterDetailSheetCharacteristic(
) )
Text( Text(
modifier = Modifier.align(alignment = Alignment.Center), modifier = Modifier.align(alignment = Alignment.Center),
style = MaterialTheme.typography.h3, style = MaterialTheme.lwa.typography.characterSheet.characteristic,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
color = MaterialTheme.colors.primary, color = MaterialTheme.colors.primary,

View file

@ -22,6 +22,7 @@ import com.pixelized.desktop.lwa.ui.composable.shapes.MasteryShape
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipLayout
import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio import com.pixelized.desktop.lwa.ui.composable.tooltip.BasicTooltipUio
import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction import com.pixelized.desktop.lwa.ui.overlay.roll.RollAction
import com.pixelized.desktop.lwa.ui.theme.lwa
@Stable @Stable
data class CharacterDetailSheetSkillUio( data class CharacterDetailSheetSkillUio(
@ -71,7 +72,7 @@ fun CharacterDetailSheetSkill(
text = skill.label text = skill.label
) )
Text( Text(
style = MaterialTheme.typography.body1, style = MaterialTheme.lwa.typography.characterSheet.skill,
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
color = MaterialTheme.colors.primary, color = MaterialTheme.colors.primary,
text = skill.value, text = skill.value,

View file

@ -2,10 +2,6 @@ package com.pixelized.desktop.lwa.ui.screen.campaign.player.ribbon.common
import androidx.compose.animation.AnimatedContent import androidx.compose.animation.AnimatedContent
import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.EaseOutCirc
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.tween
import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeIn
import androidx.compose.animation.fadeOut import androidx.compose.animation.fadeOut
import androidx.compose.animation.togetherWith import androidx.compose.animation.togetherWith
@ -17,9 +13,7 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.offset import androidx.compose.foundation.layout.offset
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
@ -35,7 +29,6 @@ import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.draw.drawWithContent import androidx.compose.ui.draw.drawWithContent
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.FilterQuality import androidx.compose.ui.graphics.FilterQuality
import androidx.compose.ui.input.pointer.PointerButton import androidx.compose.ui.input.pointer.PointerButton
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
@ -49,8 +42,6 @@ import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.ic_heart_24dp import lwacharactersheet.composeapp.generated.resources.ic_heart_24dp
import lwacharactersheet.composeapp.generated.resources.ic_water_drop_24dp import lwacharactersheet.composeapp.generated.resources.ic_water_drop_24dp
import org.jetbrains.compose.resources.painterResource import org.jetbrains.compose.resources.painterResource
import kotlin.math.max
import kotlin.math.min
@Stable @Stable
data class CharacterRibbonPortraitUio( data class CharacterRibbonPortraitUio(
@ -148,7 +139,9 @@ fun CharacterRibbonPortrait(
) { ) {
Row { Row {
Icon( Icon(
modifier = Modifier.size(12.dp).offset(y = 3.dp), modifier = Modifier
.size(12.dp)
.offset(y = 2.dp),
painter = painterResource(Res.drawable.ic_heart_24dp), painter = painterResource(Res.drawable.ic_heart_24dp),
contentDescription = null contentDescription = null
) )
@ -160,15 +153,22 @@ fun CharacterRibbonPortrait(
style = MaterialTheme.lwa.typography.portrait.value, style = MaterialTheme.lwa.typography.portrait.value,
text = "${stats.hp}", text = "${stats.hp}",
) )
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.portrait.separator,
text = "/",
)
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.portrait.max, style = MaterialTheme.lwa.typography.portrait.max,
text = "/${stats.maxHp}", text = "${stats.maxHp}",
) )
} }
Row { Row {
Icon( Icon(
modifier = Modifier.size(12.dp).offset(y = 2.dp), modifier = Modifier
.size(12.dp)
.offset(y = 2.dp),
painter = painterResource(Res.drawable.ic_water_drop_24dp), painter = painterResource(Res.drawable.ic_water_drop_24dp),
contentDescription = null contentDescription = null
) )
@ -180,10 +180,15 @@ fun CharacterRibbonPortrait(
style = MaterialTheme.lwa.typography.portrait.value, style = MaterialTheme.lwa.typography.portrait.value,
text = "${stats.pp}", text = "${stats.pp}",
) )
Text(
modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.portrait.separator,
text = "/",
)
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.portrait.max, style = MaterialTheme.lwa.typography.portrait.max,
text = "/${stats.maxPp}", text = "${stats.maxPp}",
) )
} }
} }

View file

@ -112,14 +112,7 @@ fun CharacterRibbonRoll(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.typography.h5.copy( style = MaterialTheme.lwa.typography.portrait.dice,
shadow = Shadow(
color = MaterialTheme.colors.surface,
offset = Offset.Zero,
blurRadius = 8f,
)
),
fontWeight = FontWeight.SemiBold,
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
color = MaterialTheme.colors.onSurface, color = MaterialTheme.colors.onSurface,
text = it.value.toString() text = it.value.toString()

View file

@ -275,7 +275,7 @@ private fun DiceMenuContent(
) { ) {
Text( Text(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
style = MaterialTheme.lwa.typography.dice.result, style = MaterialTheme.lwa.typography.freeDiceThrow.result,
textAlign = TextAlign.Center, textAlign = TextAlign.Center,
text = "${it?.value ?: ""}" text = "${it?.value ?: ""}"
) )
@ -326,7 +326,7 @@ private fun Dice(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.dice.dice, style = MaterialTheme.lwa.typography.freeDiceThrow.dice,
text = "×" text = "×"
) )
AnimatedContent( AnimatedContent(
@ -334,12 +334,12 @@ private fun Dice(
transitionSpec = { contentTransform() } transitionSpec = { contentTransform() }
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.dice.dice, style = MaterialTheme.lwa.typography.freeDiceThrow.dice,
text = "$it" text = "$it"
) )
} }
Text( Text(
style = MaterialTheme.lwa.typography.dice.dice, style = MaterialTheme.lwa.typography.freeDiceThrow.dice,
text = postSign, text = postSign,
) )
} }

View file

@ -128,7 +128,7 @@ private fun ResourcesItem(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
text = stringResource(resource = resource.name), text = stringResource(resource = resource.name),

View file

@ -140,7 +140,7 @@ private fun Dialog(
exit = fadeOut(), exit = fadeOut(),
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
color = MaterialTheme.lwa.colorScheme.base.error, color = MaterialTheme.lwa.colorScheme.base.error,
text = stringResource(Res.string.character_sheet_edit__copy__error) text = stringResource(Res.string.character_sheet_edit__copy__error)
) )

View file

@ -246,12 +246,12 @@ fun CharacterSheetEdit(
modifier = Modifier.fillMaxWidth(), modifier = Modifier.fillMaxWidth(),
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "id : " text = "id : "
) )
SelectionContainer { SelectionContainer {
Text( Text(
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = form.id.value, text = form.id.value,
) )
} }

View file

@ -35,7 +35,6 @@ import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost import androidx.navigation.compose.NavHost
import androidx.navigation.compose.rememberNavController import androidx.navigation.compose.rememberNavController
import com.pixelized.desktop.lwa.BuildKonfig import com.pixelized.desktop.lwa.BuildKonfig
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.composableLevelUp
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.GMActionDestination import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.GMActionDestination
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterActionPage import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterActionPage
import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterAlterationEditPage import com.pixelized.desktop.lwa.ui.navigation.screen.destination.gamemaster.composableGameMasterAlterationEditPage
@ -112,7 +111,7 @@ private fun GameMasterContent(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = stringResource(Res.string.app_version, BuildKonfig.version), text = stringResource(Res.string.app_version, BuildKonfig.version),
) )
} }

View file

@ -51,7 +51,7 @@ fun GMAction(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
text = label, text = label,
) )
} }

View file

@ -69,7 +69,7 @@ fun GMAlteration(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
text = alteration.label, text = alteration.label,
@ -133,7 +133,7 @@ private fun OverflowActionMenu(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
text = stringResource(Res.string.game_master__alteration__delete), text = stringResource(Res.string.game_master__alteration__delete),
) )

View file

@ -352,7 +352,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(horizontalPadding), .padding(horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Metadata", text = "Metadata",
) )
} }
@ -438,7 +438,7 @@ fun GMCharacterEditContent(
field = form.levelUp, field = form.levelUp,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
text = "Montée de niveau" text = "Montée de niveau"
@ -478,7 +478,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(paddingValues = horizontalPadding), .padding(paddingValues = horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Characteristics", text = "Characteristics",
) )
} }
@ -500,7 +500,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(paddingValues = horizontalPadding), .padding(paddingValues = horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Compétences communes", text = "Compétences communes",
) )
} }
@ -523,7 +523,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(paddingValues = horizontalPadding), .padding(paddingValues = horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Compétences spéciales", text = "Compétences spéciales",
) )
} }
@ -561,7 +561,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(paddingValues = horizontalPadding), .padding(paddingValues = horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Compétences magiques", text = "Compétences magiques",
) )
} }
@ -599,7 +599,7 @@ fun GMCharacterEditContent(
modifier = Modifier modifier = Modifier
.animateItem() .animateItem()
.padding(paddingValues = horizontalPadding), .padding(paddingValues = horizontalPadding),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = "Actions", text = "Actions",
) )
} }

View file

@ -34,7 +34,6 @@ import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTag
import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTagUio import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTagUio
import com.pixelized.desktop.lwa.ui.theme.lwa import com.pixelized.desktop.lwa.ui.theme.lwa
import lwacharactersheet.composeapp.generated.resources.Res import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.character_sheet_edit__external_link
import lwacharactersheet.composeapp.generated.resources.game_master__character_action__add_to_group import lwacharactersheet.composeapp.generated.resources.game_master__character_action__add_to_group
import lwacharactersheet.composeapp.generated.resources.game_master__character_action__add_to_npc import lwacharactersheet.composeapp.generated.resources.game_master__character_action__add_to_npc
import lwacharactersheet.composeapp.generated.resources.game_master__character_action__delete import lwacharactersheet.composeapp.generated.resources.game_master__character_action__delete
@ -158,20 +157,20 @@ fun GMCharacter(
) { ) {
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
text = character.name, text = character.name,
) )
character.job?.let { character.job?.let {
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
fontStyle = FontStyle.Italic, fontStyle = FontStyle.Italic,
text = "($it)", text = "($it)",
) )
} }
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = stringResource( text = stringResource(
Res.string.game_master__character_level__label, Res.string.game_master__character_level__label,
character.level, character.level,
@ -238,7 +237,7 @@ private fun OverflowActionMenu(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
text = stringResource(action.label), text = stringResource(action.label),
) )

View file

@ -66,7 +66,7 @@ fun GMTag(
if (tag.meta) { if (tag.meta) {
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
color = animatedColor.value, color = animatedColor.value,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
@ -75,7 +75,7 @@ fun GMTag(
} }
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
color = animatedColor.value, color = animatedColor.value,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,

View file

@ -297,7 +297,7 @@ private fun GMItemEditContent(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
text = stringResource(Res.string.game_master__item__edit_stackable) text = stringResource(Res.string.game_master__item__edit_stackable)
) )
LwaCheckBox( LwaCheckBox(
@ -315,7 +315,7 @@ private fun GMItemEditContent(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
text = stringResource(Res.string.game_master__item__edit_equipable) text = stringResource(Res.string.game_master__item__edit_equipable)
) )
LwaCheckBox( LwaCheckBox(
@ -333,7 +333,7 @@ private fun GMItemEditContent(
verticalAlignment = Alignment.CenterVertically, verticalAlignment = Alignment.CenterVertically,
) { ) {
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
text = stringResource(Res.string.game_master__item__edit_consumable) text = stringResource(Res.string.game_master__item__edit_consumable)
) )
LwaCheckBox( LwaCheckBox(

View file

@ -10,7 +10,6 @@ import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.lazy.LazyRow import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.lazy.rememberLazyListState
@ -34,7 +33,6 @@ import androidx.compose.ui.draw.clip
import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.min
import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTag import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTag
import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTagUio import com.pixelized.desktop.lwa.ui.screen.gamemaster.common.tag.GMTagUio
import com.pixelized.desktop.lwa.ui.theme.lwa import com.pixelized.desktop.lwa.ui.theme.lwa
@ -85,7 +83,7 @@ fun GMItem(
) { ) {
Text( Text(
modifier = Modifier.weight(1f), modifier = Modifier.weight(1f),
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
overflow = TextOverflow.Ellipsis, overflow = TextOverflow.Ellipsis,
maxLines = 1, maxLines = 1,
text = item.label, text = item.label,
@ -162,7 +160,7 @@ private fun OverflowActionMenu(
contentDescription = null, contentDescription = null,
) )
Text( Text(
style = MaterialTheme.lwa.typography.base.body1, style = MaterialTheme.lwa.typography.system.body1,
color = MaterialTheme.lwa.colorScheme.base.primary, color = MaterialTheme.lwa.colorScheme.base.primary,
text = stringResource(Res.string.game_master__item__delete), text = stringResource(Res.string.game_master__item__delete),
) )

View file

@ -239,7 +239,7 @@ private fun LevelUpContent(
) )
Text( Text(
modifier = Modifier.alignByBaseline(), modifier = Modifier.alignByBaseline(),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = (header.value?.level ?: 0).let { level -> text = (header.value?.level ?: 0).let { level ->
stringResource( stringResource(
resource = Res.string.level_up__character__label, resource = Res.string.level_up__character__label,

View file

@ -48,12 +48,12 @@ private fun SplashContent(
) { ) {
Text( Text(
modifier = Modifier.align(Alignment.Center), modifier = Modifier.align(Alignment.Center),
style = MaterialTheme.lwa.typography.base.h3, style = MaterialTheme.lwa.typography.system.h3,
text = stringResource(Res.string.app_name) text = stringResource(Res.string.app_name)
) )
Text( Text(
modifier = Modifier.align(Alignment.BottomEnd), modifier = Modifier.align(Alignment.BottomEnd),
style = MaterialTheme.lwa.typography.base.caption, style = MaterialTheme.lwa.typography.system.caption,
text = stringResource(Res.string.app_version, BuildKonfig.version) text = stringResource(Res.string.app_version, BuildKonfig.version)
) )
} }

View file

@ -57,7 +57,7 @@ fun LwaTheme(
) { ) {
MaterialTheme( MaterialTheme(
colors = lwaColors.base, colors = lwaColors.base,
typography = MaterialTheme.typography, typography = lwaTypography.system,
shapes = lwaShapes.base, shapes = lwaShapes.base,
content = content, content = content,
) )

View file

@ -18,33 +18,18 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.sp import androidx.compose.ui.unit.sp
import com.pixelized.desktop.lwa.ui.theme.color.LwaColors import com.pixelized.desktop.lwa.ui.theme.color.LwaColors
import com.pixelized.desktop.lwa.ui.theme.typography.LwaTypography.Settings import com.pixelized.desktop.lwa.ui.theme.typography.LwaTypography.Settings
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_Bold import com.pixelized.desktop.lwa.ui.theme.typography.fonts.RobotoMono
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_BoldItalic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_ExtraBold
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_ExtraBoldItalic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_ExtraLight
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_ExtraLightItalic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_Italic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_Light
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_LightItalic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_Medium
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_MediumItalic
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_Regular
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_SemiBold
import lwacharactersheet.composeapp.generated.resources.AtkinsonHyperlegibleMono_SemiBoldItalic
import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.consola_mono_bold
import lwacharactersheet.composeapp.generated.resources.consola_mono_book
import org.jetbrains.compose.resources.Font
@Stable @Stable
data class LwaTypography( data class LwaTypography(
val base: Typography, val robotoMono: Typography,
val system: Typography,
val chat: Chat, val chat: Chat,
val settings: Settings, val settings: Settings,
val portrait: Portrait, val portrait: Portrait,
val characterSheet: CharacterSheet,
val inventory: Inventory, val inventory: Inventory,
val dice: Dice, val freeDiceThrow: Dice,
) { ) {
@Stable @Stable
data class Chat( data class Chat(
@ -63,13 +48,23 @@ data class LwaTypography(
@Stable @Stable
data class Portrait( data class Portrait(
val value: TextStyle, val value: TextStyle,
val separator: TextStyle,
val max: TextStyle, val max: TextStyle,
val dice: TextStyle,
)
@Stable
data class CharacterSheet(
val headerValue: TextStyle,
val headerCaption: TextStyle,
val characteristic: TextStyle,
val skill: TextStyle,
) )
@Stable @Stable
data class Inventory( data class Inventory(
val countOutline: TextStyle, val countOutline: TextStyle,
val countInline: TextStyle, val count: TextStyle,
val label: TextStyle, val label: TextStyle,
) )
@ -80,110 +75,27 @@ data class LwaTypography(
) )
} }
@Composable
@Stable
fun ConsolaFontFamily() = FontFamily(
Font(resource = Res.font.consola_mono_book, weight = FontWeight.Normal),
Font(resource = Res.font.consola_mono_bold, weight = FontWeight.Bold),
)
@Composable
@Stable
fun AtkinsonHyperLigibleMonoFontFamily() = FontFamily(
Font(
resource = Res.font.AtkinsonHyperlegibleMono_ExtraLight,
weight = FontWeight.ExtraLight,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_Light,
weight = FontWeight.Light,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_Regular,
weight = FontWeight.Normal,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_Medium,
weight = FontWeight.Medium,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_SemiBold,
weight = FontWeight.SemiBold,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_Bold,
weight = FontWeight.Bold,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_ExtraBold,
weight = FontWeight.ExtraBold,
style = FontStyle.Normal
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_ExtraLightItalic,
weight = FontWeight.ExtraLight,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_LightItalic,
weight = FontWeight.Light,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_Italic,
weight = FontWeight.Normal,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_MediumItalic,
weight = FontWeight.Medium,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_SemiBoldItalic,
weight = FontWeight.SemiBold,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_BoldItalic,
weight = FontWeight.Bold,
style = FontStyle.Italic
),
Font(
resource = Res.font.AtkinsonHyperlegibleMono_ExtraBoldItalic,
weight = FontWeight.ExtraBold,
style = FontStyle.Italic
),
)
@Composable @Composable
@Stable @Stable
fun lwaTypography( fun lwaTypography(
base: Typography = Typography(),
colors: LwaColors, colors: LwaColors,
): LwaTypography { ): LwaTypography {
val consolaFontFamily = ConsolaFontFamily() val system = Typography()
val atkinsonHyperLigibleMonoFontFamily = AtkinsonHyperLigibleMonoFontFamily() val robotoMono = Typography(fontFamily = RobotoMono())
return remember(consolaFontFamily) { return remember {
LwaTypography( LwaTypography(
base = base, system = system,
robotoMono = robotoMono,
chat = LwaTypography.Chat( chat = LwaTypography.Chat(
timestamp = base.body1.copy( timestamp = system.body1.copy(
fontFamily = consolaFontFamily,
fontWeight = FontWeight.Normal, fontWeight = FontWeight.Normal,
fontSize = 12.sp, fontSize = 12.sp,
lineHeight = 16.sp, lineHeight = 16.sp,
letterSpacing = 0.sp, letterSpacing = 0.sp,
color = colors.chat.timestamp, color = colors.chat.timestamp,
), ),
text = base.body1.copy( text = system.body1.copy(
fontWeight = FontWeight.Normal, fontWeight = FontWeight.Normal,
fontSize = 14.sp, fontSize = 14.sp,
lineHeight = 16.sp, lineHeight = 16.sp,
@ -192,23 +104,23 @@ fun lwaTypography(
), ),
), ),
settings = Settings( settings = Settings(
section = base.h6, section = system.h6,
title = base.body1.copy( title = system.body1.copy(
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
), ),
input = base.body1.copy( input = system.body1.copy(
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.SemiBold,
fontSize = 18.sp, fontSize = 18.sp,
lineHeight = 26.sp, lineHeight = 26.sp,
textAlign = TextAlign.End, textAlign = TextAlign.End,
), ),
description = base.caption.copy( description = system.caption.copy(
fontStyle = FontStyle.Italic, fontStyle = FontStyle.Italic,
color = colors.base.onSurface.copy(alpha = 0.7f), color = colors.base.onSurface.copy(alpha = 0.7f),
), ),
), ),
portrait = LwaTypography.Portrait( portrait = LwaTypography.Portrait(
value = base.caption.copy( value = robotoMono.caption.copy(
fontWeight = FontWeight.Bold, fontWeight = FontWeight.Bold,
shadow = Shadow( shadow = Shadow(
color = Color.Black, color = Color.Black,
@ -216,7 +128,15 @@ fun lwaTypography(
blurRadius = 2f, blurRadius = 2f,
), ),
), ),
max = base.caption.copy( separator = system.caption.copy(
fontWeight = FontWeight.ExtraLight,
shadow = Shadow(
color = Color.Black,
offset = Offset(x = 1f, y = 1f),
blurRadius = 2f,
),
),
max = robotoMono.caption.copy(
fontWeight = FontWeight.Light, fontWeight = FontWeight.Light,
shadow = Shadow( shadow = Shadow(
color = Color.Black, color = Color.Black,
@ -224,10 +144,32 @@ fun lwaTypography(
blurRadius = 2f, blurRadius = 2f,
), ),
), ),
dice = robotoMono.h5.copy(
fontWeight = FontWeight.Medium,
shadow = Shadow(
color = colors.base.surface,
offset = Offset.Zero,
blurRadius = 8f,
)
)
),
characterSheet = LwaTypography.CharacterSheet(
headerValue = robotoMono.subtitle1.copy(
fontSize = 18.sp,
fontWeight = FontWeight.Medium,
),
headerCaption = system.caption,
characteristic = robotoMono.h3.copy(
fontWeight = FontWeight.Normal,
),
skill = robotoMono.subtitle1.copy(
fontSize = 16.sp,
fontWeight = FontWeight.Medium,
),
), ),
inventory = LwaTypography.Inventory( inventory = LwaTypography.Inventory(
countOutline = base.caption.copy( countOutline = robotoMono.caption.copy(
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.Medium,
color = colors.elevated.base4dp, color = colors.elevated.base4dp,
drawStyle = Stroke( drawStyle = Stroke(
miter = 3f, miter = 3f,
@ -235,25 +177,42 @@ fun lwaTypography(
join = StrokeJoin.Round, join = StrokeJoin.Round,
) )
), ),
countInline = base.caption.copy( count = robotoMono.caption.copy(
fontWeight = FontWeight.SemiBold, fontWeight = FontWeight.Medium,
color = colors.base.onSurface, color = colors.base.onSurface,
drawStyle = Fill drawStyle = Fill
), ),
label = base.body1.copy( label = system.body1.copy(
fontWeight = FontWeight.Normal, fontWeight = FontWeight.Normal,
), ),
), ),
dice = LwaTypography.Dice( freeDiceThrow = LwaTypography.Dice(
dice = base.h6.copy( dice = robotoMono.h6.copy(
fontFamily = atkinsonHyperLigibleMonoFontFamily,
color = colors.base.onSurface, color = colors.base.onSurface,
), ),
result = base.h4.copy( result = robotoMono.h4.copy(
fontFamily = atkinsonHyperLigibleMonoFontFamily,
color = colors.base.onSurface, color = colors.base.onSurface,
), ),
) )
) )
} }
} }
@Stable
fun Typography(fontFamily: FontFamily): Typography = Typography().let { typography: Typography ->
typography.copy(
h1 = typography.h1.copy(fontFamily = fontFamily),
h2 = typography.h2.copy(fontFamily = fontFamily),
h3 = typography.h3.copy(fontFamily = fontFamily),
h4 = typography.h4.copy(fontFamily = fontFamily),
h5 = typography.h5.copy(fontFamily = fontFamily),
h6 = typography.h6.copy(fontFamily = fontFamily),
subtitle1 = typography.subtitle1.copy(fontFamily = fontFamily),
subtitle2 = typography.subtitle2.copy(fontFamily = fontFamily),
body1 = typography.body1.copy(fontFamily = fontFamily),
body2 = typography.body2.copy(fontFamily = fontFamily),
button = typography.button.copy(fontFamily = fontFamily),
caption = typography.caption.copy(fontFamily = fontFamily),
overline = typography.overline.copy(fontFamily = fontFamily),
)
}

View file

@ -0,0 +1,86 @@
package com.pixelized.desktop.lwa.ui.theme.typography.fonts
import androidx.compose.runtime.Composable
import androidx.compose.runtime.Stable
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontWeight
import lwacharactersheet.composeapp.generated.resources.Res
import lwacharactersheet.composeapp.generated.resources.RobotoMono_Bold
import lwacharactersheet.composeapp.generated.resources.RobotoMono_BoldItalic
import lwacharactersheet.composeapp.generated.resources.RobotoMono_ExtraLight
import lwacharactersheet.composeapp.generated.resources.RobotoMono_ExtraLightItalic
import lwacharactersheet.composeapp.generated.resources.RobotoMono_Italic
import lwacharactersheet.composeapp.generated.resources.RobotoMono_Light
import lwacharactersheet.composeapp.generated.resources.RobotoMono_LightItalic
import lwacharactersheet.composeapp.generated.resources.RobotoMono_Medium
import lwacharactersheet.composeapp.generated.resources.RobotoMono_MediumItalic
import lwacharactersheet.composeapp.generated.resources.RobotoMono_Regular
import lwacharactersheet.composeapp.generated.resources.RobotoMono_SemiBold
import lwacharactersheet.composeapp.generated.resources.RobotoMono_SemiBoldItalic
import org.jetbrains.compose.resources.Font
@Composable
@Stable
fun RobotoMono() = FontFamily(
Font(
resource = Res.font.RobotoMono_ExtraLight,
weight = FontWeight.ExtraLight,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_Light,
weight = FontWeight.Light,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_Regular,
weight = FontWeight.Normal,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_Medium,
weight = FontWeight.Medium,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_SemiBold,
weight = FontWeight.SemiBold,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_Bold,
weight = FontWeight.Bold,
style = FontStyle.Normal
),
Font(
resource = Res.font.RobotoMono_ExtraLightItalic,
weight = FontWeight.ExtraLight,
style = FontStyle.Italic
),
Font(
resource = Res.font.RobotoMono_LightItalic,
weight = FontWeight.Light,
style = FontStyle.Italic
),
Font(
resource = Res.font.RobotoMono_Italic,
weight = FontWeight.Normal,
style = FontStyle.Italic
),
Font(
resource = Res.font.RobotoMono_MediumItalic,
weight = FontWeight.Medium,
style = FontStyle.Italic
),
Font(
resource = Res.font.RobotoMono_SemiBoldItalic,
weight = FontWeight.SemiBold,
style = FontStyle.Italic
),
Font(
resource = Res.font.RobotoMono_BoldItalic,
weight = FontWeight.Bold,
style = FontStyle.Italic
),
)