PuTTY에서 한글 글꼴과 영문 글꼴 분리 성공

daybreaker의 이미지

PuTTY에서 드디어 한글 글꼴과 영문 글꼴을 분리하는 데 성공하였습니다.;
PuTTY 최신 버전 소스를 직접 고쳐서 만들었네요..;

PuTTY 한글/영문 글꼴 분리

스크린샷에서 사용된 영문 글꼴은 Dina.fon (영문 전용)이고, 한글은 돋움입니다. (User interface 만들기 귀찮아서 하드코딩되어 있습니다..-_- 즉 어떤 글꼴을 지정하더라도 비ASCII 문자는 돋움을 사용한다는 뜻.)

유니코드 문자 출력하는 부분을 고친 거라서, CP949 인코딩을 사용한다거나 윈도98 같은 환경에서는 어찌될 지 저도 모르겠네요.;;

아무튼 필요하신 분은 받아서 써보시기 바랍니다. :)

ps. 여기서 원본 크기로 그림을 링크하니 찌그러지네요. 원래 크기로 보고 싶으시면 마우스 오른쪽 클릭하시고 메뉴에서 '그림 보기'를 클릭하세요.

ps2. 고친 방법은 다음과 같습니다.
window.c의 do_text_internal() 함수의 끝부분을 보시면 /* And 'normal' unicode characters */ 라는 주석으로 시작하는 유니코드 글자 렌더링 부분이 있는데, 여기에서 SelectObject API를 이용해 한글 글꼴로 바꿔치기하면 되더군요. 글꼴 생성은 init_fonts() 안에서 해두고, fonts[] 배열을 늘려 빈 공간에 집어넣는 방식으로 했습니다.
그냥 하면 영문 글꼴과 baseline 차이 때문에 줄 윗쪽에 붙는 현상이 있는데 text_adjust라는 변수를 바꿔서 해결 가능합니다.
혹시 여기서 한글화 패치 만드시는 분께서 이에 대한 글꼴 설정을 할 수 있는 UI도 추가해주시면 좋을 것 같군요. 제가 VC++을 잘 못다루기 때문에 UI 쪽은 어떻게 건드려야 할 지 잘 모르겠습니다;; (이 부분에서 사용할 '유니코드용 글꼴'과 글자 위치 조절을 위한 픽셀 단위 숫자값 하나 정도?)
코드는 제 블로그를 참고하세요.

File attachments: 
첨부파일 크기
Package icon putty.zip268.15 KB
토끼아빠의 이미지

축하드립니다.

좋은 하루 되세요!!

좋은 하루 되세요!!