다음 버전 개발 근황

2014년에 처음으로 나올 <날개셋> 한글 입력기의 다음 버전은 7.4로 정해졌으며 한창 개발 중이다. 지금까지 작업이 완료된 변화 내역은 다음과 같다.

1. 현재 MS 한글 IME의 사전을 이용하여 단어 단위로 한자를 변환하는 기능이 제공되고 있는데, 원래 있는 사전뿐만 아니라 MS IME에다 사용자가 등록해 놓은 custom 사전의 내용도 목록에 같이 뜨게 했다.

2. 제어판의 '편집기 계층'에서 옵션을 바꾼 뒤 '확인' 종료를 하면, 제4후보 설정들이 날아가 버리는 약간 중대한 버그가 있었다. 이것을 고쳤다. 사용자 정의 후보가 첫 추가된 7.0 이래로 존재했던 버그이며, 7.11에 존재하던 사실상 유일한 버그였다. 게다가 이것은 7.11만의 버그도 아니니 이번 7.11은 딱히 고쳐져야 할 게 없이 정말 완성도 높게 잘 만들어지긴 했다.

3. 낱자 수정 모드로 진입했을 때 전체 반전이 아니라 사각형 테두리 모양의 cursor가 거의 10년 만에 부활했다. 물론 이건 외부 모듈 말고 <날개셋> 편집기만으로 한정이다.

사용자 삽입 이미지

아마 아시는 분이 많지 않겠지만... <날개셋> 한글 입력기에는 낱자 수정 모드라는 게 있다. 삽입/겹침이 '겹침'에 맞춰져 있고(Ins 키), 낱자/글자가 '낱자'로 맞춰져 있는 경우(Shift+Ins), '가'를 '개'나 '나'로 곧바로 고친다거나 '강'으로 한 타 만에 고칠 수 있다. 글자를 처음부터 다시 입력해야 할 필요가 없다. 이것은 무려 1.0 첫 버전부터 긴 역사를 자랑하며 지원되어 온 기능이다.

낱자 수정 모드도 엄밀히 말하면 한글 조합 상태이긴 하지만 여느 상태와는 다르다. <날개셋> 편집기는 삽입/겹침이나 한글/영문이 아니라 낱자 수정 상태만을 별도의 cursor 모양으로 표시해 주고 있었는데.. 이건 까마득한 옛 버전인 1.x와 2.x까지만으로 한정되었다.

에디팅 엔진이 완전히 교체되고 운영체제의 표준 cursor를 사용하기 시작한 3.0부터는 낱자 수정 모드 자체는 존재하지만 다른 시각 피드백 구분이 없어졌으며, 그 관행이 2004년 이래로 10년째 지속되어 왔었다. 테두리 cursor는 10년 가까이 봉인되었다가 드디어 이번 버전에서 부활할 예정이다.

4. 외부 모듈에서 '빈 입력 스키마' 내지 '빈 입력 스키마 호환 옵션이 지정된 영문 쿼티'를 없앤 상태로 '확인'을 누르면 아예 경고문이 나타나게 했다. 링크를 클릭하면 더 자세한 도움말 설명도 나타난다.
쿼티를 없애고 드보락만 지정했는데 '빈 입력 스키마'가 자꾸 자동으로 추가돼서 이상하다는 문의가 지금까지 하도 많이 들어와서 말이다.

그렇게 IME가 인위로 글쇠를 생성하는 글자판은 비록 영문을 입력하는 방식이라 할지라도 기술적으로는 한글 모드일 뿐이다. IME가 아무 글쇠도 처리하지 않고 한국어 키보드 드라이버에 배당되어 있는 쿼티 방식 그대로 글쇠를 보내는 모드가 아예 없을 수는 없다.

5. 또한 이와 비슷한 매락에서, 단축글쇠 배당 대화상자에서는 Ctrl/Alt의 경우 오른쪽 방향은 인식되지 않을 수 있다는 경고문도 간단히 추가했다. 한국어 키보드 드라이버는 이들 글쇠를 한영/한자 키로 인식하기 때문이다.
<날개셋> 편집기야 자체 한글 기반이기 때문에 한국어가 아닌 여타 외국어 글쇠배열을 사용하다가 자체 한글 입력 모드로 들어가면 오른쪽 Ctrl/Alt를 인식 가능할 수도 있다. 그러나 외부 모듈은 그 자체가 한글 IME이고 무조건 한국어 키보드 드라이버와만 연결되기 때문에 그런 선택의 여지가 없다.

6. <날개셋> 한글 입력기는 MS IME와 마찬가지로 유니코드 BMP 영역에 있는 모든 한자들을 독음으로 입력할 수 있다. 그러나 현실에서 상용 한자 이외의 한자가 쓰이는 일은 매우 드물다. 그렇기 때문에, 좀 잉여스러워 보이긴 하지만 MS IME와 마찬가지로 '확장 한자 사용' 옵션을 켰을 때만 모든 한자들이 다 보이고 평소에는 상용 한자 4888자만 나타나게 했다. 이렇게 하는 게 처리 속도도 더 빠르고 말이다.
물론 이것은 사용자 후보나 단어 단위 한자 변환 동작에는 전혀 영향을 주지 않는다. 한글 하나만을 제1 후보 방식으로 기본 변환할 때에 한해서이다.

7. 편집기는 문서를 저장할 때 이미 있던 파일에다 덮어쓰는 경우, 임시 파일을 생성하여 저장한 뒤 임시 파일의 저장이 완전히 성공한 뒤에야 기존 파일을 지우고 임시 파일을 개명하는 방식으로 동작하게 했다. 저장 중에 프로그램이 뻗더라도 파일 내용이 송두리째 날아가는 일은 발생하지 않게 조치를 취했다. 어찌 보면 안전을 위한 기본 조치인데 <날개셋> 편집기는 지금까지 그런 정책을 채택하지 않고 있었다.
디스크의 용량이 극도로 부족할 때는 예외적으로 그렇게 복사본을 만들지 않게 하는 알고리즘도 필요할 듯도 하지만 일단은 거기까지 고려는 하지 않게 했다.

그리고 안전한 저장이라 하니까 생각하는데, <날개셋> 편집기는 자동 저장 기능은 여전히 지원하지 않으며 개발 계획에도 없다.

8. 다음으로 아주 잉여로운 GUI 변화 사항으로는...
TSF 시스템이 없는 운영체제에서는(Windows XP 미만의 초 구닥다리) 편집기의 'TSF 지원' 옵션이 흐리게 나오고, 자체 한자어 사전이 없는 운영체제에서는(Vista 미만) '단어 단위 한자 변환' 옵션이 흐리게 나오는 당연한 조치를 취했다. 물론 오늘날 운영체제에서는 아무 의미 없는 조치이지만, <날개셋> 한글 입력기는 공식적으로는 32비트 에디션 기준으로 윈도 95에서도 완벽하게 실행되는 거의 변태 같은 프로그램이기 때문에.. ㅎㅎ

- 블로그에 공지했던 입력 방식 유료 컨설팅 관련 설명은 도움말의 '일러두기'에도 당연히 짤막하게 추가되었다.

- UTF-8, UTF-16LE 같은 몇몇 용어를 표준 표기에 맞게 수정했으며,
- 빠른설정을 선택하는 목록 메뉴에서 '한글 로마자 입력기'가 신세벌식이나 복벌식보다 더 앞에, '기본 입력 설정' 바로 다음으로 나오게 순서를 변경했다. 이유는 두 말할 나위 없이 로마자 입력 방식이 두벌식/세벌식 다음으로 가장 널리 쓰인다고 판단되기 때문이다.

메이저한 굵직한 기능을 추가하기도 전에 사소한 변화 사항도 벌써 이만치 나왔다. 재미있다.
이런 경험들이 하나씩 쌓이면서 프로그램의 완성도는 갈수록 상승한다.

이미 보신 분도 계시겠지만, 사실 지난 1월에는 <날개셋> 한글 입력기 소개 페이지도 싹 갈아엎었다. 문서 만드는 게 코딩 이상으로 더 힘들 수 있다는 걸 실감한 시간이었다.

첫 화면에는 이 프로그램이 무엇인지 그 본질을 최대한 단순· 간단하게 소개한 뒤, 다운로드 페이지는 별도로 마련하고
프로그램에 대한 자랑질은 (1) 입력 아키텍처 쪽, (2) 세벌식 위주의 고급 활용 기능, (3) 편집기 및 외부 모듈 같은 구현체 소개
이렇게 세 단계로 완전히 세분화를 했다.

특히 (2)번의 경우.. 팔자에도 없던 움짤(gif)까지 최초로 만들어서..
기존 입력기에서는 이렇게 불편하게 고쳐야 하는 것을 이 프로그램으로 세벌식 + 관련 설정을 바꾸면 저렇게 곧바로 가능하다는 걸 바로 알 수 있게 했다. 왜 지금까지 이렇게 만들 생각을 안 했나 모르겠다.

마지막 '간단한 사용법'은 이 프로그램을 받아 놓고 도대체 무슨 기능부터 써 봐야 할지를 모를 사용자를 위한 팁 모음 같은 페이지이다.
내가 왜 코레일로 이직을 못 하고 있는지 궁금하신 분들은 한번 구경해 보시길~~ ㅎㅎ

다음으로 <날개셋> 타자연습이다.
타자연습의 경우 지난 2013년 한 해 동안은 새 버전 소식이 없었다.
그러다가 올해 초에는 입력기 7.4와 더불어 타자연습도 3.4가 나올 예정이다.

사용자 삽입 이미지
큰 기능 변화는 없고 아기자기한 외형 변경, 고해상도(high DPI) 모드에서의 일부 외형 glitch 수정 등이 이뤄졌다.
작은 크기에서 기존 32*32 아이콘을 줄인 밍밍한 아이콘이 아니라, 깔끔한 소형 전용 아이콘이 나오는 것을 주목할 것.
그리고 이번 기회에 연습글을 상당수 교체할 예정이다.

단문 연습용으로 너무 식상한 속담· 격언을 넘어서서 김성모 화백 어록이 제공된 게 지금까지 반응이 무척 좋았다. "내가 무릎을 꿇었던 건 추진력을 얻기 위함이었다" 같은 드립이 타자 연습글로 나오니까..ㅎㅎ
이번에는 일반 인터넷 유행어도 추가되어 "저 새는 해로운 새다" "찰지구나" "안녕하신가 힘세고 강한 아침" "병시나 산소" 등이 연습글로 제공될 예정이다.

그리고 허 성도 교수의 <우리 역사 다시 보기> 강연 녹취록을 적당히 편집하여 새 연습글로 추가했다. 분량도 적당히 많고, 내용 역시 매우 건전하고 훈훈하고 이념스러운 것 없고, 전국민에게 알릴 필요가 있는 좋은 내용이기에 즉시 추가했음.

이것 외에도 혹시 추가할 만한 좋은 연습글 있으면 추천받는다.
잘 알려지지 않은 인물의 선행/성공 일대기, 특정 사회 시스템을 돌아가게 하는 내부 사정 이야기, 언어 특성을 잘 살린 탁월한 운문이나 수필 등등이 좋을 것 같다..
아울러, <방망이 깎던 노인> 내지 <은전 한 닢>의 패러디 중 하나가 "재미있는 이야기" 카테고리에 들어갈 가능성이 있다.

끝으로, 세벌식 파워업도 2013년 한 해 동안 버전업이 없다가 최근에 간단한 업데이트가 행해졌다.
다른 프로그램을 사용하다가 파워업의 꼬마 윈도우를 클릭했을 때, "x벌식으로 바꿨습니다"와 함께 키보드 포커스가 잠깐 밖으로 나갔다가 다시 돌아와야 하는데..
지금까지 그렇지가 않아서 IE 11 같은 프로그램에서 글자판 전환이 곧장 반영되지 않던 문제가 있었다.
이번 패치는 이 문제를 해결했다.

IE 9와 IE 10에서 모두 원래 관찮았는데 하필 Windows 8.1 + IE 11에만 문제가 있는 걸 사용자의 제보를 통해 확인했다.

이상, 입력기, 입력기 소개 페이지, 타자연습에 파워업까지.. 오랜만에 본인의 본업 관련 소식을 쭉 전했다. 새해에는 세벌식 글자판이 더욱 널리 알려지고 쓰였으면 좋겠다.

Posted by 사무엘

2014/02/04 08:22 2014/02/04 08:22
Response
No Trackback , 8 Comments
RSS :
http://moogi.new21.org/tc/rss/response/927

Trackback URL : http://moogi.new21.org/tc/trackback/927

Comments List

  1. 세벌식 2014/04/24 22:07 # M/D Reply Permalink

    "세벌식-드보락" 사용자입니다.
    XP, 윈7 까지는 Shift+Ctrl로 "두벌식-쿼티"로의 단방 전환이 가능했으므로
    다른 입력기가 필요하지 않았는데,

    윈8.1에서는 단방 전환이 불가능하고 설정을 바꾸는게 엄청 번거로와져서
    방법을 찾다가 <날개셋입력기>를 설치하고 편리하게 사용할 수 있게 되었습니다.
    "윈도우키+스페이스바"로 "두벌식-쿼티"로의 단방 전환이 가능하기 때문입니다.
    컴퓨터를 전적으로 혼자 사용할 수는 없으므로 간편한 단방 전환 가능 여부는 매우 중요합니다.

    그런데...

    영영사전 프로그램을 사용하다가 발견한 문제점.
    (Longman Dictionary of Contemporary English 5th, Oxford Advanced Learner's Dictionary 8th 등등..)

    -. "날개셋-드보락"으로 설정을 하고 프로그램을 띄워도 "날개셋-쿼티"로 설정이 바뀜.
    -. "날개셋"에서 쿼티를 제거해봐도 여전히 쿼티로 바뀜.

    -. 바뀐 쿼티 상태로 그냥 입력을 하면 곧바로 입력이 되고,
    쿼티탓에 잘못 찍힌 글자를 지우고 드보락으로 전환하면 입력이 되지만,
    쿼티로 바뀐 상태에서 곧장 드보락으로 바꾸면 곧바로 입력이 되지 않고,
    입력창에 한번 클릭을 해야 입력이 시작됨.

    -. 윈도우 내장 드보락으로 설정하면 위의 문제가 생기지 않고 곧바로 드보락으로 입력이 가능함.
    하지만, 내장 드보락은 한글세벌식과 조합되지 않고 따로 설정이므로 한영전환시 번거롭고 불편함.


    <날개셋입력기> 7.4버전에서는
    드보락이 자꾸 쿼티로 바뀌거나, 작동이 불안정한 문제가 해결되었으면 좋겠습니다.
    부탁합니다...

    1. 사무엘 2014/04/25 09:58 # M/D Permalink

      안녕하세요?
      한글 IME는 키보드 드라이버 차원에서 동작하는 고유 글자판을 바꾸지는 못합니다. 그 쿼티는 자기가 쿼티 글자판을 구동시키는 모드가 아니라, 자기가 동작하지 않고 모든 글쇠를 응용 프로그램으로 보내는 모드입니다.
      그렇기 때문에 인위로 동작하는 드보락 모드 말고도, 필요한 경우 쿼티 글자판이 반드시 있어야 합니다. 제어판에서 쿼티를 삭제해도 '빈 입력 스키마'가 자꾸 생기는 걸 보셨을 텐데요. 이에 대한 자세한 설명은 도움말에 들어있습니다.

      다음 버전에서는 그 문제 자체가 개선되는 게 아니라, 쿼티 글자판을 없앨 수 없다는 안내문과 도움말 링크가 프로그램 UI에 추가되어 들어갈 것입니다.
      작업 자체는 굉장히 오래 전에 돼서 반영됐는데 7.11은 아직 그게 없군요. ^^ 7.4가 어서 나오긴 해야 합니다.
      감사합니다.

    2. 사샤나즈 2014/04/26 15:51 # M/D Permalink

      빈 입력 스키마가 작동할 때 작동하는 드라이버를 선택할 수 있도록 할 수는 없을까요?
      옛날에 새나루 입력기를 사용할 때는 쿼티용과 드보락용이 설치파일부터 나뉘어 있어 드보락 사용자도 쿼티로 바뀌는 일이 없이 사용이 가능했는데, 설치기에서 기본 드라이버를 선택할 수 있도록 하는 것은 어떨까 싶습니다. :)

  2. 사샤나즈 2014/04/26 15:47 # M/D Reply Permalink

    안녕하세요!
    오랜만에 입력기 관련 문서를 다시 살펴보다가 도움이 될 수 있을 듯한 문서를 찾아서 댓글을 달아 봅니다.

    "If your IME must store the dictionary file somewhere else, it must explicitly manipulate the Access Control Lists (ACL) of the dictionary files to allow access from app containers."
    http://msdn.microsoft.com/en-us/library/windows/apps/Hh967425.aspx
    http://msdn.microsoft.com/en-us/library/windows/apps/aa374872.aspx

    ACL이란 걸 명시적으로 지정해 놓으면 윈도8 modern 앺에서의 제한을 넘어서 ACL에 지정된 다른 경로에도 접근이 가능하다는 듯합니다. "dictionary file"만 말하고 있지만 글자판 관련 파일 등 다른 파일 접근도 상관 없지 싶네요.

    1. 사무엘 2014/04/26 18:30 # M/D Permalink

      반갑습니다. :)

      1. 새나루는 그렇게 키보드 드라이버의 customization까지 지원하는 게 인상적이더군요. 다만, 제 프로그램은 개발 방향의 특성상 그런 것까지 지원할 필요를 느끼지는 않아서 놔 두고 있습니다. “제 프로그램의 기능들을 활용해서 드보락도 덤으로 구현해서 대충 쓸 수 있다” 정도이지, 키보드 드라이버 차원에서 완전한 수준의 드보락 지원이 목표는 아니니까요.

      2. 그리고 소개하신 링크 문서는 저도 예전부터 봤습니다. 다만, 저게 구체적으로 뭘 의미하며 당장 내 프로그램에서 무슨 조치를 취하면 되는지 개념은 여전히 모르겠습니다. 당장 “Sharing information between processes: Use a web service to share data between Windows Store apps.” 이것도 뭘 말하는 건지 알 길이 없어요.
      그리고, 극단적으로 말씀드리자면, 데스크톱 앱에서 날개셋 제어판 실행 후, 입력 설정 파일을 '관리자 권한' 한번 줘서 Program Files 밑에다만 집어넣게 하면
      그건 메트로 앱에서도 공유가 가능하긴 합니다. 다른 이상하고 복잡한 방법을 찾느니 차라리 저게 현실적으로 더 나을지도 모릅니다. 깔끔한 방법은 못 되겠지만.
      메트로-데스크톱뿐만 아니라 32-64비트 장벽도 있으니 이거 참 골치 아프네요.

    2. 사샤나즈 2014/04/30 19:56 # M/D Permalink

      1. 음.. 혹시나 드라이버를 수동으로 바꾸더라도 날개셋 작동에 이상이 없게 된다면 (새나루의 경우는 키 입력을 받을 때 드라이버에 따라 바뀌지 않는 어떤 절대적인 값을 사용하는 것으로 기억합니다) 괜찮을 듯해요. MSKLC를 이용해 커스텀 드라이버도 만들 수 있으니 이것이 가능하다면 한글뿐 아닌 영문입력에서도 자유도가 상당히 높아질 거라고 생각합니다.

      2. 웹 서비스 이야기는 그 바로 위에 있는 on-the-fly learning에서 클라우드 서비스를 언급하는 맥락에서 보면 그 클라우드 서비스를 표현만 다르게 한 게 아닌가 싶네요. 윈도8부턴 설정 동기화 등을 중시하니까요.

      ACL 이야기로 돌아가면,
      http://msdn.microsoft.com/en-us/library/windows/apps/aa446596.aspx
      이 문서로 들어가면 SetEntriesInAcl 함수로 새 ACL을 만들라고 하네요. 여기서 날개셋이 파일을 읽을 수 있도록 접근 권한을 설정하길 요구하는 것일 텐데 아마 이 과정에도 관리자 권한이 필요하지 싶습니다.

      4/30/2014 덧:
      이번 IE 취약점 때문에 4월 26일자로 올라온 자료에 ACL이 언급되었길래 살펴봤는데, (30일자로 수정되었습니다만)
      http://cc.bingj.com/cache.aspx?q=acl+vgx.dll&d=4534163940053952&mkt=en-US&setlang=en-US&w=h-IUVpWHsTQN5nJ0klwNPS9ndQ5pKLjD
      cacls, 또는 비스타 이상부터는 icacls를 이용해 콘솔에서 ACL을 수정할 수가 있네요.

      icacls에 대해서는 여기에 패러미터 설명이 되어 있는데,
      http://technet.microsoft.com/en-us/library/cc753525.aspx

      위쪽 IE 취약점 관련 문서에서처럼 everyone 권한을, 지우는 대신 새로 준다면 되는건지, modern 앺에서 접근하려면 어떤 특정 권한을 따로 주어야 하는건지는 여전히 잘 모르겠네요..

    3. 사샤나즈 2014/05/02 13:16 # M/D Permalink

      http://support.microsoft.com/kb/2798317

      권한에 대해 좀더 봤는데,
      All Application Packages라는 그룹에 권한을 주면 modern 애플리케이션에서도 파일을 읽을 수 있게 되나 봐요.
      Windows 폴더가 현재 이 그룹에 읽기 권한을 주고 있네요.

      http://stackoverflow.com/questions/17761826/assigning-folder-permissions-to-all-application-packages-group
      이건 처음 올렸던 것처럼 코드로 직접 ACL을 만드는 방법에 관한 질문글인데 역시 All Application Packages 그룹 권한을 사용하고 있네요.

    4. 사무엘 2014/05/02 17:19 # M/D Permalink

      일일이 정보 리서치를 해 주셔서 고맙습니다.
      현재 작업 중인 새 버전은 한글 입력 알고리즘 쪽이 완전히 다시 만들어지다시피했는데 작년 11월 이후로 거의 반 년에 가까운 시간 동안 외부 모듈은 의외로 딱 하나(첫 타 씹힘 관련) 마이너한 버그가 고쳐진 것밖에 변화 내역이 없답니다.
      메트로 앱에서 입력 설정 동기화 관련 개선이 될 수 있을지는 모르겠지만, 나중에라도 참고하겠습니다. ^^

Leave a comment
« Previous : 1 : ... 721 : 722 : 723 : 724 : 725 : 726 : 727 : 728 : 729 : ... 1552 : Next »

블로그 이미지

철도를 명절 때에나 떠오르는 4대 교통수단 중 하나로만 아는 것은, 예수님을 사대성인· 성인군자 중 하나로만 아는 것과 같다.

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2019/10   »
    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    

Site Stats

Total hits:
1266326
Today:
11
Yesterday:
508