KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
You are a bundle of energy always on the go.
FrontPage › KC2007/한글코드문제
윈도에서 KC2007로 한글을 처리하는 데 있어서 어려움을 겪는 경우가 있다. 이 글은 한글 코드 문제 때문에 빚어지는 문제를 처음 사용자의 입장에서만 다룬다. 더 전문적이고 상세한 내용은 이 위키 및 관련 사이트를 참조하라.

기본적으로 기억해야 할 것

  1. 한글 글자를 표현하는(컴퓨터가 이해할 수 있는 코드로 표시하는) 방법에 적어도 두세 가지가 있다.
    • 윈도우즈 기본 인코딩 : CP949, 확장완성형, UHC(통합한글코드) 등의 명칭으로 불린다.
    • 유니코드 : 국제표준으로 현대한글 음절문자 11172자를 표현할 수 있다는 점은 CP949와 같지만 코드값이 다르다. 여기서는 유니코드 UTF-8만을 문제삼는다. UTF-8이란 유니코드 표현 방법 중의 하나라고 생각한다.
    • EUC-KR : "완성형 한글" 또는 KS X 1001 완성형 한글 등으로 불린다. 윈도우즈 기본 인코딩과 같지만 표시할 수 있는 글자가 2000여자에 불과하다. "ㅤㄸㅗㅁ"이나 "ㅤㅅㅛㅍ" 같은 글자는 이 인코딩으로는 표현할 수 없다. 즉, CP949의 부분집합이다.
  2. TeX 문서와 한글 인코딩
    • ko.TeX의 패키지 사용법과 한글 인코딩의 관계는 다음과 같다.
      \usepackage{kotex} <===> 유니코드/UTF-8 
      \usepackage[euc]{kotex} <===> EUC-KR
      
    • 예전 패키지 호출 방법과 비교하면 다음과 같다.
      \usepackage{hfont}, \usepackage{hangul} <===> EUC-KR
      \usepackage{dhucs} <===> 유니코드/UTF-8
      
    • oblivoir는 오직 UTF8로만 저장해야 한다. EUC-KR 한글 코드는 쓸 수 없다.
  3. 인코딩 설정 방법

인코딩 혼선으로 인한 잘못된 결과들

FixMe. 그림 예제를 추가할 것.
  1. 잘못된 패키지 호출의 결과 나타나는 에러 메시지
    1. EUC-KR 인코딩으로 저장되었으나 \usepackage{kotex} 이라고 한 경우. 또는 oblivoir 문서를 윈도 기본 인코딩으로 저장한 경우.
      error_utf.png
    2. UTF8 으로 저장되었으나 \usepackage{hfont} 등이라고 한 경우
      => DVI 화면에 한글이 이상하게("깨진" 상태로) 표시되거나 pdflatex 등을 실행할 때 폰트를 찾을 수 없다는 메시지가 나옵니다.

  2. 인코딩 혼란으로 인하여 한글이 "깨지는" 경우 : 대부분의 유니코드 편집기(EmEditor 등)에서는 파일을 불러올 때 인코딩을 지정할 수 있다. 이 인코딩 지정이 잘못되어 나타나는 대표ㅤㅈㅕㄱ인 화면
    1. UTF8 인코딩으로 EUC-KR 파일을 연 경우
      eucutferr.png
    2. 윈도 기본 인코딩으로 UTF8 파일을 연 경우
      utfeucerr.png

질문과 답변

질문 1 : UTF8로 저장하거나 불러오거나 편집할 수 없는 편집기도 있습니까?

답변 1 : WinTeX, TeXnicCenter 등이 그러합니다. 오직 윈도 기본 문자세트로만 저장할 수 있습니다.


질문 2 : WinEdt, AcroEdit이 유니코드 처리가 불완전하다는 것은 무슨 뜻입니까?

답변 2 : 이 편집기들은 UTF8 형식으로 파일을 저장하거나 불러올 수는 있지만 그 범위에 제한이 있기 때문에 진정한 의미의 유니코드 편집기라고 하기 어렵습니다. 즉, 윈도 기본 문자세트만을 UTF8로 편집할 수 있을 뿐입니다. 그러므로 일어, 중국어, 한국어, 서유럽어 등이 모두 한 문서에 들어가는 다국어 문서를 편집할 수 없습니다. 한글과 영문만을 사용하는 문서라면 그럭저럭 사용할 만합니다. 반면 유니코드 편집기인 EmEditor는 이런 제한이 없습니다.


질문 3 : ''ko.TeX이 EUC-KR을 처리할 수 있다면 EUC-KR로 문서를 작성하고 hfont나 [euc] 옵션을 쓰면 되는데 왜 UTF8이 문제가 됩니까?''

답변 3 : 현재의 ko.TeXUTF8이 표준이고 EUC-KR 호환은 단지 하위호환성만을 위해 제공하고 있습니다. 즉, 예전에 만들어진 파일도 컴파일가능하게 하기 위한 것일 뿐입니다. EUC-KR 모드에서는 상당히 중요한 몇 가지 기능이 사용할 수 없게 되고 표시할 수 있는 문자 범위도 제한되므로 UTF8 유니코드 문서를 작성하는 것이 바람직합니다. 따라서 편집기와 저장 문자세트에 신경을 쓰는 것이 좋습니다.


질문 4 : ''실수로 윈도 기본 인코딩으로 저장하였습니다. 물론 \usepackage{kotex} 이라고 지정하였기 때문에 이것을 UTF8로 바꾸어야 합니다. 방법이 있습니까?''

답변 4 : 에디터에서 불러오기를 윈도 기본 인코딩으로 한 다음, 새로 저장할 때 UTF-8 저장 옵션을 설정해주면 됩니다. EmEditor는 대부분의 UTF8 인코딩 파일을 자동판별하며, WinEdt의 경우는 문서 앞머리에 다음과 같이 선언해두면 항상 일관되게 UTF8 문서인 줄로 알고 열어줍니다.
% -*- TeX:UTF-8 -*-
또, KC2007 유틸리티 중에 hencnvt라는 것이 있습니다. 이것은 한글 문서를 EUC-KR과 UTF-8 간에 상호변환하여줍니다. 다음은 사용예입니다.
# hencnvt -eu foo.tex ===> (EUC-KR -> UTF8)
# hencnvt -ue foo.tex ===> (UTF8 -> EUC-KR)
또는 iconv 유틸리티(KC2007에 포함되어 있습니다)를 이용하여,
# iconv -f CP949 -t UTF-8 foo.tex >foo-a.tex
이런 식으로 변환해도 됩니다.


질문 5 : 일관되게 UTF-8만을 사용하고자 합니다. 좋은 방법이 없을까요?

답변 5 : EmEditor에는 불러오기와 저장하기를 항상 특정 인코딩으로 할 수 있도록 설정가능합니다. 다른 에디터에도 비슷한 기능이 있을 것입니다. 한편 LyX을 사용하는 경우라면, 언어옵션에 활성화된 언어가 Korean이냐 KoreanUCS냐에 따라 인코딩을 자동 조정해주므로 사용자는 인코딩에 신경쓰지 않고 작업할 수 있습니다.

^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2007-10-06 09:45:21
Processing time 0.0579 sec