Typography

Montage 디자인 시스템의 타이포그래피 체계

enum Typography

Overview

Typography는 Montage 디자인 시스템에서 사용되는 모든 텍스트 스타일을 정의합니다. 폰트 크기, 두께, 자간, 행간 등 텍스트의 시각적 특성을 일관되게 적용할 수 있도록 표준화된 타이포그래피 시스템을 제공합니다.

// UIKit에서 사용
let label = UILabel()
label.font = UIFont.font(variant: .body1, weight: .regular)

// SwiftUI에서 사용
Text("Hello, World!")
    .typography(variant: .heading1, weight: .bold, semantic: .labelNormal)

Note

텍스트 스타일을 적용할 때는 일관성을 위해 직접 폰트를 지정하기보다 Typography 시스템을 사용하는 것이 권장됩니다.

Topics

Enumerations

enum Variant

텍스트 변형을 정의하는 열거형

Enumeration Cases

case body1

기본 본문 텍스트

case body1Reading

긴 텍스트용 본문

case body2

작은 본문 텍스트

case body2Reading

긴 텍스트용 작은 본문

case caption1

캡션 텍스트

case caption2

작은 캡션 텍스트

case display1

가장 큰 디스플레이 텍스트

case display2

큰 디스플레이 텍스트

case display3

중간 디스플레이 텍스트

case heading1

주요 헤딩

case heading2

보조 헤딩

case headline1

강조 헤드라인

case headline2

일반 헤드라인

case label1

라벨 텍스트

case label1Reading

긴 텍스트용 라벨

case label2

작은 라벨 텍스트

case title1

대제목

case title2

중간 제목

case title3

소제목

Instance Properties

var fontHeight: CGFloat

각 변형에 대한 폰트 높이

var fontSize: CGFloat

각 변형에 대한 폰트 크기

var lineHeight: CGFloat

각 변형에 대한 행 높이

var lineSpacing: CGFloat

각 변형에 대한 행간 높이

var tracking: CGFloat

각 변형에 대한 자간 (letter spacing)

enum Weight

폰트 두께를 정의하는 열거형

Enumeration Cases

case bold

굵은 두께

case medium

중간 두께

case regular

일반 두께

Instance Properties

var pretendardWeight: Pretendard.Weight

Pretendard 폰트 두께 매핑

Associated Extensions

extension UIFont
static func font(size: CGFloat, weight: Typography.Weight) -> UIFont?

Montage 디자인 시스템의 폰트를 생성합니다.

  • Parameters

    ParameterDescription
    size폰트 크기
    weight폰트 두께
  • Return Value

    생성된 UIFont 인스턴스. 폰트를 찾을 수 없는 경우 nil 반환

static func font(variant: Typography.Variant, weight: Typography.Weight) -> UIFont

Montage 디자인 시스템의 폰트를 생성합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
  • Return Value

    생성된 UIFont 인스턴스. 폰트를 찾을 수 없는 경우 시스템 폰트로 대체

extension Font
static func font(size: CGFloat, weight: Typography.Weight) -> Font

Montage 디자인 시스템의 폰트를 생성합니다.

  • Parameters

    ParameterDescription
    size폰트 크기
    weight폰트 두께
  • Return Value

    생성된 Font 인스턴스

static func font(variant: Typography.Variant, weight: Typography.Weight) -> Font?

Montage 디자인 시스템의 폰트를 생성합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
  • Return Value

    생성된 Font 인스턴스

extension UILabel
static func label(String, variant: Typography.Variant, weight: Typography.Weight, color: UIColor) -> UILabel

Montage 디자인 시스템의 스타일을 적용한 UILabel을 생성합니다.

  • Parameters

    ParameterDescription
    string표시할 문자열
    variant텍스트 변형
    weight폰트 두께
    color색상
  • Return Value

    생성된 UILabel 인스턴스

static func label(String, variant: Typography.Variant, weight: Typography.Weight, semantic: Color.Semantic) -> UILabel

Montage 디자인 시스템의 스타일을 적용한 UILabel을 생성합니다.

  • Parameters

    ParameterDescription
    string표시할 문자열
    variant텍스트 변형
    weight폰트 두께
    semantic시맨틱 색상
  • Return Value

    생성된 UILabel 인스턴스

extension Text
func typography(variant: Typography.Variant, weight: Typography.Weight, color: SwiftUI.Color) -> Text

타이포그래피 변형에 따른 스타일을 적용합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
    color색상
  • Return Value

    스타일이 적용된 Text 인스턴스

func typography(variant: Typography.Variant, weight: Typography.Weight, semantic: Color.Semantic) -> Text

타이포그래피 변형에 따른 스타일을 적용합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
    semantic시맨틱 색상
  • Return Value

    스타일이 적용된 Text 인스턴스

func paragraph(variant: Typography.Variant, weight: Typography.Weight, color: SwiftUI.Color) -> some View

타이포그래피 변형에 따른 단락 스타일을 적용합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
    color색상
  • Return Value

    단락 스타일이 적용된 View

func paragraph(variant: Typography.Variant, weight: Typography.Weight, semantic: Color.Semantic) -> some View

타이포그래피 변형에 따른 단락 스타일을 적용합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
    weight폰트 두께
    semantic시맨틱 색상
  • Return Value

    단락 스타일이 적용된 View

extension View
func adjustLineHeight(variant: Typography.Variant) -> some View

타이포그래피 변형에 따른 줄 높이를 적용합니다.

  • Parameters

    ParameterDescription
    variant텍스트 변형
  • Return Value

    줄 높이가 적용된 View

extension NSAttributedString
static func attributedString(String, variant: Typography.Variant, weight: Typography.Weight, color: SwiftUI.Color, lineBreakMode: NSLineBreakMode) -> NSAttributedString

Montage 디자인 시스템의 타이포그래피를 적용한 NSAttributedString을 생성합니다.

  • Parameters

    ParameterDescription
    string변환할 문자열
    variant타이포그래피 변형, 생략하면 기본값으로 .body1 적용
    weight폰트 두께, 생략하면 기본값으로 .regular 적용
    color색상, 생략하면 기본값으로 .semantic(.labelNormal) 적용
    lineBreakMode줄바꿈 모드, 생략하면 기본값으로 .byWordWrapping 적용
  • Return Value

    Montage 스타일이 적용된 NSAttributedString

static func attributedString(String, variant: Typography.Variant, weight: Typography.Weight, semantic: Color.Semantic, lineBreakMode: NSLineBreakMode) -> NSAttributedString

Montage 디자인 시스템의 타이포그래피를 적용한 NSAttributedString을 생성합니다.

  • Parameters

    ParameterDescription
    string변환할 문자열
    variant타이포그래피 변형, 생략하면 기본값으로 .body1 적용
    weight폰트 두께, 생략하면 기본값으로 .regular 적용
    semantic의미론적 색상
    lineBreakMode줄바꿈 모드, 생략하면 기본값으로 .byWordWrapping 적용
  • Return Value

    Montage 스타일이 적용된 NSAttributedString

© 2026 Wanted Lab, Inc.