글자를 그냥 축소·확대만 하면 작은 크기에서는 가는 획이 흐릿하게 뭉개지고, 큰 크기에서는 필요 이상으로 두꺼워 보입니다. 활판 인쇄 시대엔 실제로 크기별 활자를 따로 새겨 이 문제를 해결했습니다 — 옵티컬 사이즈는 그 관행을 디지털로 되살린 개념입니다.
가변 폰트는 이걸 `opsz` 축으로 구현합니다. 폰트가 이 축을 지원하면 `font-size`를 바꿀 때 브라우저가 자동으로 굵기·자간·x-height 같은 세부까지 함께 보정합니다. 텍스트용(작은 크기)은 획 대비가 낮고 여유 있게, 디스플레이용(큰 크기)은 대비가 높고 촘촘하게 그려집니다.
이 사이트는 외부 폰트를 못 불러오므로 실제 `opsz` 축 대신, 텍스트/디스플레이 두 크기에서 굵기·자간을 수동으로 다르게 줘서 같은 원리를 흉내 냈습니다.
언제 쓰나
가변 폰트가 opsz 축을 지원한다면 굳이 별도 CSS 없이도 크기만 바꾸면 자동 보정됩니다. 지원하지 않는 폰트라면 큰 제목엔 살짝 얇은 굵기를, 작은 본문엔 살짝 굵은 굵기를 수동으로 주세요.