피드로 돌아가기
Three Gaps, One Platform
Dev.toDev.to
Frontend

Node.js 기반 Typesetting 엔진으로 Typographer와 Dev 간의 설계 간극 제거

Three Gaps, One Platform

Kemal Deniz Teket2026년 4월 25일9intermediate

Context

전통적인 고품질 타이포그래피 도구(InDesign, TeX)의 Desktop/CLI 종속성으로 인한 CI 파이프라인 통합 불가 문제 발생. 또한 Typographer의 시각적 품질 기준과 Developer의 코드 사양 간의 상이한 인식 체계로 인한 커뮤니케이션 병목 존재.

Technical Solution

  • Desktop 애플리케이션 구조를 Node.js 라이브러리로 전환하여 API 호출 기반의 PDF Buffer 생성 환경 구축
  • Knuth-Plass 알고리즘 채택을 통한 최적의 Paragraph Grey 구현 및 Whitespace 분포 최적화
  • Optical Margin Alignment 구현을 위해 일반 컴포지션 후 엣지 글리프를 식별하여 돌출값을 적용하는 Two-pass Recomposition 로직 설계
  • 시각적 판단 기준을 정량적 파라미터(예: tolerance: 1.5)로 매핑하여 재사용 가능한 기술 사양으로 전환
  • Typographic 용어를 API 파라미터 명칭에 직접 반영하여 도메인 간 용어 불일치 해결

1. 외부 전문 도구 도입 시 Desktop/CLI 종속성을 제거하고 라이브러리/API 형태로 래핑하여 CI/CD 통합 가능 여부 검토

2. 정성적 품질 기준(시각적 느낌 등)을 정량적 설정값(Parameter)으로 변환하여 팀 간 공유 가능한 사양서 작성

3. 복잡한 렌더링 최적화 시 단순 단일 패스 처리보다 Two-pass 구조를 통해 정밀한 후처리가 가능한지 분석

원문 읽기