Search Results for '2023/08/27'


1 POSTS

  1. 2023/08/27 다음 버전 개발 근황 by 사무엘 (7)

다음 버전 개발 근황

날개셋 한글 입력기 10.5가 공개된 지 벌써 2개월이 훌쩍 지났고 3개월이 돼 간다.
다음 버전은 내년 초쯤으로 계획하고 있다. 현재까지 작업된 것 중에는 딱히 완전히 새로운 기능은 없다. 그보다는 이미 제공되고 있는 기능을 제대로 구현하고, 자잘한 버그를 잡고 완성도를 높인 것의 비중이 더 크다.

1. 편집기: 위치만 다르고 이름이 동일한 파일을 여러 개 열었을 때의 식별 방식 강화

날개셋 편집기는 문서창에 자기가 다루는 파일 경로에서 디렉터리를 생략한 실제 이름만을 제목으로 표시한다.
그런데 이렇게 하면, 디렉터리는 다르고 이름은 동일한 파일을 여럿 열 경우 문제가 생긴다. 여러 창들의 제목이 동일하게 겹쳐서 사용자가 원하는 문서창을 고르기가 어려워진다. 그렇다고 파일의 전체 경로를 언제나 표시하면 당연히 너무 길고 거추장스럽고 지저분해진다.

그래서 이번 버전에서는 이 로직에 대대적인 공사를 했다.
위치만 다르고 이름이 겹치는 파일이 한꺼번에 열린 경우, 변별이 되는 가장 가까운 상위 디렉터리의 이름을 같이 출력하게 했다.

일례로, C:\a\b\foo.txt라는 파일을 열면 처음엔 foo.txt라고만 제목이 붙는다.
그런데 이 상태로 C:\foo.txt를 추가로 열면.. 각각 b\foo.txt와 C:\foo.txt라고 제목이 바뀐다.
둘 중 한 문서를 닫으면 다른 문서창의 제목은 다시 foo.txt라는 간단한 형태로 돌아온다.

저 두 파일이 있는 상태에서 C:\c\b\foo.txt와 C:\c\x\foo.txt를 추가로 열면..
b\foo.txt만으로도 변별이 안 되는 쌍이 생긴다. 그렇기 때문에 이들은 각각 a\...\foo.txt와 c\...\foo.txt 라고 바뀐다.
그러나 C:\foo.txt는 변함없으며, b 말고 x라는 경로는 겹치지 않기 때문에 ... 없이 x\foo.txt 라는 제목이 부여된다.

사용자 삽입 이미지

왼쪽이 before, 오른쪽이 after이다.
자잘하지만 실용적인 가치가 높은 동작 개선 작업이 무려 2023년이 돼서야 진행됐다.
저런 창 제목뿐만 아니라, 파일 메뉴 아래에 뜨는 "최근에 열었던 파일 목록"(MRU)에서도 동일한 디렉터리 구분 알고리즘이 적용됐다.
이름이 동일한 파일들을 한꺼번에 열 때 이런 동작이 크게 도움이 될 것이다.

2. 제어판의 글쇠배열 UI

  • 글쇠에다 문자를 배당하는 모드일 때는 우리 자체 입력 엔진뿐만 아니라 운영체제 IME로부터도(빈 입력 스키마 지정) 문자를 배당할 수 있는데.. 이때 한자 변환을 선택하면 후보창이 선택막대가 있는 글쇠의 아래에 딱 맞춰 표시되게 했다. 무슨 말이냐 하면 이렇게 말이다.
    사용자 삽입 이미지
  • 반대로 이동 모드일 때는 운영체제 IME가 꺼진다. 이때는 운영체제 IME가 한글 모드였더라도, 글쇠를 누르면 한글이 입력되는 게 아니라 정확하게 그 글쇠로 선택막대가 이동하게 했다. '글쇠 누름'(KY) 날개셋문자를 입력받는 모드일 때도 마찬가지이다.

3. 세로쓰기 상태에서 외부 모듈의 한자 변환 UI의 개선

외부 모듈은 날개셋 편집기나 MS Word 같은 프로그램에서 세로쓰기를 하고 있으면 한자 선택 UI도 세로쓰기 형태로 표시된다. 이런 동작 자체는 오래 전부터 제공되었지만, 다음과 같이 버그가 수정되고 동작이 개선되었다.

사용자 삽입 이미지

  • 글자가 굴림이 아니라 맑은 고딕일 때는 왠지 딱 정중앙이 아니라 한데 삐딱하게 치우쳐서 표시되는 것 같았는데.. 이걸 드디어 수정했다. 위의 그림에서 위와 아래의 차이를 참고할 것.
  • 스크롤바를 클릭하거나 드래그 한 것이 언제부턴가 인식되지 않고 있었다. 이 문제를 해결했다.
  • 그리고 멀티모니터 환경에서 주 모니터보다 왼쪽.. 즉, x 좌표가 음수인 모니터에서는 한자 선택 UI가 글자의 왼쪽이 아니라 오른쪽에 잘못 표시되던 문제가 있었다. 이를 해결했다.

4. 휠 클릭 자동 스크롤 관련 glitch들

날개셋 한글 입력기에서 제공하는 자체 에디트 컨트롤이나 문자표 등, 스크롤 가능한 GUI 요소들은.. 다들 마우스 휠을 클릭했을 때(굴리는 게 아니라) 앵커가 나타나면서 자동 스크롤 모드로 진입하는 게 있다.
얘는 기능 자체는 아주 오래 전부터 제공되어 왔지만, 제공되는 환경에 따라 미묘하게 일관되게 동작하는 게 있어서 개인적으로 찝찝하게 느껴 왔다. 너무 자잘한 사항 같지만 드디어 이제야 개선했다.

  • 대화상자에 있는 컨트롤에서 자동 스크롤(예: 문자표 대화상자)을 진행하던 중에 엔터나 ESC를 누르면 자동 스크롤만 종료되어야 한다. 하지만 지금까지 그 키가 대화상자의 확인/취소 명령에 그대로 전달되어서 대화상자가 통째로 종료되곤 했다. 그렇게 되지 않게 조치를 취했다.
  • 휠을 눌렀다가 바로 떼는 게 아니라, 마우스 포인터를 움직여서 스크롤을 좀 시키고 나면.. 눌렀던 휠을 떼는 순간 자동 스크롤이 바로 종료되곤 한다. 이게 다른 컨트롤에 대해서는 동작하는데, 보조 입력 도구(부수로 한자 입력, 이모지 등)에서 자동 스크롤을 그렇게 하면 자동 스크롤 종료가 동작하지 않았다. 이때도 동일하게 동작하게 조치를 취했다.

5. Neo둥근모 폰트 추가

'달고나'(본명은 정 은빈 님?)라는 분이 만든 'Neo둥근모'의 영문 글꼴을 추가했다.
Neo둥근모는 날개셋 편집기에서 제공하고 있는 그 김 중태 원작 둥근모 폰트를 오늘날 운영체제에서 사용 가능한 트루타입 형태로 변환하고, 한글과 잘 어울리는 풍의 영문· 숫자 글립까지 추가한 작품이다.

사용자 삽입 이미지

다만, 곡선을 넣은 게 아니라 비트맵 픽셀을 기계적으로 변환했다는 점을 감안해야 한다. 크기를 키우면 계단 현상이 그대로 나타난다. 힌팅 같은 것도 없다. 이건 디자이너가 아니라 프로그래머가 만든 폰트인 티가 팍팍 난다.

그럼에도 불구하고 영문· 숫자 폰트는 뭔가 게임 UI 폰트 같으면서도 매끄럽고 코딩용 폰트로 어울리고, 무엇보다 기존 한글 둥근모 글꼴과도 아주 잘 어울리는 것 같다. 잘 만들었다. 날개셋 편집기 같은 프로그램에도 딱 맞는 용도이다.
그래서 이 폰트를 내 프로그램의 비트맵 폰트로도 넣어서 제공하고, 원 제작자와 출처를 프로그램 도움말에다가 집어넣었다.

6. 편집기: 자잘한 개선 사항

(1) 편집기에서 한글을 입력하던 중에 Ctrl+S를 눌러서 저장 명령을 내리면.. 조합을 종료하고 나서 해당 텍스트 파일이 저장되게 했다. 이게 정상인데 내 프로그램은 지금까지 그렇게 동작하지 않았다.
그러면 파일을 저장하고 나서 cursor 이동으로 인해 그 한글 조합이 종료될 때, 문서가 또 불필요하게 수정 상태로 바뀌기 때문에 사용자에게 심리적으로 깔끔한 느낌을 못 준다.

(2) 파일 메뉴의 하단에 예전에 열었던 파일이 표시되는 것처럼.
편집 메뉴의 하단에는 예전에 사용했던 텍스트 필터가,
보기 메뉴의 하단에는 예전에 골랐던 입력 도구가 표시되어 사용자가 바로 선택할 수 있게 했다.

사용자 삽입 이미지

(3) 날개셋 편집기에서 문서 저장과 관련해서 가장 자주 보게 되는 확인 질문은 아무래도 변경된 닫을 때 나오는 "저장할까요?" 질문일 것이다. 하지만 이 프로그램은 단순히 그럴 때 말고도 파일이 외부에 의해 수정됐을 때, 인코딩 변환 과정에서 깨진 문자가 있을 때처럼.. 저장하거나 저장하지 않음으로써 이 문서나 기존 파일의 정보가 날아갈 우려가 있는 모든 상황에서 다양한 확인 질문을 한다.

사용자 삽입 이미지

다음 버전에서는 파일이 외부에 의해 변경됐을 때의 확인 질문이 저렇게 더 세분화될 예정이다.
그리고 '모두 저장'이나 '끝내기, 모든 창 닫기'처럼 여러 파일들을 한꺼번에 처리할 때.. 같은 종류의 확인 질문은 별도의 체크 박스를 통해 모두 무시할 수 있게 했다. 현재는 "변경 내용을 저장할까요?" 질문만을 무시 가능하기 때문이다.

7. 나머지 자잘한 개선 사항

(1) 날개셋 제어판 창은 크기 조절이 된다. 그런데 창을 옆으로 쭉 키우다 보면, 일부 컨트롤은 테두리에 잔상이 남으면서 보기 흉해지는 경우가 있었다. 특히 '낱자 처리'나 '최종 변환'처럼 ( ) → ( ) 형태의 컨트롤이 있는 탭을 열고 크기 조절을 해 보면 문제를 더 분명하게 확인할 수 있다.

사용자 삽입 이미지

이건 10년 이상 이 프로그램의 역사와 함께했던 고질병인데.. 이번 버전에서야 드디어 원인이 파악되고 소스 코드 한 줄만 달랑 고침으로써 해결됐다.
각종 컨트롤들이 재배치됐을 때, 클라이언트 영역만 다시 그리는 게 아니라 말 그대로 테두리 같은 non-클라이언트 영역도 다시 그리게 했어야 했다. 이걸 몰라서 엉뚱한 부분만 의심하면서 오랫동안 삽질을 했었다. -_-;;
이 버그? glitch가 드디어 해결되니 속이 무척 후련하다.

(2) 현재 날개셋 한글 입력기는 외국인을 위해서 설치할 때 '한글 로마자' 입력 방식을 곧바로 맞추도록 하는 옵션이 제공된다.
그런데, 이 옵션을 선택하면 프로그램의 UI도 운영체제의 기본 언어나 이전 프로그램 설정과 무관하게 영어로 기본 제공되게 프로그램 동작을 보강했다. 이렇게 하는 게 논리적으로 타당할 것이다.

Posted by 사무엘

2023/08/27 08:35 2023/08/27 08:35
Response
No Trackback , 7 Comments
RSS :
http://moogi.new21.org/tc/rss/response/2200


블로그 이미지

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

- 사무엘

Archives

Authors

  1. 사무엘

Calendar

«   2023/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:
2711675
Today:
1340
Yesterday:
1630