1. 발단 지금까지 Notepad2-mod에선 내장된 Scintilla 정규식 엔진 대신 별도의 DEELX 정규식 엔진을 사용해왔다. 처음에는 여러행 검색이 가능하도록 즉, \r, \n이 검색되도록 하는 게 목적이었다. 그러다가 한글에 대해 정규식이 정상적으로 동작되지 않는 문제를 해결하는 수정이 추가됐다. 이때까진 정규식 엔진을 내부적으로는 적극적으로 활용하지 않고, 단순한 검색용으로만 사용했었다. 그러다가 일부 실험적인 표현식이 추가되었다. Add experimental RexExp syntax (\h, \H, \i and \i?): 그리고는 이 표현식을 자동완성 기능 등에서 활용하기 시작했다. 2. 이로 인한 영향 일부 기능이 정상적으로 동작하지 않는 문제가 터지기 시작했다. 대표적으로는 자동완성 ..
이번에 공개한 메모장2 mod r1882에는 칼라 이모지를 보여주는 기능이 추가되었다.이 기능은 윈도우 8.1 이상에서만 동작하며, 윈도우 7에서는 아래 화면처럼 비정상적으로 표시된다. 이전 버전의 메모장2 mod에서는 이모지를 입력하면 아래처럼 표시가 되었다. 하지만, 이번 r1882부터는 같은 이모지를 입력하면 아래와 같이 표시된다.단, 이 화면을 보려면 설정-렌더링 기술에서 다이렉트2D를 선택해야 한다. 레거시 GDI에서는 예전과 동일하게 아래와 같이 표시된다. 덧. 최신 버전의 윈도우 10에서는 이모지를 키보드로 입력하려면 [❖(Windows) + .(dot)]을 입력하면 된다.아래와 같은 화면이 나오면서 이모지를 입력할 수 있다.
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 메인 프로젝트(zufuliu) 쪽에서 버전번호를 4.19.02로 변경했다. r1730에서는 XML/배치 파일 문법 강조 및 자동완성 기능 등에 대한 다양한 수정들이 적용됐으며, 이후 캐럿 모양 추가 등의 튜닝과 최적화가 추가되었다. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. password: teus.me 히스토리 2019.1.5: 4.19.01 r1730 공개 - 오류 수정: XML 파일의 괄호짝 오류 수정 - 배치 파일 문법 강조 기능 오류 수정 및 코드 폴딩 추가 - 오류 수정: 이스케이프 시퀀스가 자동완성에서 잘못 동작하는 오류 수정 - 코드 최적화 - 저작권 연도를 2019년으로 수정 20..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 메인 프로젝트(zufuliu) 쪽에서 꾸준히 4.2.25로 이어오던 버전번호를 4.18.12로 대폭 변경했다. 이와 더불어 상당히 많은 수정들이 적용되었다.다양한 최적화가 적용되었고, 문법 강조 기능의 세부 사항들이 수정되었으며, 전체 화면 기능이 구현되었다.또한, 윈도우 2000을 위한 레거시 코드도 제거되었고, 텍스트 복사/붙이기어 덧붙여 바이너리 복사/붙이기도 추가되었다. 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. password: teus.me 히스토리 2018.12.16: r1670 공개- 자동 완성 기능을 각각 항목별로 설정 가능하도록 수정 - 툴바 버튼에 기존의 접기/펼치기 외에 기본..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 이전 포스팅에서 얘기했듯이 메모장2의 기반 프로젝트를 zufuliu님 버전으로 바꿨다.이로써 더욱 화려해진 문법 강조와 다양한 최적화를 반영할 수 있게 되었다. 여기에 이전에 반영했던 모든 기능들을 반영한 버전을 공개한다. 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. password: teus.me 히스토리 2018.9.30: r1419 공개- zufuliu 버전 최초 반영 2018.10.2: r1421 #1 공개- 버그 수정: 설정 저장시 툴바 데이터를 잘못 저장하던 오류 수정 2018.10.9: r1440 공개- 버그 수정: 파일 메뉴의 메모장 대신 사용 등이 제대로 인식되지 않는 오류 수정 -..
메모장2는 현재 상태가 좀 애매하다.원작자 Florian Balmer가 5.0.26-beta4를 공개한 것이 2012년 10월이니 이미 6년이 되어가고 있다. 많은 수정들을 한 곳에 모은 XhmikosR의 메모장2는 2017년 8월을 마지막으로 아카이빙 해버렸다. 기본이 되는 Scintilla는 계속 업데이트가 되고 있어 본 블로그에서는 그 내용 중심으로 수정해왔다. 그러다 귀인(?)을 발견했는데, 그것이 zufuliu의 메모장2다.여기서는 Scintilla의 최신 업데이트는 물론이고, 기능의 수정 및 개선도 지속적으로 진행하고 있다. 하지만, 사소한(?) 문제가 하나 있는데, 그동안 자체적으로 수정한 내용들이 너무 많아서 반영 및 확인에 시간이 많이 걸린다는 점.현제 시간을 충분히 사용해서 이러한 수정..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 이번에 공개되는 버전은 r1006에 추가적으로 Scintilla 4.0.1 업데이트를 추가로 반영하고, 블럭 전/후 삽입, 커서 좌/우 삭제 등 편집 관련 소소한 기능들을 추가적으로 반영했다. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. password: teus.me 히스토리 2017.7.15: r995 #1 공개- Scintilla 3.7.5의 추가 업데이트 반영 (~'17.7.12)- 압축시 비밀번호 적용(password: teus.me) 2017.8.24: r1006 공개- r995 ~ r1006 내용 반영(~'17.8.16)- Scintilla 4.0.1 업데이트 반영- center Mess..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. Scintilla 3.7.5 업데이트를 반영하고 정규식이 한글을 잘 처리하지 못하는 오류를 수정한 버전. 1 .Scintilla 3.7.5 업데이트 반영 2. 오류 수정: 정규식에서 한글 처리를 잘 못하는 문제 수정(참고 포스트: Notepad2-mod 정규식 오류 수정 삽질기) 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
모든 일은 한 줄의 제보에서 시작됐다. #엄격 #근엄 #진지 원래 그런지는 모르겠지만 불편한 점이 한 가지 있는데, 정규식으로 한글 문자열을 바꿀 때 문제가 있더군요. 예를 들어 "가나다aBc1"라는 문자가 있을 때… 메모장2에서는(아마도 Scintilla를 사용하는 대부분의 편집기는 모두…) 한글에 대해 정규식이 정상적으로 동작하지 않는다.즉, 아래와 같이 입력한 상태에서… 찾을 문자열을 ([^\dA-Za-z])로 하고 바꿀 문자열에 \1-을 입력하여 모두 바꾸기를 실행하면…ANSI 모드에선 아래와 같은 충격적인(?) 결과가 나온다. 유니코드 모드에서는 조금 다르지면 역시 충격적인 것은 마찬가지[…] 이는 근본적으로 Scintilla의 정규식 엔진 및 본 블로그 배포버전에서 사용되는 DEELX 정규식 ..
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. r992를 반영하고, Scintilla의 추가 업데이트를 반영한 버전임. 그 외에 정규식 처리의 오류를 수정하였음. 1. r992 반영: CSS 문법 강조 추가/수정 2. Scintilla 3.7.4 추가 업데이트 반영 (2017.4.22 까지) 3. 오류 수정: 정규식/와일드 카드 문자열 바꾸기에서 공백을 잘못 치환하는 문제 수정 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 오랜만의 업데이트. Scintilla를 3.7.4으로 업데이트한 Maintenance release임. 1. Scintilla 3.7.4 업데이트 및 이후 추가 업데이트(~ April 2, 2017) 반영 2. Scintilla 3.7.4 오류 수정: "Position.h", include 문제, Msimg32.lib 링크 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
새 버전이 나왔습니다. 새 버전을 사용해주시기 바랍니다. 석달 가까이 만의 업데이트. Scintilla가 3.7.3으로 업데이트된 것 외에 버그를 수정하고 기능을 추가/보강한 업데이트 버전임. 1. Scintilla 3.7.3 업데이트 및 이후 추가 업데이트(~ Feb 25, 2017) 반영 2. 버그 수정: 포트란 스킴이 제대로 동작하지 않던 오류 수정 3. 한글 입력시 캐럿이 (영문 입력시에 비해) 약간 크게 표시하도록 수정 4. 암호화 기능 재추가 5. (아마도 전혀 사용되지 않던) metafile 실행 툴바를 행번호 표시 토글로 변경 6. 새로 만들기 외에 빈 창 열기를 툴바에 추가 7. 미묘하게 아이콘 색깔 변경 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두..
2013/12/01 - 이해가 되지 않는 Notepad2-mod의 드래그앤드롭 오류 몇 번 애기한 이슈인데, 메모장2 mod에는 이상한 오류가 있다.32비트 어플에서 64비트 메모장2 mod로 드래그앤드롭을 하면 오류가 발생한다는 것.게다가 이 문제는 윈도우 7에선 발생하지 않고, 윈도우 8 이상에서만 발생해서 더욱 아리송했다. 그런데, 블로그 구독자분께서 단비와도 같은 링크를 답글로 달아주셨다. 스택오버플로우에 이 문제에 대한 해답이 올라와 있었던 것이다! 대략의 내용은 아래와 같다. 1. 이 문제는 순전히 윈도우 8 이상의 버그에 의한 것임2. 컴파일 시 윈도우 8 이상에서 제공되는 High Entropy ASLR을 비활성화하면 간단히 해결 가능3. 잃어버린 HDROP의 상위 32비트 값을 찾아내려면..
1. 발단 모든 일에는 시작이 있는 법… 발단은 메모장2 mod 포스팅에 달린 댓글 하나였다. 애초에 이 기능을 제대로 써볼 생각도 없었던지라 생각도 못했는데, 소스를 읽다보니 뭔가 많이 이상하다.이 기능은 기본적으로 유니코드 → UTF-8 → UrlEscape 순으로 변환하는 게 일반적이다. 하지만, Edit.c의 해당 부분 코드는 아래와 같다. ////////////////// // 인코딩 ////////////////// cchTextW = MultiByteToWideChar(cpEdit,0,pszText,iSelCount,pszTextW,(int)LocalSize(pszTextW)/sizeof(WCHAR)); //(중략) cchEscapedW = (int)LocalSize(pszEscapedW) ..
메모장2에는 URL Encode/Decode 기능이 있다.그런데, 이 기능이 제대로 구현되지 않은 것을 확인했다. 실제로 이 기능은 유니코드 → UTF-8 → UrlEscape 순으로 변환해야 되는데, UTF-8 변환 부분이 누락되어있다.원작자인 Florian Balmer 님께 여쭤보니 ToDo 목록에 추가하겠다는 답변. 이 기능이 포함된 버전을 공개한다. 아래 링크에서 다운받을 수 있다.언제나 그렇듯 한/영 x86/x64 버전이 모두 들어있다.
이번 버전의 메모장2 mod는 Scintilla v3.6.7 업데이트를 포함한 몇 가지 업그레이드가 반영되었다. - Scintilla v3.6.7 업데이트 반영- NSIS v3.0의 키워드 업데이트- HTML의 img 태그 속성 중 srcset 추가 - 화면 DPI가 100%로 설정된 경우가 아니라도 해상도를 제대로 인식하도록 수정 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
이전 버전(r977)부터 계속 시도해오던 작업은 (johnsonj님이 수정해오신) IME 인라인 및 가상공백을 최적화하여 적용하는 것이었다.드디어 딱 필요한 만큼만 가상공백을 지원하도록 수정한 버전을 공개한다. 이 버전에서는 평소에는 가상공백 모드가 동작하지 않고, Alt+드래그 또는 Ctrl+클릭으로 다중선택할 때만 동작한다.또한, 설정 메뉴에서 IME 인라인을 옵션으로 선택하던 부분을 제거하고, 항상 이렇게 동작하도록 했다. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
지난 포스트에서 공개한 버전에 비해 일부 기능이 수정된 버전을 공개한다.다음의 내용이 추가로 반영되었다. - IME 인라인 모드에서도 마우스 클릭시에는 가상 공백 모드가 동작하지 않도록 수정 - 64비트 버전은 Windows XP를 지원하지 않도록 변경 (32비트는 그대로 XP를 지원함)- Visual Studio 2015 Update 3로 컴파일 환경 변경- 툴바 아이콘 살짝 업데이트 (언제나 C6248님께 감사드립니다) - 페이팔로 기부 기능 추가 ☜ 굉장히 중요 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
Notepad2-mod는 지금도 기능이 조금씩 보강되기는 하지만, 근본적으로는 완성된 프로젝트다.그런데, x64 버전은 여전히 애매한 두 개의 버그가 있다. 1. 드래그앤드롭 오류 예전에 한번 포스팅한 적이 있는데 32비트 어플에서 64비트 Notepad2-mod로 드래그앤드롭을 하면 오류가 발생한다.이 오류는 32비트 Notepad2-mod에서는 전혀 발생하지 않는다. 2. Alt+선택시 오류 발생 가끔씩 Alt+선택하면 작동이 중단되는 경우가 발생한다.이 역시 32비트 Notepad2-mod에서는 발생하지 않는다. 직접 경험해보고 싶으면 아래 파일을 읽어서 32행의 IsMember에서 Alt+선택을 해보면 종종 경험할 수 있다. 아무래도 아직은 32비트 Notepad2-mod가 최선인 것 같다…
지난 포스트에서 언급한 내용 및 johnsonj님께서 작업중인 내용(신틸라를 활용하지 못하는…, Fix Mark occurences…)을 반영한 내용을 공개.이 버전은 이전 버전에 비해 아래와 같은 내용들이 반영되어있다. - 아파치(Apache) 예약어 추가 (r980) - 선택어 강조에서 보이는 영역만 강조 옵션 추가 (대용량 파일에서 속도 향상) - 보이는 영역만 강조하지 않을 때는 선택어와 일치하는 개수 상태표시줄에 전시- 다중입력/IME인라인 기능 추가 및 자동완성 기능 보강 (지난 포스트 참조)- 항상 위, 투명 모드 툴바 아이콘 개선 (언제나 그렇듯이 C6248님의 작품임) 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
Notepad2-mod의 공식 배포 버전은 변경된 것이 없지만, 그동안 여러가지 손 댄 것을 반영한 버전을 공개함.지난 배포본에 추가된 관리자 권한으로 자동으로 재실행에 추가하여 아래와 같은 기능이 추가되었다. - Scintilla 3.6.6 적용 - (지난 버전의 항상 위에 덧붙여) 투명 모드도 툴바 아이콘 적용 - IME 인라인 (가상 공백) - 다중 선택시 다중 입력 지원- 자동완성 기능 보강 추가된 대부분의 기능은 johnsonj 님께서 구글 그룹스에 공개한 내용을 기반으로 하고 있다. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. 덧1. 자동완성 기능은 사소한 오류가 남아있고, 계속 오류를 찾아 수정하는 중임. 오류 제보 부탁드립니다. 덧2. 마이너..
이번 버전에서는 Scintilla v3.6.5 (HG 84a9583)를 적용했다.이에 덧붙여 Rust 언어를 추가했고, 항상 위(Always On Top)를 별도의 툴바 아이콘으로 추가시켰다. 그리고, 특별한 기능이 하나 추가되었다.관리자 권한이 있어야 저장할 수 있는 파일을 편집 후 저장하려면 아래와 같은 질문을 한 뒤 관리자 권한으로 재실행해준다.물론, 관리자 권한으로 실행시 그 때까지 수정된 내용이 모두 저장되어 있다. 아래 링크에서 다운받을 수 있다. 언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다.
이제 메모장2-mod도 사실상 안정화 단계에 접어든 듯 하다.최소한의 수정을 제외하면 Scintilla의 업데이트 외엔 특이한 내용이 없다.이번 업데이트 역시 Scintilla v3.6.3이 적용된 것 외엔 아무런 변화가 없음. 아래 링크에서 다운받을 수 있다.언제나 그렇듯이 한/영 x86/x64 버전이 모두 들어있다. One more thing… 한 가지가 더 있다.누군가가 메모장2에 암호화 기능을 추가하자는 건의를 하고 이 코드를 PR(Pull Request)로 올렸다. 암호화 기능이 메모장에서 얼마나 필요할지도 모르겠고, 직접 적용된 버전을 쓰면서 유용하다는 생각은 들지 않았다.그래도, 혹시나 누군가는 필요로 하지 않을까하는 생각이 들어 이전 버전인 r969에 이 기능을 적용하여 공개함. 혹시나 암..