파일 변환에서 폰트 충실도가 중요한 이유
문서가 원본 형식을 벗어나면, 그 안에 담긴 시각적 언어가 문자 자체만큼이나 극적으로 변할 수 있습니다. 타이포그래피는 단순히 장식이 아니라 계층 구조, 브랜드 아이덴티티, 접근성을 전달합니다. 잘 맞지 않는 폰트는 법률 계약서의 가독성을 파괴하고, 마케팅 브로셔의 시각적 효과를 왜곡하며, 스크린 리더 사용자를 위해 전자책을 읽을 수 없게 만들 수 있습니다. 정확한 레이아웃에 의존하는 디자이너·출판인·변호사·교육자와 같은 전문가에게 변환 과정에서 정확한 글꼴, 커닝, 줄 간격을 보존하는 것은 협상의 여지가 없습니다.
문제의 핵심은 각 파일 형식이 폰트 정보를 다루는 방식이 다르다는 점입니다. Word .docx는 시스템 폰트를 참조할 수 있고, Adobe PDF는 전체 폰트 파일을 포함할 수 있으며, HTML 페이지는 보통 웹 폰트 로딩에 의존합니다. 파일을 한 컨테이너에서 다른 컨테이너로 옮길 때 변환 엔진은 해당 폰트를 어떻게 처리할지 결정해야 합니다: 포함할지, 대체할지, 아니면 외부 참조로 남길지. 각각의 선택은 파일 크기, 라이선스 준수, 시각적 충실도 측면에서 트레이드오프를 동반합니다.
타이포그래피를 무너뜨리는 일반적인 함정
- 폰트 포함 누락 – 일부 변환기는 크기 감소를 위해 포함된 폰트를 제거하고, 대상 디바이스에 이미 폰트가 설치돼 있다고 가정합니다. 그 결과 대체 폰트가 적용돼 굵기, 너비, 문자 모양이 바뀔 수 있습니다.
- 잘못된 서브셋팅 – 서브셋팅은 문서에 사용된 글리프만 남겨 폰트 파일을 축소합니다. 과도하게 공격적인 서브셋은 이후 편집이나 후속 개정판에 나타날 언어에 필요한 문자를 삭제할 수 있습니다.
- 라이선스 기반 대체 – 상용 폰트는 종종 포함을 금지합니다. 라이선스를 무시하는 변환기는 폰트를 불법으로 포함할 수 있고, 라이선스를 존중하는 변환기는 일반 대체 폰트로 교체해 외관이 손상됩니다.
- 폰트 메트릭 손실 – 시각적 형태는 유지되더라도 ascender/descender 높이, 줄 간격, 커닝 페어의 미세한 변화가 레이아웃을 바꾸어 페이지 번호가 변하거나 오버플로가 발생할 수 있습니다.
- 유니코드 정규화 문제 – 텍스트를 UTF‑8, UTF‑16, 레거시 인코딩 등으로 저장하는 형식 간 변환 시, 특히 발음 기호가 있는 언어에서 조합 문자가 손상돼 글리프가 누락되거나 뒤틀릴 수 있습니다.
- 래스터 형식으로 변환 – 벡터 기반 문서를 PNG·JPEG와 같은 래스터 이미지로 변환하면 특정 해상도에 타이포그래피가 고정돼 편집 가능성이 사라지고, 안티앨리어싱 아티팩트가 생길 수 있습니다.
이러한 함정을 이해하면 실제 변환을 시작하기 전에 올바른 작업 흐름을 선택할 수 있습니다.
폰트 무결성을 유지하기 위한 실용적인 전략
아래는 변환 프로세스 단계별로 취할 수 있는 구체적인 단계들을 정리한 것입니다.
1. 변환 전 폰트 사용 현황 감사
소스 파일을 해당 프로그램에서 열고 사용된 모든 폰트를 목록화하세요. 대부분의 프로그램은 “폰트 찾기” 대화 상자를 제공합니다(예: Microsoft Word의 파일 → 정보 → 문제점 확인 → 문서 검사). 각 폰트에 대해 다음을 기록하세요:
- 폰트 이름 및 버전 – 제작자가 의도한 정확한 빌드를 사용하고 있음을 확인합니다.
- 포함 권한 – 폰트 라이선스 메타데이터를 확인합니다(보통 폰트 파일의 OS/2 테이블에 있는
fsType플래그). - 글리프 커버리지 – 특히 비라틴 스크립트가 모두 포함돼 있는지 검증합니다.
만약 어떤 폰트가 포함 권한이 없으면 두 가지 선택이 있습니다: 허용되는 대체 폰트(예: Google Fonts)로 교체하거나, 포함을 허용하는 적절한 라이선스를 획득합니다.
2. 포함 플래그를 존중하는 변환 도구 선택
모든 변환기가 fsType 플래그를 동일하게 처리하는 것은 아닙니다. Adobe Acrobat, Ghostscript, 오픈소스 Pdfium 라이브러리와 같은 전문가용 도구는 포함 권한을 확인하고 폰트를 포함하거나 우아하게 대체합니다. 클라우드 서비스를 이용한다면 “폰트가 허용된 경우 포함한다” 혹은 “라이선스‑준수 서브셋팅”과 같은 문구가 있는지 문서를 확인하세요. 간단한 테스트—단일 페이지 문서를 변환하고 pdfinfo 같은 도구로 결과 PDF를 살펴보면 폰트가 실제로 포함됐는지 확인할 수 있습니다.
3. 명시적인 폰트 포함 옵션 사용
많은 데스크톱 변환기에서는 “모든 폰트 포함” 혹은 “사용된 폰트만 포함” 옵션을 제공합니다. 고충실도가 필요하다면 모든 폰트 포함을 선택해 레이아웃 일관성을 보장하세요(특히 문서가 추가 편집될 경우). 파일 크기가 중요한 경우 서브셋 포함을 허용하되, 최종 버전에 사용된 모든 글리프가 서브셋에 포함됐는지 검증합니다.
예시: Ghostscript를 이용한 서브셋팅
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
-dPDFSETTINGS=/prepress \
-dEmbedAllFonts=true \
-dSubsetFonts=true \
-sOutputFile=output.pdf input.pdf
위 명령은 Ghostscript가 모든 폰트를 포함하되 실제로 참조된 글리프만 포함하도록 하여 충실도와 용량 사이의 균형을 맞춥니다.
4. 벡터 형식 간 폰트 메트릭 보존
PDF ↔ SVG ↔ EPS와 같은 벡터 중심 형식 간 변환 시 텍스트를 윤곽선으로 바꾸지 말고 폰트 파일을 외부에 두어 원본 메트릭을 유지하세요. 텍스트를 윤곽선 처리하면 폰트 데이터가 완전히 사라지므로 정적 인쇄에는 괜찮지만 편집 가능성을 없애고 파일 크기도 증가합니다.
폰트를 반드시 윤곽선으로 바꿔야 할 경우(예: 폰트가 없는 디바이스에서 시각적 일관성을 보장하려는 경우) 레이아웃을 최종 확정한 뒤에 수행하고, 향후 수정이 필요할 경우를 대비해 원본 편집 가능한 파일을 별도로 보관하세요.
5. 폰트 친화적인 중간 형식 활용
워크플로우에 여러 단계가 필요하다면(예: DOCX → PDF → ePub) 폰트 정보를 신뢰성 있게 보존하는 중간 형식을 고려하세요. PDF/A‑3는 ISO 표준 아카이브 형식으로 모든 폰트를 반드시 포함해야 하며, 원본 DOCX와 같은 파일을 삽입해 추적성을 확보할 수 있습니다. 소스를 먼저 PDF/A‑3로 변환하면 이후 다른 포맷으로 다운컨버팅할 때도 타이포그래피 데이터를 잃지 않는 “골든 마스터”가 됩니다.
6. 결과 파일 검증
변환 후 검증 단계를 수행하세요:
- 폰트 포함 검사 – 변환된 파일을 Adobe Acrobat 등에서 열어 파일 → 속성 → 폰트 탭을 확인합니다. 각 폰트가 “Embedded Subset” 혹은 “Embedded” 상태인지 확인합니다.
- 레이아웃 일관성 확인 – 페이지 수, 줄 바꿈, 테이블 정렬을 원본과 비교합니다. 작은 이동도 메트릭 불일치의 징후일 수 있습니다.
- 텍스트가 많은 PDF에 OCR 실행 – 폰트가 래스터화된 경우(예: 스캔 PDF) OCR을 통해 검색 가능한 텍스트를 복원할 수 있지만, 별도 폰트 매핑을 지정하지 않으면 기본 시스템 폰트가 사용돼 원래 타이포그래피 보존 목적에 어긋납니다.
- 자동 Diff 도구 활용 – HTML·ePub 등 평문 형식에서는 diffpdf 혹은 git diff 같은 도구로 XML/HTML 차이를 비교해 미세한 변화를 찾아냅니다.
7. 배포 시 라이선스 고려
변환 과정에서 상용 폰트를 성공적으로 포함했더라도 해당 파일을 배포하는 것은 폰트 라이선스를 위반할 수 있습니다. 많은 폰트 제조사는 보기 전용 배포는 허용하되 폰트 파일 자체의 재배포는 금지합니다. 공개적으로 공유해야 하는 변환 문서는 다음 중 하나를 선택하세요:
- 오픈소스·무료 폰트 사용(예: Libre Baskerville, Open Sans) – 제한 없이 포함 가능.
- 최종 버전만 윤곽선 처리 – 편집 불가능한 형태로 변환해 폰트 파일을 제거하면서 시각적 일관성을 유지.
사례 연구: Word에서 PDF/A‑3로 다국어 보고서 변환
시나리오 – 글로벌 컨설팅 회사가 Microsoft Word로 분기 보고서를 작성했습니다. 사용 폰트는 본문용 Calibri, 헤더용 Georgia, 그리고 중국어 섹션용 커스텀 Noto Sans CJK 세 가지였습니다. 보고서는 10년 동안 보관하고, 폰트가 설치되지 않은 파트너와도 공유되며, 검색 가능해야 합니다.
수행 단계
- 감사 – Noto Sans CJK는 오픈소스라 자유롭게 포함할 수 있고, Calibri와 Georgia는 내부 배포용 포함을 허가하는 Microsoft 라이선스임을 확인했습니다.
- 포함 설정 – Word에서 파일 → 옵션 → 저장 → 파일에 폰트 포함을 활성화하고 “모든 문자 포함”을 선택해 서브셋팅을 방지했습니다.
- PDF/A‑3 변환 – Adobe Acrobat Pro에서 PDF/A‑3 변환 옵션을 선택하고 “기존 폰트 보존(윤곽선 변환 안 함)”을 지정했습니다. 변환 과정에서 세 폰트가 모두 라이선스 플래그를 존중하며 포함되었습니다.
- 검증 – Acrobat의 폰트 목록에 각 폰트가 “Embedded Subset”으로 표시됐으며, 헤더의 Georgia 세리프와 중국어 텍스트가 정상적으로 보였습니다.
- 아카이브 패키징 – PDF/A‑3 파일에 원본 DOCX를 첨부하여 향후 편집자가 정확한 타이포그래피를 그대로 복구할 수 있도록 했습니다.
결과 – 최종 PDF는 모든 플랫폼에서 동일한 시각적 모습을 유지했으며, PDF/A‑3 표준을 만족해 보관 요건을 충족했고, 텍스트가 실제 문자 형태로 남아 검색이 가능했습니다.
알아두면 좋은 도구와 자료
| 작업 | 추천 도구 | 이유 |
|---|---|---|
| 폰트 포함 여부 검사 | Adobe Acrobat Pro, pdfinfo (poppler) | 포함된 폰트 이름, 서브셋, 라이선스 플래그 확인 가능 |
| 폰트‑인식 서브셋팅 변환 | Ghostscript, cPdf | 명령줄에서 포함·서브셋 옵션을 세밀하게 제어 |
| 폰트 보존 배치 변환 | LibreOffice (headless) + unoconv | DOCX·ODT·PDF 등을 폰트를 유지하면서 변환 |
| 오픈소스 폰트 라이브러리 | Google Fonts, Google Noto | 자유롭게 무제한 포함 가능한 라이선스 |
| PDF/A 준수 검증 | veraPDF, PDF‑Tools | ISO 표준(특히 폰트 포함) 위반 여부 검사 |
클라우드 서비스를 사용할 경우 “폰트는 라이선스가 허용되는 경우에만 포함됩니다.” 라는 명시적 문구가 있는지 확인하세요. 기술 문서에서 fsType 플래그를 어떻게 처리하는지 검색하면 대부분의 서비스가 기본값으로 어떻게 동작하는지 알 수 있습니다.
자동화 워크플로에 폰트‑안전 변환 통합
기업에서는 인보이스 처리, 계약 관리, e‑learning 콘텐츠 생성 등 대규모 문서 파이프라인을 자동화합니다. 타이포그래피를 그대로 유지하면서 자동화를 활용하려면 폰트 검증 단계를 워크플로에 포함시키면 됩니다.
# 예시: 폰트 무결성을 검증하는 GitHub Actions 워크플로
name: Generate PDFs with Font Integrity
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Install LibreOffice
run: sudo apt-get install -y libreoffice
- name: Convert DOCX to PDF/A‑3
run: |
libreoffice --headless --convert-to pdf:writer_pdf_Export --outdir output src/*.docx
# 필요 시 unoconv 플래그로 강제 포함
- name: Verify Font Embedding
run: |
for f in output/*.pdf; do
pdfinfo "$f" | grep -i "embedded" || exit 1
done
위 스니펫은 소스 문서를 PDF/A‑3로 변환하고, 폰트가 누락된 경우 빌드를 중단하도록 하는 최소 CI/CD 파이프라인을 보여줍니다. RabbitMQ 같은 큐 시스템과 결합하면 하루 수천 파일도 타이포그래피 충실도를 유지하면서 처리할 수 있습니다.
폰트 윤곽선화가 포함보다 우선될 때
드물게 텍스트를 윤곽선으로 변환하기로 선택해야 하는 경우가 있습니다:
- 인쇄 전용 산출물 – 인쇄소가 폰트 제공을 보장하지 못할 때.
- 법률 제출물 – 나중에 내용이 바뀔 가능성을 완전히 차단해야 할 때.
- 브랜드 고정 마케팅 자산 – 커스텀 로고 폰트 형태가 절대 변하면 안 될 때.
이 경우에도 원본 파일을 별도로 보관해 두어 향후 업데이트에 대비하세요. 윤곽선 변환은 편집 가능성을 완전히 없애고, 원본 텍스트를 추출하거나 접근성을 제공할 수 없게 합니다.
최종 체크리스트 요약
- 폰트 감사 – 이름, 버전, 포함 권한을 리스트업.
- 포함 플래그를 존중하는 엔진 선택.
- 명시적 포함(또는 서브셋) 옵션 활성화.
- 벡터‑친화 형식(PDF/A‑3, SVG) 사용하여 텍스트를 살아 있게 유지.
- 검증 – 포함된 폰트, 레이아웃 일관성, 검색 가능 텍스트 확인.
- 라이선스 처리 – 포함이 불가능한 폰트는 교체하거나 윤곽선 처리.
- 자동화 – CI/CD 파이프라인에 폰트 검증 단계 포함해 재현성 확보.
폰트를 부수적인 요소가 아니라 일차적인 자산으로 대우하면 문서의 시각적 일관성을 보장하고, 접근성을 유지하며, 예기치 않은 폰트 교체로 인한 재작업 비용을 방지할 수 있습니다. 단일 제안서든 수천 페이지에 달하는 다국어 보고서든, 이러한 모범 사례를 따르면 최종 파일이 저작자가 의도한 그대로 보여집니다.
타이포그래피의 미묘함은 종종 눈에 띄지 않지만, 이를 간과했을 때 드러나는 결과는 명백합니다. 정밀함을 중시하는 팀이라면 폰트‑인식 변환에 몇 분만 더 투자해도 브랜드 일관성, 법적 컴플라이언스, 사용자 경험 측면에서 큰 이득을 얻을 수 있습니다.
다양한 포맷을 지원하면서도 포함 권한을 존중하는 클라우드 기반 솔루션을 찾고 있다면, convertise.app을 통해 별도 회원가입 없이 간편히 이용해 보세요.