XeTeX

내위키

유니코드를 기반으로 하고 운영체제의 글꼴 처리 시스템을 사용하는 TeX 시스템. 기존의 TeX 시스템은 ASCII와 비슷하게 텍스트 인코딩에 8비트를 사용하는 T1 인코딩을 사용했고 글꼴 처리를 위해서는 자체적인 METAFONT 시스템을 사용했다. 시간이 지나면서 다국어 처리 문제가 중요해지고, 유니코드가 텍스트 인코딩의 표준으로 정착되었다. 운영체제도 그래픽 기반 인터페이스를 기본으로 하면서 자체 글꼴 관리 및 처리 시스템이 발전하고 이에 따라 포스트스크립트, 트루타입, 오픈타입과 같은 방식의 글꼴이 널리 쓰이게 되었다.

TeX도 고유 전자문서 형식인 DVI 대신 PDF를 사용하는 pdfTeX이 나왔지만 기존의 텍스트 및 글꼴 처리 방식을 그대로 활용한 상태에서 출력 방식만 PDF를 사용했기 때문에 TeX이 가진 많은 한계점들이 그대로 이어졌다. 그래도 utf8 패키지로 유니코드를 원본 파일로 사용할 수 있었고, cjk, kotex 패키지와 같이 다국어, 특히 한국어를 위시해서 중국어, 일본어와 같이 글자 수가 많이 필요한 언어권도 지원하게 되었지만 사실 내부를 들여다 보면 여전히 예전 방식에 의존하면서 PDF의 기능을 활용해서 일종의 편법으로 문제를 해결했다.

XeTeX은 pdfTeX과는 달리 애초에 입력 파일을 유니코드 UTF-8 인코딩을 기본으로 한다. 또한 운영체제의 글꼴 관리 시스템을 사용하기 때문에 운영체제에 설치되어 있는 글꼴이라면 모두 갖다 쓸 수 있다. 따라서 트루타입이나 오픈타입이 가지고 있는 여러 가지 발전된 글꼴 처리 기능을 활용해서 더욱 정밀한 타이포그래피와 다국어 사용이 가능하게 되었고, 공돌이 개발자들이 달라붙으면서 이러한 기능을 극한까지 사용할 수 있는 갖가지 방법들까지 나왔다. 이제는 다국어 정도가 아니라 옛한글을 비롯한 여러 옛 문자, 심지어 고대 문자까지 자유롭게 쓸 수 있게 되었기 때문에 이러한 기능을 쓰기 위해 TeX을 배우는 인문학자들까지 있을 정도다.[1] LaTeX과도 잘 붙기 때문에 XeLaTeX으로 써도 잘 돌아간다. 사실 대부분 사용자는 XeLaTeX으로 쓰고 있다.

원래는 맥OS용으로 나왔다가 점차 확장되어 이제는 윈도우리눅스도 문제 없이 지원한다. 출력 파일은 PDF를 기본으로 한다. pdfTeX은 사실 옵션을 주면 DVI 파일로 출력할 수도 있지만 XeTeX은 아예 안 된다. pdfTeX은 기존 TeX의 기존 문자 인코딩 방식을 그대로 사용하면서 결과물만 PDF로 내놓지만 XeTeX은 아예 유니코드 기반에 시스템 글꼴을 그대로 쓰기 때문에 DVI를 만들 수 없다.

각주

  1. 실제 TeX 관련 커뮤니티애는 희귀문자 및 고대문자 사용법을 문의하는 글이 가끔 보인다. 옛 글자나 고대 문자의 경우, 기존 워드프로세서도 글꼴만 설치하면 사용은 할 수 있지만 어떻게 입력할 것인가 때문에 돌아버리는 일이 많다. 이럴 때는 TeX의 명령어 기반 입력 방식이 오히려 훨씬 편할 수 있다.