반응형

Notepad2-mod r940Scintilla 3.5.3을 반영한 버전이다.


Scintilla 3.5.3은 Windows 95/98/Me를 지원하던 코드를 제거했다.

이 과정에서 글꼴 이름을 ANSI로 넘기지 않고 UTF-8로 넘기도록 바꿨다.


문제는 Notepad2(및 Notepad2-mod)는 글꼴 이름을 ANSI로 넘긴다는 것.

한글 글꼴을 지정하면 아래와 같이 시스템 기본 글꼴이 적용된다.


굴려라 굴려, 굴림…


이 문제를 수정하려면 Styles.c에서 아래 함수를 찾아서


void Style_SetStyles(HWND hwnd,int iStyle,LPCWSTR lpszStyle) { }


아래 내용을…


WideCharToMultiByte(CP_ACP,0,tch,-1,mch,COUNTOF(mch),NULL,NULL);


아래와 같이 수정한다.


WideCharToMultiByte(CP_UTF8, 0, tch, -1, mch, COUNTOF(mch), NULL, NULL);


즉, 글꼴 이름을 ANSI로 바꿔 전송하던 것을 UTF-8로 바꿔 전송하도록 수정한 것이다.

이렇게 수정하면 아래와 같이 정상적으로 한글 글꼴이 표시된다.



덧. 이 내용을 Notepad2-mod에 issue로 제기했는데, 씹힌 것 같다:Font names interpretation is changed in Scintilla v3.5.3 #105

Scintilla의 개발자 Neil Hodgson이 설명한 내용을 알려주고, 수정하는 방법까지 설명했는데, "Well, I don't need to read anything."라니…

어휴… 이 답답한 그리스 놈아…



반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band