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

한컴오피스 베타버전 버그 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로 공개한 글입니다.

카테고리

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

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/12   »
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

글 보관함