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
    ),
)