실험 1 · 핵심 인터랙티브 도구

한글 가독성 Lab — 타이포그래피 A/B 실험

동일한 한국어 문장을 서로 다른 두 가지 CSS 조건(글자 크기, 행간, 자간, 문단 폭, 줄바꿈 규칙)에서 동시에 렌더링하고, 실제 브라우저가 계산한 요소 높이(px)와 줄 수(Line Count)의 물리적 차이를 정량 비교합니다.

한글 타이포그래피 A/B 실시간 비교 조작기

동일한 한글 텍스트를 두 독립 조건(A/B)에서 렌더링하고 높이, 줄 수, 오버플로를 측정 비교합니다.

실험 예문 선택:
조건 A (가독성 개선 설정 예시)참고 모델
한글은 초성, 중성, 종성이 결합된 모아쓰기 글자 구조를 지니고 있어 알파벳에 비해 사각형 글꼴 영역 내 밀도가 높고 복잡합니다. 이로 인해 행간(line-height)이 지나치게 좁으면 윗줄의 받침과 아랫줄의 초성이 시각적으로 간섭하여 줄 구분의 명확성이 떨어집니다. 반대로 행간이 과도하게 넓거나 본문 폭이 너무 좁으면 줄 간의 시각적 단절이 커져 문맥 파악이 지연될 수 있습니다. 적절한 자간과 본문 폭의 균형을 맞추는 것이 디지털 화면에서 텍스트 블록의 시각적 안정성을 유도하는 중요한 설계 요소입니다.
높이: 측정 중너비: —추정 줄 수: —
.typography-preset-a {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Malgun Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: -0.02em;
  max-width: 640px;
  word-break: keep-all;
  overflow-wrap: break-word;
}
조건 B (비교/비권장 대조군)
한글은 초성, 중성, 종성이 결합된 모아쓰기 글자 구조를 지니고 있어 알파벳에 비해 사각형 글꼴 영역 내 밀도가 높고 복잡합니다. 이로 인해 행간(line-height)이 지나치게 좁으면 윗줄의 받침과 아랫줄의 초성이 시각적으로 간섭하여 줄 구분의 명확성이 떨어집니다. 반대로 행간이 과도하게 넓거나 본문 폭이 너무 좁으면 줄 간의 시각적 단절이 커져 문맥 파악이 지연될 수 있습니다. 적절한 자간과 본문 폭의 균형을 맞추는 것이 디지털 화면에서 텍스트 블록의 시각적 안정성을 유도하는 중요한 설계 요소입니다.
높이: 측정 중너비: —추정 줄 수: —
.typography-preset-b {
  font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard", "Malgun Gothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
  max-width: 360px;
  word-break: normal;
  overflow-wrap: normal;
}

디지털 화면에서의 한글 타이포그래피 엔지니어링 원리

한글은 1443년 창제된 음소 문자이면서도 표기 시에는 초성(자음), 중성(모음), 종성(받침)을 하나의 사각형 글자 틀(Em Box) 안에서 조합하여 표기하는 독창적인 ‘모아쓰기’ 체계를 지닙니다. 알파벳이 소문자의 x-height를 기준으로 상하 여백(Ascender/Descender)이 자연스럽게 확보되는 구조인 것과 달리, 한글은 글자 틀 안에서 자음과 모음이 결합되는 구조적 특성상 상하좌우 여백이 상대적으로 적어 디지털 디스플레이에서 폰트 크기 대비 시각적 밀도가 높게 체감될 수 있습니다.

1. 행간(line-height)과 줄 간 수직 간격(Leading)의 레이아웃 특성

한 줄을 읽고 다음 줄로 시선이 이동할 때 행간(line-height)이 1.3 이하로 협소하면, 윗줄의 종성(받침)과 아랫줄의 초성 간 물리적 수직 여백이 좁아져 시각적 줄 구분이 모호해지는 현상이 발생합니다. 본 실험실의 브라우저 레이아웃 실측 데이터에 따르면, 16px 폰트 기준 동일 문단에서 line-height를 1.2에서 1.65로 조절할 때 문단 전체의 렌더링 높이와 줄 간 수직 여백이 약 40% 이상 확장되는 물리적 기하 변화가 확인됩니다. (※ 이는 브라우저 DOM 높이 측정 결과이며, 실제 인간 독자의 주관적 피로도나 인지 속도는 개인의 시각 조건 및 환경에 따라 상이하므로 별도의 인체공학적 사용자 연구와 구분되어야 합니다.)

2. 한 줄당 글자 수(Measure)와 본문 폭(max-width)의 한계

W3C 웹 접근성 가이드라인(WCAG 2.2) 1.4.8(Visual Presentation) 기준은 최고 적합성 수준인 AAA 성공 기준(Success Criterion)에 해당하며, 시선 이동의 부담을 줄이기 위해 한 줄당 텍스트 길이를 영문 기준 80자(글리프 밀도가 높은 한글의 경우 약 40자 내외) 이하로 유지할 것을 권장합니다. 데스크톱 고해상도 모니터(1920px 이상)에서 본문 컨테이너에 max-width를 선언하지 않으면, 한 줄이 1,200px 이상 길어져 시선 이동 거리가 과도해질 수 있습니다. 반대로 320px 모바일 화면에서는 한 줄당 15자 내외로 너무 자주 줄바꿈되어 문맥 파악에 방해가 될 수 있습니다. 따라서 실무에서는 max-width: 640px ~ 680px 구간을 설정하여 반응형 화면에서 균형 잡힌 문단 비례를 형성하는 패턴을 널리 활용합니다.

3. 단어 단위 줄바꿈(word-break: keep-all)의 실무 적용과 안전장치

CSS 표준 속성인 word-break: keep-all;은 띄어쓰기 공백을 기준으로만 줄바꿈을 허용하여 한글 단어가 중간에 쪼개지는 현상을 방지합니다. 그러나 이 속성은 긴 영단어, 이메일 주소, 하이퍼링크 URL이 포함될 때 컨테이너 경계선을 무시하고 가로로 넘쳐나는 부작용을 동반합니다. 따라서 실제 상용 서비스에 적용할 때는 반드시 overflow-wrap: break-word; 또는 overflow-wrap: anywhere;를 병행 선언하는 2중 방어 코드가 필수적입니다.

🔗 본 실험과 연계된 실무 사례 연구:

한글 타이포그래피 자주 묻는 질문 (FAQ)

Q. 한글 웹 폰트에서 행간(line-height)의 권장 기준은 어떻게 되나요?

A. 영문은 x-height(소문자 높이) 중심인 반면, 한글은 사각형 틀(Em square) 전체를 채우는 초성·중성·종성 모아쓰기 구조입니다. 따라서 영문 기준의 1.4~1.5 행간은 한글에서 시각적으로 다소 조밀하게 느껴질 수 있으며, 디지털 화면 본문 기준 1.6~1.75 수준이 상하 획 간섭을 줄이는 실무적인 참고 구간으로 자주 활용됩니다. 다만 이는 모든 서체와 사용자에게 일괄 적용되는 공식 최적값이 아니며, 폰트 고유의 비례와 본문 폭, 독자층에 맞춰 조율해야 합니다.

Q. word-break: keep-all 속성을 본문 전체에 적용해도 안전한가요?

A. keep-all은 단어 단위로 줄바꿈을 유도하여 한글 단어 응집도를 높여주지만, 영문 단어나 긴 URL, 공백 없는 긴 복합명사가 포함되면 컨테이너 우측에 거대한 공백이 생기거나 가로 넘침이 발생할 수 있습니다. 실무에서는 반드시 overflow-wrap: break-word 또는 anywhere 속성을 함께 선언하여 긴 문자열이 경계선을 초과할 때만 안전하게 음절 단위로 줄바꿈되도록 방어해야 합니다.

Q. Range API 기반의 줄 수 측정이 단순 수식 계산보다 정확한 이유는 무엇인가요?

A. 단순히 전체 요소 높이를 line-height(px)로 나누는 방식은 첫 줄 어센더(Ascender), 마지막 줄 디센더(Descender), 패딩 및 서체별 라인 메트릭 차이로 인해 1줄 내외의 오차가 자주 발생합니다. 본 실험실은 브라우저 DOM Range의 getClientRects() 기하 좌표를 측정하여 실제 렌더링된 행 수를 감지합니다. 다만 이러한 측정 역시 브라우저 렌더링 엔진, OS 텍스트 스케일링, 서브픽셀 래스터라이징 방식에 따른 환경적 한계가 존재할 수 있습니다.