다음 버전 개발 근황

현재 날개셋 한글 입력기 10.2 또는 10.3이 올해 봄(3월 중) 정도를 목표로 개발 중이다. 간단한 개발 근황과 소식을 다음과 같이 몇 가지 전하고자 한다.

1. 외부 모듈의 동작 방식 개선

이번 버전에서는 이제 변경이나 개선의 여지라고는 도저히 없을 거라고 여겨지던 외부 모듈의 기본 동작이 바뀌었다. 겉으로 드러나는 결과는 동일하고 딱히 문서화돼 있지도 않던 내부 동작을.. 정밀 디버깅 끝에 MS IME와 더 비슷하게 일치시켰다.

덕분에 지난 9.82 버전부터 도입됐던 “프로그램 호환성” 보정의 필요가 훨씬 줄어들었으며 보정 내역이 단순해졌다.
이제 2021년 현재 실질적으로 보정이 필요한 부분은 (1) 크로뮴 기반 브라우저(크롬/Edge)에서 한글 입력 중에 조합이 강제 종료되었을 때, 그리고 (2) MS Word에서 한자 후보 변환 기능이 취소되었을 때, (3) Windows Terminal 문제 정도밖에 없다(‘학교’를 입력할 때 ‘ㅎ학ㄱ교’로 덧남).

(1)과 (2)는 한글 입력하고는 직접적인 관계가 없는 동작이어서 심각성이 훨씬 덜하다. 그나마 좀 크리티컬한 건 (3)밖에 없는데.. 내가 아는 프로그램 중에서 저렇게 유별나게 동작하는 프로그램은 오로지 쟤가 유일하다.

심지어 마소 한글 IME조차도 Windows Terminal에서는 내부적으로 살짝 다르게 맞춰 보정해서 동작하는 것까지도 확인했다. 하지만 도대체 무엇을 근거로 왜 그렇게 동작하는지는 도저히 알아내지 못했다. 그래서 얘는 문제에 대한 완벽한 해결책이 발견될 때까지는 지금 같은 인위적인 수동 보정의 영역에다 불가피하게 남겨 뒀다.

그래도 사소한 보정 말고 중대한 보정이 인위로 필요한 프로그램은 이제 사실상 딱 하나 Windows Terminal밖에 남지 않았다. 상황이 예전보다 많이 좋아진 셈이다.
날개셋 한글 입력기는 이제 MS Word의 겹침 모드(2007 이상)와도 그럭저럭 잘 호응하여 동작하며, IE 기반의 키보드 보안 ActiveX가 쓰이는 일부 사용자 인증 페이지에서도 제대로 동작하지 않던 문제도 덩달아 같이 해결되었다. 전부 단일 로직으로 말이다. 야호~!

2. 제어판 외부 모듈 목록 기능의 강화

사용자가 실제로 볼 일은 드물겠지만.. 제어판의 시스템 계층에서 제공되는 ‘외부 모듈’ 목록에 “상태에 이상이 있는 입력기”를 별도의 카테고리(그룹)에다 표시하는 기능을 추가했다.
지금까지 이미 존재하던 “활성화되지 않은 입력기”란 당장 win+space를 누르거나 입력 도구모음줄을 클릭했을 때 목록에 나타나지 않을 뿐, 컴퓨터에 설치는 돼 있는 입력기이다. 제어판/설정에 들어가서 얘들이 목록에 나타나도록 추가만 해 주면 된다.

사용자 삽입 이미지

그 반면, 상태 이상이란 운영체제에 IME로 등록은 돼 있지만 프로그램의 경로가 존재하지 않는 것(정보 없음), 혹은 그 경로에 지정된 파일이 존재하지 않는 것(파일 없음)을 일컫는다. 파일만 없어서 입력기의 아이콘을 얻을 수 없으면 텅 빈 윈도우 아이콘이 나타나지만, 정보 자체가 존재하지 않는 입력기에 대해서는 ( ! ) 모양의  아이콘이 표시된다.

대부분의 경우 상태 이상은 그 입력기의 설치나 제거가 제대로 되지 않았음을 의미한다. 아니면 64비트 운영체제에서 32비트만 지원하는 IME가 이렇게 표시된다. 설치나 제거가 완전히 끝나지 않은 상태라면 재부팅/재로그인을 하고, 입력기의 비트수를 제대로 확인해서 프로그램을 재설치하면 이 문제를 해결할 수 있다.

개인적으로 의미 있는 작업이었다. 이런 것도 진작에 구분해서 표시해 주면 더 좋았을 걸~ 위의 상태 이상 스크린샷은 일부러 파일을 지우고 32/64비트 중 한쪽의 등록을 날리는 등의 연출을 해서 얻은 것이다. 그리고...

사용자 삽입 이미지

외부 모듈의 세부 기술 정보를 보여주는 대화상자에서..
선택한 입력기와 class ID 내지 구동 파일이 동일한 입력기가 있으면.. 요렇게 목록에 같이 한꺼번에 표시하게 했다.

이게 흔한 경우는 아니지만 TSF라는 체계에서는 한 입력기, 프로그램 파일, class ID는 서로 완전히 별개로 일대일 대응하는 개념이 아니다. 한 프로그램이 여러 입력기를 등록할 수 있고, 여러 입력기가 동일한 class ID를 공유할 수도 있다.
이것도 아주 간단한 작업에 비해 운영체제에 설치된 입력기들의 관계를 파악하는 데 도움이 될 것이다.

※ 알림: 최신 운영체제에서 TSF 지원 임시 확장 기능의 변화

꽤 의외의 사실인데.. 요즘 운영체제에서는 날개셋 한글 입력기가 2008년, 무려 4.82 버전부터 지원해 왔던 "TSF 임시 확장" 옵션의 동작의 폭이 크게 좁아졌음을 뒤늦게 알린다.

얘는 원래 TSF를 지원하지 않던 운영체제의 (1) 표준 에디트 컨트롤, 그리고 (2) 서식을 지원하는 리치 에디트 컨트롤, (3) IE 웹브라우저 내부의 입력란에다 가상의 중간 계층을 추가하여 TSF를 지원하게 하는 기능이다. 그래서 글자가 아닌 단어 단위로 한자 변환이 가능해지고, 이미 완성된 글자도 낱자 단위로 지울 수 있게 된다. 운영체제에서 제공하는 기능을 한글 IME가 직접 요청도 해야 이 기능을 사용할 수 있다.

하지만 언제부터인지는 모르겠지만 19.. 20..급 버전의 Windows 10에서 우연히 테스트를 해 보니 (2)와 (3)은 TSF 임시 확장 기능이 없어졌다.
먼저 (3) IE는.. 최후이자 마지막 버전인 11이 TSF를 자체 지원하기 시작했기 때문에 임시 확장이란 게 의미가 없어지긴 했다. 10 이하의 구버전 또는 '호환성' 보기 모드에서만 동작을 확인할 수 있다.

하지만 지금은 IE 11 자체가 마소에서도 버리고 버전업을 중단한 레거시인데, 하물며 그 IE에서도 호환성 보기??? 정말 구닥다리 퇴물 중의 퇴물이다. 임시 확장 기능을 없앨 만도 하다.

그리고 (2) 리치 에디트 컨트롤도.. 최신 버전인 4.1 내지 5에서는 진작부터 TSF를 지원하기 시작했기 때문에 역시 임시 확장의 지원을 중단할 만도 하다. 하지만 구닥다리 버전 2 내지 3을 사용하는 프로그램도 여전히 많이 쓰이고 있으며, 최신 버전이라도 해당 응용 프로그램이 TSF를 지원하라는 플래그를 지정하지 않으면 TSF 기반으로 동작하지 않는다. 그러니 리치 에디트는 일괄 확장 옵션을 아예 없애 버리기에는 좀 아쉬움이 남는다.

하지만 리치 에디트의 TSF 임시 확장 기능은 한글을 처음 입력하기 시작했을 때 조합이 와장창 깨지고 문자가 이상하게 입력되는 버그가 있었다. 이건 끝내 고쳐지지 않은 채 기능 자체가 없어지는 것으로 논란이 종결된 듯하다. 즉, 해당 응용 프로그램 차원에서 제대로 지원하든가, 아니면 아예 지원하지 않든가 둘 중 하나인 것이다. 억지로 불완전하게 승격시키는 것을 뺐다.

그래서 2020~21년 현재, TSF 임시 확장 옵션은 오로지 메모장과 각종 대화상자의 입력란 같은 (1) 표준 에디트 컨트롤에서만 지원되고 있다. 뭐 얘만 해도 쓰이는 곳이 장난이 아니니 지원할 명분은 충분하긴 하지만.. IE는 몰라도 리치 에디트는 좀 아쉬움이 남는다.
사실 '고급 시스템 옵션' 탭 자체가 일반 사용자가 건드릴 일이 거의 없는 옵션들로만 가득하다. 이제는 그 아래의 '프로그램 호환성' 탭도 들여다볼 일이 더욱 없어질 테고 말이다.

Posted by 사무엘

2021/01/24 08:35 2021/01/24 08:35
Response
No Trackback , 10 Comments
RSS :
http://moogi.new21.org/tc/rss/response/1846

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

Comments List

  1. Ellif 2021/02/02 20:49 # M/D Reply Permalink

    안녕하세요. 오랜만에 피드백 드리게 되어 죄송합니다.
    최근 크롬 업데이트 이후 입력기 오류가 눈에 띄게 발생하고 있어 확인 부탁드리고자 연락드렸습니다.
    감사합니다.

    1. 사무엘 2021/02/03 00:19 # M/D Permalink

      안녕하세요~! 버그 신고를 해 주시면 제가 고맙지 신고자께서 죄송해할 필요는 없습니다. ^^
      다만, 제가 알기로 크롬 브라우저는 최근의 88에서 한글 IME의 동작과 관련하여 크게 바뀐 건 없습니다. 날개셋 최신 버전(10.1)을 사용하고 계신지, 구체적으로 어떤 상황에서 무엇이 제대로 동작하지 않는 문제가 발생하는지를 자세히 좀 알려 주시면 좋겠습니다.
      날개셋 제어판의 “시스템 계층 ? 프로그램 호환성”에서 크롬에 대한 보정 옵션이 적용되어 있는지도 확인해 주세요.

    2. Ellif 2021/04/18 10:07 # M/D Permalink

      해당 프로그램 호환성 적용 후에도 비슷한 상황 반복됩니다.

      문제의 핵심은 작성 중에 글자 입력이 완료되지 않은 상황으로 간주되었을 때 다른 프로그램으로 전환할 때 발생하는 것으로 확인하였습니다. 아마 탭간 전환도 확인해보셔야 할 것 같습니다.

      복된 주일 되시길 기도합니다.

    3. 사무엘 2021/04/18 10:20 # M/D Permalink

      네 맞습니다. 10.2 버전 + 해당 보정 켬 기준으로도..
      - 웹페이지 폼 내부에서 한글 조합 중에 다른 곳을 클릭했을 때 그 글자가 사라짐. 같은 폼 내부를 클릭했더라도 내부적으로 조합이 종료되지 않고 삽입됨
      - 아주 가끔(관찰은 몇 번 했지만 아직 정확한 재연 조건 모름).. 한글 조합 종료 후에 앞에 입력했던 글자들이 무더기로 삽입됨

      크게 위와 같은 두 종류의 문제가 있는 게 확인되었습니다.
      크롬과의 악연은 2년째 계속되고 있네요..;; ㅜㅜ

  2. 날개셋사랑맨 2021/02/11 04:18 # M/D Reply Permalink

    안녕하세요. 일본에서 외노자 하고 있는 사람입니다.

    날개셋 입력기가 기능도 많고 윈도우 입력기보다 가벼워서 아주 잘 사용하고 있습니다.

    그런데 아무래도 일본에서 살다보니 일본어 109 배열 키보드를 많이 쓰게 되는데요, 한글 키보드와 특수문자 위치가 다르고, 키 숫자도 더 많고 해서 애를 먹고 있습니다.

    제가 원하는것과 시도해본것을 알려드리겠습니다..

    ●궁극적으로 달성하고싶은것 -> 일본어 109 키보드에 각인된 특수문자를 그 위치 그대로 입력가능하면서, 자판만 한글로 쓰고 싶습니다

    ●시도해본것 -> 일단, [시스템 계층/고급 시스템 옵션/ 운영체제 차원의 설정] 에서, JP Japanese Keyboard Layout for 106을 선택하는 것으로, 영어 키보드일떄는 위 목표를 *거의* 달성했습니다.

    (거의라고 한 것은, 106키라서 무변환, 변환, 히라가나 키를 사용할 수 없는 것과, 우측 alt가 그대로 alt로 인식되어 한영변환이 살작 불편했기 때문입니다. )

    하지만, 한글 키보드는 위 설정이 적용되지 않고, 그대로 한글 키보드의 특수문자가 입력되었습니다. (예를들어 쉬프트+ 2 를 하면 @)
    그래서 글쇠배열 설정을 통해 일일히 바꿔보려 시도해봤지만, 글쇠배열설정상의 키 갯수가 한글 키보드 갯수에 맞춰져 있어서, 키 갯수가 더 많은 일본어 키보드랑 똑같이는 결국 맞추지 못했습니다.

    ist파일이나 key파일 불러오기로 여러 프리셋을 봐봐도 키 수를 늘려주는 것은 없었습니다.

    혹시 제가 놓치고 있는 설정이 있는지, 아니라면 키보드의 레이아웃만큼 글쇠배열설정 속의 키 갯수를 늘릴 수 있게 만들어 주실 수 있는지 여쭤보고 싶습니다.

    1. 사무엘 2021/02/11 19:00 # M/D Permalink

      안녕하십니까? 나라 밖에서 프로그램 활용 소식을 전해 주셔서 대단히 반갑고 고맙습니다. ^^
      전반적으로 기능을 아주 잘 활용하고 계십니다. 제가 일본어 native 키보드를 접해 보지 못해서 100% 정확하게 조언을 드리지는 못할 수도 있지만, 말씀하신 상황을 고려할 때 키보드 드라이버를..

      1. 일본어로 지정하는 경우,
      !A라는 한영 전환 글쇠에 대해서 한영 키가 아니라 그키보드 드라이버에서 인식하는 우alt로 지정해 보세요. 날개셋에서 기존 한영 글쇠로 한영 전환을 자연스럽게 할 수 있습니다.

      2. 한국어로 지정하는 경우,
      ‘글쇠 및 변수 옵션’ 탭을 보면 ‘추가로 인식하거나 인식하지 않을 글쇠’를 지정하는 게 있습니다.
      만약 기존의 알파벳, 숫자, 기호 글쇠 47개 + shift 조합, 총 94개 외의 다른 자리에다 임의의 문자를 배당하고 싶으면 이 기능이 도움이 될 수 있습니다.

      둘 중 한 방식으로 문제가 해결되고 답변이 되었으면 합니다. 더 궁금한 게 있으면 또 문의해 주세요.
      즐거운 설 명절 보내시구요.

  3. 날개셋사랑맨 2021/02/11 22:30 # M/D Reply Permalink

    오오 빠른 답변 감사합니다!!

    2번의 글쇠 및 변수 옵션을 통해서, 글쇠배열설정 프리뷰에 없는 키도 설정이 가능했습니다! 감사합니다.

    약간 노가다긴 하지만ㅎㅎ 이걸로 모든 특수문자를 제가 원하는 대로 지정할 수 있겠네요. 감사합니다!!

  4. 신세기 2021/03/14 11:23 # M/D Reply Permalink

    안녕하세요? 사무엘 님, 요즘 잘 지내시고 계신가요?

    좋은 프로그램이 10 버전까지 업데이트 되었네요, 이렇게 만들어주서서 감사드립니다. 잘 사용하고 있습니다.

    최근에 VS Code에서 하단 터미널을 cmd로 열면 qwerty가 아닌 영어자판이 두 번 입력되는 현상이 있는데 혹시 이 부분을 해결할 수 있는 방법이 있을까요?

    (스크린샷을 첨부해드릴게요 cdn.discordapp.com/attachments/517616714318479364/820480514447507516/ce36cbf62208d07a.png )


    다시 한번 이렇게 좋은 프로그램을 개발해주셔서 감사드립니다!

    1. 사무엘 2021/03/14 21:52 # M/D Permalink

      신세기 님, 오랜만입니다! 잘 지내시죠?
      VS Code의 터미널 창은 MS IME로도 세벌식으로 비조합 문자를 입력하다 보면 예전에 입력했던 글자들이 1 12 123 이렇게 쌓여서 입력되는 등의 오동작이 발생하는 것 같습니다. 이건 IME가 아닌 이 프로그램의 문제로 보입니다.
      그런 문제가 발생하지 않을 때는 날개셋 역시 최신 10.2 기준으로, Dvorak이나 세벌식의 숫자 기호 같은 문자의 입력에 딱히 다른 이상은 없는 듯합니다. 이 점 확인 부탁드립니다. 감사합니다. ^^

    2. 신세기 2021/03/19 13:56 # M/D Permalink

      아, 그렇군요. 신경쓰시게 해 드려서 죄송합니다 ㅠㅠ 그리고 알려주셔서 정말 감사드립니다!

Leave a comment
« Previous : 1 : ... 430 : 431 : 432 : 433 : 434 : 435 : 436 : 437 : 438 : ... 2131 : Next »

블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   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            

Site Stats

Total hits:
2633686
Today:
484
Yesterday:
1754