마크다운(Markdown) 문서를 PDF로 변환하는 과정에서 중국어, 일본어, 한국어(CJK) 텍스트의 조판(typesetting) 품질 저하는 오랜 문제였습니다. 하지만 최근 'md2pdf'라는 새로운 오픈소스 도구가 이 문제를 해결하며 주목받고 있습니다. 이 도구는 마크다운 파일을 A4 크기의 고품질 PDF로 변환하며, CJK 텍스트를 포함한 다양한 언어의 줄 간격, 자간, 정렬 등을 인쇄물처럼 깔끔하게 처리합니다.
기존의 많은 마크다운-PDF 변환 도구들은 웹 브라우저 엔진을 통해 HTML을 인쇄하는 방식으로 작동했습니다. 이는 라틴어 텍스트에는 비교적 잘 작동하지만, CJK 텍스트에서는 줄 간격이 너무 좁거나, 텍스트 정렬이 어색해지는 등의 문제가 발생했습니다. 특히 macOS에서는 시스템 폰트인 핑팡(PingFang)을 서드파티 엔진이 PDF에 포함할 수 없는 기술적 제약이 있었습니다. md2pdf는 이러한 한계를 극복하기 위해 두 가지 주요 접근 방식을 사용합니다. 첫째, 판독(pandoc)을 이용해 마크다운을 팁스트(Typst) 형식으로 변환하고, CJK 혼합 스크립트에 최적화된 템플릿으로 컴파일합니다. 둘째, macOS 사용자만을 위해 코어텍스트(CoreText) 엔진을 활용, 판독으로 마크다운을 HTML로 변환한 뒤 웹킷(WebKit) 프로그램을 통해 시스템 핑팡 폰트를 사용하여 렌더링하고 PDF로 만듭니다. 이 방식은 실제 핑팡 폰트를 PDF에 포함하는 유일한 방법으로 알려져 있습니다.
md2pdf는 파이썬(Python) 패키지로 제공되며, 판독과 팁스트를 시스템 PATH에 설치해야 합니다. 기본적으로 Noto Sans CJK 폰트를 사용하며, macOS에서는 히라기노(Hiragino), 송티(Songti) 등 다양한 폰트 프리셋을 지원합니다. 또한, 사용자가 직접 폰트를 지정하거나 템플릿을 커스터마이징할 수 있는 유연성을 제공합니다. 이 도구는 단순히 마크다운을 PDF로 변환하는 것을 넘어, 전문적인 보고서나 문서 제작 시 CJK 텍스트의 미려한 조판을 가능하게 함으로써 문서의 가독성과 완성도를 크게 높일 수 있습니다. 특히 기술 문서, 논문, 보고서 등 다양한 분야에서 다국어 문서를 작성하는 사용자들에게 매우 유용할 것으로 기대됩니다.