KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You will meet an important person who will help you advance professionally.
FrontPage › 트루타입글꼴사용하기
임의의 한글 트투타입 글꼴을 사용하는 방법은 두 가지가 있다. 하나는 전통적인 latex, pdflatex을 위해서 tfm 폰트 메트릭을 만들어서 사용하는 것이고, 다른 하나는 XeTeX에서 트루타입을 직접 사용하는 것이다. XeTeX에 관한 것은 해당 페이지를 보라.

TTF2HLaTeXFont를 이용한 트루타입 설정

KC2006을 기준으로, 자신의 폰트 세트를 인스톨하는 방법을 간단히 요약한다.
  • 인스톨할 폰트를 모은다. 주의할 점은 반드시 유니코드 폰트 인코딩으로 된 글꼴만이 사용가능하며 완성형 인코딩의 폰트는 사용할 수 없다는 점이다. 아래 진행 과정에서 이와 관련된 에러를 만난다면 적어도 Hangul-ucs에서는 사용할 수 없는 글꼴이므로 다른 글꼴 조합을 선택하여야 한다.
  • 이 폰트를 어떠한 이름으로 텍에서 사용할지를 지정한다. 예를 들어서 yn 이라는 이름으로 윤폰트를 저장하는 경우를 생각하면 다음과 같이 기록한다. 다음과 같은 내용의 파일을 config-yn 이라고 저장한다.
FOUNDRY: yn
FONTmj: f=bt m=YMJO120.ttf b=YMJO140.ttf
FONTgt:      m=YGO120.ttf b=YGO130.ttf
FONTmg:      m=Hahoem.ttf b=Hahoeb.ttf
실제 사용은 /usr/sh config-yn.bat
  • 자동화 하기 위해서 다음과 같은 배치파일을 만들어서 실행시킨다. 다른 운영체제에서라면 디렉토리 경로를 지정하는 것만 주의해서 교체하면 될 것이다. 그리고 PATH 변수의 지정 등은 굳이 필요하지 않은 경우도 많다. ttf2hlatexfont를 두 번 실행한다는 점에 주의하라. 한번은 폰트 파일을 조성하는 것이고 다른 한번은 인스톨을 위한 것이다. 또한 설치를 위한 디렉토리는 특별한 경우가 아니면 사용자의 home texmf tree를 이용하도록 한다.
    @ECHO OFF
    ttf2hlatexfont -c config-yn
    ttf2hlatexfont -c config-yn -i %HOME%\texmf
    
    • 배치 파일을 실행시키면 자동으로 텍이 이해할 수 있는 여러가지 파일로 변환을 시키고 인스톨을 하기 위해서 질문을 한다. 이때 yes 로 답한다. <!> 위의 폰트 파일을 처리하는 과정에서 ttf2hlatexfont가 "완성형 글꼴인 것 같다"는 메시지를 보이는 경우, Hangul-ucs 용 폰트 파일은 만들어지지 않는다. 그 폰트를 포기하고 다른 글꼴로 바꿔야 한다. 애석하지만 현재 유통되는 대부분의 한글 트루타입 폰트는 거의 대부분 완성형 글꼴이다. 아시아글꼴을 Hangul-ucs에서 사용할 수 없는 이유가 바로 이 때문이다. 윤폰트의 경우에도 완성형 인코딩의 윤명조/윤고딕이 인터넷에 많이 유통되고 있으므로 반드시 구매시에 유니코드 인코딩인지를 확인하는 것이 필요하다.
    • 중요. 자신의 home 디렉토리를 열어서 %HOME%\texmf\dvipdfm\config\dvipdfmx.cfg를 <DRIVE>:\TeX\share\texmf-local\dvipdfm\config\ 디렉토리로 복사한다. 또, %HOME%\texmf\ttf2pk\base\ttf2pk.cfg를 <DRIVE>:\TeX\share\texmf-local\ttf2pk\base\ 디렉토리로 복사한다. 원래부터 있던 같은 이름의 파일을 백업해두거나 덮어쓴다.
      • HOMETEXMF를 맨 처음 읽는 디렉토리로 하면 위와 같은 파일 이동은 불필요하지만, KC2006은 kcupdate가 texmf-local 아래의 설정 파일들을 관리하기 때문에 만약을 위하여 texmf-local의 설정 파일이 제일 먼저 읽히도록 되어 있다. 즉, 원칙적으로 모든 KC2006 사용자가 동일한 설정을 가짐으로써 kcupdate가 원활하게 이루어지도록 하려는 것이다. 이 순서를 바꿈으로써 업데이트 등이 제대로 이루어지지 않는 경우에 대해서는 자신이 책임져야 하므로, 조금 번거롭더라도 개인 설정은 위와 같이 직접 설정파일을 이동하거나 수정하는 것이 좋을 것이다.
    • 만약 원한다면 pdftex을 위한 map 파일을 작성한다.
      • ttf2hlatexfont에 -p 옵션을 주어서 만들어지는 pdftex map 파일은 KC2006에는 맞지 않다. 그러나 Linux/Mac 등 teTeX에서는 그렇게 하는 것이 필요할 것이다. pdftex의 map 파일을 만드는 규칙은 게시판 등을 참고하라. 다만, KC2006의 pdftex을 위한 map 파일은 2006-08-21 현재, 다른 어떤 TeX 배포판에서도 사용할 수 없다.
  • 설치한 폰트 사용하기

    • 새로 설치한 폰트 선택 명령을 정의한다. TeX의 소스 파일을 관리해보면 알겠지만 공연히 \textmj 류의 비표준적인 사용자 폰트 선택명령을 정의해서 사용하면 나중에 심각한 문제점을 겪게 될 수 있다. 그러므로 되도록이면 dhucs의 표준 폰트 선택 명령만을 사용할 것을 *강력히* 권장한다. 또한 사용자 폰트는 다른 사람에게서는 찾을 수 없는 폰트 세트일 것이므로 이 폰트 세트를 타인에게 강제할 수 없다. 이런 여러 가지 점을 고려한다면 다음 한 줄을 소스에 추가하는 것이 적절하다.
    \IfFileExists{krfnt.sty}{\usepackage{krfnt}}{}
    
    • 이 코드는 만약 krfnt.sty라는 파일이 발견되면 포함하고 없으면 무시하라는 것이다. 따라서 krfnt.sty에 원하는 폰트 설정을 해둔 다음 이 파일이 없으면 기본 글꼴 세트만을 사용하도록 정의한다. 다시 주의를 환기하자면 krfnt.sty가 없는 경우 컴파일이 불가능하도록 krfnt.sty에 사용자 명령을 정의해두면 안된다. 어떤 경우에도 기본 글꼴로 컴파일이 가능하도록 코드를 작성하는 것은 생각보다 대단히 중요하다. 예를 들어 \textgl과 같은 명령은 기본 폰트 세트를 이용해서 컴파일할 때 에러를 내기 때문에 좋은 코딩이 아니다.
    • 위의 사용자 글꼴 세트를 정의하였다면 다음과 같은 사용법을 생각해보자. mj, gt, mg 세 개의 글꼴을 본문에서 사용하려 할 때, serif에는 mj, sans serif에는 gt, 그리고 제목을 위한 별도 글꼴로 mg를 사용하려 한다. 이 때 문서의 프리앰블에는 다음과 같이 정의한다.
    \newcommand{\titlefont}{\sffamily}
    \IfFileExists{krfnt.sty}{\usepackage{krfnt}}{}
    
    • 그 다음에 krfnt.sty에는 다음과 같이 설정해둔다.
    \SetHangulFonts{ynbt}{yngt}{untz}
    \SetHanjaFonts{ynbt}{yngt}{ungt}
    \def\titlefont{\SetAdhocFonts{ynmg}{ungt}}
    
    • 이제 본문에서는 \titlefont라는 매크로만을 사용하게 되면, 윤폰트 세트가 설치된 경우에는 ynmg가 사용되겠지만 그렇지 않은 경우에는 적어도 \sffamily(은돋움)로 에러 없이 문서는 처리될 것이다.
    • 예제는 다음과 같다.
    \documentclass{article}
    \usepackage{dhucs}
    \newcommand{\titlefont}{\sffamily}
    \IfFileExists{krfnt.sty}{\usepackage{krfnt}}{}
    \usepackage{txfonts}
    \begin{document}
    안녕하세요?
    \end{document}
    

    이를 컴파일 하여 결과를 보면 윤폰트로 폰트가 변경되어 있는 것을 알 수 있다.



    ^
    Valid XHTML 1.0! Valid CSS! powered by MoniWiki
    last modified 2007-09-28 22:40:20
    Processing time 0.0557 sec