폰트비 블로그
폰트/타이포그래피/디자인

폰트 hinted unhinted 차이, 플랫폼별로 답이 다른 이유

글쓴이 · 폰트비
타이포그래피 스펙 책 클로즈업 — 세리프 폰트로 인쇄된 대소문자 E가 격자 레이아웃에 여러 크기로 배치된 종이

Noto Sans처럼 hinted와 unhinted를 나눠 배포하는 폰트를 받으려고 폴더를 열면 hinted와 unhinted가 나란히 있어요. 설명이 없으니 대부분 아무거나 고르거나 그냥 지나치죠.

이 두 표기는 폰트 파일 안에 무엇이 들어있는지를 나타내요. 어느 쪽을 쓰느냐는 플랫폼에 따라 실제로 갈리거든요.

hinted·unhinted, 파일 안에 뭐가 다른 건지

폰트 파일 안에 저장된 글자는 수학적인 곡선(벡터 윤곽선)이에요. 화면에 표시할 때는 이 곡선을 픽셀 격자에 올려놓는 래스터라이징 과정이 필요해요.

문제는 곡선이 픽셀 격자에 딱 맞게 떨어지지 않는다는 점이에요. 'H'의 세로 획 너비가 1.47픽셀로 계산되면 어떤 픽셀을 켜야 할지 애매해져요. 획이 픽셀 두 개에 걸치면 두 픽셀이 흐릿하게 켜지거나, 왼쪽 획은 1픽셀·오른쪽 획은 2픽셀로 제각각 나올 수 있어요.

힌팅(hinting)은 이 문제를 해결하려고 폰트 파일 안에 미리 넣은 보정 명령어예요. "이 획은 반드시 1픽셀 너비로 정렬해라", "이 꼭지점은 픽셀 경계에 맞춰라" 같은 지시를 래스터라이저에게 내리는 거예요.

폴더 이름의 뜻은 단순해요.

  • Hinted = 폰트 윤곽선 + 픽셀 보정 명령어가 들어있는 파일
  • Unhinted = 폰트 윤곽선만 담긴 파일(보정 명령어 없음)

해상도가 높아지면 힌팅이 필요 없어지는 이유

힌팅이 꼭 필요한 상황은 픽셀 하나가 클 때, 그러니까 저DPI(96dpi 표준) 환경이에요. 11pt 글자를 96dpi 화면에 표시하면 글자 높이가 약 14~15픽셀이에요. 이 정도면 획 하나가 픽셀 한두 개에 걸리는 일이 생기고, 힌팅 명령어가 없으면 좌우 획 두께가 달라지거나 전체적으로 흐릿해져요.

반면 HiDPI나 레티나 디스플레이(192dpi 이상)에서는 같은 글자가 두 배 이상의 픽셀로 표현돼요. 픽셀 하나가 워낙 작아지니까 획이 격자 사이에 걸리더라도 안티에일리어싱만으로 충분히 처리돼요.

그래서 애플은 Retina 디스플레이를 도입하면서 Core Graphics가 힌팅 명령어를 무시하도록 바꿨어요. Hinted 파일을 가져다 써도 그 데이터는 버려지고, 파일 크기만 커지죠.

OS가 힌팅을 처리하는 방식, 그게 선택 기준

Windows에서 힌팅이 가장 의미 있어요. ClearType은 LCD 화면의 RGB 서브픽셀을 활용해 가로 방향 해상도를 세 배로 높이는 방식인데, 힌팅 데이터를 적극적으로 활용해요. 96dpi 수준의 일반 모니터(낮은 해상도 화면)에서 문서 작업을 많이 한다면 Hinted 쪽이 획이 눈에 띄게 선명하게 서요.

macOS와 Android는 정반대예요. macOS Core Graphics(Quartz)는 힌팅 명령어 대신 폰트 원래 곡선을 최대한 살리는 쪽을 택하고, Android도 힌팅을 사용하지 않아요. Noto Fonts 공식 저장소 FAQ는 이 차이를 "Android와 Mac에는 unhinted, Windows와 Linux에는 hinted"라고 직접 명시하고 있어요.

플랫폼힌팅 처리 방식권장 파일
Windows (표준 모니터)ClearType이 적극 활용Hinted
macOS / iOSCore Graphics가 무시Unhinted
Android무시Unhinted
Linux (FreeType)설정에 따라 다름Hinted 권장

웹폰트·인쇄는 크게 신경 쓰지 않아도 돼요

불특정 다수가 쓰는 웹폰트라면 Unhinted가 무난해요. 파일이 작고, 방문자의 상당수가 macOS나 Android를 쓰니까 Hinted를 올려도 그 데이터는 어차피 무시돼요. 인쇄나 PDF 출력은 래스터라이저 해상도가 600~1,200dpi 이상이라 힌팅 보정이 아예 의미 없어요. 어느 쪽을 골라도 결과물은 같아요.

폴더를 열었을 때 어떻게 고르면 되는지

한 가지만 보면 돼요.

Windows PC에서 96dpi 수준의 일반 모니터로 주로 문서 작업을 한다면 → Hinted. ClearType이 힌팅 데이터를 실제로 활용하고, 저DPI에서 획 선명도 차이가 눈에 띄어요.

그 외 모든 경우 → Unhinted. macOS·iOS·Android는 힌팅 명령어를 무시하니까 Hinted를 받아도 그 데이터는 쓰이지 않아요. 웹폰트나 인쇄·PDF도 마찬가지예요. Google도 Noto Fonts 배포에서 두 버전을 유지하지만 Unhinted가 더 보편적인 기준으로 자리잡았어요.

플랫폼이 여럿에 걸쳐 있거나 확실하지 않다면 Unhinted로 가세요. 힌팅을 무시하는 환경에서는 어차피 결과물이 같고, 파일 크기도 Unhinted 쪽이 작아요.

폰트를 받기 전에 사용 범위나 라이선스 조건이 헷갈린다면 폰트비에서 해당 폰트 상세 페이지를 확인해보세요. 웹사이트·영상·인쇄 등 사용 범위와 라이선스 원문을 한 번에 볼 수 있어요.

이 글이 도움이 됐나요?

여러분의 반응이 다음 글의 방향이 돼요

이어서 읽기 좋은 글