6.5 버전! 이 얼마 만의 버전업인가.
몇 달간 마음의 부담으로 남아 있던 작업들을 상당수 이뤄 내서 매우 기쁘다. (☞ 받으러 가기)
편집기· 변환기· 내부 엔진· 외부 모듈 등 거의 모든 분야에서 골고루 많은 발전이 있었다.
내일(1월 7일) 공개라고 계획을 잡고 문서에도 다 그렇게 썼지만, 그냥 기분상-_- 하루 당겨 버렸다. ㄲㄲ
1.
지금 윈도우 7 + <날개셋> 6.3 이하 버전 사용자라면, <날개셋> 한글 입력기를 윈도우용 IME로 지정한 후 <날개셋> 한글 입력기의 About 대화상자를 꺼내 보기 바란다. 이 About 대화상자에는 키보드 포커스를 받는 컨트롤이 개발자 홈페이지를 여는 링크 컨트롤, 그리고 대화상자를 닫는 '닫기' 버튼 이렇게 두 개가 있다. 전자는 IME 입력을 받으나(비록 IME 입력이 아무 의미가 없긴 하지만), 후자는 버튼이기 때문에 받지 않는다.
두 컨트롤을 탭을 누르면서 반복해서 왕래해 보라. 그런데 포커스가 '닫기' 버튼에 있을 때 <날개셋> IME의 버튼들이 사용 불가(disable) 모양으로 흐리게(grayed) 바뀌는가, 그렇지 않은가? (흐려져야 맞음. MS IME와 동작을 비교해 볼 것)
깜짝 놀랐고 내 눈을 의심했다.
윈도우 7이 출시된 지가 2년이 넘었는데 이런 버그가 아직까지 있는 줄은 꿈에도 몰랐다.
혹시 예전에는 없었다가 새 버전에서 추가되고 바뀐 기능 때문에 새로 갑작스럽게 생긴 버그이진 않은가 해서, 5.3대의 엄청 옛날 버전을 깔아서 이걸로도 확인해 봤다. 그러나 동일 증상이 여전히 발견됐다.
이 정도면 고질적인 버그를 하나 찾아내서 잡은 것이기 때문에 readme에다가도 적지 않을 수가 없다. 후대 버전에서 몰래 생긴 버그라면 문서 기록 따위는 남기지도 않았을 텐데. 비스타는 해당사항 없고 오로지 7에만 존재하는 문제이다. (이번 6.5에서 해결됨)
그 많고 많은 윈도우 7 사용자 중에 왜 이 기본적인 버그를 지적하는 사람은 지금까지 없었을까?
윈도우 7은 IME 쪽이 생각보다 굉장히 많이 바뀌어서, 예전에는 이 정도까지만 적당히 짜 주면 됐던 게 거기서만 이상하게 까탈스럽게 구는 게 많다. 전반적으로는 좀 엄격하게 바뀐 것 같다. 이것 때문에 <날개셋> 한글 입력기도 5.5 때는 5.51, 5.52 같은 자질구레한 패치가 나와야만 했다..
2.
개인적으로는 근래에 패턴 치환 필터를 정말 유용하게 썼다.
엑셀에서 복사하여 탭으로 구분되어 있는
A B C D E
형태의 데이터를
insert into Table1 values('A', 'B', 'C', 'D', 'E');
형태의 SQL 쿼리로 직통으로 바꾼다거나,
제목
1 문장A
2 문장B
이런 텍스트에서 제목은 삭제하고 숫자와 탭으로 구분된 문장만 다 뽑아내는 것,
그리고 심지어
0xAC, 0x50, 0xB7
같은 숫자 배열을
"\xAC\x50\xB7"
처럼 문자열 상수 형태로 바꾸는 것도 패턴 치환으로 다 가능하다. 패턴 치환과 더불어, 일괄 치환 기능도 익혀 놓으면 아주 유용하다.
<날개셋> 편집기가 겉보기로는 정말 허름한 에디터 같아도, 한글 입력 기능뿐만 아니라 보조 입력 도구와 텍스트 필터를 생각하면 결코 만만하지 않을 것이다. 비록 저런 기능이 <날개셋> 한글 입력기의 주 개발 목표는 아니며, 편집기가 매크로 기능을 직접 제공하지는 않지만, 저런 게 매크로 자동화 기능이나 마찬가지이다.
3.
다음 버전은, 이젠 진짜로 한자 관련 시스템을 제발 업그레이드 좀 해야겠다. 번호는 6.7로 계획했다. <날개셋> 한글 입력기 개발 역사상 최초로 버전 번호에 7이 들어갈 예정.
일대일로만 가능하던 한자 후보 변환을 다대다로 확장하여 단어 단위 한자 변환 기능을 넣고, BMP 영역만 취급 가능하던 각종 한자 처리 시스템을 surrogate까지 지원하도록 확장한다.
지금 옵션이 달랑 3개밖에 없어서 황량한 '편집기 계층' 제어판 대화상자에는, '가능하면 글자 대신 단어 단위로 한자 변환', 그리고 'BMP뿐만 아니라 surrogate 영역 한자도 사용' 이라는 한자 관련 옵션이 최소한 두 개 더 추가될 예정이다.
그리고 다중 candidate를 도입한다. 이건 이번 6.5에서도 터닦기 작업은 해 놨다.
특수글쇠를 보면 한자 후보 기능 글쇠가 예전처럼 하나만 있는 게 아니라 4개가 존재하는데,
1번 default candidate은 전통적인 한자나 초성 특수문자인 반면, 2번부터 4번까지는 customize 가능한 다른 후보 변환을 할 수 있게 하는 것이다. 가령, 한자 변환 대신 구결 변환을 넣는다거나 하는 식으로 활용이 가능하다.
'<날개셋> 고급 입력기'뿐만이 아니라 기본 입력기도 후보 데이터의 사용자 정의의 폭이 크게 넓어진다는 뜻이다. 물론 이미 후보 데이터 편집 기능을 갖추고 있는 '고급 입력기' 역시 늘어난 후보 개수에 맞게 그 구조가 확장되어야겠지만 말이다.
한자 키는 예전과 같은 1번 candidate이지만, Shift+한자는 2번 candidate를 배당하면 된다. 아직 터닦기만 해 놓고 그 기능이 실제로 구현되지는 않은 6.5에서는, 여전히 1번 candidate만 사용 가능하다.
끝으로, 장기적으로는 <날개셋> 편집기의 한자 변환 대화상자도 지금의 외부 모듈과 같은 UI로 바꾸려는 계획이 세워져 있기도 하다.
이런 식으로 한자 시스템 업그레이드는 여러 대규모 작업들이 한데 얽혀 있는 '군'(group; family)을 이루고 있다. 작업의 일부만 해내도 프로그램 버전이 최하 0.1 이상은 충분히 올라갈 수 있다.
치밀한 계획을 세워야 하고, 프로그램 API가 크게 바뀔 수도 있는 장기전을 감수해야 할 수도 있기 때문에, 이걸 지금까지 선뜻 추진하지 못한 것이다. 이제 6.5 다음 버전에서는 할 수 있겠지.
그리고 부가적으로는 보조 입력 도구 쪽도 편의 기능을 강화할 예정.
예를 들어, 화면 키보드에서 마우스 클릭만으로 Shift 윗글쇠를 입력할 수 있게 하는 것 말이다.
다음 버전인 6.7(가칭)의 개발 방향· 테마는 이런 식으로 이미 다 잡혀 있다.
Posted by 사무엘