과거엔 굵기별로(Light, Regular, Bold…) 폰트 파일을 따로 불러와야 했지만, 가변 폰트는 파일 하나에 "굵기 축(wght)"의 최솟값·최댓값 원도(마스터)만 넣어두고 그 사이 어떤 값이든 실시간으로 보간합니다. CSS에서는 `font-variation-settings: "wght" 650`처럼 임의의 숫자를 줄 수 있고, `font-weight: 650`도 동작합니다.
굵기(wght) 외에 너비(wdth), 기울기(slnt), 광학 크기(opsz, 아래 "옵티컬 사이즈" 참고) 등 폰트마다 다른 축을 지원할 수 있습니다. 축을 스크롤·호버 같은 인터랙션에 애니메이션으로 연결하면 정적인 텍스트에 표정이 생깁니다.
파일 하나로 여러 굵기를 대체하므로 총 다운로드 용량이 줄어드는 것도 장점입니다. 다만 모든 폰트가 가변 폰트로 나오는 건 아니고, 축 이름과 범위는 폰트마다 다르므로 실제 사용 전 폰트의 지원 축을 확인해야 합니다.
이 데모는 외부 폰트를 불러올 수 없어 시스템 폰트의 `font-weight` 보간만으로 개념을 근사했습니다 — 실제 가변 폰트만큼 매끄럽지 않을 수 있습니다.
언제 쓰나
헤딩 굵기를 스크롤·호버에 따라 부드럽게 바꾸거나, 굵기별 파일을 여러 개 받기 부담스러운 다국어 사이트에 씁니다.