1. CP949, EUC-KR ¶
마이크로소프트 사가 도입한 코드페이지로서 KS C 5601 (완성형 한글)을 표현한 코드페이지였다가 윈도 95부터 통합형 한글 코드(UHC)로 확장되어 현대 한글 전부를 포함하게 되었다. 위키백과의 코드페이지949 항목 참조.
EUC-KR은 KS X 1001에 정의된 한글 문자(완성형 한글)의 인코딩 방식이다. 한글은 현대 한글 중 2350자만으로 이루어진다. CP949는 EUC-KR을 확장한 것이다. 즉 CP949의 UHC는 유니코드 한글 음절 영역의 현대 한글 완성형 문자 집합과 그 표현범위가 같지만 인코딩 방법은 다르다.
2. 한글 라텍과 EUC-KR ¶
초창기 한글 라텍은 EUC-KR 완성형 한글을 기준으로 만들어졌다. hLaTeXp, HLaTeX이 모두 그러하였다. 당시 소위 "조합형" 한글이 라텍 매크로에서 시도된 적은 없다.
8비트 문자(만)을 처리할 수 있는 텍 엔진 자체의 한계 때문에 2바이트 문자인 한글을 처리하기 위해서 (지금 생각하면) 온갖 편법과 꼼수가 난무하는(?) 방식으로 겨우겨우 한글을 처리할 수 있었기 때문에 16비트 문자까지 텍의 처리 능력을 확장하려 한 오메가(람브다)에 대하여 기대가 컸으며, 실제로 은광희의 HLaTeX 1.0은 Lambda에서 동작하는 한글 텍을 만들기도 하였다. HLaTeX-Lambda는 CP949의 UHC 한글, 즉 "모든 현대 한글 11172자"를 처리할 수 있었다.[1]
오메가와 람브다가 그다지 널리 쓰이지 못하고 사장된 후,[2]
XeTeX과 LuaTeX이 등장하여 유니코드를 자연스럽게 처리할 수 있게 됨에 따라, 한글 표현 문제는 최종적으로 해결을 보게 된다.
3.1. 레거시 텍 ¶
레거시 텍에서는 EUC-KR 범위의 한글밖에 처리하지 못한다. 이 방법은 비교적 낡은 것으로 권장하지 않는 것들이다. 어떤 경우든 UTF-8 유니코드 입력의 한글을 사용하는 것이 권장사항이지만 특히 레거시 텍의 경우에는 EUC-KR 한글을 처리하는 방법이 자연스럽지 못하므로 이런저런 한계(문제점)가 있을 수 있다.
- ko.TeX-euc 패키지를 사용한다.
- kotex 사설 저장소를 등록한 후
tlmgr install kotex-euc unfonts-base
명령으로 kotex-euc와 untype1을 설치한다.- 문서의 처음에
\usepackage[euc]{kotex}
- CJK 패키지를 이용한다.
- 다음과 같이 소스를 작성한다.
\usepackage{CJK}
...
\begin{CJK}[HL]{KS}{}
한글 문자
\end{CJK}
[HL]
옵션은 uhc type1 글꼴을 사용한다는 의미인데 현재 (TeX Live 설치만으로) 사용할 수 있는 한글 글꼴은 이것뿐이다.
- 다음과 같이 소스를 작성한다.