Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
    • 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
    • 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
    • 최소 예제는 "Minimal working example"을 읽어 보세요.
  • 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
  • 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 사용하는 편집기는 CKeditor입니다.
    • 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
    • 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
    • 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.

noname

1. "옛한글을 지원하는" 폰트란 무엇인가?

잘 알려진 대로, 예전에는 폰트의 유니코드의 사용자 영역(Private User's Area: PUA)에 많이 쓰일 걸로 추정되는 (선택 기준은 알 수 없습니다) 옛글자 몇 천 자 정도를 만들어 넣고 이것으로 "옛한글 글꼴"이라고 주장하곤 했습니다. 그 기원은 새바탕, 새굴림, 한컴바탕, 한컴굴림 등 한양에서 제작한 폰트들이었고 그 후로 대부분의 소위 "PUA 옛한글 글꼴"에서 문자 배열이 이것을 따르곤 했으므로 "한양 PUA 옛한글"이라고 부릅니다.

그러나 이 방법은 표현할 수 없는 옛 문자가 존재할 수 있고 사용자 영역을 다른 폰트로 대치하면 전혀 엉뚱한 문자가 찍힐 것이기 때문에 제대로 된 한글 표현방법이라고 할 수 없었지요. 더욱이, 이미 우리에게는 옛한글 표현의 표준인 "자모 한글"이라는 방법이 있었음에도 이런 종류의 폰트로는 자모 한글로 표현되는 옛한글을 나타낼 수 없었기 때문에 비표준이라는 점에서 많은 비판을 받았습니다.

이 방식으로 옛한글을 표현하던 초창기 아래아한글과 MS Word는 그 후, 입력을 "자모 한글"("첫가끝" 또는 LVT라고 불리기도 합니다)로 하고, 이를 내부적인 처리를 거쳐 출력하는 방법을 마련한 것으로 보입니다. 현재 아래아한글이나 MS Word가 모두 자모 한글을 잘 구현하고 있습니다. (PUA 폰트라 해도 자모 한글로 입력한 옛한글이 제대로 출력되는 것을 볼 수 있는데 이는 프로그램 자체가 처리하는 것일 것입니다.)

우리가 기대하던 것은, 트루타입 오픈의 ccmp같은 feature를 이용한다면 폰트 자체가 자모 한글을 (아름답게) 출력할 수 있지 않은가 하는 것이었습니다. 왜냐하면 이것이 유니코드 표준이기도 했기 때문이지요. 그리고 이것을 가능하게 한 최초의 한글 폰트인 은 바탕이 십수년 전에 출현했습니다. 그리하여 현재 LaTeX에서 옛한글의 구현은 (pdflatex 제외)

  • 자모 한글로 입력하고
  • 옛한글 표현의 속성을 지닌 폰트를 이용하여 이것을 출력한다

는 방법을 따르고 있습니다. 이를 위해서는 반드시 자모 한글을 합성하여 옛한글 음절로 표현하는 feature를 지닌 폰트가 필요합니다. 이곳에서 "옛한글을 지원하는 폰트"라는 것은 바로 이러한 글꼴만을 가리키는 것이며 PUA 옛한글만 가진 폰트는 여기에 포함되지 않는 것으로 칩니다.

이 제대로 된 폰트를 사용하기 위해서 필요한 것은 [Script=Hangul]이라는 fontspec 옵션입니다. 위에 예시하신 YetHangul=On이라는 식의 옵션은 예전 xetexko에서 잠깐 채택한 적이 있는 것인데 현재는 필요없고 쓰지 않는 것이 옳습니다. (아마 사용하시는 시스템 자체가 매우 예전 것이라는 느낌이 듭니다만.) [Script=Hangul,Renderer=OpenType] 정도의 옵션이면 xelatex, lualatex 할 것 없이 모두 통할 것입니다. (특히 2020년에는 lualatex에 harfbuzz가 들어오기 때문에 Renderer=OpenType을 잘 기억하고 있는 것이 좋다고 봅니다.)

이제, 윤디자인의 어떤 폰트에 대한 대화인지는 모르겠으나 상업용 폰트 관련해서는 테스트해볼 수도 없으니 어떤 일이 일어난 건지 알 수 없지만 윤디자인의 폰트들이 대부분 그렇듯이 그냥 PUA 폰트일 가능성이 대단히 높아 보입니다. 예시한 중에 빙그레 메로나체와 전주 완판본체는 확실한 PUA 글골이고 석보체는 아예 PUA 옛한글조차 없습니다.

어떤 글꼴이 제대로 된 글꼴인가에 대해, pmhanguljamo-kdoc이라는 문서(http://ftp.ktug.org/tex-archive/language/korean/pmhanguljamo/doc/pmhanguljamo-kdoc.pdf )의 7페이지에 공개 글꼴 중에서 사용가능한 것을 모두 열거하고 있습니다. 그 중 Noto CJK (또는 Source Han)와 HCR이 가장 중요하다고 보는데, 지난 글들을 보면 이 두 폰트에 대해서 좀 심드렁하신 것으로 알고 있습니다. 모양이 맘에 안드는 거야 어쩔 수 없다지만 이 폰트의 중요성은 위에 설명한 "옛한글의 진정하고 완전한 표현"이라는 점에서 비교할 수 없는 중요성을 가진 폰트입니다.

2. PUA 한글 폰트를 이용할 수 없는가?

PUA 한글 폰트를 이용하려면 일단 소스에 옛한글을 PUA 코드로 입력해야 합니다. 예를 들어 "나랏말싸미 듕귁에 달아"라는 부분의 코드에 대해 보자면 옛한글로 입력해야 하는 "싸"(아래아)라는 자를 LVT로는 110A 119E로 입력하지만 이 글자의 PUA 해당 코드는 EBD4입니다. 제가 아는 한 PUA 옛한글을 입력할 수 있는 키보드 입력기가 아마 현재로서는 찾기 어려울 겁니다. 입력에 관한 한, LVT가 표준으로서 확립된 셈이지요.

그래서 일부 폰트 사용 설명서에서는 옛한글은 문자표를 보고 한 자씩 찍어 입력하라고 합니다만, 받아들이기 어렵더라고요.

그 대신, ko.TeX은 이런 경우를 위한 해결책을 이미 가지고 있습니다. 바로 jamo-normalize라는 강력한 유틸리티인데요, TeX Live에 이미 있으므로 바로 사용해볼 수 있습니다. LVT 입력된 텍스트를 PUA 코드로 바꾸려면 -p 옵션을 주면 됩니다.

$ jamo-normalize -p <test.txt >out.txt

이 유틸리티에 힘입어 원하시는 바 빙그레 레모나체나 전주완판본체와 같은 불만족스러운 폰트로 옛한글을 비슷하게 식자할 수 있습니다. (그래도 이것은 전혀 표준이 아니고, 이런 방식에서는 사성점을 처리하는 것도 난관인 등 문제가 많습니다.) 전주완판본체 사용례는 이미 위키에 있습니다. http://wiki.ktug.org/wiki/wiki.php/%ED%95%9C%EA%B8%80%ED%8F%B0%ED%8A%B8 

3. 기타

대략 이 문제에 대해 설명했는데 이 내용은 전부 ko.TeX 사용설명서, KTUG의 위키 페이지, 그밖에 여러 곳에서 유사한 내용을 확인할 수 있을 것입니다. 옛한글 문제가 완전히 해결된 지 10년도 더 지났으며, 이 문제에 기여한 KTUG의 공헌이 적지 않다고 생각하고 있는데, "뭔가 문제가 있는 거 같으니 검토해봐야 하지 않는지?"라고 말씀하신 것이 걸려서 쓸데없이 글이 길어졌습니다. 그러나 이 문제에 대해 한 번 정리하는 의미는 있겠네요.

결론을 말씀드리면, "정상적이고 표준적인 방법으로 옛한글을 식자함에 있어 기술적 문제는 없"습니다. 그리고 대부분의 상업용 폰트가 이와 같은 "표준에 부합하는" 폰트를 잘 내놓지 않는 이유는 (제가 아는 어떤 제대로 된 상업용 옛한글 폰트 하나는 거의 30만원 가까이 하더군요) 그게 별로 장사가 되지 않기 때문은 아닐지 짐작합니다. 요컨대 수요가 별로 없다는 거지요. 만드는 데 너무 많은 품이 들기 때문에 기업에서도 하지 않는 일을 취미로 개인이 (하자 들면 뭐 못 할 거는 없을수도...) 한다 해도 원하시는 "예쁜 모양을 가진" 옛한글 폰트가 자작으로 만들어지기는 힘들 거라 봅니다.

 




XE Login