feat(ui): use inter + roboto flex as UI font

This commit is contained in:
Nishant Mishra
2025-11-02 10:36:23 +05:30
parent 7ce03a1006
commit 8ebf251127

View File

@@ -19,44 +19,36 @@ package org.nsh07.pomodoro.ui.theme
import androidx.compose.material3.Typography import androidx.compose.material3.Typography
import androidx.compose.ui.text.ExperimentalTextApi import androidx.compose.ui.text.ExperimentalTextApi
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.font.Font import androidx.compose.ui.text.font.Font
import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontStyle import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.font.FontVariation import androidx.compose.ui.text.font.FontVariation
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.sp
import org.nsh07.pomodoro.R import org.nsh07.pomodoro.R
import org.nsh07.pomodoro.ui.theme.AppFonts.interBody
import org.nsh07.pomodoro.ui.theme.AppFonts.interLabel
import org.nsh07.pomodoro.ui.theme.AppFonts.robotoFlexHeadline import org.nsh07.pomodoro.ui.theme.AppFonts.robotoFlexHeadline
import org.nsh07.pomodoro.ui.theme.AppFonts.robotoFlexTitle import org.nsh07.pomodoro.ui.theme.AppFonts.robotoFlexTitle
val TYPOGRAPHY = Typography()
// Set of Material typography styles to start with // Set of Material typography styles to start with
val Typography = Typography( val Typography = Typography(
bodyLarge = TextStyle( displayLarge = TYPOGRAPHY.displayLarge.copy(fontFamily = robotoFlexHeadline),
fontFamily = FontFamily.Default, displayMedium = TYPOGRAPHY.displayMedium.copy(fontFamily = robotoFlexHeadline),
fontWeight = FontWeight.Normal, displaySmall = TYPOGRAPHY.displaySmall.copy(fontFamily = robotoFlexHeadline),
fontSize = 16.sp, headlineLarge = TYPOGRAPHY.headlineLarge.copy(fontFamily = robotoFlexHeadline),
lineHeight = 24.sp, headlineMedium = TYPOGRAPHY.headlineMedium.copy(fontFamily = robotoFlexHeadline),
letterSpacing = 0.5.sp headlineSmall = TYPOGRAPHY.headlineSmall.copy(fontFamily = robotoFlexHeadline),
), titleLarge = TYPOGRAPHY.titleLarge.copy(fontFamily = robotoFlexTitle),
headlineSmall = TextStyle( titleMedium = TYPOGRAPHY.titleMedium.copy(fontFamily = robotoFlexTitle),
fontFamily = robotoFlexHeadline, titleSmall = TYPOGRAPHY.titleSmall.copy(fontFamily = robotoFlexTitle),
fontSize = 24.sp, bodyLarge = TYPOGRAPHY.bodyLarge.copy(fontFamily = interBody),
lineHeight = 32.sp, bodyMedium = TYPOGRAPHY.bodyMedium.copy(fontFamily = interBody),
letterSpacing = 0.sp, bodySmall = TYPOGRAPHY.bodySmall.copy(fontFamily = interBody),
), labelLarge = TYPOGRAPHY.labelLarge.copy(fontFamily = interLabel),
titleMedium = TextStyle( labelMedium = TYPOGRAPHY.labelMedium.copy(fontFamily = interLabel),
fontFamily = robotoFlexTitle, labelSmall = TYPOGRAPHY.labelSmall.copy(fontFamily = interLabel)
fontSize = 16.sp,
lineHeight = 24.sp,
letterSpacing = 0.15.sp,
),
titleSmall = TextStyle(
fontFamily = robotoFlexTitle,
fontSize = 14.sp,
lineHeight = 20.sp,
letterSpacing = 0.1.sp
)
) )
@OptIn(ExperimentalTextApi::class) @OptIn(ExperimentalTextApi::class)
@@ -65,7 +57,25 @@ object AppFonts {
Font( Font(
R.font.inter_variable, variationSettings = FontVariation.Settings( R.font.inter_variable, variationSettings = FontVariation.Settings(
FontWeight.Bold, FontWeight.Bold,
FontStyle.Italic FontStyle.Normal
)
)
)
val interBody = FontFamily(
Font(
R.font.inter_variable, variationSettings = FontVariation.Settings(
FontWeight.Normal,
FontStyle.Normal
)
)
)
val interLabel = FontFamily(
Font(
R.font.inter_variable, variationSettings = FontVariation.Settings(
FontWeight.Medium,
FontStyle.Normal
) )
) )
) )