preparefont (rev. 1.3)

EDRSPIHCRSSRSS

preparefont

개요

XeLaTeX, LuaLaTeX 사용 상황에서 시스템에 없는 폰트를 임시로 인터넷을 통하여 다운로드받아 이용하기 위한 목적의 패키지
  • 컴퓨터가 온라인에 연결되어 있어야 한다.
  • Windows 시스템의 경우, KTUG 사설 저장소의 ktugbin 패키지가 설치되어 있어야 한다.
  • Linux/Mac에서는 wget과 curl을 사용할 수 있어야 한다.

설치

KTUG 사설저장소의 ksmisc 패키지를 설치한다.
$ tlmgr install ksmisc

사용법

\preparefontfile 명령은 두 개의 인자를 요구한다.
  • 등록된 폰트의 이름: 시스템에 등록된 폰트의 "폰트 이름"(파일이름이 아님)
  • URL
첫째 인자의 폰트 이름으로 해당 폰트를 검색한 후 없으면 두 번째 인자 URL을 다운받으려고 시도한다. 이 URL은 가상 주소 또는 redirect url이면 안되고 직접 해당 폰트 파일(.ttf, .otf, .ttc 등)을 가리키는 것이어야 한다. zip 압축파일이면 이를 다운로드받아 풀어주기도 한다. 단 unzip 유틸리티가 존재해야 한다.

예를 들어 unifont를 다운로드받아서 문서에서 활용하고자 한다면 다음 절차를 따른다. (자신의 컴퓨터에 unifont가 없는 경우)
  1. 다음과 같은 샘플 문서를 작성한다.
    \documentclass{article}
    
    \usepackage{kotex}
    \usepackage{jiwonlipsum}
    \usepackage{preparefont}
    
    \preparefontfile{Unifont}{https://ftp.gnu.org/gnu/unifont/unifont-7.0.06/unifont-7.0.06.ttf}
    
    \setmainhangulfont{unifont-7.0.06.ttf}
    
    \begin{document}
    
    \jiwon
    
    \end{document}
    
  2. 이 파일을 저장하여 xelatex에 --shell-escape 옵션을 주어서 실행한다.
    # xelatex --shell-escape <filename>
    
  3. 실행에 성공하면 해당 폰트 파일이 현재의 디렉터리에 저장되어 있다.

사용상 주의점

  • 반드시 --shell-escape 옵션을 주어서 실행해야 한다. 참고. EnablingShellEscape.
  • 다운받은 폰트를 문서에서 활용할 때는 \setmainhangulfont 등에 "폰트 파일 이름으로" 폰트를 지정해야 한다.
  • 다운로드 받은 폰트는 작업 디렉터리에 존재하며 시스템에 등록되지 않은 상태이므로 다시 컴파일하면 다시 다운로드를 시도할 수 있다. 일단 폰트를 다운로드받으면 해당 파일은 그 목적을 다한 것이다. (\preparefontfile 명령이 있음에도 불구하고 다운로드를 시도하지 않게 하려면 --shell-escape 없이 컴파일한다.)
  • 일반적으로 대부분의 폰트는 저작권 문제로 자유로운 전송이 불가능하다. open 글꼴이나 테스트 목적의 일시적 공유가 아닌 상업 폰트의 공유는 주의할 일이다.

응용: dropbox를 통하여 공유된 폰트

일시적으로 질문이나 기타 목적으로 폰트를 공유하여 테스트하고자 한다면,
  • dropbox의 공유 링크를 얻는다.
  • 위의 copy된 링크에서 ​www.dropbox.com 부분을 dl.dropboxusercontent.com으로 고치고 마지막의 ?dl=0을 삭제한 url을 적는다.

폰트가 문제가 되는 MWE의 작성 방법

  • 해당 폰트를 dropbox를 통하여 공유하고 \preparefontfile 명령으로 이 폰트를 다운받게 하는 형식으로 질문할 수 있다.