GTK+에서의 국제화

작성자 Owen Taylor

Red Hat Software

초벌 번역자 이만용 <yong@korealinux.co.kr> 번역일 : 1999년 6월 24일

번역 상의 오류에 대한 책임은 위 번역자에게 있습니다. 오역이라고 생각하시는 것이 있다면 연락을 주십시오. 단순 질문은 사절하며 토론은 환영합니다.

짧은 글이지만 GTK+ 의 국제화 부분 개발 방안에 대하여 핵심적인 사안들을 알 수 있고 인코딩 방식이 시스템 로케일 하나에 제한되어 있는 기존의 X 입력 방식(XIM)의 문제점 등에 대하여 이해할 수 있으리라 봅니다.

알짜 리눅스 6.0 패키지 작업을 하면서 그리고 여러 가지 GTK+, GNOME 관련 애플리케이션을 사용하면서 개발이 되길 원했던 방향을 적어도 이 문서 안에서 찾을 수 있었다고 생각하기에 번역합니다. 기타 GTK+, GNOME 관련의 국제화 관련 부분을 빨리 번역하여 시간은 남고 의지가 있는 한국 개발자들에게 도움이 되고자 합니다 :) 유니코드 방식으로의 전환을 대비하여 한국 개발자들이 새롭게 변모되는 GTK+ 국제화 방식에 빠르게 적응할 수 있기를 바랍니다.

요약

GTK+에서는 각 사용자의 모국어와 작성 시스템과 동작할 수 있는 애플리케이션 작성에 대한 기본 도구를 제공하고 있다. 현재의 구현 방식은 운영체제와 X 라이브러리가 제공하고 있는 기능을 사용하고 있으며 유럽과 동아시아의 주요 언어를 지원하고 있다.(역자 주 : 동아시아에 대해서는 불만족스럽게... 이 문제는 오로지 우리 개발자의 참여를 통해서만 해결될 수 있다.) 미래의 계획으로는 유니코드 표준과 오른쪽에서 왼쪽 방향으로 써내려가는 언어에 대한 지원 등이 있다.


소개

모든 국가, 모든 언어, 모든 작성 방식에 대하여 작동하는 소프트웨어를 만드는 일은 어려운 문제이지만 도전해 볼 만한 일이다. 고려해야 할 문제거리들이 매우 많다. 우선, 사용자가 자신의 언어로 텍스트를 입력할 수 있도록 대책이 마련되어 있어야 한다. 키보드 매핑을 바꾸는 간단한 일(보통 유럽 언어에 해당) 또는 상당히 복잡한 사전 훑어보기 처리 과정이 될 수 있다. 후자의 상황은 동아시아의 언어에 관련된 것으로서 사용자가 발음나는 대로 입력한 것을 수천 개의 문자로 이루어진 세트로부터 알맞는 표시 글자(ideograph)로 변환하는 일이 필요하다. (이러한 언어로는 CJK 언어라고 불리는 중국어, 일본어, 한국어가 있다.)

다뤄야 할 또 다른 문제로는 출력이 있다. CJK 텍스트를 출력할 때의 주요 문제점으로는 이에 사용되는 폰트가 매우 큰 문자 집합을 포함하고 있어, 로만 텍스트를 표시하는데 8 비트로 충분한 반면, 폰트를 인덱스하기 위해서는 각 글자마다 16 비트가 필요하다는 점을 들 수 있다. 로만 텍스트와 CJK 텍스트를 섞어 출력할 때에는 하나의 문자열을 출력할 때에도 여러 개의 폰트를 사용해야 한다. 중동 언어의 경우에는 또 다른 문제를 가지고 있는데 왼쪽에서 오른쪽으로 써가는 것이 아니라 오른쪽에서 왼쪽으로 써간다. 이 언어에 대해서는 화면에 출력하기 전에 문자를 재배열해야 할 필요가 있다.