노무현 대통령 배너
BLOG main image
왕미친놈의 왕미친세상입니다. 미친 소리는 써도 되지만, 근거 없는 소리는 쓰면 안 됩니다.


한컴오피스 베타버전 버그 26 - 유니코드 버그 2 및 문자표 버그 3

ᄒᆞᆫ글2010 베타버전을 사용하다 보니 문자표와 관련하여 이해하기 힘든 동작을 발견했습니다. 뭐, 문자표와 관련한 벌레 가운데 이해할 수 있는 벌레가 하나도 없었지만요.
게다가 이 벌레는 가장 먼저 발견(2009년 12월 30~31일경 발견)했음에도 그 벌레 발생의 규칙성을 알지 못해서 버그 리포팅을 하지 못하고 있었습니다.

벌레의 유형

ᄒᆞᆫ글 씨! 똑같은 글자이건만, 앞서 불러온 문자에 따라, 다르게 취급할 필요가 있나요? 그리고 유니코드 4자리에게서 안 나타나는 벌레가 왜 유니코드 5자리에서 나타나서 사람을 괴롭히게 만들어요?

개발자의 답변

2010년 1월 26일 버그 리포팅을 한 상태입니다.

벌레의 발견

이 벌레의 증명에는 동영상을 사용하지 않기로 했습니다. 글쇠 하나만 잘못 눌러도 ᄒᆞᆫ글에서 이 벌레를 만날 수 없습니다. 결국 ᄒᆞᆫ글 프로그램을 다시 실행해야 했습니다. 뭐 지금은 정확하게 이 벌레를 나타나게 만들 수 있지만 조금 귀찮습니다. 또한 동영상이 없어도 설명하는 데는 지장이 없습니다.

그리고 이 벌레는 앞서 설명했듯이 4자리의 유니코드에서는 나타나지 않습니다. 또한 이전에 사용했던 유니코드 문자가 5자리 이상이라면 이 벌레는 나타나지 않습니다.

준비 : 이전에 사용한 문자표의 문자 영역 재설정

아무 문자, 특히 영문자(로마자; 라틴 문자)나 숫자를 골라서 영역을 설정한 뒤에 문자표를 부릅니다. 이때 영역(블럭)을 설정의 방향은 상관이 없습니다. 이전에 사용한 문자표의 문자 영역 재설정하는 작업이 이 벌레를 발견하는 데에 매우 중요합니다.

예제 문서와 작업 준비 화면

예제 문서와 작업 준비 화면


이전에 사용한 문자 및 문자 영역을 재설정

이전에 사용한 문자 및 문자 영역을 재설정

위와 같은 화면에서 화면에 보이는 숫자 가운데 하나를 블럭 지정하여 문자표를 불렀습니다(단축키는 Ctrl+F10). 참고로 예제 문서는 Unicode-Test-2.hwp입니다.

앞서 입력한 문자가 유니코드 4자리일 때

이번 테스트에 이용할 문자는 준비 화면에서 보이는 한자들입니다.

한자에 커서를 두고 블럭 설정

한자에 커서를 두고 블럭 설정

위 그림처럼 한자 앞에 커서를 두고 블럭을 설정합니다. 이미 앞서 문자표로 불러왔던 문자의 유니코드 번호가 4자리였습니다.[각주:1]

블럭 설정

블럭 설정

위 그림처럼 블럭을 설정한 뒤 문자표를 불러옵니다. 단축키 사용해 주십시오. 지난번 그 벌레가 나오면 감당 못합니다. 단축키는 Ctrl+F10입니다.

유니코드 번호가 0208?? 설마?

유니코드 번호가 0208?? 설마?

저 번호가 맞다고 생각하지는 않겠죠? 참고로 U+0208의 문자는 다음과 같습니다.

라틴 확장-B 문자 영역에 나타난 U+0208

라틴 확장-B 문자 영역에 나타난 U+0208

어이, ᄒᆞᆫ글 씨! U+0208는 한자가 아니라 라틴 확장-B라는데요.

앞서 입력한 문자가 유니코드 5자리 이상일 때

앞서 입력한 문자가 유니코드 5자리 이상인 상황은 만들기 쉽습니다. 그냥 한자에 커서를 두고 블럭 설정 화면에 보이는 한자를 골라 문자표를 두 번 연속으로 불러 내면 됩니다.

정상적으로 출력된 유니코드 번호

정상적으로 출력된 유니코드 번호

거참, 처음부터 이렇게 제대로 나오면 좀 좋습니까?

벌레 분석

무슨 까닭에서인지 맨 처음에 유니코드 번호 다섯 자리 이상인 문자를 제대로 인식하지 못한 듯싶습니다.

관련 벌레

이 벌레와 관련이 있는 벌레는 다음과 같습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 이때 유니코드 번호가 4자리라는 말의 뜻은 어떤 문자의 유니코드 번호를 16진수 4자리 이내로 표현할 수 있다는 뜻입니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

나는 ᄒᆞᆫ글을 자주 쓰는데, 가끔 ᄒᆞᆫ글에 없는 한자를 볼 때면 난감하기 그지 없습니다. 또 가끔이지만 유니코드의 코드 목록을 알고 싶어하는 사람이 있는데, 그럴 때도 참 난감합니다. 뭐, 난감한 이유는 그 답이 어려워서가 아니라 한글 자료가 부족하기 때문입니다. 그런데 실상 그 자료를 보면 한국어를 꼭 알 필요는 없음을 알게 됩니다. 코드표 또는 문자표라는 것은 그저 글자만 죽 나열한 것이기 때문입니다.

유니코드의 코드표 - 한 글자 찾기

유니코드의 문자 목록은 당연한 말이겠지만, 유니코드 컨소시엄 홈페이지(http://www.unicode.org/)에서 구하면 됩니다. 그런데 그걸 알려주면 영어라고 싫어하거나 화를 내는 사람이 있습니다. 앞서 말한 "난감한 이유"가 이것입니다.

각설하고 유니코드 문자 목록이 기록된 문서를 찾아가 봅시다.

유니코드 컨소시엄 홈페이지

유니코드 컨소시엄 홈페이지

홈페이지에 접속한 뒤에는 목적을 정확히 정해야 합니다. 이 사이트에는 매우 많은 정보가 있어서 정확한 목적에 맞는 자료를 찾기가 오히려 쉽지 않기 때문이죠. 일단 문자 목록 또는 코드표(문자표)만을 찾아봅시다.

코드표를 찾는 이유가 그저 한두 글자를 찾을 생각이라면 그냥 코드표(Code Charts) 페이지를 찾으면 됩니다.

코드표 페이지 찾아 가기

코드표 페이지 찾아 가기

유니코드 컨소시엄 홈페이지에서 The Unicode Standard를 클릭, Code Charts를 클릭합니다.

유니코드 문자표 페이지

유니코드 문자표 페이지

위와 같이 언어별로 코드 영역별로 구분이 되어 있습니다. 오른족에 보이는 CJK로 시작하는 부분이 바로 한자에 대한 유니코드입니다. CJK는 Chinese, Japanese, Korean을 합쳐서 부르는 명칭인데, 세 나라 언어에서 공통된 부분이 바로 한자입니다. 친절하게 괄호로 묶어서 Han이라고 표기해 주었죠.

만약 코드 번호를 알고 있다면 맨 위에 보이는 Look up by character code: 라는 부분에 입력하면 됩니다. 시험삼아 004B를 찾아 보았습니다. 004B는 영문자 K 입니다. 유니코드에서는 Latin(라틴 문자)으로 표기되어 있습니다.

찾을 코드 번호를 입력하고 [Go]를 클릭!

찾을 코드 번호를 입력하고 [Go]를 클릭!


정상적으로 찾아준 화면

정상적으로 찾아준 화면

위의 화면은 정상적으로 찾아준 화면입니다. http로 시작하는 곳을 살펴보면, 우선 http://www.unicode.org/charts/PDF/U<입력한 코드 번호가 들어 있는 영역>.pdf 라는 형식을 가지고 있습니다. 그리고 그 뒤에 (0.4 MB)라는 형태로 pdf 파일의 용량을 표시하고 있지요.

그렇다면 존재하지 않은 유니코드 번호를 입력하면 어떻게 될까요? ᄒᆞᆫ글에서 가끔 나타나는 F로 시작하는 유니코드 주소를 입력해 보겠습니다. F0704를 입력하기로 하죠.

존재하지 않으리라 여겨지는 코드 번호를 입력하고 [Go]를 클릭!

존재하지 않으리라 여겨지는 코드 번호를 입력하고 [Go]를 클릭!


얼핏 보면 정상적으로 찾아준 듯싶은 화면

얼핏 보면 정상적으로 찾아준 듯싶은 화면

위 화면은 얼핏 보면 정상적으로 찾아주었다고 여겨집니다. 하지만 결정적으로 용량 부분이 특이합니다. 바로 (0.0 MB)이라고 되어 있지요. 펄 스크립트가 자동으로 생성해 주는 웹페이지이기 때문에 나타나는 현상으로 여겨집니다. 아무튼 저렇게 용량이 0.0 MB이면 파일이 없는 것이고, 따라서 그 번호를 가진 유니코드는 현재 존재하지 않습니다.

유니코드의 코드표 - 언어별 찾기

유니코드 문자표 페이지에서 자신이 자주 쓰는 언어의 코드표만 받아서 보면 됩니다. 클릭하면 다운로드가 되거나 웹브라우저에서 바로 볼 수 있습니다.

하나하나 받기 귀찮은 사람은 http://www.unicode.org/charts/PDF/ 라는 주소에서 플래시겟 등의 다운로드 관리자를 사용하여 몽땅 내려받을 수도 있습니다.

유니코드의 코드표 전체 찾기

유니코드 전체의 코드 번호 및 코드표를 찾고 싶다면 The Unicode Standart를 클릭한 뒤, 이어서 Latest Version을 클릭합니다. 그러면 현재 존재하는 가장 최신 버전의 웹페이지로 이동합니다.

유니코드 최신 버전 페이지 찾아 가기

유니코드 최신 버전 페이지 찾아 가기


Unicode 5.2.0 웹페이지 - 현재 최신 버전입니다.

Unicode 5.2.0 웹페이지 - 현재 최신 버전입니다.

여기에서 우리가 찾으려는 자료는 유니코드 코드표 전체입니다. 앞서 유니코드 문자표 페이지에서도 유니코드 코드표 전체를 보았습니다만, 여기에서 찾는 것은 그렇게 나뉜 자료가 아니라 한데 묶인 자료입니다. 그렇게 유니코드 문자가 한데 묶인 자료를 유니코드 캐릭터 데이터베이스(the Unicode Character Database (UCD))라고 부릅니다.

왼쪽에 보이는 5.2.0 UCD 부분이 우리가 찾는 그것입니다.

왼쪽에 보이는 5.2.0 UCD 부분이 우리가 찾는 그것입니다.

왼쪽에 있는 사항을 설명하자면 다음과 같습니다.

  • (files) : 유니코드 표준 5.2.0의 최종 데이터 파일을 모아두었습니다. 우리가 찾으려는 파일도 여기에 있습니다. 세 개의 하위 디렉터리가 있는데, "ucd" 디렉터리는 UCD의 데이터 파일이 들어 있고, "charts" 디렉터리에는 유니코드 5.2.0 표준에 정확히 대응하는 코드표PDF 파일 형태로 들어 있습니다(The "charts" subdirectory contains an archival set of pdf code charts corresponding exactly to Version 5.2.0.). 마지막으로 "ucdxml" 디렉터리에는 UCD의 XML 버전이 들어 있습니다.
  • (about) : UCD에 대한 대략적인 설명이 들어 있습니다.
  • 5.2.0 Zipped files (for bulk download) : 유니코드 5.2.0 표준의 주요 부분으로 이루어진 Zip 파일을 다운로드합니다.

(files)을 클릭하여 디렉터리에 들어갑시다.

유니코드 표준 5.2.0의 최종 데이터 파일이 있는 디렉터리

유니코드 표준 5.2.0의 최종 데이터 파일이 있는 디렉터리

위 그림에서 charts를 클릭합니다. 이 모습은 웹브라우저마다 달라지므로 대충 비슷한 형태나 낱말을 찾아야 합니다.

위의 화면에 나타난 PDF 파일 3개가 전부입니다. 그런데 용량이 장난 아니게 큽니다. 이제까지 멀티미디어 파일이 아닌 일반 문서 파일이 저렇게 큰 것은 처음 봤습니다.

다운로드할 때 속도는 그리 빠른 편이 아니므로 느긋하게 기다려야 합니다. 실제 코드표에 해당하는 파일은 CodeCharts-MulticolHan.pdf 파일(71M, 한자 영역 데이터), CodeCharts-noHan.pdf 파일(15M, 한자 영역을 제외한 데이터)입니다. 이 두 파일은 무려 1천 쪽이 넘는 방대한 분량이므로 그냥 그러려니 하십시오. 그리고 RSIndex.pdf 파일(24M, 완벽한 유니한 부수별 한자 색인(Unihan Radical Stroke Index)) 파일입니다. 이것도 나름대로 쓸모가 있습니다.

이 파일을 모두 다 받아서 적당한 곳에 둔 뒤 PDF 파일 뷰어로 살펴보면 됩니다. 사용은 각자 알아서 하기 바랍니다. 저는 물가에 데려갈 수는 있어도 물을 떠먹일 재주는 없는 사람입니다.

덧붙이는 말

앞으로 이 코드표 파일을 참조하는 일이 생길 수도 있습니다. 그러므로 받아 두면 게시글을 읽는 데도 도움이 되리라 생각합니다. 그리고 PDF 뷰어 프로그램은 어도비 어크로뱃 리더가 가장 좋습니다. 물론 유니코드 컨소시엄에서 받은 자료만 본다면 다른 뷰어도 좋다. 하지만 현재까지 옛한글 등을 보기에는 가장 좋은 PDF 뷰어입니다. 단점은 지나치게 무거워서 자주 쓰기에는 여러 모로 부담이 되는 프로그램입니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전 버그 25 - 문자표 버그 2

ᄒᆞᆫ글2010 베타버전과 유니코드 버그 1 및 문자표 버그 1 문서를 작성하며 ᄒᆞᆫ글2010 베타버전에서 검증하는 과정에서 문자표와 관련한 황당한 동작을 발견했습니다.

벌레의 유형

ᄒᆞᆫ글 씨! 똑같은 문자표 아이콘이건만, 왜 때와 장소에 따라 역할이 달라지나요? 언제나 변치 않는 녀석이 더 좋답니다.

개발자의 답변

2010년 1월 25일 버그 리포팅을 한 상태입니다.

벌레의 발견

일단 동영상 두 개를 보고 나서 설명하겠습니다.[각주:1]

위 동영상(사례 1)은 ᄒᆞᆫ글 아래에 다른 프로그램이 없는 경우입니다.

위 동영상(사례 2)은 ᄒᆞᆫ글 밑에 다른 프로그램이 있는 경우입니다.

아무튼 두 경우 모두 리본 메뉴가 완전히 나타난 상태에서만 정상 작동하고, 리본 메뉴가 접힌 상태에서 메뉴를 클릭하여 임시로 펼쳤을 때에는 약간 이상한 동작을 하였습니다.

사례 1 살펴보기

일단 ᄒᆞᆫ글에서 한 글자를 선택하여 범위를 지정하고 문자표 보기(단축키는 Ctrl+F10)를 합니다. 그러면 범위를 지정한 글자를 문자표에서 찾아줍니다. 그런데 이 작업을 마우스로 아이콘을 클릭하거나 메뉴의 항목을 클릭함으로써 작동시켜 보았더니 위의 동영상에 나타난 벌레가 나타나더군요.

일단 앞서 다운로드한 그 문서(Unicode-Test-1.hwp)를 이용하여 봅시다. 아니면 직접 만들어서 시험해도 됩니다.

ᄒᆞᆫ글 아래에 아무것도 없는 상태

ᄒᆞᆫ글 아래에 아무것도 없는 상태

위 그림처럼 ᄒᆞᆫ글이 최상위에 위치한 경우의 반응을 먼저 보겠습니다.

리본 메뉴를 접은 상태에서 한 글자를 블럭 지정

리본 메뉴를 접은 상태에서 한 글자를 블럭 지정

위와 같이 한 글자를 블럭 지정합니다. 그 뒤에 입력 메뉴로 마우스를 가져갑니다.

입력 메뉴의 마우스를 가져가기 전 모습(왼쪽)

입력 메뉴의 마우스를 가져가기 전 모습

입력 메뉴의 마우스를 가져가져간 뒤의 모습(오른쪽)

입력 메뉴의 마우스를 가져가져간 뒤의 모습


입력 메뉴 확대

입력 메뉴 확대

위의 확대 그림에서 1번 쪽(글자 부분)을 클릭하면 리본 메뉴임시로 나타나고, 2번 쪽(▼ 표시 부분)을 클릭하면 풀다운 메뉴가 나타납니다.

리본 메뉴를 접은 상태에서 메뉴를 클릭하여 임시로 리본 메뉴를 불러온 화면

리본 메뉴를 접은 상태에서 메뉴를 클릭하여 임시로 리본 메뉴를 불러온 화면

위 그림에 나타난 바와 같이, (1) 1번 쪽(글자 부분)을 클릭하여 리본 메뉴를 임시로 불러오고, (2) 문자표 아이콘의 아랫부분에 있는 문자표라는 글자를 클릭합니다. 아래 그림에서는 2번의 화살표가 가리키는 곳입니다. 실수로 1번의 아이콘을 클릭하면 문자표를 이용하여 입력했던 맨 마지막 문자(그림에서는 네모로 표시된 j자 비슷한 모양인데, 이는 U+01D457 [각주:2]에 해당한다.)를 입력하게 되므로 조심해야 합니다.

문자표 글자를 클릭

문자표 글자를 클릭

(3) 마지막으로 맨 아래에 보이는 문자표...라는 부분을 클릭합니다.

위와 같은 과정을 거쳐서 정확히 실행했다면 문자표가 한 번 나타났다가 번개처럼 사라지는 희한한 현상을 목격할 수 있습니다.

문자표 글자를 클릭한 뒤 약간의 변화가 생기고 나서 마지막에 나타나는 화면

문자표 글자를 클릭한 뒤 약간의 변화가 생기고 나서 마지막에 나타나는 화면

그밖에 다른 점이 하나 더 있습니다.

문자표를 실행하기 전 제목 표시줄

문자표를 실행하기 전 제목 표시줄


문자표를 실행한 뒤 제목 표시줄

문자표를 실행한 뒤 제목 표시줄

제목 표시줄의 글자가 문자표를 실행하기 전에는 진하고 밝은 색이었습니다. 그런데 문자표를 실행한 뒤에는 연하고 어두운 색으로 바뀌었습니다.

이는 ᄒᆞᆫ글2010 프로그램 창이 마우스 포커스를 잃어버렸음을 뜻합니다. 다르게 말하면, 활성 상태의 ᄒᆞᆫ글2010 창이 비활성화되었음을 뜻합니다. 쉽게 말하면, ᄒᆞᆫ글 프로그램 창의 상태가 작업 중에서 작업 중이 아닌 상태로 바뀌었다는 뜻이지요.

  • 참고 : 위의 과정에서 한 문자를 블럭으로 지정할 필요는 없습니다. 위의 과정은 이 벌레를 발견한 과정을 재현하기 위해 블럭을 지정했으며, 블럭 지정을 하지 않아도 이 벌레는 나타납니다.

사례 2 살펴보기

사례 2에서는 ᄒᆞᆫ글 프로그램 창 아래에 다른 프로그램 창이 존재할 경우입니다. 이 경우도 앞서 말한 대로 굳이 글자에 블럭을 지정할 필요는 없습니다.

문자표를 부르기 직전

문자표를 부르기 직전


문자표를 부른 뒤 포커스를 잃는 도중!

문자표를 부른 뒤 포커스를 잃는 도중!


잠시 후 포커스를 완전히 잃어버린 ᄒᆞᆫ글 창

잠시 후 포커스를 완전히 잃어버린 ᄒᆞᆫ글 창

잠시 그대로 놔두자 포커스를 완전히 잃어버리고, ᄒᆞᆫ글 창 아래에 있던 메모장2(Notepad2) 프로그램이 마우스 포커스를 가져갑니다.

벌레 분석

무슨 이유에서인지 모르겠으나, 리본 메뉴가 활성 상태가 아닌, 임시로 리본 메뉴를 불러온 상태에서는 문자표를 정상적으로 호출하지 못한다고 여겨집니다. 아울러 문자표를 정상적으로 불러오지 못한 경우에는 문자표의 포커스 상태(또는 Z인덱스 상태)가 아닌 ᄒᆞᆫ글 프로그램 창의 포커스 상태(또는 Z인덱스 상태)를 수정해 버린다고 여겨집니다.

관련 벌레

이 벌레와 관련이 있는 벌레는 다음과 같습니다.

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 하루 종일 동영상 인코딩~! 문서에서 말한 그 동영상입니다. 10메가바이트 이내로 줄이느라 고생 좀 했습니다. [본문으로]
  2. U+는 유니코드임을 나타내는 접두어입니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전 버그 24 - 유니코드 버그 1 및 문자표 버그 1

ᄒᆞᆫ글2010 베타버전을 사용하다 보니 문자표와 관련하여 이해하기 힘든 동작을 발견했습니다.

벌레의 유형

ᄒᆞᆫ글 씨! 문자표에서 16진수 6자리로 이루어진 유니코드 번호는 나타낼 수 있어도 입력은 안 됩니까? 입력도 되게 하면 안 되겠니?

개발자의 답변

2010년 1월 23일 버그 리포팅을 한 상태입니다.

벌레의 발견

위키백과의 한컴 2바이트 코드[각주:1] 문서에 나타난 사항을 검증하면서 발견하였습니다. 검증 과정에서, 이 문자표는 또 다른 판도라 상자일 수도 있다는 점을 알게 되었습니다.

문자 코드의 코드 번호 붙여넣기 및 직접 입력

문자 코드의 코드 번호붙여넣기를 하느냐, 아니면 직접 입력하느냐에 따라 문자표의 반응이 달랐습니다.

문자표에서 HNC 코드유니코드를 각각 붙여넣기직접 입력을 하면서 어떻게 문자표가 반응하는지를 살펴보기로 하겠습니다.

HNC 코드와 유니코드를 문자표에 입력할 예시

HNC 코드와 유니코드를 문자표에 입력할 예시

위와 같이 두 번의 예시가 있습니다. 이것을 이용하여 실험을 해 봅시다.
아, 실험에 앞서 파일을 먼저 다운로드해 주시기 바랍니다.

HNC 코드 붙여넣기

문자표에 HNC 코드를 붙여넣기로 입력해 보겠습니다.

문자표를 처음 실행했을 때의 위치

문자표를 처음 실행했을 때의 위치

문자표를 처음 실행하면 위와 같이 전각 기호(일반)에 위치하게 됩니다. 물론 위와는 달리 최근 사용한 문자는 텅 비어 있겠지요.
위 그림에서 빨간 네모로 표시한 HNC 코드 부분에 알맞은 코드 번호를 넣으면 됩니다. 그 작업은 아래와 같은 순서로 하겠습니다.

  1. 예시에서 HNC 코드라고 한 부분의 코드에서 파란색 부분만을 복사하여 붙여넣기를 합니다. 앞에 붙인 0x는 복사하지 않습니다. 그럼 341C를 복사하겠습니다.
  2. 일단 문자표의 문자 영역을 다른 곳으로 옮겨 아무 문자나 하나 입력(더미 문자 입력)하겠습니다. 이는 문자 영역이 같을 때와 다를 때의 동작이 다르기 때문에 하는 조치입니다.

    다른 문자 영역의 문자를 선택하여 입력

    다른 문자 영역의 문자를 선택하여 입력


    다른 문자 영역의 문자를 선택하여 입력한 결과

    다른 문자 영역의 문자를 선택하여 입력한 결과

  3. 다시 문자표를 불러서 붙여넣기를 합니다.

    문자표를 불러오면 방금 사용한 문자를 표시하고 있습니다. 일단 HNC 코드 부분을 지웁니다.

    문자표를 불러오면 방금 사용한 문자를 표시하고 있습니다. 일단 HNC 코드 부분을 지웁니다.


    HNC 코드 부분에 방금 복사한 341C를 붙여넣기로 입력한 순간 바뀌는 문자표

    HNC 코드 부분에 방금 복사한 341C를 붙여넣기로 입력한 순간 바뀌는 문자표

  4. 위의 작업을 확인하기 위해, 이번에는 531C를 붙여넣기로 입력합니다.

    문자표에 531C를 붙여넣기로 입력

    문자표에 531C를 붙여넣기로 입력


    HNC 코드 붙여넣기로 입력 최종 결과

    HNC 코드 붙여넣기로 입력 최종 결과

위에서 검증했듯이 HNC 코드에서는 붙여넣기로 입력하면, 그 순간 문자 영역 및 문자 선택에서 방금 입력한 코드 번호에 해당하는 문자를 가리키게 됩니다.

HNC 코드 직접 입력

이번에는 HNC 코드를 직접 입력해 보겠습니다. 순서는 따로 설명하지 않겠습니다. 직접 해 보시기 바라며, 결과는 아래와 비슷하게 나와야 합니다.

531을 입력해도 아무런 변화가 없다.

531을 입력해도 아무런 변화가 없다.


531를 입력한 뒤 C를 마저 입력해야 순간이동을 한다.

531를 입력한 뒤 C를 마저 입력해야 순간이동을 한다.


HNC 코드를 직접 입력한 최종 결과

HNC 코드를 직접 입력한 최종 결과

HNC 코드에서는 직접 입력하더라도 순간이동을 해서 그 코드 번호에 해당하는 문자를 찾아 줍니다.

유니코드 붙여넣기로 입력

이번에는 유니코드를 문자표에 붙여넣기로 입력해 보겠습니다.

  1. 일단 처음에는 다른 문자 영역에서 한 문자를 입력합니다.

    아무 문자나 하나 입력

    아무 문자나 하나 입력

  2. 유니코드를 복사하여 붙여넣기로 입력합니다. 이때도 HNC 코드와 마찬가지로 앞에 붙은 U+는 복사하지 않습니다. 여기에서는 3010을 복사하겠습니다.

    HNC 코드 붙여넣기에서처럼 순간 이동에 성공!

    HNC 코드 붙여넣기에서처럼 순간 이동에 성공!

  3. 이번에는 20850를 복사하여 붙여넣기를 합니다.

    문자표에서 유니코드 20850 대신에 2085를 찾아 줍니다.

    문자표에서 유니코드 20850 대신에 2085를 찾아 줍니다.

유니코드를 붙여넣기로 입력한 최종 결과

유니코드를 붙여넣기로 입력한 최종 결과

위에서 검증했듯이 유니코드에서는 붙여넣기로 입력하면, 4자리 16진수로 이루어진 코드 번호를 입력한 경우에는 입력하는 순간 문자 영역 및 문자 선택에서 방금 입력한 코드 번호에 해당하는 문자를 가리키게 됩니다. 그러나 5자리 16진수로 이루어진 코드 번호를 입력한 경우에는 입력하는 순간 가장 아래의 한 자리는 빼먹고 위의 네 자리만 받아들여 유니코드를 찾아줍니다.

유니코드 직접 입력

이번에는 유니코드를 직접 입력해 보겠습니다. 순서는 따로 설명하지 않겠습니다.

유니코드를 네 자리 입력한 뒤에는 더 이상 입력을 받지 않습니다.

유니코드를 네 자리 입력한 뒤에는 더 이상 입력을 받지 않습니다.

위와 같은 화면에서 어쩔 수 없이 [넣기]를 클릭했습니다.

유니코드를 직접 입력한 최종 결과

유니코드를 직접 입력한 최종 결과

위에서 검증했듯이 유니코드에서는 직접 입력하면, 앞서 붙여넣기로 입력했을 때와 마찬가지로, 4자리 16진수로 이루어진 코드 번호를 입력한 경우에는 입력하는 순간 문자 영역 및 문자 선택에서 방금 입력한 코드 번호에 해당하는 문자를 가리키게 됩니다. 그러나 5자리 16진수로 이루어진 코드 번호를 입력한 경우에는 입력하는 순간 가장 아래의 한 자리는 빼먹고 위의 네 자리만 받아들여 유니코드를 찾아줍니다.

벌레 분석

이 벌레의 원인에 대해서는 알 수 없었습니다. 유니코드의 다섯 번째 자리의 입력이 왜 안 되는지 이해할 수가 없었습니다. 분명히 해당 문자의 코드를 알려줄 때에는 네 자리를 넘겨 다섯 자리인 16진수로도 보여주기 때문입니다.

일단 유니코드의 코드 번호를 보고 싶은 글자에 범위를 지정합니다.

일단 유니코드의 코드 번호를 보고 싶은 글자에 범위를 지정합니다.

분명히 코드 번호가 6자리로 나타납니다.

분명히 코드 번호가 6자리로 나타납니다.

ᄒᆞᆫ글 씨! 문자표에서 16진수 6자리로 이루어진 유니코드 번호는 나타낼 수 있어도 입력은 안 됩니까? 입력도 되게 하면 안 되겠니?

비슷한 벌레

(없음)

관련 문서

내부 문서

외부 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 앞으로는 한컴 2바이트 코드HNC 코드로 줄여 부르겠습니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전 버그 15 - 한글과컴퓨터 사전 1 - 이상한 모양의 글자

한글과컴퓨터 사전은 매우 유용한 프로그램으로, 제 경우에는 ᄒᆞᆫ글은 설치하지 않아도[각주:1] 사전 프로그램만큼은 남길 만큼 매우 알차게 쓰는 프로그램입니다. 한컴오피스2010 베타버전에도 한글과컴퓨터 사전 2010 프로그램(이하 한컴사전)이 포함되어 있습니다.

그런데 최근 사전에 알 수 없는 글자가 포함되어 있음을 발견했습니다.

1. 벌레의 유형

정체도 밝히지 않는 놈이 다른 놈 일하는 데 방해까지 하고 있습니다.

2. 개발자의 답변

2010년 1월 10일 버그 리포팅을 한 상태입니다.

3. 벌레의 발견

3.1. 우연히 찾은 이상한 문자

한컴사전에서 맞춤법이라는 낱말을 찾아서 Orthography라는 낱말을 클릭했을 때 이상한 문자를 포함한 낱말을 발견했습니다.

그림 1 한글과컴퓨터 사전 실행화면

그림 1에서 빨간색으로 표시한 부분을 잘 살펴보고, 이상한 곳을 찾을 수 있겠습니까?

그림 2 문제가 된 소문자 a

아무튼 제가 이상하다고 느낀 부분을 빨간색으로 표시하였습니다. 저도 저것을 발견했을 때 왜 이상하다고 느꼈는지 모릅니다. 굳이 말한다면 순간적인 꺼림칙함이라고 해야겠죠.

일단 저 부분이 아무 이상이 없다면, 저 부분을 더블클릭했을 때 cacography라는 낱말 또는 그와 비슷한 낱말을 찾아 주어야 합니다.

그런데….

그림 3 엉뚱한 낱말을 찾은 한컴사전

그림 3에서 엉뚱한 낱말을 찾았습니다. 찾은 낱말은 cogr이며, 실제로 검색된 낱말은 cograil입니다. 검색된 낱말이야 그렇다 치고, 찾은 낱말인 cogr를 살펴볼 필요가 있습니다. 앞서 제시한 cacography를 보면 aa 사이가 cogr입니다. 우연이라고 치부하기에는 너무 절묘합니다.

3.2. 낱말 분석 - 문자표에서 유니코드 번호를 찾아라.

일단 cɑcogrɑphy[각주:2]라는 낱말을 복사하여 ᄒᆞᆫ글 2010 베타버전에 붙여넣기를 했습니다. 그리고 하나하나 문자표에서 유니코드 번호를 찾았습니다.

그림 4 위와 같이 한 줄에 한 문자만 두었습니다.

위 그림처럼 배열한 다음 유니코드 번호를 알기 원하는 문자를 블록 지정한 뒤 문자표를 불러왔습니다.

그림 5 블록 지정 및 문자표 메뉴

그림 6 문자표 입력 대화상자

위와 같이 알아낸 문자 번호를 문자 옆에 기록합니다.

그림 7 웬 국제 음성 기호 확장?!

그런데 영문자 에이라고 생각했던 글자가 사실은 국제 음성 기호 확장에 속하는 문자였습니다.

그림 8 문자 번호 기록

그런데 왜 국제 음성 기호 확장에 속하는 문자가 한컴사전에 들어 있을까요? 아니 들어 있는 것이야 당연하지만, 왜 음성 기호를 나타내는 곳이 아닌 낱말을 나타내는 곳에 나타났을까요?

황당한 일은 cacography를 찾으면 거기에도 국제 음성 기호 확장의 문자가 나타납니다.

그림 9 이상한 a(빨간색)와 정상 a(노란 바탕 파란색)

위 그림에서 이상한 a는 빨간색으로, 정상 a는 파란색으로 표시했습니다.

4. 벌레의 원인

벌레의 원인은 아마도 단순한 입력 실수(오탈자)로 여겨집니다. 그 입력 실수가 한꺼번에 두 군데에서 나타나기는 했지만, 그보다 더 많이 나타나지 말란 법은 없으니까요.

5. 비슷한 벌레

(없습)

6. 관련 문서

strange, strangelove, stranger 등의 낱말에서도 이 글에 나타난 이상한 글자를 찾을 수 있었습니다.

6.1. 내부 문서

[벌레와 팁/버그] - 맞춤법과 글자 모양

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 링크를 왜 엉뚱하게 표시하나요? 3

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 기본은 지켜야죠!

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 링크를 왜 엉뚱하게 표시하나요? 2

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 맞춤법 도우미로 엉뚱한 곳을 표시하면 어떡해요?

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 링크를 왜 엉뚱하게 표시하나요?

[벌레와 팁/제안] - 한컴오피스 베타버전의 공백과 이동 기능

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 블로그에는 글을 하나만 올리란 말입니다.

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! ‘ᄒᆞᆫ글’을 제대로 나타내면 안 되겠니? 2

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! ‘ᄒᆞᆫ글’을 제대로 나타내면 안 되겠니?

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 블로그 카테고리는 어디에?

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 블로그에는 게시판이 없거든요.

[벌레와 팁/버그] - HTML 태그 해석 오류 문제

[벌레와 팁/버그] - 도대체 무슨 짓을 하는 거냐, ᄒᆞᆫ글?

[프로그램/스크린샷] - 한컴오피스2010 베타버전 실행화면

[벌레와 팁/버그] - 한컴오피스2010 베타 설치 작업과 버그 몇 개

[프로그램/설치] - 한컴오피스2010 베타버전 설치기

6.2. 외부 문서 - 테스트 블로그

이 글은 ᄒᆞᆫ글 2010 베타버전에서 작성하였습니다.

  1. 정확하게 말해서 설치했다가 지우더라도 어떻게든 한컴사전만큼은 남겼다. [본문으로]
  2. 지금 이 낱말 cɑcogrɑphy도 사전에서 복사하여 붙여넣기를 한 뒤 글자색만 바꾼 것입니다. [본문으로]
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

한컴오피스 베타버전 버그 7 - ᄒᆞᆫ글과 블로그 4 : ‘ᄒᆞᆫ글’을 제대로 나타내면 안 되겠니? 2

지난번에 이어 이번에도 글자가 손상되는 현상을 발견했습니다. 지난번에는 그저 글꼴 문제로 글자가 엉뚱하게 보이는 현상이었습니다. 하지만 이번에는 아예 글자를 뭉개 버렸습니다.

1. 벌레의 유형

이보세요, ᄒᆞᆫ글 씨! ‘ᄒᆞᆫ글’이라는 이름만 제대로 나타내 주면 안 되겠습니까? 아니, 이제는 그저 그 엉뚱하게 보이던 그 글자라도 그냥 놔두었으면 합니다. 사용자가 직접 span 태그를 써서 모양을 나타낼 수 있도록 말입니다.

그림 1 글자가 나타나야 할 자리가 뭉개져 있습니다.

위 그림처럼 되면 정말 난감합니다. 그 자리에서 바로 수정할 수 없다면 나중에 그게 무슨 글자인지조차 알 수 없게 될 수도 있기 때문입니다.

2. 개발자의 답변

2010년 1월 3일 버그 리포팅을 한 상태입니다.

3. 벌레의 발견

3.1. 처음에는 몰랐습니다.

처음에는 캡션에까지는 신경 쓰지 못하였습니다. 나중에 블로그의 CSS를 고친 뒤에 보니까 옛한글이 캡션에 들어가면 그 부분이 뭉개진 형태(???)로 나타납니다.

3.2. HTML로 저장한 경우

HTML로 저장한 경우에는 이 벌레가 생기지 않습니다. 그러니 더욱 모를 수밖에요.
제 경우는 다른 이름으로 저장 >> HTML로 저장을 하여 살펴본 뒤에 블로그로 올리기 기능을 사용합니다. HTML로 바꾸었을 때 이 현상이 일어났더라면 좀 더 일찍 알아차렸을 테지요.

4. 벌레의 원인

이 벌레의 원인에 대해서는 현재로서는 알 수 없습니다.
다만 제 예상으로는 '유니코드 문자표에 없는 문자'인 ᄒᆞᆫ자가 포함되어 있기 때문에 생기는 현상으로 여겨집니다. 이때 물음표 하나(?)는 ᄒᆞᆫ자에 포함된 음소 하나를 가리킨다고 여겨집니다. 제 예측이 맞다면 ᄉᆞᆱ과 같은 글자는 물음표 4개(????)가 될 것입니다.

ᄒᆞᆫ글이 잘 보였으면 좋겠습니다. (올린 뒤 수정했음)

5. 비슷한 벌레

[벌레와 팁/버그] - 다음뷰, 옛한글도 한글이란다.

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! ‘ᄒᆞᆫ글’을 제대로 나타내면 안 되겠니?

6. 관련 문서

6.1. 내부 문서

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! ‘ᄒᆞᆫ글’을 제대로 나타내면 안 되겠니?

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 블로그 카테고리는 어디에?

[벌레와 팁/버그] - ᄒᆞᆫ글 씨! 블로그에는 게시판이 없거든요.

[벌레와 팁/버그] - HTML 태그 해석 오류 문제

[벌레와 팁/버그] - 도대체 무슨 짓을 하는 거냐, ᄒᆞᆫ글?

[프로그램/스크린샷] - 한컴오피스2010 베타버전 실행화면

[벌레와 팁/버그] - 한컴오피스2010 베타 설치 작업과 버그 몇 개

[프로그램/설치] - 한컴오피스2010 베타버전 설치기

이 글은 ᄒᆞᆫ글 2010 베타버전에서 작성하였습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

알리는 말

이 글에 소개된 사항은 중대한 오해와 착오 때문에 오류가 아닌 사실을 기록하고 있습니다. 현재 한/글/ 2005 및 한/글/ 2007 모두 구결을 정상 표기하고 있습니다.

벌레의 유형

분신술을 익힌 벌레로서 한/글/ 2005 환경에서도 나타났던 벌레이다. 그런데 이번에 구매한 한글과컴퓨터 오피스2007 홈에디션에서도 똑같이 발생하고 있다.

벌레의 발견

고문을 가끔 입력하다가 한/글/ 2005에서 처음 발견한 이 벌레는 일부 한/글/ 2007에서도 발견하였다. 그때까지만 해도 "일부"에서만 발견된다고 여겼다. 그런데 이번에는 좀 다름을 알게 되었다.

이번에 구매한

이번에 구매한

현재 한/글/ 2007은 어제 설치한 뒤 바로 업데이트하였다(위 그림 참조). 원본 및 업데이트본과 다른 점이 있다면, 한/글/ 2004에 들어있던 표준국어사전 파일이 추가된 점뿐이다. 이는 내가 한/글/ 2004 정품등록 사용자이기 때문에 그 파일을 사용할 권리가 있고, 그로 말미암아 한/글/ 2004 원본 CD를 없애지 않고 업그레이드 하더라도 그 파일을 불러다 쓰고 있다.

한/글/ 2007의 문자표 입력

한/글/ 2007의 문자표 입력의 구결 부분

HNC코드로는 1D72(빨강)와 1DCE(파랑)로서, 위쪽 글자는 소릿값이 ‘마‘(또는 ‘매‘)인데, ? 모양입니다. 아래쪽 글자는 소릿값이 ‘애‘인데, ? 모양이어야 합니다. 그런데 둘 다 ?(으)로 되어 있습니다. 소릿값을 어떻게 아느냐고요? 마(매) 다음에는 모두 미음(ㅁ)이 첫소리인 글자가 오고 있습니다. 구결의 소릿값은 한자가 가진 원래 소릿값과 비슷하거든요. 마찬가지로 다음에는 이응(ㅇ)이 첫소리인 글자가 오고 있습니다. 반대로 마(매) 앞에는 리을(ㄹ)이 첫소리인 글자가 왔고, 앞에는 이응(ㅇ)이 첫소리인 글자가 왔습니다.

좀 더 확실하게 하자면, 구결 문자 목록을 보면 됩니다. 아래는 noropdoropi 님이 만들어 GFDL에 따라 공개된 구결 문자 목록 그림입니다(원래 형식 GIF였으나, PNG로 바꾸었다).

구결 문자

회사 측의 기존 답변

  • 2008년 3월 한/글/ 2005(일반 버전)에서 발견한 문제이다.
  • 2008년 3월 15일 오후 8시 32분 현재 해결되지 않았다.
  • 2008년 11월 23일에 회사 측에서 답변한 내용에 따르면 글꼴을 신명조로 바꾸어 보라고 했으나, 해결되지 않았다.
  • 2009년 3월 20일에 한/글/ 2007(교육용)에서 발견하여 보고하였으나, 3월 31일까지 답변이 없었다. 아울러 같은해 10월 30일까지도 답변이 없다.
  • 2009년 10월 30일에 한/글/ 2007(홈 에디션)에서 발견하여 보고하였다. 일부 버전이 아닌 대부분의 버전에서 나타나는 현상으로 여겨진다.

관련 문서


이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

카테고리

분류 전체보기 (1005)
스크립트 (22)
벌레와 팁 (126)
소프트웨어 (240)
하드웨어 (6)
이야기 (24)
말의 나무 (506)
미쳐보자 (22)
일기 (48)
아이폰 (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

글 보관함