/* ============================================================ 폰트 폴백 메트릭 보정 웹폰트가 늦게 오면 브라우저는 시스템 폰트로 먼저 그리고 나중에 교체한다. 두 폰트의 폭과 행 높이가 다르면 그 순간 레이아웃이 튄다. CLS 의 흔한 원인이고 font-display: swap 을 쓰는 한 반드시 일어난다. 그래서 폴백 폰트를 실제 폰트의 치수에 맞춘다. 아래 숫자는 이 페이지에서 직접 잰 값이다. 추정치가 아니다. 한글 Pretendard 1434px vs 맑은 고딕 1620px -> 88.5% Apple SD Gothic Neo 1510px -> 94.9% 영문 Switzer 1580px vs Arial 1501px -> 105.3% 재는 법은 references/typography.md §4 에 있다. OS 마다 시스템 폰트가 다르므로 폴백도 따로 정의한다. 하나로 뭉치면 한쪽 OS 에서는 보정이 틀린다. ============================================================ */ /* ---- 한글: Windows ---------------------------------------- */ @font-face { font-family: "KO Fallback Win"; src: local("Malgun Gothic"), local("맑은 고딕"); size-adjust: 88.5%; ascent-override: 108%; descent-override: 27%; line-gap-override: 0%; } /* ---- 한글: macOS ------------------------------------------ */ @font-face { font-family: "KO Fallback Mac"; src: local("Apple SD Gothic Neo"), local("AppleSDGothicNeo-Regular"); size-adjust: 94.9%; ascent-override: 100%; descent-override: 25%; line-gap-override: 0%; } /* ---- 라틴 -------------------------------------------------- */ @font-face { font-family: "EN Fallback"; src: local("Arial"), local("Helvetica Neue"), local("Helvetica"); size-adjust: 105.3%; ascent-override: 110%; descent-override: 28%; line-gap-override: 0%; }