날개셋 한글 입력기의 다음 버전은 6월 언젠가 정도로 계획하고 있다.
획기적인 새 기능까지는 아니지만 지금까지 자잘하게 개선된 사항들, 그리고 새 버전 정식 공개 전에 미리 알릴 필요가 있는 변화 사항들을 나열하면 다음과 같다.
1. 크롬 브라우저 버그가 이제 크롬 쪽에서 해결된 듯
오~ 크롬 브라우저--요즘은 같은 엔진 기반인 Edge도 포함해서--가 어째 정신을 차렸는지..
지난 4월 하순쯤의 버전 90대 최신 업데이트를 받고 나니, 한글 조합 중에 딴 데를 클릭했을 때 자기 혼자 조합이 덧나는 등의 잡다한 오동작이 싹 없어졌다.
그래서 이제는 내 입력기에서 기본적으로 제공하던 보정 옵션은 "반대로 꺼 줘야" 조합이 사라지는 오동작이 발생하지 않겠다.
지난 9.x 대 후반부터 거의 2년 동안 크롬과 내 입력기와의 악연이 계속돼 왔다.
물론 내 입력기도 마소 기본 IME하고는 다르게 동작하는 게 있긴 했겠지만.. 그래도 내 입력기에 대해서도 지금까지 그렇게 동작한 특이한 프로그램은 역사상 크롬(크로뮴 엔진)밖에 없었다.
IME/TSF 담당 개발자가 수시로 교체되기라도 했는지.. 크롬은 혼자서 여기저기서 갖~가지 자잘하고 기괴한 오동작들을 일으키면서 날 귀찮게 해 왔다.
한때는(1년 전쯤 버전??) 누가 언제 소스의 어디를 건드렸는지, 메트로 앱이 아닌데도 메트로 앱이라고 IME에게 거짓 보고를 하기도 하고, TSF를 제대로 지원하지 않는데 지원한다고 거짓 보고까지 했었다. (지금은 다 고쳐짐)
그럼에도 불구하고 크롬은 날개셋과는 비교가 되지 않는, 그야말로 전세계 전지구 넘사벽급 메이저 프로그램이라는 게 문제.. 내 프로그램이 수동 보정으로 크롬의 동작에 맞춰 주는 수밖에 없었다.
그랬는데 드디어 크롬 쪽에서 문제를 해결한 것으로 보인다.
심지어는 지난 3~4월 사이엔 한글 조합을 종료하면 이전에 입력했던 글자들이 쭈루룩 삽입되는 오동작도 가끔 발생한다고 본인에게 버그 신고를 하신 분이 있었다.
이걸 본인도 잠깐 확인하긴 했다. 하지만 정확한 재연 경로를 파악하지 못했으며, 특히 업데이트를 받은 뒤부터는 그 문제를 다시는 재연하지 못하고 있다. 그래서 이건 일단 '공소권 없음'으로 사건을 내사 종결하고자 한다. 혹시 크롬 최신 버전 + 날개셋 10.2에서 저 문제를 또 재연 가능하신 분은 알려 주시면 좋겠다.
이로써.. 혼자서 독보적인 수동 보정 옵션을 필요로 하는 특이한 프로그램의 끝판왕으로는 사실상 Windows Terminal밖에 남지 않았다. 얘는 버전업도 하지 않는지, 오동작 현상을 처음으로 확인했던 1년 전이나 지금이나 변함없다.
수동 보정 옵션이 갈수록 내용이 적어지고 궁극적으로는 필요 없어지는 날이 왔으면 좋겠다.
그럼에도 불구하고 이번 버전에서는 수동 보정 UI를 이렇게 쇄신했다. 증상, 조건, 주 적용 대상을 일목요연하게 나열하고, 보정 대상인 이상 동작을 심지어 움짤로도 표시하게 했다.
![사용자 삽입 이미지](/tc/attach/1/1215814385.png)
2. 확대 배율(DPI)이 서로 다르게 지정된 다중 모니터 환경에 대한 지원
결론부터 말하자면.. 날개셋 외부 모듈에서 제어판을 꺼냈는데 이 창을 DPI가 다르게 설정된 모니터로 옮겼을 때 각종 컨트롤들 배치가 엉망이 되는 문제를 "일단은" 해결했다. 알고 보니 이건 Windows 10의 대략 2017~18년도 버전 때부터 존재해 온 문제였다.
옛날에 컴퓨터 모니터의 해상도가 낮던 시절에는 확대 배율이라는 건 거의 건드릴 일이 없었으며, 그냥 시각 장애인을 위한 잉여 옵션에 지나지 않았다. 이걸 바꾸려면 운영체제 재부팅/재로그인도 해야 했다.
그랬는데 2000년대 이후로는 이게 재부팅 없이 간편하게 설정 가능한 옵션으로 바뀌었으며, 심지어 모니터별로 서로 다르게 지정도 할 수 있게 됐다. 응용 프로그램에 요구되는 준비 수준도 점점 더 높아졌다.
- (1) 가변 DPI 자체를 지원할 것: 이를 지원하지 않는 프로그램은 100% 외의 배율에서는 창 크기가 기계적으로 확대되어 뿌연 저화질로 표시된다.
- (2) 프로그램 실행 중에 DPI 설정이 바뀌는 것을 유동적으로 지원할 것: 이를 지원하지 않으면 DPI 설정 변경 뒤부터는 역시 보정 샌드박스가 발동되어 뿌연 저화질크리.
- (3) 이 모니터에 있던 창을 저 창으로 옮김으로써 DPI 설정이 바뀌는 것을 유동적으로 지원할 것(창 크기 변경까지 포함!!). 아예 한 프로그램 안에서 윈도우별로 DPI 설정을 따로 관리할 것.
그런데 날개셋 한글 입력기는 주요 UI에서 16 아니면 24픽셀로 크기가 고정된 비트맵 글꼴을 사용한다. 둘 중 하나를 고른 뒤에는 다른 걸로 변경이 전혀 불가능은 아니지만 좀 난감한 형태이다.
그리고 이것보다 더 큰 문제로.. 날개셋 제어판은 창 크기를 사용자가 유동적으로 조절 가능하며 대화상자 안에 또 대화상자가 들어있는 꽤 복잡 정교한 물건이다. 다른 프로그램들은 도대체 어떻게 동작하는지 모르겠지만, 이런 데서 화면 DPI가 바뀔 때마다 내부적인 수치 계산을 정확하게 다시 해 주는 것, 그리고 운영체제가 대화상자에 대해서 내부 컨트롤들을 바뀐 크기와 위치대로 재배치하는 것이 영 정확하게 연계해서 동작하지 않았다.
이 두 가지 난관 때문에 날개셋 편집기 등의 프로그램들은 가변 DPI를 어쩔 수 없이 최소한의 기본인 (1) 수준만 지원하고 있다.
허나, 날개셋 외부 모듈은 메모장, 크롬 등 가변 DPI를 (3) 수준까지 다 지원하는 프로그램에서도 동작해야 하는데.. 대화상자 창 크기가 바뀌었을 때 자체적으로 컨트롤을 재배치하는 기능과 운영체제가 DPI 변화로 인해 컨트롤을 재배치하는 기능이 충돌해서 정말 굉장히 이상한 오동작이 발생하고 있었다.
둘을 조화를 이루는 방법을 아직까지는 못 찾았다. 그냥 운영체제의 기능을 꺼 버리고, 어느 모니터에서나 가변 DPI를 고려하지 않고 동일한 픽셀 크기로 대화상자가 표시되게 함으로써 오동작을 회피했다. (3)은 이제 어떤 경우에도 뿌연 저화질 대화상자가 표시되지 않는 모드이기 때문에 이것 말고 다른 선택의 여지가 없다.
3. 나머지 자잘한 개선 사항
(1) 날개셋 한글 입력기에는 "지정된 데이터에 들어있는 한글"만 입력 가능하게 하는 제약 기능이 있는데.. 그 데이터는 후보 변환 데이터와 마찬가지로 직접 입력해서 내장시킬 수도 있고, 외부의 텍스트 파일을 지정할 수도 있다.
그런데, 텍스트 파일을 지정하고 나면 그 파일의 내용도 설정 대화상자에서 곧장 표시되어서 확인 가능하게 했다. 아래 스크린샷을 참고할 것.
![사용자 삽입 이미지](/tc/attach/1/1278571635.gif)
(2) "부수로 한자 입력" 도구가 호환용 한자는 크기를 약간 줄여서 표시하게 했다. 호환용 한자는 대부분 검정색 상용 한자에 있지만, 아주 드물게 그렇지 않은 것도 있다.
그리고 특정 부수에 속하는 한자들이 모두 표시된 경우, BMP 한자 한정으로 이 한자가 부수를 제외한 획수가 몇 획인지도 툴팁에 같이 나오게 했다.
![사용자 삽입 이미지](/tc/attach/1/1172829840.png)
(3) 제어판의 시스템 계층에 있는 "... 자동으로 띄울 입력 도구" 목록은 체크를 하다 보면 선택 막대가 자꾸 진하게 덧칠되는 문제가 있었다. 이건 엄밀히 말하면 오로지 Windows 10만의 버그이다. 그 전의 XP, 7, 8.1 등 그 어떤 버전에서도 이런 현상이 없었다.
![사용자 삽입 이미지](/tc/attach/1/1168362576.png)
그랬는데.. Windows 10에서도 이 현상을 회피하는 방법을 우여곡절 끝에 찾아내서 그걸 내 프로그램에다가 적용했다.
허나.. 그 방법은 이젠 공용 컨트롤 6이 적용되지 않은 옛날 레거시 프로그램에서는 또 다른 화면 잔상 부작용을 일으키는지라, -_-;; 이건 조건부로 제한적으로 적용해야 했다. 살다 살다 이런 지저분한 버그는 참 오랜만에 다시 본다. -_-
(4) 날개셋 편집기에서 따옴표(") 다음에 한 줄의 길이보다 더 긴 영어 알파벳을 늘어놓으면.. 단어 전체가 다음 줄로 밀려나고 원래 줄에는 따옴표 하나만 달랑 남던..-_- 이상한 문단 정렬 방식을 개선했다.
15년도 더 전, 2.x, 3.x 버전 시절부터 이렇게 동작했던 것을 바로잡았다.
![사용자 삽입 이미지](/tc/attach/1/1128324051.png)
Posted by 사무엘