andre518님의 UTF-8 전면 이행 주장에는 저도 전적으로 찬성합니다. 단, 그 주장 과정에서 두어 가지 오해하고 계신 부분이 있어서, 제가 알고 있는 바를 적어 봅니다.
andre518 wrote:
특히 캐릭터셋이 MS덕분에 뒤죽박죽(순서대로가 아닌 제정에 추가된 캐릭터의 혼재로 인해)되어 있다는 것도 화나는 일이지요..
앗, 정렬을 위해 한글 음절을 사전 순으로 배치해야 한다는 것은 오래 전에 깨어진 (저도 한때 그렇게 잘못 알고 있었던) 'urban myth'인데, 아직 잘 모르시나 봅니다.
Windows 949에서 한글 음절이 대한민국(DPRK의 사전 순서는 대한민국과 다릅니다. 그래서, DPRK의 대표단은 ROK 사전 순서인 ISO 10646/유니코드의 한글 음절 배열 순서를 변경해 줄 것을 요구한 적이 있습니다. 하지만, 이 단락에 적은 바와 같이 코드 포인트 순서와 정렬은 아무런 관계가 없으므로, 그 요구는 어느 누구도 귀기울여 듣지 않았습니다.)의 사전 순서가 아닌 것은 하등의 문제가 되지 않습니다. 그게 문제라면 당장 US-ASCII도 영어 사전 순서가 아닙니다. 또, ISO-8859-1이나 그 부분(첫 256자)과 코드 포인트가 100% 일치하는 유니코드 역시 서유럽 국가에서 사용하는 언어 가운데 어느 하나의 사전 순서도 아닌 순서로 글자를 배치하고 있습니다. 코드 포인트 순서로 정렬을 할 수 있는 언어는 이 세상에 단 하나도 없었고, 앞으로도 없을 것입니다. 유니코드가 아니라 각 언어별로 '멀티코드'를 수천, 수만 개 만든다면 모를까요? 정렬은 정렬을 위한 함수를 통해서 해야지 단순하게 코드 포인트 비교를 통해 하는 게 아니랍니다.
Windows-949는 MS가 엉터리 이름 사용을 고집하지 않고, Windows-949를 IANA에 제대로 등록해서 사용했다면 그리 나쁘지 않았을 수 있습니다. 바로 Windows NT4/2000/XP로 가지 않고 중간에 Windows 95/98을 거쳐야 하는 상황이었다면 MS로서는 괜찮은 공학적 선택이기도 했고요.
유니코드 역시 한글을 모두 표현할 수는 없습니다만, 65536개중 약 13000자 정도(제 기억이 맞는지 모르겠습니다만, 12000자에서 14000자 사이인걸로 기억합니다)를 한글이 차지할 수 있다는 것은 그야말로 과거와 비교하면 격세지감이요,
잘 해야 2350 (이것은 기존 KS X 1001 때문에 불가피하게) + 100 여자면 현대어에 쓰이는 한글 뿐 아니라 중세 국어 문헌까지도 완벽하게 표헌할 수 있음에도 불구하고 쓸데 없이 무려 11,172 완성 음절을 넣어 놓고, 현대어 완성 음절이 아닌 글자 표현을 위해 자모도 초성, 중성, 종성 각각 20 여자씩 100자 정도면 되었을 것을 무려 220 여자나 넣어 놓은 (후자는 DPRK가 ISO/IEC 회원국 권한이 일시 '정지된' 상태에서 결정이 이뤄지지 않았다면 - 그 뒤에 DPRK 대표단이 주장한 것에 비추어 보면 - 좀더 나은 방식으로 결정되었을 가능성이 있습니다. 흠... 이것은 아무개법 위반으로 걸고 넘어갈 수도 있겠군요
) 결과를 초래한 ROK 표준 당국의 '뚝심'(ISO/IEC JTC2 산하의 ISO 10646 담당 분과위에서 논란이 아주 많아서 투표 끝에 겨우 통과시켰지요)이 저는 전혀 자랑스럽지 않은데요
또, 어째서 한글을 일부만 표현할 수 있다고 생각하시는지 모르겠군요.
한글 자모 영역을 쓰면 모든 한글 음절을 잘 표시할 수 있습니다. 단, 화면 표시 엔진이 잘 처리해 주고, 이를 뒷받침하는 (적어도 한 벌의 무료) 글꼴(글꼴은 상당히 힘든 문제입니다.)과 입력기(이미 리눅스/유닉스용으로는 훌륭한 입력기가 있고, Mac OS X용도 아마 있을 것입니다. WIndows의 경우 Office XP/2003 사용자라면 쓸 수 있는 게 있고, 아마 '날개셋'?? 입력기가 지원하는 것 같더군요)가 있을 경우에 한해서요. 한국 국어 연구원 등에서 이 방법을 쓰지 않고, PUA(Private User Area)를 써서 고문 등을 DB화하는 것은 우려스러운 일입니다. (위에 적은 사정 상 불가피한 측면이 있습니다.) 하지만, 이미 그
PUA (한양의 글꼴에 있는 글자 배치에 따른) 코드를 표준 유니코드로 바꿀 수 있는 표도 한국 TeX User Group에서 만들어 놓았으니, 나중에 표준 유니코드로 변환하는 것은 그리 힘든 일은 아닙니다.
얘기가 잠시 옆으로 흘렀습니다만, UTF-8로 해도 현재 시스템의 한글환경과 100% 맞아 떨어지지 않고 EUC-KR로 해도 현재 시스템의 한글환경과 100% 맞아 떨어지지 않는다면 UTF-8로 이전하는게 향후의 유니코드 발전에도 맞지 않을까해서 드린 말씀입니다.
우선, UTF-8은 한글 표현에 전혀 문제가 없다는 점(단지 데이터 전송량, 저장량의 크기 증가 문제로 약간 고민을 할 수는 있겠지요)을 다시 한번 말씀 드립니다.
UTF-8의 전면적 사용은 제가 지난 몇 년 동안 꾸준히 주장하고 있는 바(2005년판 KIPA의 웹 표준 가이드의 문자 인코딩 부분을 읽어 보십시오)입니다. (시험용이 아닌 제가 만드는 모든 웹 페이지는 UTF-8만 사용합니다.) 하지만, 네이버 블로그와 같이 대규모 시스템이라면 서비스를 일시 중단한다거나 하기가 쉽지 않고, DB 이전, 프로그램 수정 (글자 한 자의 길이가 두 바이트라고 가정해 놓은 부분도 있을 것이고) 등의 작업 과정에서 예상치 못 한 문제가 발생할 수 있으므로 공학적 입장에서 지금 당장 옮기라고 요구할 수 없습니다. 따라서, 그게 힘들다면 우선 문자 인코딩 레이블을 고치고, EUC-KR 2바이트 표현 영역 밖의 글자를 NCR로 표시하라고 한 것입니다. 하기는 그렇게 하는 게 오히려 UTF-8로 넘어가는 것보다 더 세세한 부분에서 문제가 생길 가능성도 배제할 수 없게군요. 제가 네이버 블로그의 내부를 모르니 판단을 쉽게 내릴 수 없는데, 전자가 더 손쉬울 것이라고 속단하는 우를 범했습니다. 어ㅤㅉㅒㅆ든, 하루 속히 UTF-8로 넘어간다면 더할 나위 없이 좋을 것입니다.