Search Results for '2019/08/27'


1 POSTS

  1. 2019/08/27 날개셋 한글 입력기 9.81 by 사무엘

날개셋 한글 입력기 9.81

원래 이 글은 날개셋 한글 입력기 9.9의 개발 근황 소식이 될 예정이었으나, 중간 소규모 업데이트인 9.81을 소개하는 글로 용도가 바뀌게 되었다.
이번 버전에서는 외부 모듈의 다음 두 시급한 문제가 해결되었다. 이것 때문에 9.81이 먼저 나오게 됐다.

  • Chrome 브라우저에서 한글 조합 중에 마우스 클릭 등으로 조합을 종료했을 때 조합 문자열이 덧나는 문제 (주소 입력란, 웹페이지 내부 입력란 모두)
  • Outlook에서 한글이 뒷글자가 지워지면서 겹침 형태로 이상하게 입력되는 문제

하지만 이들 문제를 해결하는 방법은 동작하는 프로그램의 이름을 파악해서 해당 프로그램에 대해서만 인위적으로 보정을 하는 매우 단기적이고 지저분한 방식이 될 수밖에 없었다. 당장 9.8 버전에서 Outlook 오동작이 발생했던 이유도 크롬이 뻗는 더 심각한 버그에 적용되었던 해결책이 다른 프로그램에서는 부작용을 일으켰기 때문이었다.

크롬의 조합 문자열 덧나는 문제 보정은 다음과 같은 한계가 있다.

  • 내 입력기가 제공하는 기능 중의 하나인 초성 지향 두벌식은 조합이 종료됨과 동시에 조합 문자열이 딴 걸로 바뀌는 게 가능해야 제대로 구현할 수 있다. '날'에서 '나라'가 되는 게 아니라, '나ㄹ'에서 '날'이 나중에 만들어지는 기능 말이다. 하지만 이건 크롬에서 기술적으로 가능하지 않다. '나ㄹ날' 이렇게 글자가 덧나는 문제가 여전히 발생한다.
  • 크롬이 차기 버전에서 자기의 버그를 고치는 경우, 이 보정 동작은 반대로 조합 중인 문자열이 씹히고 날아가 버리게 하는 버그로 바뀌게 된다! 내 입력기는 크롬이 그 버그를 갖고 있는지, 아니면 고쳤는지를 기술적으로 판단할 수 없기 때문이다.

이 점을 염두에 두고 감안하시길 바란다.
이것 말고 이번 9.81에서는 UI 쪽에도 여러 자잘한 것들이 바뀌고 개선되었다.

  • 이모지로 쓰이는 U+1F9??대의 "기호 및 픽토그램 보충"도 영역명을 정식으로 추가하고 글꼴 본뜨기 스크립트에 반영했다.
  • 반대로 PUA 영역에 샘플 차원에서 오랫동안 남아 있던 옛날 아래아한글 사용자 영역 잉여 심벌 글꼴을 삭제했다. PUA에는 구결, 그리고 반각 한글 음성 부호 내지 풀어쓰기 부호만 남겨 놨다.
  • 도움말도 Firefox 브라우저를 TSF 기반 프로그램으로 언급했으며, 유니코드 1.1 / 2.0 / 5.2 내력 등 몇몇 내용을 고치고 더했다.

※ 자잘한 버그 수정

  • 지난 9.8에서 입력 도구의 리스트박스에서 마우스 휠 스크롤이 가능해지긴 했다. 그런데 스크롤할 것이 없는 화면에서 휠을 굴리면 위치 계산이 잘못되어 화면의 내용이 일시적으로 싹 사라지는 버그가 있었다. 이를 고쳤다.
  • '한글 표현 방식' 페이지를 여는 것만으로 날개셋 제어판의 '적용' 버튼이 잘못 켜지던 아주 사소한 버그를 발견하여 고쳤다. 외부 모듈에서 날개셋 제어판을 열면 적용 버튼 자체가 표시되지 않긴 하지만.. 외부 모듈 말고 '입력 패드'에서 제어판을 열면 이 현상을 확인할 수 있다.
  • 입력 설정을 팩토리리셋(?) 하거나, Edge 같은 메트로 앱에서 날개셋 한글 입력기를 구동했을 때.. 0번과 2번 글자판에 둘 다 두벌식이 잡히던 문제를 해결했다. 0번이 두벌식이면 2번은 세벌식으로 잡히는 게 본인이 의도한 동작이었다.

맨 앞의 휠 스크롤 버그를 제외하고 나머지 둘은 직전 9.8만의 문제가 아니며, 더 옛날부터 존재했던 버그이다.

※ 외부 모듈의 한자 변환 관련

(1) 외부 모듈의 한자 선택 UI에서, 1줄짜리 작은 화면과 n줄짜리 큼직하게 펼친 화면을 전환하는 자그마한 버튼을.. 오랫동안 Wingding 글꼴의 삼각형 그림문자로 표시하고 있었으나, 이번에 >>로 깔끔하게 수정했다.

사용자 삽입 이미지

(2) MS Word는 우클릭 메뉴를 통해 한글과 한자를 변환하는 기능을 제공하며, 날개셋 역시 이 인터페이스를 꽤 옛날 버전부터 지원해 왔다.
그런데 날개셋이 단어 단위로 한자 변환이 가능해진 건 6.x 후반대부터이며, MS IME와 완전히 동일하게 단어의 앞부분부터 한자어를 탐색하게 된 것은 무려 8.x의 후반대부터이다.

이런 기능이 구현된 뒤에도 MS Word의 우클릭을 통한 한자 변환은 먼 옛날 버전과 동일하게 1글자 단위로 머물러 있었다. Word에서밖에 볼 일이 없는 기능이며, 다른 기능이나 버그 수정에 비해 개발 우선순위가 낮았기 때문이다.
오랜 마음의 부담으로 남아 있던 부분을 드디어 손 봤다. 이제 Word의 우클릭 메뉴에서도 단어 단위로 한글에서 한자 또는 한자에서 한글 변환이 가능해졌다. 편집기 계층의 옵션에서 "단어 단위 한자 변환"을 켜기만 하면 된다.

사용자 삽입 이미지

※ MS Word black blank 문제

MS Word에서 기존 MS IME로 한글을 입력하다가 나중에 입력기를 날개셋으로 바꿔서 한글 입력을 시작했을 때..
이전에 MS IME로 입력했던 구간들의 공백이 다 시커멓게 바뀌던 일명 black blank 버그를 고쳤다. 아니, 정확히는 그냥 그 문제가 발생하지 않게 회피 조치를 취했다.

이건 Office 2007때부터 10년 넘게 존재했던 유명한 문제이다. (2003 이하에서는 그런 문제 없음)
심각한 문제는 아니다. 프로그램이 뻗는다거나 하는 문제는 아니며, 문서를 저장했다가 다시 불러오면 시커먼 공백은 사라진다. 그냥 그런 알려진 문제가 있다고 도움말에도 진작부터 실려 있었다.

이건 엄밀히 말하면 MS Word 내지 MS 한글 IME만 특이하게 동작하는 걔네들의 문제라고 봐야 한다.
그렇게 한글을 쓰다가 굳이 날개셋뿐만 아니라 타 중국어· 일본어 IME로 바꿔서 글자를 입력해도 동일한 문제가 발생하기 때문이다.

사용자 삽입 이미지

아 참고로.. 세벌식으로 쳤을 때만 저런다(MS IME에서). 두벌식으로 쳤을 때는 안 저런다.

한국어 IME에서는 별로 쓰일 일이 없지만 중국어· 일본어 IME에서는 밑줄처럼 조합 문자열의 속성 지정 기능이 쓰인다.
이걸 살짝 건드리는 것만으로 이미 입력된 텍스트가 저렇게 바뀌는 건 일부러 저런 버그를 구현하기가 더 힘들 것 같다만..
그냥 안 건드림으로써 문제가 생기지 않게 했다. 한컴 입력기에도 그런 문제가 없기도 하고 말이다.

※ 동작 방식 변경

(1) 편집기를 종료하거나 모든 창을 닫을 때, "앞으로 이 질문을 하지 않음" 옵션은 진짜로 앞으로 닫아야 할 창이 2개 이상 남아 있을 때에만 나오게 동작을 좀 더 똑똑하게 개선했다. "빈 문서는 저장 확인을 하지 않음" 옵션까지 감안해서 말이다.

(2) 편집기에서 한 화면의 페이지 수를 계산할 때, 맨 아래 마지막 줄은 자신의 줄 간격을 포함하지 않고 글자 자체의 높이만 고려하게끔 동작 방식을 바꿨다.
덕분에 마지막 줄이 글자가 뻔히 다 나타나 보이는데도 화면에 표시된 줄로 간주되지 않아 그 위치로 cursor가 이동하지 않고 화면이 스크롤되던 비효율을 해결했다.

사용자 삽입 이미지

(3) 입력 도구에서 각종 목록이 한 화면에 충분히 들어가서 스크롤을 할 필요가 없으면 실제 운영체제 GUI처럼 스크롤바 버튼이 disable되게 했다. 그리고 스크롤바가 너무 작아서 한 화면에 제대로 표시를 할 수 없으면 bar 영역이 아니라 버튼 영역만 보이게 했다.
이건 옛날에 대충(?) 만들고 오랫동안 미완성으로 남아 있던 부분을 보완한 것에 가깝다.

사용자 삽입 이미지사용자 삽입 이미지

(4) 부수 한자 입력과 문자표에서.. 목록에 나타난 글자를 클릭하고 있으면 글자가 확대되어 보이는 기능을 드디어 구현했다.
이 두 도구가 제공된 지는 지난 5.x 버전 이래로 어언 10년이 돼 가지만.. 이 간단한 기능이 없어서 지금까지 뭔가 좀 허하게 느껴졌었다.

사용자 삽입 이미지

※ 이모지 문자표 추가

사용자 삽입 이미지

그리고 요놈을 추가했다. 이모지 문자표.
9.61에서 추가됐던 필기 인식에 이어, 그냥 운영체제가 제공하는 기능만 그대로 활용하는 입력 도구가 하나 더 추가됐다. 이로써 입력 도구는 총 12개가 되어서 제법 많아졌다.

사실 얘는 넣을까 말까 좀 고민되기도 했다. 한글 입력이랑 직접적인 관계가 있는 기능이 아니고 이모지 문자표는 Windows고 mac이고 다 운영체제 차원에서 기본 제공되는 게 요즘 추세이니 말이다. (Windows의 경우 Win+.)
하지만 이 기회에 컬러 폰트 API를 실습해 보고 싶기도 하고, 여느 문자와는 성격이 다른 이모지를 입력하는 별도의 UI도 있긴 해야겠다는 생각에 며칠 작업을 해서 해치웠다.

필기 인식이 Windows Vista 이상을 요구하는데, 이모지 문자표 도구는 그보다 더 높다. Segoe UI Emoji 폰트가 존재하는 Windows 10 이상(혹은 8.1??)에서만 제대로 사용할 수 있다. 이건 날개셋 한글 입력기에 구현된 기능들 중 요구하는 운영체제 버전이 가장 높은 기능이다.
운영체제가 기본 제공하는 이모지 문자표와 달리, 날개셋에서 제공하는 문자표는 크기 조절이 되며, 창을 계속 띄워 놓은 채로 딴 프로그램도 계속 사용하면서 이모지들을 입력할 수도 있다.

이 정도면 9.81 정도의 버전업 명분과 정당성은 충분할 것이다.

Posted by 사무엘

2019/08/27 08:36 2019/08/27 08:36
Response
No Trackback , No Comment
RSS :
http://moogi.new21.org/tc/rss/response/1655


블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2019/08   »
        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:
2635495
Today:
2293
Yesterday:
1754