« Previous : 1 : ... 7 : 8 : 9 : 10 : 11 : 12 : 13 : Next »

※ 아래의 세 버그는 해당 기능이 처음으로 추가된 5.31버전부터 지금까지 1년이 넘는 시간 동안 존재하다가 이제야 발견하고 고쳐졌습니다.

- "코드번호로 변환" 텍스트 필터의 설정을 고쳤는데 번호 표현 형태(format)가 사용자의 설정대로 제대로 적용되지 않던 버그
- <날개셋> 편집기의 "계산기"에서 '사용할 상수'를 바꿔 줬는데도 해당 분야에 속하는 상수가 제대로 인식되지 않던 버그

- 외부 모듈: <날개셋> 한글 입력기는 TSF A급 프로그램에서는 bksp 키를 눌렀을 때 앞 글자로 달라붙는 기능을 사용할 수 있습니다. 그런데 언제부턴가--한 5.3x 정도부터로 추정-- 완성된 글자를 처음으로 지울 때는 달라붙는 게 동작하지 않는 문제가 있더군요. 아마 입력 패드 같은 기능이 처음으로 추가되면서 들어간 side effect 같습니다. 이걸 발견하여 버그를 고쳤습니다.

※ 아래의 버그는 현재의 최신 버전인 5.65에만 있다가 고쳐졌습니다.

- <날개셋> 편집기를 중복 실행을 허용하지 않은 상태에서 또 중복 실행하면, 예전 인스턴스에서 새 문서도 같이 만들어져야 하는데 되지 않는 것
- <날개셋> 제어판의 '낱자 처리' 탭에서 낱자 결합 규칙의 내정값으로 "유니코드 5.2 옛한글"을 골랐는데도 유니코드 5.2에서 새로 추가된 초록색 옛한글 낱자들이 로딩되지 않던 문제
- 낱자 결합 규칙 리스트에서 비사이클 -> 사이클이 있는 결합 규칙을 대상으로 Ctrl+클릭을 했을 때 프로그램이 무한 루프에 빠지고 죽는 버그 (Ctrl+클릭 기능 자체가 5.65에서 새로 추가된 것임)

※ 다음은 사소한 개선 사항들입니다.

편집기 UI: 프로그램을 종료(Exit)할 때나 창을 한꺼번에 모두 닫을 때(Close All), 저장되지 않은 문서가 둘 이상 있으면 "저장할까요?" 대화상자와 더불어 "다음부터 이 질문을 하지 않음" 체크 상자가 뜹니다. 그래서 이걸 체크하면 여러 문서들을 한꺼번에 저장하거나 단번에 무시하고 버릴 수 있게 했습니다.
단, 이 UI는 윈도우 비스타 이상에서부터만 지원됩니다.

변환기 UI: 클립보드의 옛한글 텍스트 표현 방식을 자동으로 감지하는 버튼을 추가하고, 이에 덧붙여 원본 형식과 대상 형식을 switch하는 버튼을 추가했습니다. 아래아한글 200x와 2010, 그리고 MS 오피스 200x의 옛한글은 모두 표현 방식이 다릅니다. 변환기를 사용하면 각 방식을 손쉽게 교환할 수 있습니다.

편집기: 수천-수만 줄, 수 MB에 달하는 대용량 텍스트를 블록으로 잡아 복사할 때의 성능을 크게 개선했습니다. 예전에는 이때 잦은 메모리 재할당으로 인해 디스크 thrashing이 일어나면서 동작이 멈출 때도 있었지만, 이제는 전체 메모리를 한 번만 미리 잡아놓고 복사가 매우 신속하게 수행됩니다.

입력 패드와 외부 모듈도 편집기의 한글· 영문 비트맵 글꼴 설정을 따라갑니다.

정 재민 님이 추가로 제공해 주신 비트맵 글꼴을 적용하고, 임 정택 님이 제공해 주신 신세벌식 입력 설정을 적용했습니다. 그리고 예제로 제공되던 천지인 입력 방식을 복잡한 받침까지 완전한 일치하는 형태로 개선해 넣었습니다.

※ 다음은 알려진 문제입니다.

1. 현재 <날개셋> 한글 입력기 5.65와, <날개셋> 타자연습 3.21은 저의 부주의로 인해서 버전 충돌이 있습니다. 그래서 타자연습에서 입력기 외부 모듈이 동작하지 못합니다.
이 문제는 앞으로 입력기가 5.80으로 버전업되고 덩달아 타자연습도 버전업되었을 때, 이 둘을 모두 최신 버전으로 업데이트하면 해결될 예정입니다. 불편을 끼친 것에 양해를 구합니다.

2. <날개셋> 한글 입력기를 기본 IME로 지정한 후 gvim (7.3 기준)을 실행하여 A를 눌러 편집 모드로 들어가면, 영문이던 한영 상태가 느닷없이 한글로 바뀌는 현상이 있습니다. 참고로 TSF 모듈에서만(= 윈도우 비스타/7급) 나타납니다.

이것은... 운영체제의 동작 방식에 대한 정보 미비로 인해 해결이 어려울 것 같습니다. 그 프로그램에 맞게 동작을 고쳐 놓으면, 다른 프로그램에서 side effect가 생기는 식의 현상이기 때문입니다. MS 워드나 파워포인트가 처음 실행될 때 영문이 아닌 한글 모드로 시작하게 하는 옵션과 완전히 동일한 맥락이기 때문에, 제 프로그램이 gvim의 한글 모드 전환만 예외적으로 봐 줘야 할 명분이 없습니다.
물론 MS IME에는 그런 현상이 없죠. 그건 소스나 정확한 스펙이 공개되어 있지 않는 걔네들 방식대로만 가능한 것이기 때문에 제가 그 이상 더 정확한 동작을 구현할 수 없습니다.

3. 윈도우 7, 스타크 2에 이어 비주얼 스튜디오 2010에서도 한글 입력이 잘 안 되는 문제가 보고되어 있으며, 이 역시 해당 프로그램의 버그로 추정됩니다. MS IME에서도 동일하게 발생합니다. 갑자기 최신 소프트웨어들에서 IME 쪽으로 자질구레한 버그가 왜 이리 자꾸 발견되는지 모르겠습니다. 한번 짜고 나서는 고칠 일도 없고 버그가 들어갈 일도 없을 것 같은데.

Posted by 사무엘

2010/11/07 11:23 2010/11/07 11:23
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/406

한글 낱자 입력 컨트롤

<날개셋> 한글 입력기는 한글 입력 설정을 전문적으로 다루는 프로그램이다 보니, 여타 프로그램에서는 찾을 수 없는 독특한 UI를 갖추고 있다.

그 중 대표적인 예는 한글 낱자만 하나 입력 받는 컨트롤 윈도우이다.
제어판에서 입력 항목 설정으로 들어간 후, "낱자 처리"에서 어렵지 않게 구경할 수 있다. 바로 이렇게 생긴 놈이다.

사용자 삽입 이미지

<날개셋> 1.x 시절에는 그런 게 없었고, 그냥 글자 입력+콤보가 결합된 일반 표준 컨트롤을 썼다.
어차피 옛한글도 지원 안 되고 고를 수 있는 게 초성 ㄱ부터 ㅎ까지 19개, 중성 21개, 종성 27개가 전부였으므로 이렇게만 UI를 만들어도 아무 문제될 게 없었다.

사용자 삽입 이미지

그러던 게 <날개셋> 2.x 시절에는 상황이 약간 달라졌다.
옛한글이 지원되기 시작했기 때문에, 운영체제가 시스템 차원에서 표시할 수 없는 한글 낱자도 그려야 할 필요가 생겼다. 그래서 owner-draw(항목 내용을 응용 프로그램이 직접 그리는) 콤보박스로 UI가 바뀌었다.

사용자 삽입 이미지

그러나 그 대신 원하는 낱자를 한글 글자판으로 바로 입력하는 기능은 사라졌기 때문에, 설정을 바꾸기 위해 매번 콤보박스를 열고 스크롤을 해서 낱자를 클릭해야 하게 되어 번거로워졌다.
자음이 2~30개가 채 안 넘던 게 옛한글 포함 134개로 폭증했으니 스크롤 양도 증가했을 것이고, 가상 낱자까지 포함해 256개나 되는 항목이 한 줄에 겨우 한 개씩만 표시되는 것도 매우 불편한 점이었다.

지금과 같은 형태의 독자적인 낱자 입력 컨트롤은 <날개셋> 3.0과 함께 첫 도입되었다.
2.x 시절의 불편도 해소해야 하거니와 3.0부터는 가상 낱자의 공간이 8비트 크기인 255를 넘어 아예 16비트 크기로 확장되었기 때문에, 예전과 같은 UI 자체를 전혀 사용할 수 없게 되었기 때문이다. 콤보박스에다 아이템을 65500개 추가하리?

낱자 입력 컨트롤은 에디트 컨트롤과 콤보박스 컨트롤을 혼합한 형태로 만들어졌으며 한글 낱자 하나만 입력하는 데 생각할 수 있는 최대한의 편의를 보장한다. 마치 그래픽 편집 프로그램이 자신만의 전용 색깔 선택 컨트롤을 구현해 놓은 경우가 많듯, 한글 입력기는 응당 자신만의 한글 낱자 선택 컨트롤을 갖춘 셈이다. 아래의 설명을 잘 읽어보기 바란다.

먼저, 이 컨트롤은 <날개셋> 한글 입력기의 입력 커널을 그대로 공유한다.
<날개셋> 편집기에서 글자판을 전환한 것이 이 낱자 입력 컨트롤에서도 그대로 적용된다. 그래서 지금 세벌식 최종 자판을 쓰고 있다가 초성 입력란에서 ㄱ~ㅎ 중 하나를 누르면 그 낱자가 바로 입력된다.

한글만 입력 가능한가? 그렇지 않다. 숫자를 입력하면 해당 낱자 번호에 해당하는 낱자가 바로 입력되며, 이때 숫자는 세벌식 자판의 숫자 패드라든가 numlock 키패드 숫자를 모두 인식한다. 쉽게 말해 낱자 입력 컨트롤은 한글과 숫자를 이중으로 입력받는 체계를 갖춘 셈이다. 숫자로는 물리적인 한글 낱자로 대응하지 않는 가상의 낱자를 입력할 수 있다.
숫자를 입력하고 있을 때는 오른쪽의 숫자가 빨간색이 되어 모드가 바뀌었음을 알려 준다.

여기에 덧붙여 지금이 한글이 아닌 영문 입력 모드인 경우, 그 영문 이니셜로 시작하는 낱자로 바로 이동이 된다. 즉, G를 눌러서 ㄱ, ㄲ 등을, N을 눌러서 ㄴ을 선택할 수 있고 I를 눌러서 ㅣ로 바로 갈 수도 있다.

그리고 화살표 키를 쓸 수 있다. 상하 화살표를 누르면 코드 번호가 1씩 증가하거나 감소하고, 좌우 화살표를 누르면 잡다한 옛한글들을 건너뛰고 ㄱㄴㄷㄹ 순으로 빠르게 이동이 가능하다.

어디 그 뿐이랴? 지금 입력 중인 낱자를 복사하거나 붙여넣을 수도 있다. Ctrl+C, X, V 단축키가 있으며 심지어 우클릭 메뉴도 구비되어 있다. 숫자를 복사하거나 한글 낱자를 하나 복사해서 붙여넣으면 그 낱자가 바로 입력된다.

이 컨트롤을 마우스로 클릭하거나, 포커스가 있는 상태에서 F4를 누르면 콤보박스가 나타난다. 이것은 운영체제의 콤보박스와 동작 방식이 같다. 그러면 선택 가능한 모든 한글 낱자가 문자표 형태로 한 화면에 쭉 나타나며(스크롤 같은 것 없음), 원하는 낱자를 마우스로 클릭하면 된다. <날개셋> 한글 입력기 5.0은 지원하는 한글 낱자 개수가 더욱 늘어나 있다. 한글 낱자들은 색깔이 제각각 다른데, 그 의미는 다음과 같다.

- 검정: 현대 한글 (초성 19, 중성 21, 종성 27)
- 파랑: KS 완성형 코드에 낱자 형태로 등록되어 있는 기초 옛한글로,
- 분홍: 유니코드 1.1과 아래아한글 2.0이 전통적으로 지원해 온 옛한글 (U+11xx대)
- 초록: 한동안 한양 PUA에만 존재했고 유니코드 5.2와 <날개셋> 5.x에서 표준으로 정식 추가된 옛한글
- 회색: 초성이나 종성 중 한 곳에만 존재하는 자음을, <날개셋>만이 내부 편의를 위해 다른 쪽에도 비표준 방식으로 구현한 것

한글 낱자를 마우스 포인터로 가리키고 있으면 해당 자모의 유니코드 이름과, 영문 변수명이 풍선 도움말로 뜨기 때문에 외국인에게도 도움이 될 것이다. F3을 누르면 사전 순이 아닌 등급 순으로 낱자들이 정렬된다. 즉, 검은색 현대 한글이 ㄱ부터 ㅎ까지 뜬 후, 그 뒤 옛한글이 뒤따른다는 뜻.

윈도우 운영체제가 제공하는 콤보박스의 약점 중 하나는, 현재 선택된 아이템에서 인접한 아이템으로 한 번 클릭만으로 손쉽게 이동하는 게 없다는 것이다. 그런 약점을 보완하기 위해 슬라이더라든가 up-down 컨트롤을 옆에 덧붙이는 경우도 있다. 그러나 한글 낱자를 선택하는 건 무슨 연속된 영역을 선택하는 게이지도 아니고, 무슨 글꼴 선택 콤보박스처럼 이것저것 살펴봐야 하는 부류도 아니기 때문에 그런 UI는 넣지 않았다.

이런 점에서 <날개셋> 한글 입력기의 낱자 입력 컨트롤은 <날개셋> 한글 입력기만의 고유한 UI로 불리기에 손색이 없다. 걸출한 고유 UI로는 글쇠배열 편집기도 있는데, 이 UI 역시 써 본 분들은 알겠지만 <날개셋> 입력 커널을 공유하기 때문에 내가 당장 쓰는 글쇠배열로 다른 글쇠배열을 손쉽게 만들 수 있다. 아울러, 낱자 입력 컨트롤의 콤보박스 부분은, 문자표에서 볼 수 있는 문자표 컨트롤의 코드를 공유한다.

Posted by 사무엘

2010/08/21 15:33 2010/08/21 15:33
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/353

날개셋 한글 입력기 5.65

4개월이 넘는 시간 동안 0.1이 조금 넘는 분량만치 버전이 올라갔습니다. 5.7까지 하기에는 좀 분량이 안 차는 것 같고.. 하지만 이제 5.5x는 확실히 졸업이죠.

고등학생 신분으로 만든 마지막 버전: 1.1 (2000년, 인터넷 미공개)
대학생 학부 신분으로 만든 마지막 버전: 3.41 (2005년)
병특 신분으로 만든 마지막 버전: 4.82 (2008년)
일반 풀타임 직장인 신분으로 만든 마지막 버전: 이번 5.65 되겠습니다. (2010년) 더구나 개발 10주년 기념작이기도 합니다. (☞ 받는 곳 )

리드미 파일을 보면 알 수 있듯이. 이번 5.65의 변화 사항은 다음과 같은 세 분야로 요약됩니다.
아주 의미심장합니다.

※ 날개셋문자의 타입으로 다중 문자와 다중 한글 자모 추가

다중 문자를 쓰면, 유니코드 UTF16 형태로 표현했을 때 최대 6바이트짜리 문자열을 본문에 한꺼번에 집어넣을 수 있습니다.
그래서 '날개셋 고급 입력기'의 사용자 정의 조합 같은 걸 쓰지 않고도 '000' 같은 문자열 정도는 글쇠에 바로 배당할 수 있습니다.
또한 조합용이 아닌 완성된 한글 문자로도 예전에는 현대 한글 하나만 배당 가능했지만 이제는 각 자모가 한 글자씩을 차지하는 옛한글도 배당할 수 있으며, 리가처가 별도로 붙은 복잡한 라틴 문자도 글쇠에 배당할 수 있습니다.

사용자 삽입 이미지

그럼 다중 한글 자모는 무엇일까요?
<날개셋> 한글 입력기는 원래 다중 한글 자모를 지원합니다. ㄱ+ㅏ를 한꺼번에 배당해서 '간', '감', '강' 같은 글자를 세 타가 아닌 두 타만에 입력하게 할 수 있지요.
그런데 그건 같은 글자 안에서만 지원됩니다. 이번 버전에서는 종/초중, 중종/초 같은 글자 경계를 넘어서는 다중 한글 자모를 지원합니다.

그래서 '가'를 입력 도중에 종성과 다음 글자 초성을 동시에 입력해서 '강ㅇ' 같은 글자를 바로 만들 수도 있습니다. (ㅇ은 조합 중인 상태) 가상 낱자와 응용하면 '갇' → '가ㅌ'를 만들 수도 있게 됩니다. 도깨비불 현상을 모음이 아니라 자음으로 만들어 내는 것이죠.
이런 기능이 보편적으로 쓰일 일은 많지 않겠지만 한글 입력기의 기능의 완전성 차원에서 꽤 오래 전부터 계획했던 기능인데 이걸 드디어 구현했습니다. ^^

※ 제어판 UI가 굉장히 많이 개선되었습니다

낱자 처리나 최종 변환 테이블처럼 각종 데이터의 목록이 있는 곳에서 아무 항목도 선택하지 않고 '삭제'를 누르면 해당 데이터를 한꺼번에 지울 수 있게 했습니다. 물론 정말 모두 지울 거냐는 확인 질문도 뜹니다.

또한 중복값을 추가하면 무조건 에러만 나는 게 아니라 값의 대체도 가능하게 했습니다. 가령, ㄱ+ㄱ→ㄲ이라는 규칙이 있는데 ㄱ+ㄱ→ㄴ을 또 추가하면 무조건 에러가 나고 퇴짜만 맞는 게 아니라, ㄲ을 ㄴ으로 고칠 거냐는 질문이 나오게 됐고요.

리스트를 Ctrl+클릭하면 ㄱ+ㄱ→ㅋ, ㅋ+ㄱ→ㄲ, ㄲ+ㄱ→ㄱ처럼 순환식 결합 규칙이 있는 경우 이 순환을 자동으로 한꺼번에 selection으로 만드는 기능도 추가했습니다.
낱자 선택 컨트롤의 경우, F3을 누르면 낱자를 무조건 사전 순으로만 출력하는 게 아니라 코드와 등급 순으로도 정렬이 되게 했습니다. 이렇게 하면 현대 한글만 맨 앞에 우선적으로 먼저 나열되기 때문에, 옛한글을 사용하지 않고 현대 한글만으로 입력 환경을 구성할 때 매우 편리합니다. 이것도 진작에 구현됐어야 할 기능이죠.

사용자 삽입 이미지

※ 각종 버그 수정

제어판 UI가 미세하게 오동작하거나 심지어 프로그램이 죽을 수 있던 문제를 여럿 발견하여 해결했습니다.
<날개셋> 편집기는 찾기 대화상자 꺼내다가 프로그램이 random하게 죽던 문제를 드디어 완전히 해결했습니다.
윈도우 XP(비스타/7 말고) + 아래아한글 2010에서 외부 모듈을 사용하다가 프로그램을 종료하면, 프로그램이 그냥 종료되지 않고 외부 모듈에서 에러가 나던 문제도 물론 해결됐고요. 아래아한글 2010이 출시된 지가 언제인데 새 버전 공개가 좀 늦은 감이 있군요.

유용하게 사용하시기 바랍니다.
다음 버전은 5.x대의 마지막 버전.. 즉 6.0 직전 버전 컨셉으로,
내부 API를 상당수 재정비하고(breaking change 잔뜩) 프로그램의 보안과 안정성을 강화하는 쪽으로 리팩토링 할 예정입니다.
가령, 아무 생각 없이 문자열을 넘겨주던 함수에다가 버퍼의 크기도 명시해 주는 식으로.
또한, 입력 설정 데이터에 오류가 있더라도 프로그램이 뻗지 않게(fuzz testing)..;;

조금만 있으면 <날개셋> 한글 입력기 커널인 ngs3.dll이 600KB를 돌파하고,
모든 모듈의 소스 코드 총합이 6만 줄을 돌파합니다.
물론 저의 코딩 스타일을 잘 아는 분이라면, <날개셋> 한글 입력기의 실질적인 소스 코드 수는 이미 10~15만 줄일 거라고 예상하기도 합니다. ㅋㅋㅋ

Posted by 사무엘

2010/08/18 23:25 2010/08/18 23:25
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/351

날개셋 타자연습의 청사진

요즘 게임의 대세는 온라인이다. 네트웍 기능은 필수이다.
그에 따라 <날개셋> 타자연습도 아래 세 가지 모드가 모두 가능해야 한다.

1. 지금처럼 컴퓨터하고만 타자를 측정하고 실력을 겨루는 기존 싱글 모드. 계정 정보는 당연히 내 로컬 컴퓨터에..
2. 계정 정보는 여전히 내 로컬에 있고, 그냥 단거리 네트웍으로 상대방과 겨루기. 스타로 치면 UDP Multiplayer
3. 스타로 치면 배틀넷 급의 중앙 서버에 로그인하는 완전 온라인 방식

게임의 경우, 싱글플레이는 정교한 게임 스토리와 주인공 대화까지 나오는 캠페인이 제공되며 타자 왕초보를 위한 올바른 타자 습관 및 세벌식 홍보 튜토리얼도 있다.
그리고 멀티플레이는 스타 캠페인 에디터처럼 정교한 게임 customization이 가능하다.
두 명이서 협력해서 컴퓨터가 만들어 내는 바이러스들에 대항한다거나, 아니면 서로 따로 게임을 하면서 타자가 빠른 사람이 상대방을 방해도 할 수 있는 전투 테트리스 같은 구도로 게임을 할 수도 있고.. 뭐 가능성은 무한하다.
물론 단순히 2를 넘어 3까지 구현하려면 서버를 구비해야 하고 서버 프로그램까지 별도 개발이 필요하다. 본인의 능력을 벗어나는 범위가 된다.

또한 게임은 3차원은 필수! 그래픽이 윈도우 비스타가 기본 제공하는 게임이나 화면 보호기 수준은 돼야 한다. 떨어지는 글자들은 3차원 메쉬이며 금속 재질이다. 터질 때의 각종 파티클 이펙트도 화려하고 각종 특수효과 바이러스가 작동할 때도 이펙트가 나와야 한다. 날쌘/진격 바이러스일 때는 카메라 노출 시간이 길어진 듯한 이펙트.. 숨바꼭질 바이러스는 클록킹 유닛처럼 진짜 쏙 숨어서 배경을 입체적으로 왜곡하는 이펙트. 이런 식으로 말이다.

전통적인 타자방의 경우, 단문 문장이 하나 주어지면 사람들이 다들 재빨리 타이핑을 해서 순위를 내는 구조이다. 하지만 단순히 대화방 내부에서 봇 형태로 동작하는 타자방이 아니라 전문적인 타자 연습 프로그램이라면, 장문 검정도 온라인으로 얼마든지 실시할 수 있다.
지금 n타의 속도를 기계적으로 흉내 내기만 하는 '경쟁 모드'를 진짜 사람인 상대방의 타자 상황으로 나타내어 주고, 게이지가 단순히 늘기만 하는 게 아니라 줄어들기도 한다면(오타를 지울 때) 얼마나 흥미진진하겠는가!

진짜 사람과 겨루는 '경쟁 모드'는 꼭 구현해 보고 싶은 것이었다. 3차원 그래픽이 필요한 것도 아니고 어려운 것도 아니고...

타자 연습 프로그램이 인터넷과 연결되면 연습글이 그야말로 무궁무진해진다.
내가 좋아하는 분야의 최신 연습글을 서버로부터 실시간으로 다운로드할 수 있고, 연습글에 발견된 오타에 대한 패치도 실시간으로 진행 가능해진다. 뭐 귀여니처럼 온라인으로 문학 활동을 하는 작가라면 연습글 다운로드 서비스로 뭔가 수익 모델도 만들 수 있지 않을까?
개인 계정 정보에는 내가 과거에 다운로드하고 실제로 타자 연습을 해 본 연습글들 기록이 남는다.

본인의 지인 중에도 자기가 직접 프로그래밍 공부까지 하면서 타자 게임 사이트를 꼭 만들고 싶어하는 친구가 있다. 하지만 본인은 이제 저런 걸 도저히 혼자 힘으로 다 공부해서 만들 수 없다.
본인보다 유행과 디자인 감각에 뛰어나고 게임 제작이나 기획에 소질이 있는 사람이 뭔가 좋은 작품을 만들어 줬으면 좋겠다. 한컴이나 NHN 같은 곳 지원이라도 받아서..;;

그런 걸 만드는 데 도움이 된다면 <날개셋> 타자연습 소스 정도는 인계할 의사가 있다. 비록 입력기 소스는 공개 안 하지만 말이다.

Posted by 사무엘

2010/08/03 08:49 2010/08/03 08:49
, ,
Response
No Trackback , 11 Comments
RSS :
http://moogi.new21.org/tc/rss/response/337

다음 버전 개발 상황

1. 편집기: 찾기/바꾸기 대화상자를 꺼내는 중에 가끔씩 프로그램이 죽던 문제
아래와 같이 조치를 취한 후로 이것 때문에 프로그램이 문제를 일으킨 적은 그때로부터 약 40일 동안 전혀 없었습니다. 버그가 해결된 것으로 보입니다. 속이 다 후련하네요.

2. 외부 모듈: 이클립스에서 창을 띄울 때 글자판이 자꾸 0번으로 돌아가던 버그를 고쳤습니다. (메일을 통해 받은 버그 신고)

3. 외부 모듈: 아래아한글 2010을 종료할 때 에러가 나던 문제를 해결했습니다. (메일을 통해 받은 버그 신고)

의미 있는 버그 신고로 <날개셋> 한글 입력기의 안정성 향상에 기여해 주신 분께 감사합니다.
다음 버전은 5.54는 아니고요. 최소한 5.6이나 아니면 5.7로 갈 예정입니다.
생각하고 있는 기능 추가도 듬뿍 해서 올해 8월 정도쯤에 릴리즈 계획을 잡고 있습니다.

다만, 윈도우 7에서
아주 랜덤하게.. 며칠에 한 번꼴 빈도로..
<날개셋> 한글 입력기의 외부 모듈에서 한자 변환을 시도하면 프로그램이 아무 말도 없이 꺼지는 것 때문에 미치겠다는 문의가 있는데 저는 그에 대해서 전혀 알 길이 없습니다.
그쪽에서도 언제나 정확하게 재연은 안 되는 문제라고 하고, 저 그런 현상은 전혀 경험한 적이 없고..

비슷한 현상을 경험하거나 문제 재연과 관련된 단서가 있으신 분의 제보를 기다립니다.

Posted by 사무엘

2010/06/01 09:08 2010/06/01 09:08
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/281

<날개셋> 편집기를 오래 써 온 분들은 아마 아실 겁니다. 찾기/바꾸기 대화상자에 아주 교묘한 버그가 있습니다.
글을 쓰다가 Ctrl+F 또는 Ctrl+H로 이 대화상자를 한 수십 번 꺼내다 보면
정말 가끔, 아주 random한 확률로 엉뚱하게 explorer.exe가 죽거나, 편집기 프로그램이 죽거나 응답 불능 상태에 빠집니다. 윈도우 XP부터 비스타에서 모두 이런 증상이 나타나는 걸 확인했습니다. 에러 대화상자를 살펴보면 comctl32.dll이 뻗었다고 나옵니다.

이건 저도 원인을 알 수 없고 참 괴이하기 그지없는 버그입니다.
딱 원하는 때에 맞춰 재연은 절대로 할 수 없지만, 그래도 어디서나 언젠가는 100% 반드시 나타난다고 보장할 수 있는 현상이었지요.
발생 조건에 관한 한 최악의 버그입니다. 저는 무려 <날개셋> 3.x 시절부터 이것에 대해 알고 있었지만 디버깅할 엄두를 못 내고 있었습니다.

찾기/바꾸기 대화상자가 <날개셋> 편집기의 여느 대화상자들과 다른 점은 '탭 컨트롤'을 써서 찾기와 바꾸기 기능을 구분하고 있다는 점입니다. 혹시 이게 문제인가 싶어서 이번 기회에 아예 대화상자의 디자인을 바꿔 버렸습니다. 물론 5.53에는 아직 이게 적용이 안 돼 있고요.
5.53 이후로 다음 버전이 언제 나오게 될지 모르겠지만, 이렇게 하니까 이제는 저 문제가 없어졌는지 최소 몇 달간 살펴볼 예정입니다.

Posted by 사무엘

2010/04/19 07:35 2010/04/19 07:35
Response
No Trackback , a comment
RSS :
http://moogi.new21.org/tc/rss/response/249

날개셋 한글 입력기 5.53

약 80여 일만의 따끈한 업데이트입니다.
기능 추가는 없으며, 사실상 버그 수정 위주입니다.
더 넣을 기능이 없어서 기능 추가가 없는 건 아닌데..
5.5x대 버전을 졸업하기가 예상보다 참 힘들군요.

변화 사항 확인 & 받기: http://moogi.new21.org/prg4.html

Posted by 사무엘

2010/04/09 07:47 2010/04/09 07:47
Response
No Trackback , 3 Comments
RSS :
http://moogi.new21.org/tc/rss/response/238

스타크래프트 2 테스트 결과

스타크래프트 2의 대기실(로비)의 각종 입력란에서 <날개셋> 한글 입력기 외부 모듈로 한글이 전혀 입력되지 않는 현상을 자세히 테스트한 결과,
이건 99% 스타크래프트 문제이며 <날개셋> 문제가 아님을 알려 드립니다.

똑같이 멀쩡하게 한글을 조합해서 결과를 메시지로 날려주고 있는데, 이건 해당 프로그램이 오로지 MS IME의 입력만 받아들이고 나머지는 "고의로" 무시하는 것으로밖에 보이지 않습니다.
새나루라든가 심지어 같은 MS IME 중에서도 다른 것 --가령 오피스 2007 IME 말고 운영체제의 기본-- 을 시도해 봐도 안 되긴 마찬가지이더군요.

이런 프로그램은 처음 봤습니다. 표준 API만 써서는 이런 동작 방식은 만들고 싶어도 못 만드는데, 무슨 보안상의 이유로나 다른 사연이 있어서 IME를 가려가면서 입력을 받는 거라는 결론을 내렸습니다.
따라서 스타크래프트 2 문제는 해결책이 없다는 것이 <날개셋> 한글 입력기 개발자의 공식 입장입니다. 이 달 안에 <날개셋> 새 버전 5.53 내지 5.6 정도를 공개할까 생각 중입니다. 시간이 흐를수록 대규모 코딩은 어려워지고 있군요.

덧,

1. 지금까지 이 정도로 IME를 가려가며 괴이한 동작을 보이는 프로그램으로는 웹브라우저인 오페라 9.6x가 있었습니다. 이것도 그렇게 만드는 게 더 어려울 텐데-_-, 프로그램을 도대체 어떻게 짜야 그런 식의 오동작을 일으킬 수 있는지 IME 개발자인 제가 더 궁금할 따름입니다.
다행히 오페라 10부터는 문제가 해결되었다고들 하고(저는 확인 못 했음), 어차피 그 버그는 윈도우 XP에서만 나타나고 비스타부터는 해당 사항이 없는 녀석이어서 이 이슈는 곧 묻혔습니다.

2. 스타 2.. 재미있어 보이더군요. 완전히 온라인 게임 위주로 바뀐 것, 게임 화면이 3D화한 게 무척 인상적입니다. 스타크 유닛의 대사가 구수한 한국어인 것도 적응 안 됨...;;
참고로 게임 중 채팅은 이상 없습니다. 스타크2 문제는 로그인 직후 대기실에서만 나타나는 현상입니다.

3. 이번 실험 결과는 "출장"을 가서 알아낸 것입니다. <날개셋> 외부 모듈이 제일 불안정하던 3.X 시절에 카이스트 후배 컴에서 테스트를 한 적이 있었고, 제게 개인적으로 64비트 컴이 없던 상태에서 64비트 개발(포팅?)을 처음으로 할 때도 다른 사람 도움을 좀 받았었습니다. 이외에도 아주 기상천외한 상황에서 발생하는 문제를 확인하러 출장을 간 적이 있었는데 그때마다 소정의 성과가 있었습니다.

Posted by 사무엘

2010/04/03 21:49 2010/04/03 21:49
,
Response
No Trackback , 7 Comments
RSS :
http://moogi.new21.org/tc/rss/response/232

※ 2.0x

조합형 아스키 파일을 불러와서 편집하는 입력기 기술 데모 수준에 불과하던 1.x 에디팅 엔진이 2.0에 와서는 비약적으로 향상됐다. 서로 다른 입력 설정을 가질 수 있는 입력 항목을 4개까지 가질 수 있고 간단하게나마 플러그 인 확장도 가능해졌다.
편집기는 이제 자동 줄바꿈과 탭 문자가 지원되고 옛한글도 쓸 수 있게 되었다. 유니코드에 대한 지식이 부족해서 당시 아직도 널리 쓰이던 한/글 97의 내부 코드를 사용했던 게 무척 이색적임. 이게 무려 2002년의 일이다.

※ 2.3x

2.0 엔진을 기반으로 해서 편집기에 굉장히 많은 편의 기능이 추가되었다. 예를 들어, 중복 실행 방지라든가 전체 화면 같은 옵션은 이 버전대에서 처음으로 추가되어 오늘날에 이르고 있다.

※ 2.5

2.4와 기능면에서는 큰 차이가 없으나 드디어 개발툴이 비주얼 C++ 2003으로 업그레이드되어 향후 6년간 이 툴이 쓰이기 시작했다. 그리고 이 때부터 MSI 패키지 방식으로 프로그램이 배포되기 시작했고, 이 버전에서 정말 허접하게나마 TSF 모듈이 시범적으로 도입됐다.

※ 3.0 ~ 3.02

<날개셋> 개발 역사상 버전업 gap이 가장 길었던 3.0은 더 말이 필요 없다. API가 밑바닥부터 완전히 revamp되었다.
입력 기본 문자가 64비트 크기로 확장되고 100% 유니코드 기반 설계, 오토마타와 글쇠배열에 수식 지원, 임의의 개수의 입력 아이템 등록, 입력 스키마와 문자 생성기 계층의 분리, 첫가끝 방식 옛한글 표현 등 지금 <날개셋> 한글 입력기의 근간을 상당수 이때 이뤄냈다.
물론 엔진 교체에만 치중하느라 2.x에 있던 기능이 다운그레이드된 것도 그때는 있었다.

3.01은 3.0의 여러 치명적인 버그 수정 중심이었다.
엔진뿐만 아니라 외부 모듈 쪽 연구도 꾸준히 이뤄진 덕분에 3.02 때는 드디어 <날개셋> 한글 입력기가 역사상 처음으로 정식 외부 모듈(윈도우 IME)로 개발되는 쾌거를 이뤘다. 전용 에디터인 편집기 말고도 또 하나의 프런트 엔드가 추가된 것이다.

※ 3.1

상당히 개발 기간이 길었다. 외부 모듈을 처음 만들면서 부딪혔던 지옥 같은 온갖 버그들의 해결에 초점을 맞췄다. 그 후로도 3.x, 심지어 4.x 초반때까지도, 너무 투박하던 3.0x의 UI 편의성 강화 내지 다운그레이드 요인 해소 같은 개선 작업은 계속됐다.

※ 3.41

기념비적인 작품이다.
지금과 같은 tree 형태의 <날개셋> 제어판 UI가 이 때 정착했다. (3.0 UI는 지금보다 훨씬 더 불편했음)
그리고 한 바이너리로 유니코드도 지원하고 윈도우 9x에서도 실행 가능한 기술이 자체 개발되어 이 버전 때부터 적용됐고, MFC 라이브러리에 대한 종속성도 이때부터 완전히 사라졌다. 이 외에도 추가된 기능들 엄청 많다.
원래 3.4가 나왔으나, 치명적인 버그들 때문에 약 3주만에 역사 속으로 묻혔다. -_-

※ 3.9

3.5와 3.65는 여전히 외부 모듈 버그 해결 위주였고..
3.9에 와서 한글 입력 엔진이 장족의 발전을 이뤘다. 특수 도깨비불과 결합 축약 규칙이 도입되어 휴대전화 같은 굉장히 특이한 한글 입력 방식을 기술하는 기반이 마련되고, 한글뿐만 아니라 임의의 문자를 조합 상태로 입력할 수 있는 "날개셋 고급 입력기"라는 문자 생성기도 추가되었다.
아울러 XML 방식으로 입력 설정 파일을 읽고 쓰는 기능이 최초로 도입된 것도 이 버전부터이다.

※ 4.2

외부 모듈 쪽 버그를 잡은 것도 많지만, 편집기에 세로쓰기가 가능해지고(비록 기괴해 보이지만 -_-) undo/redo 기능이 지금과 같은 수준으로 쓸 만해진 게 이 버전부터이다.
사실 4.x은 3.x 엔진을 기반으로 해서 끊임없이 기능이 추가되고 외부 모듈이 안정화되던 단계였지 옛날 같은 급격한 변화는 없었다.

※ 4.4

윈도우 비스타와 MS 오피스 2007 같은 거물급 소프트웨어가 연달아 출시된 지 얼마 안 된 2007년 초에 나왔다. 이 버전은 에디팅 엔진부터 시작해서 외부 모듈 등 다방면에 걸쳐 굉장히 많은 기능이 추가되고 강화되었다. 윈도우 비스타 환경에 특화된 업데이트가 적용되었음도 물론이다.

개인적으로 무척 의미 심장한 버전이었다고 생각하는데, 놀라운 건 4.4는 4.2가 나온 지 불과 90일이 채 안 되는 짧은 기간만에 완성되었다는 것이다. 게다가 그 기간 동안 세벌식 파워업도 먼저 업데이트하고, 타자연습도 적지 않게 기능이 더해지고 고쳐졌다. 10년에 가까운 <날개셋> 한글 입력기 개발 역사상, 거의 전무후무한 사건이 아닌가 싶다.
어떻게 이 일이 가능했을까? 당시 근무 중이던 병특 회사가 망해 가면서 사실상 조업 중단 상태였고, 덕분에 개인 시간이 굉장히 많았던 덕분이었다. =_=;;

※ 4.55

지금과 같은 언어 리소스 파일이 확실하게 독립한 게 이 버전부터이다. 영어 말고 여타 언어 UI도 이제 이론적으로는 얼마든지 추가가 가능해졌는데, 그런 거 할 인력이 없으니.. -_-;;
이 시기에 정 재민 님의 노력 덕분에 같이 제공되는 비트맵 글꼴의 양과 품질도 굉장히 향상되었다.

※ 4.8x

짠.. 시대의 요구에 부합하여 이때 드디어 64비트 에디션이 나오기 시작했다.
그리고 이때, 프로그램 디렉터리 구조도 윈도우 비스타 기준대로 더욱 깔끔하게 바뀌었다.
4.81에 와서야 드디어 수식에 상수 명칭이 도입되었다.

※ 5.0

비록 기능상의 큰 변화는 없지만 한글 표현 범위가 유니코드 5.2에 맞춰서 확장됐으니, 5.0이라는 번호에 걸맞은 매우 의미심장한 변화라 할 수 있다. 또한 3~4대 버전에서 사용되어 온 비표준 한글 표현 관행도 완전히 없어졌다.
3~4대 버전에서 그대로 쓰이던 입력 설정 파일 포맷이 이 버전에서부터 바뀌었다. 그 대신, 한글 코드 변환과 옛날 방식 설정 파일의 변환만을 전문으로 하는 별도의 유틸리티가 추가됐다.

※ 5.3

나이를 먹고 사회적 위치가 바뀌면서 본인은 점차 시간의 압박에 시달리고 있다. <날개셋> 개발 주기도 갈수록 길어지는 게 눈에 띈다. 하지만 5.3은 5.0 이후 꽤 긴 시간만에 완성된 만큼 알찬 변화가 많으며, 보기 좋은 작품이다.
편집기는 8*4*4 도깨비 한글 글꼴뿐만 아니라 임의의 조합 테이블을 내장한 자체 글꼴을 지원하기 시작해, 옛한글 자모까지 포함하여 더욱 다양한 한글 글꼴을 사용할 수 있게 되었다.
이것 말고도 5.3에서의 가장 큰 변화는 "입력 패드"라는 제 3의 프런트 엔드의 추가이다. 편집기처럼 실행해서 외부 모듈처럼 다른 프로그램에다 글자 입력을 보내 주는 이 도구는 포인팅 장비로 입력 UI를 클릭하여 문자 입력이 가능하다. 예전에 존재하던 화면 키보드도 이런 입력 UI 중의 하나로 위상이 바뀌고, 동일한 UI를 세 개의 프런트 엔드에서 동일하게 구동하는 체계가 정립된 것이다.

그건 그런데, 5.3에 와서도 아직도 외부 모듈 버그 수정 사항이 심심찮게 보인다. 정말 윈도우 IME는 제대로 만들기가 불가능하며, 문제가 생길 때마다 그때 그때 고치는 수밖에 없다.
5.31은 5.3의 버그 패치라기보다는, 5.3에서 미처 다 못 넣은 기능들에 대한 강화판에 더 가깝다.

※ 5.5x

이 버전부터는 프로그램의 무설치 실행이 가능해졌으며, 윈도우 7에서 새롭게 발생하는 문제에 대한 패치가 몇 차례 이뤄졌다. 내부적으로는 개발툴이 6년만에 업그레이드되었다.
이 외에, 입력 UI로 부수 한자 입력기와 문자표가 입력 UI로 추가되었다. <날개셋>은 기술적으로 키보드 입력뿐만 아니라 터치스크린 입력 방식까지 커버할 만반의 준비를 하고 있는 중이다.

최신 버전인 5.52가 나온 후 현재 개인적으로 작업해 놓았거나 작업 중인 사소한 수정 사항은 다음과 같다. 일종의 ‘알려진 버그’인 셈이다.

1. 윈도우 라이브 메신저에서 마우스 클릭으로 대화창을 연 후 한글을 바로 입력하면 첫 타가 영문으로 씹히는 문제 (이건 기술적으로는 메신저의 버그임. 문제를 피해 가도록 조치를 취함)

2. 지금은 기억도 안 나는 여러 UI 개선. 특히, 받침 결합 규칙이 전혀 없는 세벌식 최종 자판에서 글쇠배열만 390이나 두벌식으로 바꾸려 할 때 경고 메시지가 뜨게 바꿈. ^^;;

3. XML 방식으로 설정 파일을 저장할 때, "" 안에 들어있는 부등호나 따옴표 같은 문자가 & 엔티티로 제대로 바뀌지 않을 수도 있는 문제를 발견하여 수정

4. 윈도우 7의 콘솔에서 한글을 조합 중이다가 조합을 중단할 때, 조합 중이던 한글이 덧나는 문제가 있다. ‘다 -> 다다.’ 처럼. 이게 일단은 MS IME에서도 두벌식이 아닌 세벌식 모드일 때 동일하게 나타나며, 비스타에서는 전혀 나타나지 않는 증상이 7에서만 나타나는 걸로 미뤄 볼 때 운영체제의 버그일 가능성이 높다.

5.52 이후 다음 버전은 또 기능 추가에 초점을 둔 5.7 정도로 생각 중이다.

Posted by 사무엘

2010/02/11 00:23 2010/02/11 00:23
,
Response
No Trackback , 4 Comments
RSS :
http://moogi.new21.org/tc/rss/response/179

게시판을 없애고 프로그램 관련 사항을 이제 메일로만 받으면서 며칠 지내 봤는데..
역시 여전히 좀 2% 부족한 걸 느낀다.
가칭 "<날개셋> 한글 입력기 사용자 모임" 같은 게시판형 커뮤니티가 있긴 있어야 할 것 같다.

1. 단순 사용법 질문 내지 건의
일반적인 상황에서 무슨 글자가 입력 안 되거나 글자판 전환이 안 된다는 식의 문의는 버그가 절대 아니고 단순 사용법 문의이다.
기능 제안, 건의도 여기에다 포함시킬까?

2. 버그 신고
프로그램이 뻗는다거나 이런 상황에서 MS IME와 다르게 동작한다는 걸 보고하는 일체의 상황

3. 자료실
다른 사용자들은 내가 만든 각종 글자판이나 입력 설정을 올리고 공유할 수 있고,
나는 <날개셋> 새 버전의 불안정 베타판이나 패치 같은 임시 자료를 올림

4. 프로그램 UI나 설명서에 존재하는 오타/깨진 링크 신고
소스 코드를 고치는 게 아니라 데이터 파일만 패치하면 되는 일체의 이슈들

포털 사이트 카페를 이용하는 게 제일 간단하고 좋긴 한데.. 컨텐츠들이 대형 포털 사이트에 종속되고, 글 올리려면 특정 포털 사이트 아이디가 있어야 한다는 게 흠임. 뭐 그 정도는 카페를 무료로 운영하는 데 드는 최소한의 대가 정도로 받아들여야 할지도 모르겠다.

커뮤니티를 만들 거면 저 정도로 번듯하게 만들었으면 좋겠는데, 문제는 내가 그렇게까지 전문적인 카페를 운영할 여건은 안 된다. 애초에 게시판을 없애고 메일로 바꾼 것도, 내가 인터넷 쪽으로 신경 쓰는 시간을 좀 줄이려는 의도였기 때문이다.

저런 커뮤니티를 만들면 운영은 다른 사람이 좀 했으면 좋겠다. 공개 게시판이 생기는 순간 일단 관리자의 역할이 커지기 때문이다(특히 익명 글쓰기가 가능한 게시판은 더욱 커짐).
나보다 답변 설명도 사근사근하고 친절하게 잘 하고, 다양한 소프트웨어 사용 경험이 있어서 사용자가 처한 상황이 이런 거라는 걸 풀이도 잘 해는 사람.. -_-
나는 오로지 새 버전 기술 개발에만 전념할 수 있게 말이다.

진짜 더 욕심 부리면, 다른 프로그래머 고용해서 리눅스나 맥 같은 여타 플랫폼 포팅도 하고..
이러려면 창업을 해야 된다. 창업 하면 생각나네, 타자 게임도.. <날개셋> 타자연습과 연계해서 어떻게 좀.. -_-;; 그저 아이디어는 아이디어일 뿐이로구나.

사용자 지원은커녕 앞으로는 개발도 더욱 시간 없어서 못 할 판인데
역시 혼자서 공개 소프트웨어 개발하는 건 한계가 크다.

덧붙이자면, 그래서 요즘 소프트웨어 개발은 다들, 과금 체계가 확실한 다른 분야로 빌붙는 양상으로 가는 듯하다.
예를 들면 온라인 게임, 임베디드, 혹은 하드웨어에 따라 붙는 드라이버 소프트웨어라든가.. 특정 전문 분야에서만 사용되는 주문형이나 미들웨어 쪽.
그게 아니라 불특정 다수가 사용하는 패키지 소프트웨어는 이미 시장을 꽉 선점한 대기업이 아니면 뭐.... ^_____^

Posted by 사무엘

2010/01/22 11:22 2010/01/22 11:22
Response
No Trackback , 2 Comments
RSS :
http://moogi.new21.org/tc/rss/response/154

« Previous : 1 : ... 7 : 8 : 9 : 10 : 11 : 12 : 13 : Next »

블로그 이미지

그런즉 이제 애호박, 단호박, 늙은호박 이 셋은 항상 있으나, 그 중에 제일은 늙은호박이니라.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

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

Site Stats

Total hits:
2666282
Today:
1520
Yesterday:
1937