Font 지정

Text >fontFamily 매개변수

CustomFont

  1. res/font 에다가 폰트 넣기

image.png

  1. FontFamily 선언
val firaSansFamily = FontFamily(
    Font(R.font.firasans_light, FontWeight.Light),
    Font(R.font.firasans_regular, FontWeight.Normal),
    Font(R.font.firasans_italic, FontWeight.Normal, FontStyle.Italic),
    Font(R.font.firasans_medium, FontWeight.Medium),
    Font(R.font.firasans_bold, FontWeight.Bold)
)
  1. 사용
fun a() {
		Column {
		    Text(text = "text", fontFamily = firaSansFamily, fontWeight = FontWeight.Light)
		    Text(text = "text", fontFamily = firaSansFamily, fontWeight = FontWeight.Normal)
		    Text(
		        text = "text",
		        fontFamily = firaSansFamily,
		        fontWeight = FontWeight.Normal,
		        fontStyle = FontStyle.Italic
		    )
		    Text(text = "text", fontFamily = firaSansFamily, fontWeight = FontWeight.Medium)
		    Text(text = "text", fontFamily = firaSansFamily, fontWeight = FontWeight.Bold)
		}
}

+

글꼴을 비동기로 호출해서 갖고 오는 방법도 있음. 자세한건 독스 참조

가변 글꼴

image.png

축은 두께, 너비, 기울기, 기울임꼴 등을 강제로 수정하는 것.

// In Typography.kt
@OptIn(ExperimentalTextApi::class)
val displayLargeFontFamily =
    FontFamily(
        Font(
            R.font.robotoflex_variable,
            variationSettings = FontVariation.Settings(
                FontVariation.weight(950),
                FontVariation.width(30f),
                FontVariation.slant(-6f),
            )
        )
    )