표준이 된 세벌식? - (11) 한글 부호계 변환 프로그램 '똑딱'

1) 제2 공병우 직결식을 다룬 한글 부호계 변환 프로그램 '똑딱'

  1980~1990년대에 '기종 간 통일'을 목표로 내세우며 공세벌식 자판을 개량해 나가던 공병우는 3-87 자판에 그치지 않고 3-891 자판(가칭)과 3-91 자판을 거듭 시험하였다. 초기 공병우 직결식의 틀에서는 공세벌식 자판 배열이 바뀔 때마다 직결식 한글 부호계와 글꼴의 부호값 대응 관계가 바뀌었으므로, 프로그램/글꼴 개발자들은 초기 공병우 직결식을 여럿이 함께 가꾸어 나갈 수 있는 한글 표현 방안으로 여길 수 없었다.

  하지만 표준이 된 세벌식? - (10) 첫가끝 조합형을 닮아 간 '제2 공병우 직결식'(https://pat.im/1190)에서 살핀 '제2 공병우 직결식'은 자판 배열이 바뀌더라도 한글 부호계와 글꼴을 그대로 쓸 수 있는 짜임새로 바뀌었다. 이 덕분에 표 19-6에서 본 제2 공병우 직결식 부호계와 그림 19-8에서 본 제2 공병우 직결식 글꼴의 문자 지도처럼 문자-부호값의 대응 관계를 한눈에 볼 수 있는 자료가 나올 수 있었다. 프로그램/글꼴 개발자들은 이를 바탕으로 공병우 직결식을 다루는 개발 작업에 더 깊이 뛰어들 수 있었다.

옛 하이텔의 매킨토시 동호회 자료실에 올라온 똑딱 1.1 자료 설명 (1994.8.13.)
[그림 20-1] 옛 하이텔의 매킨토시 동호회 자료실에 올라온 똑딱 1.1 자료 설명 (1994.8.13.)

  그러한 면모를 볼 수 있었던 프로그램으로 '똑딱(Toctac)'을 꼽을 수 있는다. '노성우'가 개발한 '똑딱'은 문서 파일을 KS 완성형 부호계(WanSung Code), KSSM 상용 조합형 부호계(JoHab Code), 제2 공병우 직결식 부호계(공 코드, Kong Code), 한 코드(Han Code)로 변환하는 기능을 담은 한글 부호계 변환 프로그램이었다.

똑딱 1.1 프로그램 정보
[그림 20-2] 똑딱 1.1 프로그램 정보
똑딱 1.1에서 변환한 한글 부호계 고르기
[그림 20-3] 똑딱 1.1에서 변환한 한글 부호계 고르기

  똑딱 1.1에 묶여 배포된 프로그램/글꼴 및 문서 자료는 아래와 같다.

  • 똑딱(Toatac) 1.1 프로그램
  • 글꼴 (권오훈 개발)
    • ChicagoHan : 영문 Chicago 글꼴에 '한 코드' 방식에 따라 한글 낱자들을 더함
    • GenevaHan : 영문 Genava 글꼴에 '한 코드' 방식에 따라 한글 낱자들을 더함
  • 도움말
    • '한 코드'로 넣은 도움말 파일 'README(Hangul-Han).txt'
    • KS 완성형 부호계로 넣은 도움말 파일 'README(Hangeul-Wansung).txt'
  • 자판 배열
    • 한 코드 방식으로 넣는 3-91 자판 배열 파일 'Han.bin' (KCHR 자원)
똑딱 1.1 실행 파일, 설명문과 KCHR 자원 Han 파일의 파일 정보
[그림 20-4] 똑딱 1.1 실행 파일, 설명문과 KCHR 자원 Han 파일의 파일 정보
한 코드를 따르는 ChicagoHan, GenevaHan 글꼴 꾸러미 파일 정보
[그림 20-5] 한 코드를 따르는 ChicagoHan, GenevaHan 글꼴 꾸러미 파일 정보

  제1 공병우 직결식을 따르는 글꼴과 부호계는 기준점을 특정 공세벌식 자판 배열에 두었다. 이 때문에 직결식 글꼴을 쓰려고 특정 공세벌식 자판을 억지로 쓴 사람이 있을 수 있었다. 표준 두벌식 자판에서 벗어날 수 없어서 공병우 직결식 글꼴을 쓰지 못하는 경우도 있을 수 있었다.

  하지만 똑딱 같은 한글 부호계 변환 프로그램이 있으면 자판 / 글꼴 / 부호계가 얽히는 문제를 다 풀지는 못하더라도 많이 줄일 수 있었다. 제2 공병우 직결식으로 넣은 글을 완성형/조합형 부호계로 바꾸어서 표준 두벌식 자판으로 편집할 수 있고, 표준 두벌식 자판으로 넣은 글을 제2 공병우 직결식 부호계로 바꾸어서 직결식 글꼴로 나타내는 일도 한결 수월하게 할 수 있다.

똑딱 1.1로 문서 파일의 한글 부호계를 변환하는 주요 장면 (움직그림)
[그림 20-6] 똑딱 1.1로 문서 파일의 한글 부호계를 변환하는 주요 장면 (움직그림)

  똑딱 프로그램의 도움말(그림 20-7)에는 공병우가 이끈 한글 문화원이 제2 공병우 직결식 한글 부호계를 담은 자료를 똑딱 개발자 노성우에게 제공했다는 내용이 나온다.

감사의 말씀
----------------
권오훈님께 많은 감사를 드리고 특별히 공공을 위해 자신의 한 폰트를 공개하여 주신 것에 고마움을 표합니다. 이 소프트웨어 패키지에 함께 제공되는 두 가지 폰트는 권 선생님에 의해 만들어졌습니다. 또한 공 코드표와 함께 한글 관련 자료를 제공하여 준 한글 문화원에 감사를 드립니다.

  일반인들이 접할 기회가 많은 자판 배열표와 달리, 부호계 표(코드 표)는 일반인들이 흔히 보는 매체에 공표되는 일이 드물고 몇몇 사람들을 통하여 전문 자료로 다루어지곤 한다. 한글 문화원이 노성우에게 제공한 '공 코드표'가 어떤 모습이었는지는 널리 알려진 바가 없지만, 표 19-6과 그림 19-8에서 본 제2 공병우 직결식 부호계 표나 문자 지도와 비슷한 꼴이었을 것이다.

  공병우 직결식의 한글 부호계가 제2 방식에서 공세벌식 자판 배열과 얽히지 않게 바뀐 것은 똑딱처럼 공병우 직결식 부호계를 다루는 프로그램이 나오는 계기가 되었다. 공병우 이외의 사람들이 따르기 어려웠던 제1 방식과 달리, 제2 공병우 직결식은 프로그램/글꼴 개발자들이 부호계 표를 공유하며 받아들일 수 있는 약속이 될 수 있었다. 자판 배열에 따라 달라지던 제1 공병우 직결식 부호계는 전문가들에게 내보이기 부끄러운 짜임새였지만, 제2 공병우 직결식 부호계는 프로그램 개발자들이 다룰 수 있는 짜임새가 된 것에 뜻이 있었다.

2) 똑딱 1.1의 도움말

  똑딱 1.1의 도움말에는 똑딱 프로그램에 관한 설명만이 아니라 '공 코드'(제2 공병우 직결식 부호계)와 '한 코드'를 비롯한 한글 부호계들과 한글 자판들에 관한 설명이 함께 들어 있다. 이 설명들 가운데는 다른 자료들에서 보기 어려운 중요한 내용도 있어서 도움말을 모두 그림과 글상자로 실었다.

  위쪽에 보이는 그림은 '한 코드'로 들어간 설명 파일을 매킨토시 화면에서 GenevaHan 글꼴로 본 모습이고, 아래는 KS 완성형 부호계로 들어간 설명 파일을 그대로 복사해서 옮긴 것이다.

똑딱 1.1 도움말 (글꼴: GenevaHan)
[그림 20-7] 똑딱 1.1 도움말 (글꼴: GenevaHan)
                                          똑딱 도움말

똑딱이란?
-------------
똑딱은 어떤것이 현저하게 변할때를 흉내내는 의성어입니다. 간단한 예로 시계소리를 똑딱이라고 하며 초침이 갈때똑딱이라고 합니다. 또 도깨비가 모습을 변할 때도 똑딱하고 사라집니다. 따라서 본 소프트웨어의 이름을 똑딱이라고 지었습니다.

똑딱은 현재 완성, 조합, 공, 한 코드 등 네가지 한글 코드를 지원합니다.
각각의 코드에 대한 간략한 설명은 이 파일의 한글 코드 부분을 참조하십시요.

똑딱은 하나의 한글 코드를 다른 것으로 변환하여 줍니다. 각각의 코드에 대해 코드 변환 표를 만드는 것이 번거롭기 때문에 완성-조합 코드표를 이용하여 나머지 코드를 변환하였습니다. 따라서 약간의 시간이 걸립니다. 앞으로의 개정판은 좀더 빠른 코드변환을 보여줄 것입니다. 속도문제를 포함하여 더 많은 기능을 가진 소프트웨어를 정보 통신 서비스와 지역 사설 전자게시판에서 기대하여 주십시요.

똑딱 이용법
----------------
똑딱은 시스템 7.0이상이 필요합니다. 사용자가 똑딱 애플리케이션을 열면 사용자의 반응을 기다리는 박스가 나타나고 사용자가 키보드나 마우스를 누르면 곧이어 표준 열기 다이얼로그가 나타납니다. 똑딱은 텍스트파일만 변환되므로 사용자는 소프트웨어 이용전에 자신의 좋아하는 워드 프로세서로 파일형을 텍스트로 바꾸어야 합니다. 이것은 대부분의 워드 프로세서가 지원하는 기능이므로 아무런 문제는 없을 것입니다. 변환된 문서는 원래의 파일 이름에 꼬리표가 붙게 되는 데 꼬리표는 원래의 문서 코드와 변환된 문서 코드의 앞글자를 괄호속에 표현하였습니다. 변환된 파일의 작성 애플리케이션은 원래의 텍스트 파일을 만든 애플리케이션과 같게 하였습니다. 옵션 메뉴에서는 사용자가 새로운 라인 선택을 할 수 있도록 하여 매킨토시와 아이비엠 피시와의 변환을 용이하게 하였습니다. 새로운 라인 선택은 애플리케이션이 종료될 때 저장되지 않으며 첫번째 버튼이 지정 버튼이라는 것에 유의하시기 바랍니다.

한글 코드
-------------
컴퓨터에서 한글의 구현은 여러가지 방법이 있습니다. 매킨토시와 같은 그래픽에 바탕을 둔 컴퓨터는 아이비엠 피시보다 한글 환경 구현에 한결 유리한 위치에 있습니다. 한글 환경이 어떠하든지 간에 이 소프트웨어에서 지원하는 완성, 조합, 공, 한 코드 등의 코드가 있습니다. 현대의 한글에서는 몇 자소들이 하나의 음절을 만들기 위해 결합됩니다. 각각의 음절은 초성, 중성, 그리고 선택적으로 종성으로 이루어져 있습니다. 따라서 모든 조합의 수는 초성(19), 중성(21), 종성(27+1)의 곱으로 구해질 수 있는 데 11,172자입니다. 적절한 한글 코드는 비록 약 4/5가 거의 않 쓰이더라도 모든 음절을 표현할 수 있어야 할 것입니다.

완성형 코드는 KSC5601로 제정된 것으로 KS 코드라고 알려져 있습니다. 완성형은 전체 11,172자의 한글 음절중에서 단지 2,350자만 코드로 정한 것이며 코드로 정해지지 않은 음절의 표현은 채움 코드 방식으로 표현하도록 되어 있습니다. 그러므로 완성형 한글은 전체 한글을 제대로 표현할 수 없다는 본질적인 단점을 내포하고 있습니다. 이러한 점을 극복하기 위해 정부는 1992년 10월에 당시 상용 조합 코드를 KSC5601에 포함시켰습니다. 조합형 코드는 완성형과 마찬가지로 2 바이트로 한글을 표현하지만 큰 차이점은 조합형이 채움 코드 방식과 같은 방법을 쓰지 않고 모든 한글을 코드화하였다는 점입니다. 조합형 코드에서는 2 바이트가 한/영 구별자, 초성, 중성, 종성의 네 가지로 나뉘어지는 데 한/영 구별자는 1 비트로 한글과 영문을 구분하여 주며 나머지 초중종성 부분은 각각 5 비트씩으로 따라서 조합형 코드도 세벌식 코드라고 할 수 있습니다.

완성형과 조합형 코드와 같은 2 바이트 한글 코드와 비교하여 1 바이트 코드가 공병우 박사에 의해 선을 보였는 데 그것은 자소를 코드화 하는 방식으로 매킨토시 컴퓨터에서 구현되는 게 보통입니다. 이것은 아스키 코드 128번 이상의 외국어 영역에 한글 자소를 배당한 것으로 외국 소프트웨어에서 한글을 쉽게 구현할 수 있다는 것이 장점입니다. 공 코드는 매킨토시에서 영문 폰트 리소스를 바로 이용할 수 있어서 누구나 쉽게 자신의 폰트를 만들고 변화를 줄 수 있습니다. 그러나 공 코드의 심각한 단점은 영문의 특수문자 영역을 한글 자소가 차지한다는 점이었습니다. 이러한 문제를 타개하기 위하여 필자와 권오훈님에 의해 한 코드가 만들어졌습니다. 권 선생님은 오래전부터 이러한 생각을 가지고 있었고 실제로 자신의 용도로 몇 가지 폰트를 만들기도 하였으며 본 소프트웨어와 함께 제공되는 시카고한과 지니바한 폰트를 만들어 주셨습니다. 한 코드 폰트는 권 선생님이나 다른 분들에 의해 계속 만들어 질 것으로 보는 데 다른 코드와 구별하기 위해 끝에 Han이라고 붙이는 것이 좋을 것입니다. '한'이란 '한강', '한글' 등의 용례에서 볼 수 있듯이 크다, 바르다, 등의 뜻을 가지고 있습니다. 한 코드는 영어의 특수 문자영역을 피해 작성되었으며 따라서 외국 소프트웨어에서 한글을 더욱 잘 구현할 수 있을 것입니다.

조합형이나 공, 한 코드 등의 세벌식 한글 코드화, 좀더 적확하게 이야기하자면 자소 코드화방식은 다음과 같은 이유로 유용하다고 할 수 있습니다.
(1) 모든 한글의 표현.
(2) 모든 가능한 옛한글의 표현 용이.
(3) 정렬이 용이.
(4) 편집과 찾기가 두벌식에 비해 용이.

자소 코드화 방식의 단점은 다음과 같습니다.
(1) 한글 한 자를 표현하기 위한 코드가 더 많이 소요됨.
(2) 하나의 자소가 하나의 자형을 가져 탈네모꼴이 되는 데 오히려 이러한 점이 한글모양의 다양성에 기여하는 점도 있음.

한글 코드문제를 접어두고라도 이와 연관된 문제로 한글 자판 배열이 있습니다. 공박사는 40년 전에 기계식 타자기를 위한 세벌식 자판을 개발하였습니다. 여기서 두벌식이란 초성과 종성을 구별하지 않는 것이며 세벌식은 구별하는 것을 의미합니다. 한글 코드 문제와 마찬가지로 다음과 같은 이유에서 세벌식 자판이 좀더 합당하고 적절한 것이라고 여겨집니다.
(1) 모든 한글 자소를 독립적으로 표현할 수 있다.
(2) 두벌식 자판의 거의 모든 문제를 해결한다.

역으로 두벌식 자판은 다음과 같은 문제점을 지니고 있습니다.
(1) 음절조합에 시간이 걸린다.
(2) 속칭 도깨비불 현상으로 자소가 조립되면서 화면상에서 앞음절과 뒷음절사이를 왔다갔다한다.
(3) 왼손에 걸리는 부하가 오른손에 걸리는 부하보다 높다.

따라서 미래의 자판은 필자의 견해론 다음과 같은 조건을 충족시켜야 될 것입니다.
(1) 세벌식 자판.
(2) 최소한의 자소가 자판에 배열되어야 한다 (초성 14, 중성 14, 종성 14의 전체 42).
(3) 새로운 자판은 기계식 전자식 타자기와 컴퓨터에 동일하게 적용될 필요는 없다. 오히려 컴퓨터만을 위한 것으로 최적화되어야 한다.

마지막으로 필자가 지적하고 싶은 것은 자소 코드화 방식이 꼭 세벌식 자판을 의미하지는 않는다는 것입니다. 세벌식 자판은 어떠한 코드와도 결합될 수 있으며 다른 자판도 마찬가지입니다. 따라서 필자는 한 폰트를 이용하는 두벌식 자판을 기대해 봅니다.

배포
------
이 코드 변환기를 위해 적지 않은 노력이 소요되었지만 한글 환경을 더욱 성숙시키기위해 이 소프트웨어는 개인적인 용도로 쓰는 누구에게나 무료로 제공됩니다. 그러나 반드시 애플리케이션과 함께 제공되는 도움말 파일(README file)과 같이 제공되어야 합니다. 또한 상업적인 용도로 본 소프트웨어가 이용되는 것을 금합니다. 따라서 매킨토시 컴퓨터 판매점 등에서 이 소프트웨어를 컴퓨터에 장착시킬 수 없습니다.

감사의 말씀
----------------
권오훈님께 많은 감사를 드리고 특별히 공공을 위해 자신의 한 폰트를 공개하여 주신 것에 고마움을 표합니다. 이 소프트웨어 패키지에 함께 제공되는 두 가지 폰트는 권 선생님에 의해 만들어졌습니다. 또한 공 코드표와 함께 한글 관련 자료를 제공하여 준 한글 문화원에 감사를 드립니다.

면책선언
------------
이 소프트웨어는 사용자가 모든 위험 부담을 감수하여야 하며 저자는 이 소프트웨어를 사용함으로써 발생하는 어떠한 문제에 관해 어떠한 책임도 지지 않습니다.

만든이
----------
이 소프트웨어에 대한 제안이나 의문사항, 버그, 불만사항 등은 다음의 주소로 보내주시기 바랍니다.

노성우
서울시 강남구 논현동 …(줄임)…
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요