내일모레가 한글날이군요. 한글날을 맞아 한글에 관련된 IT이야기를 해 볼까요.

한글은 전 세계가 인정하는 가장 독창적이고 과학적인 문자입니다. ㄱ, ㅋ, ㄲ 처럼 비슷한 소리는 비슷한 모양을 하고 있다거나, 문자형태가 발음 모양을 본따고 있다는 것이 특징입니다. 또 자음과 모음을 정확히 구별해 사용하는 것도 다른 문자에서는 찾아보기 힘든 일입니다. 오죽하면 유네스코가 문맹퇴치 공로자에게 주는 상이름이 '세종대왕상'이겠습니까.

최근에는 인토네시아 부톤섬 바우바우시(市)의 소수민족 찌아찌아족(族)이 한글을 '공식 문자'로 채택했다고 전해져 화제가 되기도 했었습니다.

뭐니뭐니 해도 한글 위대함은 '정보화'에 대한 기여에 있습니다. 컴퓨터에 글을 입력하거나, 휴대폰 단문메시지를 보낼 때 한글만큼 편한 문자는 없습니다.

컴퓨터를 미국에서 개발했기 때문에 모든 것이 영어 위주로 돼 있음에도 한글의 과학성은 이런 한계를 극복할 수 있게 해주고 있습니다. 자국 언어를 소리나는 대로 알파벳으로 입력한 후, 자국 문자로 바꿔야 하는 일본글자나 중국글자와 비교한다면 우리는 세종대왕님께 큰 절 한번씩 올려야 할 정돕니다.


하지만 컴퓨터로 한글을 처리해온 역사는 간단치 않았습니다. 미국에서 컴퓨터를 처음 만들 때 한글을 염두에 두고 만든 것이 아니기 때문입니다. 지난 20년 동안 한글처리를 위해 조합형, 완성형,  확장완성형, 유니코드를 비롯해 다양한 처리 방식이 서로 경쟁해 왔습니다. 유니코드의 등장이후 이제는 한글코드에 대한 논쟁이 사라졌지만, 불과 10년전만해도 한글코드 처리 논쟁은 업계의 골치였습니다.

여기서 잠깐 한글코드의 조합형, 완성형 논쟁을 살펴볼까요. 컴퓨터가 0과 1로 모든 것을 표현하는 것은 아시죠. 알파벳은 1바이트(8비트)로 한 글자를 표현합니다. 한글은 2바이트(16비트)로 표현합니다.

완성형 vs 조합현 논쟁은 이 2바이트를 어떻게 표현할 것인가를 두고 벌어진 것이었습니다. 우선 조합형은 한글의 초성, 중성, 종성을 각각 5바이트씩 부여해서 처리하자는 생각입니다. 처음 시작을 1로 해서 한글임을 인식시킨 후 나머지 15비트를 5개씩 나눠 음소마다 부여하는 것입니다.

한글에서 한 글자가 초성, 중성, 종성으로 나눠져 있으니, 이 원리를 그대로 차용해 한글을 처리하자는 것입니다.

조합형의 장점은 한글로 표현되는 모든 문자 조합 1만1172자를 모두 다 표현할 수 있다는 것입니다. 한국어 단어에는 없는 '뷁'이나 '깈' 등의 문자도 조합형은 아무 문제없이 표현합니다.
필요한 경우 고어도 가능합니다.


반면 완성형은 한글 한 글자를 음소의 조합으로 보지 않고, 통으로 하나의 글자로 인식했습니다. 한글 한 글자를 그대로 16비트로 표현한 것입니다. 

하지만 초기의 완성형은 불과
2350자만을 표현할 수 있었습니다. 정상적인 한국어 표현에 등장하는 글자만 처리했던 것이지요. 당시에 '펲시콜라' '똠방각하' 등이 표현되지 않아 문제가 됐었습니다. 요즘 구형 휴대폰에서 완성형을 사용하는 경우도 종종 있습니다. 본인이 가진 휴대폰에서 '펲'이라는 글자가 입력되지 않는다면 이런 이유입니다.

이같은 문제가 발생하자 MS는 1995년 확장 완성형 코드를 선보였습니다. 이는 기본적으로 기존 완성형 코드을 그대로 사용하고, 기존 완성형 코드에서 표현할 수 없었던 한글 8822자를 새로운 영역에 추가시킨 것입니다. 덕분에 그 동안 표현되지 않던 펲시콜라, 똠방각하의 표현이 가능해졌습니다.

하지만 확장 완성형 코드도 문제가 있었습니다. 기존 완성형 2350자를 그대로 두고  8822자들를 추가하다 보니,가나다 순으로 정렬할 경우, 엉망이 돼 버린 것입니다. 또 초,중,종성을 구별하지 않다보니
맞춤법 검사, 형태소 분석 등 언어처리관련 SW를 만들 때 불편함이 있었습니다.

또 특정 업체가 만든 것이라는 한계도 있었습니다. 당시에는 기존 완성형과 조합형만이 한글코드의 표준이었습다.


하지만 MS의 힘은 엄청났습니다. 모든 글자를 표현할 수 있고, 과학적이며, 정렬 등에 문제가 없는 조합형을 밀어내고 확장완성형이 시장의 표준으로 자리잡기 시작했던 것입니다. 끝까지 조합형을 고수하던 한글과컴퓨터마저 '워디안' 버전부터 확장완성형을 채택하기 시작했습니다.(한컴측으로부터 정정요청이 들어왔습니다. 워디안 버전부터 확장완성형이 아니라 유니코드를 채택했다고 합니다)

하지만 이제는 확장 완성형이나 조합형 대신 유니코드가 대세로 자리잡았습니다.
유니코드는 전세계 문자코드의 표준화를 위해 업계가 함께 만든 것입니다. 유니코드는 완성형 방식을 따르면서도 조합형의 장점을 수용했습니다.

현대 한글 1만1172자를 모두 수용했으며, 조합형처럼 초성, 중성, 종성의 구별이 가능합니다. 결국 우리나라는 유니코드 2.0을 표준으로 받아들이면서 기나긴 한글코드 논쟁은 종결됐습니다.
저작자 표시 비영리 변경 금지
신고

티스토리 툴바