2015년 마지막 Notepad2-mod 공개.사실 Inno Setup의 키워드 딱 하나(wizardimagealphaformat)만 추가된 것 외에는 아무런 변화가 없다. 그래도 2015년의 마지막날을 기념하여 배포. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. 2015년 한해 메모장2를 사랑해주셔서 고맙습니다.내년에도 많은 성원 바라고, 가끔 저~ 위의 그것도 한번씩 관심 부탁드립니다. 헤헤
깃허브의 메모장2-mod Issue에 이상한 내용이 올라왔다.몇몇 글자가 제대로 화면에 표시되지 않는다는 것. 좀 더 정확히는 현재 지정된 폰트에 포함되지 않은 글자가 화면에 나오지 않는다.예를 들면, 메모장2를 유니코드 모드로 실행한 상태에서 다음 내용을 붙여넣으면 제대로 화면에 출력되지 않는다. ∈ ∘ ⌀∈ ○ ∘ ○ ⌀ ○∈ ⊥ ∘ ⊥ ⌀ ⊥ℕ ℤ ℚ ℝ ℂ ℍ 원작자인 Florian Balmer 님께 여쭤본 결과, 윈도우 자체가 GDI 모드에서 그런 문제가 있고, DirectDraw 모드에선 잘 동작한다는 답을 들었다.더불어 앤티에일리어싱이 좀 더 멋지게 지원된다는 얘기도… 이러한 내용을 반영한 r956을 공개한다.이 내용을 포함한 수정 버전은 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/..
실로 오랜만의, 두 달만의 업데이트. 그동안 Scintilla는 3.5.4에 이어 3.5.5까지 업데이트되었는데, 이를 반영한 업데이트다.Scintilla의 기능 자체가 변경된 부분은 거의 없으며, Windows에서는 언제나 유니코드만을 사용하도록 수정되었다. 그리고, 64비트 윈도우 8.x에서는 메모장 대신 사용 기능을 사용할 수 없도록 수정되었다. 윈도우 7까지는 레지스트리에서 Image File Execution Options을 지정해 notepad.exe대신 다른 프로그램을 실행할 수 있었다. 하지만, 64비트 윈도우 8부터는 이 기능이 막혀버렸기 때문에, 이를 반영하였다. 이 내용들을 포함한 수정 버전은 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
CoffeeScript 강조 기능이 추가된 것을 반영한 릴리즈. 사실, 지난번 배포 버전(r940)에서는 원본에 비해 버그 하나를 수정해서 배포했었다.Scintilla에서 Win 9x 지원 코드를 제거했지만, Notepad2-mod에는 제대로 반영되지 않았다.Scintilla 내부적으로 폰트명을 ASCII 대신 UTF-8로 전송하도록 변경됐는데, Notepad2-mod에선 여전히 ASCII로 전송했던 것. 본 블로그의 배포판은 수정해서 문제 없었지만, 공식 배포판엔 반영되지 않았었는데, 공식적 문제제기를 통해 이 수정이 반영됐다. 이 내용들을 포함한 수정 버전은 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
Notepad2-mod r940은 Scintilla 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); 아..
앞의 포스트에서도 언급했듯이, Scintilla 3.5.0에서는 드디어 한글 입력기 부분이 패치되었다. 그리고, 코드를 확인해보니, 내가 예전에 쓴 코드를 상당부분 참고했다는 걸 확인할 수 있었다.또한, 내 대화명이 명시된 것도 함께… 그런데, 이 패치에는 사실 심각한 문제가 있다.이 패치는 오직 메모장2-mod에서만 완벽하게 동작한다. 메모장2가 Scintilla의 기능을 모두 사용한 것도 아니고, undo 메커니즘이 좀 복잡해서 맞춤형 패치를 만들 수밖에 없었다.예컨데, Scintilla에는 사각형 선택을 한 뒤에 글을 입력하면 동시에 입력되는 멋진 기능이 있다.하지만, 메모장2에서 사각형 선택을 한 뒤에 글을 입력하면 마지막 칸에만 입력된다. 더 심각한 것은 Scintilla.dll의 레퍼런스 어플..
Scintilla가 3.5.0으로 업데이트 된 것을 반영한 버전을 전격 공개함. 공식적인 수정은 Scintilla의 업데이트 하나다.그런데, 이 업데이트에 엄청난 것이 들어있다. 다름아닌, 기존에 이 블로그에서만 공개하던 한글 입력 코드가 거의 그대로 반영되었다는 것이다. 덕분에 이제 이 블로그에서 배포하는 버전이 아니라도 한글은 정상적으로 입력이 가능하다.또한, 이 버전 역시 공식 배포 버전과 같은 입력기를 사용한다. 그런데, 사실 이 버전의 Scintilla는 엄청난 문제를 갖고 있다.오로지 메모장2에서만 적용이 가능하도록 패치가 되어있다는 점이다. Scintilla 홈페이지에서 SciTE.exe를 다운받아 실행해보면 한글 입력이 제대로 안 된다. 메모장2의 undo-redo 구조가 좀 복잡해서 이 ..
Scintilla가 3.4.4로 업데이트된 것 등을 반영한 버전을 공개함. 수정된 내용은 아래와 같다. - Scintilla가 3.4.4로 업데이트- Edit.c에서 리소스가 새는 버그 수정- Powershell, Inno setup 키워드 추가- 컴파일러를 Visual Studio 2013 Update 3으로 변경 - 기타 소소한 코드 수정 이 내용들을 포함한 수정 버전은 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
종종 메모장2 mod에서 설정이 잘 저장되지 않는다는 제보를 해주신다.그리고, 그 때마다 "관리자 계정으로 실행하세요"라는 답을 했다. 이건 올바른 답은 결코 아니고, 미봉책으로 그런 답을 한 것이다. 1. 문제의 진짜 원인 이건 근본적으로 메모장2 자체의 문제이다. 메모장2에서 설정파일(Notepad2.ini)을 찾는 순서는 다음과 같다. 프로그램 설치 폴더 → Application Data → PATH 그리고, Notepad2.ini를 찾지 못하면 프로그램 설치 폴더에 Notepad2.ini를 생성하려고 한다. 따라서, 설정파일을 저장하려면 UAC를 안 쓰거나 관리자 권한으로 실행해야 되는 것이다.워낙 많은 사용자들이 UAC를 끄고 살기 때문에 대체로 잘 되는 건 사실이지만… 물론, 다른 방법으로는 ..
이전 포스트에서 예고(?)했듯이, Notepad2-mod의 새 버전이 즉각 튀어나왔다. 이번 버전에서는 Scintilla가 3.3.9로 업데이트 되었다. 3.3.8에는 외부 lexer 연결시 다운되는 치명적 버그가 있었는데, 사실 수정된 내용은 몇 줄 되지 않는다. 물론 그 몇 줄이 굉장히 심각한 내용이란 걸 모르는 바는 전혀 아니고, 그냥 그렇다는 얘기다. r902는 아래 링크에서 다운받을 수 있다. 그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
메모장2-mod의 2014년 첫번째 공개.무엇보다 2014년을 맞이하여 아이콘이 리뉴얼되었다. 이번에도 메모장2-mod의 아이콘을 디자인해주신 c6248님께 감사드립니다. 꾸벅. 이번에 수정된 내용은 아래와 같다. - 아이콘 교체- Scintilla를 3.3.8로 업데이트- CSS 키워드에 text-overflow 추가 r901은 아래 링크에서 다운받을 수 있다.그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
이 블로그에서 공개되는 메모장2 mod는 XhmikosR이 공개하는 Notepad2-mod를 기반으로 한다. 하지만, (당연하게도) 한글 IME 처리부분 수정을 포함하여 다양한 수정이 적용되어있다. 지금까지 적용한 수정 내용들을 정리해봤다. 1. 한글 입력 IME가 정상적으로 동작하도록 수정(관련 포스트)말이 필요없는 한글화 버전의 가장 기본이며 가장 중요한 기능임.단, 현재 배포되는 버전의 코드는 위 포스트와는 조금 다름. 2. 젠코딩 입력 기능 추가(관련 포스트)굉장히 간단하게 HTML/XML 코드를 구성해주는 젠코딩 기능을 추가했음. 3. 포트란 스키마 추가(관련 포스트)아주 가끔 쓸 일이 있던 포트란 스키마를 추가했음.현재는 나도 아예 안 쓴다는 함정이… 4. 날짜/시간 삽입시 순서를 날짜-시간으..
2013/12/01 - Notepad2-mod r887 (7254c1a) 한글화 버전 공개 지난 포스팅에서 언급한 문제를 해결한 기념으로 포스팅. 해결이라고 거창하게는 썼지만, 사실 해결까지는 아니고, 64비트 버전은 WDK로 컴파일한 것을 공개하기로 했다. 따라서, 이번 버전부터는 윈도우 8.1을 완벽하게 지원한다. 수정된 내용은 아래와 같다. - x86 버전은 VS2012 update4로, x64 버전은 WDK 7.1로 컴파일 - Scintilla를 3.3.7 [c818dc]로 업데이트 r891은 아래 링크에서 다운받을 수 있다. 그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
2013/12/01 - Notepad2-mod r887 (7254c1a) 한글화 버전 공개 이전 포스트에서 얘기했듯이, Notepad2-mod엔 묘한 버그가 하나 있다.32비트 어플리케이션에서 64비트 Notepad2-mod로 드래그앤드롭을 하면 오류가 발생한다는 것이다. 이 문제는 사실 몇 가지 조건이 만족되는 경우에만 발생한다. 1. Windows 8.1에서만 발생함 (Win7은 발생하지 않고, Win8은 확인하지 못함)2. 32비트 Shell에서만 발생함 (Total Commander, XYplorer 등)3. Visual Studio, ICL 로 컴파일할 때만 발생함 (WDK에선 발생하지 않음) 무엇이 문제인지 분석하기 위해 드래그앤드롭을 처리하는 부분의 소스를 찾아봤다. case WM_DROPF..
2013/09/23 - Notepad2-mod r876 (89d33e9) 한글화 버전 공개 특별한 개선 사항은 없지만, Windows 8.1을 정식 지원한다고 하니 덩달아 공개… 그러나… 일단, 수정된 내용은 아래와 같다. - 컴파일러를 Visual Studio 2012 Update4로 변경- manifest에 Windows 8.1 ID 포함 그렇다. 공식적으로 Windows 8.1을 지원한다(고 한다). 그런데, 사실은 문제가 살짝 있다.64비트 Windows 8.1에서 32비트 어플을 통해 64비트 메모장2 mod에 드래그 앤 드롭을 하면 오류가 발생한다.상세한 내용은 별도로 포스팅 예정인데, WM_DROPFILES를 제대로 처리하지 못하는 것 같다. 이 문제는 이 버전만의 문제는 전혀 아니며, 이전..
2013/08/06 - Notepad2-mod r875 (c85ca22) 한글화 버전 공개 (비공개로 전환) 지난 릴리즈를 비공개처리한 뒤 다시 1달여만에 새 버전을 공개함. 수정된 내용은 아래와 같다. - Scintilla를 3.3.5로 업데이트(물론, 지난 포스트에서 언급된 내용 포함)- 한글 입력 부분 코드 개선- 컴파일러를 Visual Studio 2012 Update 3으로 교체- Shift+마우스휠에 가로 스크롤 기능 지정- Ctrl+Shift+마우스휠에 페이지 스크롤 기능 지정 r876는 아래 링크에서 다운받을 수 있다.그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
2013/07/08 - Notepad2-mod r865 (12e4cc8) 한글화 버전 공개 한 달 사이에 r875까지 업데이트가 되었다. 수정된 내용은 아래와 같다. - Scintilla 라이브러리를 3.4.0(6ccaef)으로 업데이트(지난 포스트에서 언급된 내용이 포함되어있음)- 컴파일러를 Visual Studio 2010 SP1으로 교체- Shift+마우스휠에 가로 스크롤 기능 지정- Ctrl+Shift+마우스휠에 페이지 스크롤 기능 지정 r875는 아래 링크에서 다운받을 수 있다.그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다. ※ Scintilla 3.4.0의 버그때문에 Scintilla 3.4.0 및 notepad2-mod r875가 제거돼 이 배포본도 비공개 처리
예전에도 한번 언급한 문제인데, 그 땐 그리 심각한 상태는 아니었다.따옴표 안의 내용만 살짝 수정해서 제대로 지정하면 되기 때문이다. 하지만, Scintilla 3.3.4로 오면서 좀 심각해졌다.아래와 같은 부분이 있는데… const char *complexCaseConversions ="µ|μ|Μ||""ß|ss|SS||""İ|i̇||i̇|""ı||I||""ʼn|ʼn|ʼN||""ſ|s|S||"... 한국어 환경에서는 정상적으로 컴파일되지 않는다.아래와 같이 수정해야 정상적으로 동작한다. const char *complexCaseConversions ="\xc2\xb5|\xce\xbc|\xce\x9c||""\xc3\x9f|ss|SS||""\xc4\xb0|i\xcc\x87||i\xcc\x87|""\xc4\xb..
2013/05/20 - Notepad2-mod r856 (a73c531) 한글화 버전 공개 한달이 약간 넘는 기간동안 Scintilla 라이브러리 업데이트 및 키워드 일부가 업데이트되어 포스팅. 수정된 내용은 아래와 같다. - Scintilla 라이브러리 3.3.3으로 업데이트- Lua Script에서 홑따옴표 문자열이 하일라이팅 되지 않는 문제 해결 - HTML 키워드 추가- CSS 키워드 추가- AutoIt3 사용자 정의 함수 추가 r865는 아래 링크에서 다운받을 수 있다. 그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.
2013/04/11 - Notepad2-mod r852 (4ec8a84) 한글화 버전 공개 Scintilla 라이브러리만 계속 업데이트 되고, 기능 업데이트는 없었지만, 그동안 정리된 내용을 포스팅 수정된 내용은 아래와 같다. - Scintilla 라이브러리가 3.32로 업데이트- 메뉴에서 Auto completion(단어 자동 완성) 기능을 끄는 경우 동작 보완 r856은 아래 링크에서 다운받을 수 있다. 그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다. 덧. 현재('13.5.20 기준) Notepad2-mod 홈페이지에서 받을 수 있는 바이너리의 버전은 r855이다. 이 버전은 한글/한자 등 입력에 심각한 버그가 있으니 다운 받으면 안 된다.
2013/02/11 - Notepad2-mod r830 (37b9c9b) 한글화 버전 공개 그동안 소소한 메모장2 mod의 업데이트가 꽤 진행되어 포스팅. 수정 내용은 아래와 같다. - github의 주소가 수정됨- Scintilla 라이브러리 v3.30으로 업데이트- About 다이얼로그 박스 크기 변경 및 컴파일러 표시 r852는 아래 링크에서 다운받을 수 있다.그리고, 언제나 그렇듯이, 한/영 x86/x64 버전이 모두 들어있다.