KTUG 한국 텍 사용자 그룹

Menu

KTUG :: 마당정보글 › 한글 폰트 설정하기. hangulfontset.

nanim | 2014.06.09 21:38:17 | 메뉴 건너뛰기 쓰기

XeTeX, LuaTeX이 도입된 이래 한글 폰트를 맘대로 쓸 수 있게 되어서 좋습니다.

그런데 의외로 \setmain... 어쩌구 하는 한글 폰트 설정 명령에 애를 먹는 분들이 계신가봐요.

사실 어렵지는 않은데 귀찮다고 할 수 있겠죠.


간단한 패키지를 하나 만들었습니다. 이름하여 hangulfontset.sty.


(1) 나눔글꼴 설정

\usepackage{hangulfontset} => 이것은 \usepackage[default]{hangulfontset}과 같습니다. 나눔명조/나눔고딕 한글이 설정됩니다.

\usepackage[defaultx]{hangulfontset} => 명조체 한글이 ExtraBold가 됩니다.

\usepackage[barun]{hangulfontset}  => 고딕체가 나눔바른고딕이 됩니다. (당연히 글꼴은 설치되어 있어야 합니다.)

\usepackage[barunx]{hangulfontset} => 고딕체를 나눔바른고딕으로 하고 명조체 볼드가 ExtraBold.

여기까지는 명조체에 한자가 나오지 않습니다.

\usepackage[nanum]{hangulfontset} => ExtraBold 명조와 한자. 한자는 NanumGothic의 것을 찍습니다.


(2) 사전설정된 글꼴 집합

\usepackage[hcr]{hangulfontset} => 함초롬LVT.


(3) 한글 글꼴 설정하기

[auto] 옵션: 볼드체를 자동으로 탐색합니다. 당연히 글꼴 가족이 정의되지 않은 글꼴에서는 찾기에 실패하므로 볼드도 그냥 보통체로 찍힙니다.

[user] 옵션; 볼드를 지정하면 그 글꼴을 쓰고 볼드의 지정이 없으면 FakeBold합니다. FakeBold가 xetex에서만 되는 건 다 아실테고요. 특히 이 옵션은 bold까지 모두 사용자가 지정해줄 때 씁니다.

[mj, mjbold, gt, gtbold] 각각의 글꼴 이름을 써넣습니다. 되도록 포스트스크립트 이름을 쓰는 것을 추천합니다. 예를 들면

\usepackage

[user,mj={HCRBatangLVT},mjbold={HCRBatangLVT-Bold},gt={HCRDotumLVT},gtbold={HCRDotumLVT-Bold}]

{hangulfontset}


auto나 user를 쓸 때, mj만 지정하면 gt 폰트도 이 폰트 설정을 따라갑니다. 반면 gt만 설정하는 것은 mj에 영향을 주지 않습니다.


(4) 한자 글꼴

한자 글꼴을 별도로 지정하려면 [hanja] 옵션을 활성화하거나 [hanjabyhangul]을 주어야 합니다.

[hanja]를 선언한 후에는 hjmj, hjmjbold, hjgt, hjgtbold를 지정할 수 있으며, auto 옵션이 주어지면 hjmj로 볼드체를 자동으로 찾으려 합니다. user 옵션이 주어지면 hjmjbold가 있는 것이 좋고 없으면 FakeBold합니다.


[hanjabyhangul]은 되도록 한글 글골에서 한자를 찾으려합니다만 한자가 없는 글꼴이라면 도리없겠죠.


* \fallbackhanjafont나 \fallbackhangulfont 등 fallback 폰트관련 사항은 이 패키지에서 지원하지 않습니다.

* setmonohangulfont 계열도 지원하지 않습니다. 필요하면 직접 써넣으세요.


(5) 속성의 추가

일단 이 패키지로 글꼴을 설정하면 FakeSlant가 동작합니다. (BoldItalic은 설정하지 않았습니다. 이게 필요할까요? 의견이 있으시면 반영하고요.)

Ligatures=TeX을 기본적으로 넘겨줍니다.

이 이외에 추가적인 font feature를 지정하려면, feature 옵션을 이용합니다.

\usepackage[feature={Color=blue}]{hangulfontset}


mjfeature와 gtfeature로 따로 구분하여 지정할 수도 있습니다. WordSpace라든가, interhchar라든가... 필요한 게 있으면 이 옵션을 이용하세요.


===

hcr을 기본 한글 폰트로 하고 한자 폰트만 mj/gt로 각각 부여해본 경우입니다.


\usepackage

    [hcr,hanja,hjmj={DX해서M.ttf},hjgt={MalgunGothic}]

    {hangulfontset}


KoPub으로 설정해본 예입니다.

\usepackage[user,  %% KoPub은 bold체를 지동으로 못 찾습니다.
   mj={KoPubBatangLight},
   mjbold={KoPubBatangBold},
   gt={KoPubDotumMedium},
   gtbold={KoPubDotumBold},
   hanjabyhangul,
   mjfeature={WordSpace=1.2,interhchar=-.03em},
   gtfeature={WordSpace=1.1}]
   {hangulfontset}
 


===

사용해보시고 이상동작, 기능개선 등이 필요하면 답글을 달아주세요.


첨부 [1]

댓글 [10]

댓글 쓰기

목록 삭제

KTUG 한국 텍 사용자 그룹