런대쉬 인증서 한글출력시 발생되는 문제
LearnDash 인증서에 한글이 모두 물음표(???????)로만 표시되어서 당황하신 경험이 있으신가요?
가장 일반적인 이유는 PDF 생성에 사용되는 기본 글꼴이 특정 특수 문자를 지원하지 않기 때문입니다.
그래서 인증서에 한글을 사용하려면 유니코드 지원 글꼴을 사용해야 합니다.
이번 포스팅에서는 런대쉬 사이트에서 인증서에 한글을 적용하는 방법을 설명해 드립니다.
우선 사이트를 먼저 백업해 두실 것을 권장해 드립니다.
문제의 발생원인
LearnDash는 TCPDF라는 타사 스크립트를 사용하여 WordPress의 인증서에 입력한 정보를 즉시 생성되는 PDF로 변환합니다. 이 스크립트는 LearnDash 플러그인에 포함되어 있으며 미리 결정된 몇 가지 기본값과 함께 제공됩니다. 이러한 기본값 중 하나는 글꼴입니다. 여기에 문제가 있습니다.
기본적으로 LearnDash는 TCPDF 기본 글꼴을 Helvetica로 설정합니다. LearnDash의 TCPDF와 함께 제공되는 Helvetica 버전은 UTF-8 문자 집합의 모든 단일 문자를 지원하지 않습니다.
해결방법
- 한글폰트의 TTF 파일을 TCPDF 포맷으로 변환하기
- TCPDF 폰트 파일들 (.z / .ctg.z / .php) 3개 파일을 런대쉬 tcpdf/fonts 폴더로 복사하기
- /opt/bitnami/apps/wordpress/htdocs/wp-content/plugins/sfwd-lms/includes/lib/tcpdf/fonts
- TCPDF Config 파일을 업데이트 하기
- 위 경로중 tcpdf/config/tcpdf_config.php 파일을 다운로드하여 비주얼스튜디오 등을 이용해서 편집합니다.
- define ('PDF_FONT_NAME_MAIN', 'helvetica'); 을 찾아서 define ('PDF_FONT_NAME_MAIN', '위 TCPDF폰트 파일명'); 으로 대체합니다.
- 중요! LearnDash를 새 버전으로 업데이트할 때마다 코드가 지워집니다. 글꼴 파일을 다시 업로드하고 구성 파일을 편집해야 할 수 있습니다. 현재로서는 이 문제를 해결할 수 있는 방법이 없으므로 이 3개의 파일을 저장합니다.