diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 8f0d9d49d..77a44e032 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -48,7 +48,7 @@ GitHub Actions workflow at `.github/workflows/build.yml` builds all four platfor ## Architecture -Notepad3 is a Win32 desktop text editor built on the **Scintilla** editing component with **Lexilla** for syntax highlighting. It ships with the companion tool **MiniPath** (file browser) and integrates with the external **grepWin** tool (file search/grep). +Notepad3 is a Win32 desktop text editor built on the **Scintilla** editing component with **Lexilla** for syntax highlighting. It ships with the companion tool **MiniPath** (file browser) and integrates with the external **grepWin** tool (file search/grep) via pre-built portable executables. ### Core modules (in `src\`) @@ -75,6 +75,22 @@ Notepad3 is a Win32 desktop text editor built on the **Scintilla** editing compo - **`src\uthash\`** — Hash table library (C macros) - **`src\crypto\`** — Rijndael/SHA-256 for AES-256 encryption +### grepWin Integration (`grepWin\`) + +grepWin is an **external** file search/grep tool — it is **not** built from source as part of Notepad3. Pre-built portable executables and translation files are stored in the repository: + +- **`grepWin\portables\`** — `grepWin-x86_portable.exe`, `grepWin-x64_portable.exe`, `LICENSE.txt` +- **`grepWin\translations\`** — `*.lang` translation files (e.g. `German.lang`, `French.lang`) + +At runtime (`src\Dialogs.c`), Notepad3 searches for grepWin in this order: +1. `Settings2.GrepWinPath` (user-configured INI setting) +2. `\grepWin\grepWin-x64_portable.exe` (or x86) — portable layout +3. `%APPDATA%\Rizonesoft\Notepad3\grepWin\` — installed layout + +Language mapping (`src\MuiLanguage.c`): `grepWinLangResName[]` maps Notepad3 locale names (e.g. `de-DE`) to grepWin `.lang` filenames (e.g. `German.lang`). The language file path is written to `grepwin.ini` before launching. + +Portable build scripts (`Build\make_portable_*.cmd`) package grepWin into a `grepWin\` subdirectory in the archive containing both portable executables, the license, and all `*.lang` translations. + ### Syntax highlighting lexers (`src\StyleLexers\`) Each language has its own `styleLexXXX.c` file (~50+ languages). All lexers follow the `EDITLEXER` struct pattern defined in `EditLexer.h`: @@ -138,6 +154,33 @@ URL hotspot regex is defined at `src\Edit.c:108` (`HYPLNK_REGEX_FULL` macro). It Windows 10/11 dark mode via IAT (Import Address Table) hooks. Includes stub DLLs for uxtheme and user32. +### ARM64 Platform Considerations + +**Supported platforms**: Win32 (x86), x64, x64_AVX2, ARM64. ARM 32-bit is **not** supported (the `Release|ARM` solution config maps to Win32). + +#### Architecture detection + +Use `#if defined(_M_ARM64)` or the helper macro `NP3_BUILD_ARM64` (defined in `src\TypeDefs.h`) for ARM64-specific code paths. **Important**: both ARM64 and x64 define `_WIN64`, so use `_M_ARM64` when you need to distinguish ARM64 from x64. + +#### ARM64 rendering defaults + +ARM64 defaults to `SC_TECHNOLOGY_DIRECTWRITERETAIN` (value 2) instead of `SC_TECHNOLOGY_DIRECTWRITE` (value 1) to preserve the Direct2D back buffer between frames. This avoids flickering on Qualcomm Adreno GPUs and the Win11 25H2 DWM compositor. The main window also uses `WS_EX_COMPOSITED` on ARM64 for system-level double-buffering. Users can override via `RenderingTechnology` in the INI file or the View menu. + +#### ARM64 build configuration + +- `CETCompat` must be `false` for ARM64 (CET is x86/x64 only) +- `TargetMachine` must be `MachineARM64` in all ARM64 linker sections +- `_WIN64` must be defined in preprocessor definitions for all ARM64 configurations +- Build fix scripts in `Build\scripts\`: `FixARM64CETCompat.ps1`, `FixARM64CrossCompile.ps1`, `FixARM64OutDir.ps1` + +#### GrepWin on ARM64 + +No native ARM64 grepWin build exists. The ARM64 build uses `grepWin-x64_portable.exe` which runs via x64 emulation on Windows ARM64. The binary selection in `src\Notepad3.c` uses `#if defined(_M_ARM64)` to handle this explicitly. + +#### Theme change flickering prevention + +`MsgThemeChanged()` in `src\Notepad3.c` wraps all heavy operations (bar recreation, lexer reset, restyling) in `WM_SETREDRAW FALSE/TRUE` to suppress intermediate repaints and performs a single `RedrawWindow()` at the end. DarkMode `RedrawWindow()` calls in `ListViewUtil.hpp` omit `RDW_ERASE` to avoid background erase flashes during theme transitions. + ## Conventions ### Code style diff --git a/Build/Notepad3.ini b/Build/Notepad3.ini index 6aa76fd97..91ec9e809 100644 --- a/Build/Notepad3.ini +++ b/Build/Notepad3.ini @@ -5,7 +5,7 @@ SettingsVersion=5 ;AnalyzeReliableConfidenceLevel=50 [Settings2] -;grepWin.exe=grepWinNP3.exe +;grepWin.exe=%PORTABLEAPPS_DIR%\grepWinPortable\grepWinPortable.exe ;IMEInteraction=0 ;DateTimeFormat= ;(-> ) ;DateTimeLongFormat= ;(-> ) @@ -35,6 +35,14 @@ SettingsVersion=5 ;RelativeFileMRU=1 ;ReuseWindow=0 ;SaveBlankNewFile=true +;RenderingTechnology=1 +; Scintilla Rendering Technology: +; 0 = GDI (default Win32 rendering) +; 1 = DirectWrite (default) - Direct2D +; 2 = DirectWriteRetain (preserves back buffer, default on ARM64) +; 3 = DirectWriteDC (DC-based Direct2D) +; Tip: On ARM64 with rendering issues, try 0 (GDI) or 3 (DirectWriteDC) +; Per-resolution override in [Window]: e.g. 1920x1080 RenderingTechnology=0 ;SciFontQuality=3 ;SimpleIndentGuides=0 ;SingleFileInstance=1 diff --git a/Build/Notepad3_pap.ini b/Build/Notepad3_pap.ini index 564d1514a..b50797bab 100644 --- a/Build/Notepad3_pap.ini +++ b/Build/Notepad3_pap.ini @@ -35,6 +35,14 @@ grepWin.exe=%PORTABLEAPPS_DIR%\grepWinPortable\grepWinPortable.exe ;RelativeFileMRU=1 ;ReuseWindow=0 ;SaveBlankNewFile=true +;RenderingTechnology=1 +; Scintilla Rendering Technology: +; 0 = GDI (default Win32 rendering) +; 1 = DirectWrite (default) - Direct2D +; 2 = DirectWriteRetain (preserves back buffer, default on ARM64) +; 3 = DirectWriteDC (DC-based Direct2D) +; Tip: On ARM64 with rendering issues, try 0 (GDI) or 3 (DirectWriteDC) +; Per-resolution override in [Window]: e.g. 1920x1080 RenderingTechnology=0 ;SciFontQuality=3 ;SimpleIndentGuides=0 ;SingleFileInstance=1 diff --git a/CLAUDE.md b/CLAUDE.md index 2ef416c24..8acf004bc 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -4,7 +4,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -Notepad3 is a Windows-only Win32 desktop text editor (C/C++) built on **Scintilla** (editing component) and **Lexilla** (syntax highlighting). It ships with the companion tool **MiniPath** (file browser, Ctrl+M) and integrates with the external **grepWin** tool (file search/grep, Ctrl+Shift+F). Licensed under BSD 3-Clause. +Notepad3 is a Windows-only Win32 desktop text editor (C/C++) built on **Scintilla** (editing component) and **Lexilla** (syntax highlighting). It ships with the companion tool **MiniPath** (file browser, Ctrl+M) and integrates with the external **grepWin** tool (file search/grep, Ctrl+Shift+F) via pre-built portable executables. Licensed under BSD 3-Clause. ## Build Commands @@ -85,6 +85,22 @@ MainWndProc (Notepad3.c) | `src\uthash\` | uthash | Hash table / dynamic array macros | | `src\crypto\` | Rijndael/SHA-256 | AES-256 encryption | +### grepWin Integration (`grepWin\`) + +grepWin is an **external** file search/grep tool — it is **not** built from source as part of Notepad3. Pre-built portable executables and translation files are stored in the repository: + +- **`grepWin\portables\`** — `grepWin-x86_portable.exe`, `grepWin-x64_portable.exe`, `LICENSE.txt` +- **`grepWin\translations\`** — `*.lang` translation files (e.g. `German.lang`, `French.lang`) + +At runtime (`src\Dialogs.c`), Notepad3 searches for grepWin in this order: +1. `Settings2.GrepWinPath` (user-configured INI setting) +2. `\grepWin\grepWin-x64_portable.exe` (or x86) — portable layout +3. `%APPDATA%\Rizonesoft\Notepad3\grepWin\` — installed layout + +Language mapping (`src\MuiLanguage.c`): `grepWinLangResName[]` maps Notepad3 locale names (e.g. `de-DE`) to grepWin `.lang` filenames (e.g. `German.lang`). The language file path is written to `grepwin.ini` before launching. + +Portable build scripts (`Build\make_portable_*.cmd`) package grepWin into a `grepWin\` subdirectory in the archive containing both portable executables, the license, and all `*.lang` translations. + ### Syntax Lexers (`src\StyleLexers\`) 50+ languages, each in a `styleLexXXX.c` file. All follow the `EDITLEXER` struct pattern from `EditLexer.h`: @@ -190,7 +206,32 @@ URL hotspot regex is defined at `src\Edit.c:108` (`HYPLNK_REGEX_FULL` macro). It Windows 10/11 dark mode via IAT (Import Address Table) hooks. Includes stub DLLs for uxtheme and user32. -## Code Conventions +### ARM64 Platform Considerations + +**Supported platforms**: Win32 (x86), x64, x64_AVX2, ARM64. ARM 32-bit is **not** supported (the `Release|ARM` solution config maps to Win32). + +#### Architecture detection + +Use `#if defined(_M_ARM64)` or the helper macro `NP3_BUILD_ARM64` (defined in `src\TypeDefs.h`) for ARM64-specific code paths. **Important**: both ARM64 and x64 define `_WIN64`, so use `_M_ARM64` when you need to distinguish ARM64 from x64. + +#### ARM64 rendering defaults + +ARM64 defaults to `SC_TECHNOLOGY_DIRECTWRITERETAIN` (value 2) instead of `SC_TECHNOLOGY_DIRECTWRITE` (value 1) to preserve the Direct2D back buffer between frames. This avoids flickering on Qualcomm Adreno GPUs and the Win11 25H2 DWM compositor. The main window also uses `WS_EX_COMPOSITED` on ARM64 for system-level double-buffering. Users can override via `RenderingTechnology` in the INI file or the View menu. + +#### ARM64 build configuration + +- `CETCompat` must be `false` for ARM64 (CET is x86/x64 only) +- `TargetMachine` must be `MachineARM64` in all ARM64 linker sections +- `_WIN64` must be defined in preprocessor definitions for all ARM64 configurations +- Build fix scripts in `Build\scripts\`: `FixARM64CETCompat.ps1`, `FixARM64CrossCompile.ps1`, `FixARM64OutDir.ps1` + +#### GrepWin on ARM64 + +No native ARM64 grepWin build exists. The ARM64 build uses `grepWin-x64_portable.exe` which runs via x64 emulation on Windows ARM64. The binary selection in `src\Notepad3.c` uses `#if defined(_M_ARM64)` to handle this explicitly. + +#### Theme change flickering prevention + +`MsgThemeChanged()` in `src\Notepad3.c` wraps all heavy operations (bar recreation, lexer reset, restyling) in `WM_SETREDRAW FALSE/TRUE` to suppress intermediate repaints and performs a single `RedrawWindow()` at the end. DarkMode `RedrawWindow()` calls in `ListViewUtil.hpp` omit `RDW_ERASE` to avoid background erase flashes during theme transitions. ### Formatting diff --git a/License.txt b/License.txt index cf68bffd1..ae3a0b358 100644 --- a/License.txt +++ b/License.txt @@ -30,7 +30,7 @@ GNU General Public License v3.0, All Rights Reserved. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -"grepWin" is developed by Stefan Kung (https://tools.stefankueng.com/grepWin.html). +"grepWin" is developed by Stefan Küng (https://tools.stefankueng.com/grepWin.html). Original "grepWin" binaries and corresponding source code (according GPL to v3.0) can be retrived at folowing location https://github.com/stefankueng/grepWin/releases/. diff --git a/Readme.md b/Readme.md index de2fe63ae..7cad15372 100644 --- a/Readme.md +++ b/Readme.md @@ -48,7 +48,7 @@ Over 55 languages supported, including: - **Portable design** — runs from USB drives with relative path storage ### Search -- **grepWinNP3** — integrated search-in-files tool with regex support (**Ctrl+Shift+F**) +- **grepWin** — integrated search-in-files tool with regex support (**Ctrl+Shift+F**) - **Hyperlink hotspot highlighting** — Ctrl+Click to open in browser, Alt+Click to load in editor ### User Interface @@ -66,7 +66,7 @@ Over 55 languages supported, including: ### Companion Tools - **[MiniPath](minipath/)** — fast file browser plugin (Ctrl+M) -- **[grepWinNP3](grepWinNP3/)** — powerful search-and-replace across files +- **[grepWin](grepWin/)** — powerful search-and-replace across files ## System Requirements diff --git a/Readme.txt b/Readme.txt index 3a6269b2a..30944c723 100644 --- a/Readme.txt +++ b/Readme.txt @@ -70,6 +70,7 @@ Development: Contributors: ------------- Derick Payne (© Rizonesoft) https://rizonesoft.com +Pairi Daiza (MUI language support) https://github.com/hpwamr XhmikosR (Notepad2-mod) https://xhmikosr.github.io/notepad2-mod Kai Liu (CodeFolding) https://code.kliu.org/misc/notepad2 RL Vision (Bookmarks) https://www.rlvision.com/notepad2/about.php @@ -83,13 +84,16 @@ Some Icons by Pixel perfect (Flaticon) https://www.flaticon.com -------------------------------------------------------------------------------- Open Source / Libraries: ------------------------ -N.Hodgson (Scintilla) https://www.scintilla.org -K.Kosako (Oniguruma Regex) https://github.com/kkos/oniguruma -Stefan Küng (grepWin) https://github.com/stefankueng/grepWin -D.Dyer (NotepadCrypt) https://www.real-me.net/ddyer/notepad/NotepadCrypt.html -T.D.Hanson (uthash) https://troydhanson.github.io/uthash -Carbo Kuo (Mozilla's uchardet) https://www.freedesktop.org/wiki/Software/uchardet -Lewis Van Winkle (TinyExpr) https://github.com/codeplea/tinyexpr +Neil Hodgson (Scintilla) https://www.scintilla.org +Neil Hodgson (Lexilla) https://www.scintilla.org/Lexilla.html +Philip Hazel et al. (PCRE2 Regex) https://pcre2project.github.io/pcre2 +Stefan Küng (grepWin) https://github.com/stefankueng/grepWin +D.Dyer (NotepadCrypt) https://www.real-me.net/ddyer/notepad/NotepadCrypt.html +Brodie Thiesfield (SimpleIni) https://github.com/brofield/simpleini +T.D.Hanson (uthash) https://troydhanson.github.io/uthash +Carbo Kuo (Mozilla's uchardet) https://www.freedesktop.org/wiki/Software/uchardet +Lewis Van Winkle (TinyExpr) https://github.com/codeplea/tinyexpr +Carlo Pallini (Resample BMP) https://www.codeproject.com/Articles/22271/Plain-C-Resampling-DLL -------------------------------------------------------------------------------- Acknowledgments: @@ -97,10 +101,12 @@ Acknowledgments: alex-ilin https://github.com/alex-ilin alexantr https://github.com/alexantr ashish12phnx https://github.com/ashish12phnx +bovirus https://github.com/bovirus bravo-hero https://github.com/bravo-hero chuanliwen https://github.com/chuanliwen craigo- https://github.com/craigo- Crane70 https://github.com/Crane70 +en2sv https://github.com/en2sv engelhro https://github.com/engelhro Hexaae https://github.com/Hexaae hpwamr https://github.com/hpwamr @@ -122,6 +128,7 @@ MelchiorGaspar https://github.com/MelchiorGaspar Mitezuss https://github.com/Mitezuss nickreserved https://github.com/nickreserved np3fan https://github.com/np3fan +p0k33m0n https://github.com/p0k33m0n quadratz https://github.com/quadratz RaiKoHoff https://github.com/RaiKoHoff rizonesoft https://github.com/rizonesoft @@ -144,7 +151,7 @@ Data Sharing Service https://workupload.com Licences: --------- Scintilla https://www.scintilla.org/License.txt -Oniguruma Regex https://github.com/kkos/oniguruma/blob/master/COPYING +PCRE2 Regex https://github.com/PCRE2Project/pcre2/blob/main/LICENCE.md grepWin https://github.com/stefankueng/grepWin/blob/master/LICENSE uthash https://troydhanson.github.io/uthash/license.html uchardet https://www.freedesktop.org/wiki/Software/uchardet/#license diff --git a/grepWin/portables/website.url b/grepWin/portables/website.url deleted file mode 100644 index 14ff80821..000000000 --- a/grepWin/portables/website.url +++ /dev/null @@ -1,2 +0,0 @@ -[InternetShortcut] -URL=https://tools.stefankueng.com/ \ No newline at end of file diff --git a/language/Line numbers to translate.txt b/language/Line numbers to translate.txt index 8c6134ef0..eea5b15fb 100644 --- a/language/Line numbers to translate.txt +++ b/language/Line numbers to translate.txt @@ -1,37 +1,11 @@ ====================================================================================================== == == == This file is intended for the "Translators" to communicate to them the "Line Numbers" of == -== the "Added or Modified" lines in "Resource" files ("filename_xx_yy.rc" and "grepWinNP3.lang"). == +== the "Added or Modified" lines in "Resource" files ("filename_xx_yy.rc" and "grepWin.lang"). == == == == Last update: 2026-03-06 == ====================================================================================================== -January 2024: Line numbers to translate_2024-01 - No "Added or Modified" items in January 2024 -Februar 2024: Line numbers to translate_2024-02 - No "Added or Modified" items in February 2024 -March 2024: Line numbers to translate_2024-03 - No "Added or Modified" items in March 2024 -April 2024: Line numbers to translate_2024-04 - No "Added or Modified" items in April 2024 -May 2024: Line numbers to translate_2024-05 - https://workupload.com/file/gTG3tx8xeDn (2024-05-31) -June 2024: Line numbers to translate_2024-06 - No "Added or Modified" items in June 2024 -July 2024: Line numbers to translate_2024-07 - https://workupload.com/file/CrBAXqPmbRp (2024-07-03) -August 2024: Line numbers to translate_2024-08 - https://workupload.com/file/QMEYR9fNhvc (2024-08-24) -Septemb 2024: Line numbers to translate_2024-09 - No "Added or Modified" items in September 2024 -October 2024: Line numbers to translate_2024-10 - No "Added or Modified" items in October 2024 -Novemb. 2024: Line numbers to translate_2024-11 - https://workupload.com/file/3ZUjcxrZv9p (2024-11-13) -Decemb. 2024: Line numbers to translate_2024-12 - No "Added or Modified" items in December 2024 - -January 2025: Line numbers to translate_2025-01 - No "Added or Modified" items in January 2025 -Februar 2025: Line numbers to translate_2025-02 - No "Added or Modified" items in February 2025 -March 2025: Line numbers to translate_2025-03 - No "Added or Modified" items in March 2025 -April 2025: Line numbers to translate_2025-04 - No "Added or Modified" items in April 2025 -May 2025: Line numbers to translate_2025-05 - No "Added or Modified" items in May 2025 -June 2025: Line numbers to translate_2025-06 - No "Added or Modified" items in June 2025 -July 2025: Line numbers to translate_2025-07 - No "Added or Modified" items in July 2025 -August 2025: Line numbers to translate_2025-08 - No "Added or Modified" items in August 2025 -Septemb 2025: Line numbers to translate_2025-09 - No "Added or Modified" items in September 2025 -October 2025: Line numbers to translate_2025-10 - No "Added or Modified" items in October 2025 -Novemb. 2025: Line numbers to translate_2025-11 - No "Added or Modified" items in November 2025 -Decemb. 2025: Line numbers to translate_2025-12 - No "Added or Modified" items in December 2025 - January 2026: Line numbers to translate_2026-01 - No "Added or Modified" items in January 2026 Februar 2026: Line numbers to translate_2026-02 - No "Added or Modified" items in February 2026 March 2026: Line numbers to translate_2026-03 - https://workupload.com/file/uDjfcJwACXx (2026-03-06) diff --git a/language/common_res.rc b/language/common_res.rc index 3c2d60c0d..4b1179d8d 100644 --- a/language/common_res.rc +++ b/language/common_res.rc @@ -102,9 +102,8 @@ IDS_MUI_ABOUT_CONTRIBS "\ IDS_MUI_ABOUT_LIBS "\ \\cf0 Neil Hodgson (Scintilla)\\tab https://www.scintilla.org\\par\ \\cf0 Neil Hodgson (Lexilla)\\tab https://www.scintilla.org/Lexilla.html\\par\ -\\cf0 K.Kosako (Oniguruma Regex, deprecated)\\tab https://github.com/kkos/oniguruma\\par\ \\cf0 Philip Hazel et al. (PCRE2 Regex)\\tab https://pcre2project.github.io/pcre2\\par\ -\\cf0 Stefan K\\u252nng (grepWin)\\tab https://github.com/stefankueng/grepWin\\par\ +\\cf0 Stefan Küng (grepWin)\\tab https://github.com/stefankueng/grepWin\\par\ \\cf0 Dave Dyer (NotepadCrypt)\\tab https://www.real-me.net/ddyer/notepad/NotepadCrypt.html\\par\ \\cf0 Brodie Thiesfield (SimpleIni)\\tab https://github.com/brofield/simpleini\\par\ \\cf0 T.D.Hanson (uthash)\\tab https://troydhanson.github.io/uthash\\par\ @@ -123,10 +122,12 @@ IDS_MUI_ABOUT_ACKNOWLEDGES "\ \\cf0 alex-ilin\\tab https://github.com/alex-ilin\\par\ \\cf0 alexantr\\tab https://github.com/alexantr\\par\ \\cf0 ashish12phnx\\tab https://github.com/ashish12phnx\\par\ +\\cf0 bovirus\\tab https://github.com/bovirus\\par\ \\cf0 bravo-hero\\tab https://github.com/bravo-hero\\par\ \\cf0 chuanliwen\\tab https://github.com/chuanliwen\\par\ \\cf0 craigo-\\tab https://github.com/craigo-/\\par\ \\cf0 Crane70\\tab https://github.com/Crane70\\par\ +\\cf0 en2sv\\tab https://github.com/en2sv\\par\ \\cf0 engelhro\\tab https://github.com/engelhro\\par\ \\cf0 Hexaae\\tab https://github.com/Hexaae\\par\ \\cf0 hpwamr\\tab https://github.com/hpwamr\\par\ @@ -148,8 +149,8 @@ IDS_MUI_ABOUT_ACKNOWLEDGES "\ \\cf0 Mitezuss\\tab https://github.com/Mitezuss\\par\ \\cf0 nickreserved\\tab https://github.com/nickreserved\\par\ \\cf0 np3fan\\tab https://github.com/np3fan\\par\ +\\cf0 p0k33m0n\\tab https://github.com/p0k33m0n\\par\ \\cf0 quadratz\\tab https://github.com/quadratz\\par\ -\\cf0 RaiKoHoff\\tab https://github.com/RaiKoHoff\\par\ \\cf0 rizonesoft\\tab https://github.com/rizonesoft\\par\ \\cf0 Rudolfin\\tab https://github.com/Rudolfin\\par\ \\cf0 Stephan-P\\tab https://github.com/Stephan-P\\par\ @@ -170,7 +171,6 @@ IDS_MUI_ABOUT_MORE "\ IDS_MUI_ABOUT_LICENSES "\ \\cf0 Scintilla\\tab https://www.scintilla.org/License.txt\\par\ -\\cf0 Oniguruma Regex\\tab https://github.com/kkos/oniguruma/blob/master/COPYING\\par\ \\cf0 PCRE2 Regex\\tab https://github.com/PCRE2Project/pcre2/blob/main/LICENCE.md\\par\ \\cf0 grepWin\\tab https://github.com/stefankueng/grepWin/blob/master/LICENSE\\par\ \\cf0 uthash\\tab https://troydhanson.github.io/uthash/license.html\\par\ diff --git a/language/np3_af_za/strings_af_za.rc b/language/np3_af_za/strings_af_za.rc index 29b4e28f3..7ff178ae9 100644 --- a/language/np3_af_za/strings_af_za.rc +++ b/language/np3_af_za/strings_af_za.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Die pad vir ""%s"" bestaan ​​nie meer nie.\nHerskep die pad en stoor die lêer?" IDS_MUI_ERR_DLG_FORMAT "Fout '%s', oorsaak:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Geen lêerblaaier plugin is gevind nie\nDie MiniPath-lêerblaaier plugin kan afgelaai word vanaf https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Geen lêer soek-inprop is gevind nie\nDie grepWinNP3 lêersoek plugin kan afgelaai word vanaf https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Geen lêer soek-inprop is gevind nie\nDie grepWin lêersoek plugin kan afgelaai word vanaf https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Geen toegang tot die gekose lêer nie!\nWil jy dit uit die lys verwyder?" IDS_MUI_ERR_CREATELINK "Kon nie die Desktop skakel skep nie" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_be_by/strings_be_by.rc b/language/np3_be_by/strings_be_by.rc index a0eee664b..a62e68731 100644 --- a/language/np3_be_by/strings_be_by.rc +++ b/language/np3_be_by/strings_be_by.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Шлях да «%s» больш не існуе.\nАднавіць шлях і захаваць файл?" IDS_MUI_ERR_DLG_FORMAT "Памылка '%s', прычына:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Не знойдзены плагін аглядніка файлаў\nПлагін MiniPath можна спампаваць з сайта https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Не знойдзены плагін для пошука ў файлах\nПлагін grepWinNP3 можна спампаваць з сайта https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Не знойдзены плагін для пошука ў файлах\nПлагін grepWin можна спампаваць з сайта https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Няма доступа да выбранага файла!\nХочаце выдаліць яго са спіску?" IDS_MUI_ERR_CREATELINK "Памылка стварэння цэтліка на Працоўным стале" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_de_de/strings_de_de.rc b/language/np3_de_de/strings_de_de.rc index 16ec6af75..31b6229b6 100644 --- a/language/np3_de_de/strings_de_de.rc +++ b/language/np3_de_de/strings_de_de.rc @@ -127,13 +127,14 @@ END STRINGTABLE BEGIN - IDS_MUI_ERR_LOADFILE "Fehler beim laden ""%s""" - IDS_MUI_ERR_SAVEFILE "Fehler beim speichern ""%s""" - IDS_MUI_ERR_PATHNOTFOUND "Der Dateipfad zu ""%s"" existiert nicht länger.\nErzeuge den Dateipfad neu und speichere die Datei?" - IDS_MUI_ERR_BROWSE "Kein Datei-Browser-Plugin gefunden\nDas MiniPath Datei-Browser-Plugin kann hier https://rizonesoft.com herunter geladen werden" - IDS_MUI_ERR_GREPWIN "Kein Datei-Suchen-Plugin gefunden\nDas grepWinNP3 Datei-Suchen-Plugin kann hier https://rizonesoft.com herunter geladen werden" - IDS_MUI_ERR_MRUDLG "Es kann nicht auf die ausgewählte Datei zugegriffen werden!\nMöchtest Du den Eintrag aus der Liste entfernen?" - IDS_MUI_ERR_CREATELINK "Fehler beim erzeugen des Desktop-Links" + IDS_MUI_ERR_LOADFILE "Error loading ""%s""" + IDS_MUI_ERR_SAVEFILE "Error saving ""%s""" + IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" + IDS_MUI_ERR_DLG_FORMAT "Error '%s', cause:\n%s(ID:%d)\n" + IDS_MUI_ERR_BROWSE "No file browser plugin was found\nThe MiniPath file browser plugin can be downloaded from https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "No file search plugin was found\nThe grepWin file search plugin can be downloaded from https://portableapps.com/apps/utilities/grepwin-portable" + IDS_MUI_ERR_MRUDLG "No access to the selected file!\nWould you like to remove it from the list?" + IDS_MUI_ERR_CREATELINK "Error creating the Desktop link" IDS_MUI_ERR_PREVWINDISABLED "Die existierende Notepad3-Instanz ist entweder beschäftigt oder hat eine geöffnete Dialogbox\nMöchtest Du eine andere Notepad3-Instanz öffnen?" IDS_MUI_ERR_ENCODINGNA "Die Code-Page Konvertierungstabellen sind für die ausgewählte Codierung auf diesem System nicht vorhanden" diff --git a/language/np3_el_gr/strings_el_gr.rc b/language/np3_el_gr/strings_el_gr.rc index e71e72a23..9f6f0edeb 100644 --- a/language/np3_el_gr/strings_el_gr.rc +++ b/language/np3_el_gr/strings_el_gr.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Σφάλμα '%s'. Αιτία:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Δεν βρέθηκε το πρόσθετο περιήγησης αρχείων\nΜπορείτε να κάνετε λήψη του πρόσθετου περιήγησης αρχείων MiniPath από https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Δεν βρέθηκε το πρόσθετο αναζήτησης αρχείων\nΜπορείτε να κάνετε λήψη του πρόσθετου αναζήτησης αρχείων grepWinNP3 από https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Δεν βρέθηκε το πρόσθετο αναζήτησης αρχείων\nΜπορείτε να κάνετε λήψη του πρόσθετου αναζήτησης αρχείων grepWin από https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Δεν υπάρχει πρόσβαση στο επιλεγμένο αρχείο!\nΘέλετε να το καταργήσετε από τη λίστα;" IDS_MUI_ERR_CREATELINK "Σφάλμα κατά τη δημιουργία συνδέσμου στην επιφάνεια εργασίας" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_en_gb/strings_en_gb.rc b/language/np3_en_gb/strings_en_gb.rc index c8f1c396b..8d3e68a1e 100644 --- a/language/np3_en_gb/strings_en_gb.rc +++ b/language/np3_en_gb/strings_en_gb.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Error '%s', cause:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "No file browser plugin was found\nThe MiniPath file browser plugin can be downloaded from https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "No file search plugin was found\nThe grepWinNP3 file search plugin can be downloaded from https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "No file search plugin was found\nThe grepWin file search plugin can be downloaded from https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "No access to the selected file!\nWould you like to remove it from the list?" IDS_MUI_ERR_CREATELINK "Error creating the Desktop link" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_en_us/strings_en_us.rc b/language/np3_en_us/strings_en_us.rc index 7aeb7351d..6b797f242 100644 --- a/language/np3_en_us/strings_en_us.rc +++ b/language/np3_en_us/strings_en_us.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Error '%s', cause:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "No file browser plugin was found\nThe MiniPath file browser plugin can be downloaded from https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "No file search plugin was found\nThe grepWinNP3 file search plugin can be downloaded from https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "No file search plugin was found\nThe grepWin file search plugin can be downloaded from https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "No access to the selected file!\nWould you like to remove it from the list?" IDS_MUI_ERR_CREATELINK "Error creating the Desktop link" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_es_es/strings_es_es.rc b/language/np3_es_es/strings_es_es.rc index bc4c6b978..742c90850 100644 --- a/language/np3_es_es/strings_es_es.rc +++ b/language/np3_es_es/strings_es_es.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "La ruta para ""%s"" ya no existe.\n¿Recrear la ruta y guardar el archivo?" IDS_MUI_ERR_DLG_FORMAT "Error '%s', causa:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "No se encontró plug-in para el navegador de archivos\nEl plug-in de navegador de archivos MiniPath se puede descargar desde https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "No se encontró plug-in de búsqueda de archivos\nEl plug-in grepWinNP3 de búsqueda de archivos se puede descargar desde https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "No se encontró plug-in de búsqueda de archivos\nEl plug-in grepWin de búsqueda de archivos se puede descargar desde https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "¡No hay acceso al archivo seleccionado!\n¿Desea eliminarlo de la lista?" IDS_MUI_ERR_CREATELINK "Error al crear el enlace de escritorio" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_fi_fi/strings_fi_fi.rc b/language/np3_fi_fi/strings_fi_fi.rc index 702c23105..520b9f063 100644 --- a/language/np3_fi_fi/strings_fi_fi.rc +++ b/language/np3_fi_fi/strings_fi_fi.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Polkua ""%s"" ei ole enää olemassa.\nLuodaanko polku ja tallennetaan tiedosto?" IDS_MUI_ERR_DLG_FORMAT "Virhe '%s', syy:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Tiedostoselaimen laajennusta ei löytynyt\nMiniPath-tiedostoselaimen laajennuksen voi ladata osoitteesta https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Tiedostonhakulaajennusta ei löytynyt\nGrepWinNP3-tiedostonhakulaajennuksen voi ladata osoitteesta https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Tiedostonhakulaajennusta ei löytynyt\ngrepWin-tiedostonhakulaajennuksen voi ladata osoitteesta https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Valittuun tiedostoon ei ole pääsyä!\nTahdotko poistaa sen luettelosta?" IDS_MUI_ERR_CREATELINK "Virhe työpöytälinkin luomisessa" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_fr_fr/strings_fr_fr.rc b/language/np3_fr_fr/strings_fr_fr.rc index 35cf83f15..5380035ee 100644 --- a/language/np3_fr_fr/strings_fr_fr.rc +++ b/language/np3_fr_fr/strings_fr_fr.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Le chemin de ""%s"" n'existe plus.\nRecréer le chemin et sauvegarder le fichier ?" IDS_MUI_ERR_DLG_FORMAT "Erreur '%s', cause :\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Aucun plugin de navigateur de fichiers n'a été trouvé\nLe plugin du navigateur de fichiers MiniPath peut être téléchargé à partir de https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Aucun plugin de recherche de fichiers n'a été trouvé\nLe plugin de recherche de fichiers grepWinNP3 peut être téléchargé depuis https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Aucun plugin de recherche de fichiers n'a été trouvé\nLe plugin de recherche de fichiers grepWin peut être téléchargé depuis https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Pas d'accès au fichier sélectionné !\nLe retirer de la liste ?" IDS_MUI_ERR_CREATELINK "Erreur lors de la création du lien sur le bureau" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_hi_in/strings_hi_in.rc b/language/np3_hi_in/strings_hi_in.rc index 1e4aadfe5..ed0509e37 100644 --- a/language/np3_hi_in/strings_hi_in.rc +++ b/language/np3_hi_in/strings_hi_in.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND """%s"" का पथ अब मौजूद नहीं है।\nपथ पुनः बनाएं और फ़ाईल सहेजें?" IDS_MUI_ERR_DLG_FORMAT "त्रुटि '%s', कारण:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "कोई फ़ाईल ब्राउज़र plugin नहीं मिला।\nकृपया MiniPath फ़ाईल ब्राउज़र plugin यहाँ से डाउनलोड करें: https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "कोई फ़ाईल सर्च plugin नहीं मिला।\ngrepWinNP3 सर्च plugin कृपया यहाँ से डाउनलोड करें: https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "कोई फ़ाईल सर्च plugin नहीं मिला।\ngrepWin सर्च plugin कृपया यहाँ से डाउनलोड करें: https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "चुनी हुई फ़ाईल तक पहुंचना संभव नहीं!\nक्या आप इस फ़ाईल को सूची में से हटाना चाहते हैं?" IDS_MUI_ERR_CREATELINK "डेस्कटॉप लिंक बनाने में त्रुटि" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_hu_hu/strings_hu_hu.rc b/language/np3_hu_hu/strings_hu_hu.rc index da7e6a218..9f8a3d976 100644 --- a/language/np3_hu_hu/strings_hu_hu.rc +++ b/language/np3_hu_hu/strings_hu_hu.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Az útvonal ehhez: ""%s"" már nem létezik.\nLétrehozzam újra az útvonalat és mentsem a fájlt?" IDS_MUI_ERR_DLG_FORMAT "Hiba '%s', oka:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Fájlböngésző plugin nem található\nA MiniPath fájlböngésző plugin letölthető a https://rizonesoft.com címről" - IDS_MUI_ERR_GREPWIN "Fájlkereső plugin nem található\nA grepWinNP3 fájlkereső plugin letölthető a https://rizonesoft.com címről" + IDS_MUI_ERR_GREPWIN "Fájlkereső plugin nem található\nA grepWin fájlkereső plugin letölthető a https://portableapps.com/apps/utilities/grepwin-portable címről" IDS_MUI_ERR_MRUDLG "A kijelölt fájlhoz nincs hozzáférésünk!\nEl szeretné távolítani a listából?" IDS_MUI_ERR_CREATELINK "Hiba az asztali parancsikon létrehozásakor" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_id_id/strings_id_id.rc b/language/np3_id_id/strings_id_id.rc index a55d9a177..620dd8bc8 100644 --- a/language/np3_id_id/strings_id_id.rc +++ b/language/np3_id_id/strings_id_id.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Kesalahan pada '%s', penyebab:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Tidak ditemukan plugin penelusuran berkas\nPlugin penelusuran berkas MiniPath dapat diunduh di https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Tidak ditemukan plugin pencarian berkas\nPlugin pencarian berkas grepWinNP3 dapat diunduh di https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Tidak ditemukan plugin pencarian berkas\nPlugin pencarian berkas grepWin dapat diunduh di https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Tidak ada akses ke berkas yang dipilih!\nApakah Anda ingin menghapusnya dari daftar?" IDS_MUI_ERR_CREATELINK "Kesalahan saat membuat pintasan Desktop" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_it_it/strings_it_it.rc b/language/np3_it_it/strings_it_it.rc index 0fc692f8f..082ed9ac8 100644 --- a/language/np3_it_it/strings_it_it.rc +++ b/language/np3_it_it/strings_it_it.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Il percorso per ""%s"" non esiste più.\nVuoi ricreare il percorso e salvare il file?" IDS_MUI_ERR_DLG_FORMAT "Errore '%s', causa:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Nessun plugin file browser trovato\nMiniPath può essere scaricato da https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Nessun plugin ricerca file trovato\nIl plugin ricerca file grepWinNP3 può esssere scaricato da https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Nessun plugin ricerca file trovato\nIl plugin ricerca file grepWin può esssere scaricato da https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Nessun accesso al file selezionato!\nVuoi rimuoverlo dall'elenco?" IDS_MUI_ERR_CREATELINK "Errore nella creazione del collegamento sul desktop" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_ja_jp/strings_ja_jp.rc b/language/np3_ja_jp/strings_ja_jp.rc index 53db8f404..810c2af29 100644 --- a/language/np3_ja_jp/strings_ja_jp.rc +++ b/language/np3_ja_jp/strings_ja_jp.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "エラー '%s', 原因:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "ファイラーのプラグインがありません\nこのプラグイン MiniPath は以下からダウンロードできます https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "ファイル検索プラグインが見つかりません\nファイル検索プラグインの grepWinNP3 は以下からダウンロードできます https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "ファイル検索プラグインが見つかりません\nファイル検索プラグインの grepWin は以下からダウンロードできます https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "選択したファイルにアクセスできません\n一覧から除去しますか?" IDS_MUI_ERR_CREATELINK "デスクトップへのショートカット作成時にエラーが発生しました" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_ko_kr/strings_ko_kr.rc b/language/np3_ko_kr/strings_ko_kr.rc index e446493de..141b50e66 100644 --- a/language/np3_ko_kr/strings_ko_kr.rc +++ b/language/np3_ko_kr/strings_ko_kr.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND """%s""의 경로는 더 이상 존재하지 않습니다.\n경로를 다시 생성하고 파일을 저장하시겠습니까?" IDS_MUI_ERR_DLG_FORMAT "오류 '%s', 원인:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "파일 탐색기 플러그인을 찾을 수 없습니다\nMiniPath 파일 탐색기 플러그인은 https://rizonesoft.com에서 다운로드할 수 있습니다" - IDS_MUI_ERR_GREPWIN "파일 검색 플러그인을 찾을 수 없습니다\ngrepWinNP3 파일 검색 플러그인은 https://rizonesoft.com에서 다운로드할 수 있습니다" + IDS_MUI_ERR_GREPWIN "파일 검색 플러그인을 찾을 수 없습니다\ngrepWin 파일 검색 플러그인은 https://portableapps.com/apps/utilities/grepwin-portable 다운로드할 수 있습니다" IDS_MUI_ERR_MRUDLG "선택한 파일에 접근할 수 없습니다!\n목록에서 제거하시겠습니까?" IDS_MUI_ERR_CREATELINK "바탕 화면 링크를 만드는 중에 오류가 발생하였습니다" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_nl_nl/strings_nl_nl.rc b/language/np3_nl_nl/strings_nl_nl.rc index 3676282e1..cca1014b7 100644 --- a/language/np3_nl_nl/strings_nl_nl.rc +++ b/language/np3_nl_nl/strings_nl_nl.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Het pad voor ""%s"" bestaat niet meer.\nPad opnieuw aanmaken en bestand opslaan?" IDS_MUI_ERR_DLG_FORMAT "Fout '%s', oorzaak:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Geen bestandsbrowser-plugin gevonden\nDe plugin voor de MiniPath bestandsbrowser kan worden gedownload van https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Geen plugin voor het doorzoeken van bestanden gevonden\nDe plug-in grepWinNP3 voor het doorzoeken van bestanden kan worden gedownload van https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Geen plugin voor het doorzoeken van bestanden gevonden\nDe plug-in grepWin voor het doorzoeken van bestanden kan worden gedownload van https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Geen toegang tot het geselecteerde bestand!\nWil je het uit de lijst verwijderen?" IDS_MUI_ERR_CREATELINK "Fout bij het aanmaken van de bureaubladkoppeling" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_pl_pl/strings_pl_pl.rc b/language/np3_pl_pl/strings_pl_pl.rc index abf5e0c09..ae63a628c 100644 --- a/language/np3_pl_pl/strings_pl_pl.rc +++ b/language/np3_pl_pl/strings_pl_pl.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Błąd '%s', powód:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Nie znaleziono wtyczki przeglądarki pliku\nWtyczkę przeglądarki pliku do MiniPath można pobrać z https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Nie znaleziono wtyczki wyszukiwania pliku.\Wtyczkę wyszukiwania pliku programu grepWinNP3 można pobrać ze strony https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Nie znaleziono wtyczki wyszukiwania pliku.\Wtyczkę wyszukiwania pliku programu grepWin można pobrać ze strony https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Brak dostępu do wybranego pliku!\nCzy chcesz usunąć go z listy?" IDS_MUI_ERR_CREATELINK "Błąd podczas tworzenia skrótu na Pulpicie" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_pt_br/strings_pt_br.rc b/language/np3_pt_br/strings_pt_br.rc index 60c397d21..3dd5975ec 100644 --- a/language/np3_pt_br/strings_pt_br.rc +++ b/language/np3_pt_br/strings_pt_br.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "O caminho para ""%s"" não existe mais.\nRecriar caminho e salvar o arquivo?" IDS_MUI_ERR_DLG_FORMAT "Erro '%s', causa:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Nenhum plugin de gerenciador de arquivos foi encontrado\nO plugin de gerenciador de arquivos MiniPath pode ser baixado de https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Nenhum plugin de localizador em arquivos foi encontrado\nO plugin de localizador em arquivos grepWinNP3 pode ser baixado de https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Nenhum plugin de localizador em arquivos foi encontrado\nO plugin de localizador em arquivos grepWin pode ser baixado de https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Sem acesso ao arquivo selecionado!\nVocê quer remover ele da lista?" IDS_MUI_ERR_CREATELINK "Erro criando o link para Área de Trabalho" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_pt_pt/strings_pt_pt.rc b/language/np3_pt_pt/strings_pt_pt.rc index a45ebcc37..2fe54f7f0 100644 --- a/language/np3_pt_pt/strings_pt_pt.rc +++ b/language/np3_pt_pt/strings_pt_pt.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "O caminho para ""%s"" já não existe.\nRecriar o caminho e guardar o ficheiro?" IDS_MUI_ERR_DLG_FORMAT "Erro '%s', causa:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Não foi encontrado nenhum plugin de navegador de ficheiros\nO plugin do navegador de ficheiros MiniPath pode ser transferido de https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Não foi encontrado nenhum plugin de procura de ficheiros\nO plugin de procura de ficheiros grepWinNP3 pode ser transferido de https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Não foi encontrado nenhum plugin de procura de ficheiros\nO plugin de procura de ficheiros grepWin pode ser transferido de https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Não foi possível aceder ao ficheiro seleccionado!\nDeseja removê-lo da lista?" IDS_MUI_ERR_CREATELINK "Erro ao criar a ligação ao ambiente de trabalho" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_ru_ru/dialogs_ru_ru.rc b/language/np3_ru_ru/dialogs_ru_ru.rc index 071efd0e9..e07fcbfbe 100644 --- a/language/np3_ru_ru/dialogs_ru_ru.rc +++ b/language/np3_ru_ru/dialogs_ru_ru.rc @@ -1,4 +1,4 @@ -// Microsoft Visual C++ generated resource script. +// Microsoft Visual C++ generated resource script. // encoding: UTF-8 #pragma code_page(65001) // UTF-8 #include "resource.h" diff --git a/language/np3_ru_ru/strings_ru_ru.rc b/language/np3_ru_ru/strings_ru_ru.rc index 7d38359ed..309f7da9f 100644 --- a/language/np3_ru_ru/strings_ru_ru.rc +++ b/language/np3_ru_ru/strings_ru_ru.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Путь к «%s» больше не существует.\nВоссоздать путь и сохранить файл?" IDS_MUI_ERR_DLG_FORMAT "Ошибка '%s', причина:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Не найден плагин браузера файлов\nПлагин MiniPath можно загрузить с сайта https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Не найден плагин поиска в файлах\nПлагин grepWinNP3 можно загрузить с сайта https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Не найден плагин поиска в файлах\nПлагин grepWin можно загрузить с сайта https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Нет доступа к выбранному файлу!\nХотите удалить его из списка?" IDS_MUI_ERR_CREATELINK "Ошибка создания ярлыка на Рабочем столе" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_sk_sk/strings_sk_sk.rc b/language/np3_sk_sk/strings_sk_sk.rc index a4a1fa06e..c2f4a02e0 100644 --- a/language/np3_sk_sk/strings_sk_sk.rc +++ b/language/np3_sk_sk/strings_sk_sk.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Cesta pre ""%s"" už neexistuje.\nZnovu vytvoriť cestu a uložiť súbor?" IDS_MUI_ERR_DLG_FORMAT "Chyba '%s', príčina:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Nenašiel sa doplnok na prehľadávanie súborov\nDoplnok MiniPath si môžete stiahnuť z https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Nenašiel sa vyhľadávací doplnok\nDoplnok na vyhľadávanie súborov grepWinNP3 si môžete stiahnuť z https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Nenašiel sa vyhľadávací doplnok\nDoplnok na vyhľadávanie súborov grepWin si môžete stiahnuť z https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Žiadny prístup k vybranému súboru!\nChcete ho odstrániť zo zoznamu?" IDS_MUI_ERR_CREATELINK "Chyba pri vytváraní odkazu na pracovnú plochu" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_sv_se/strings_sv_se.rc b/language/np3_sv_se/strings_sv_se.rc index 3789ecff0..7ac4d7726 100644 --- a/language/np3_sv_se/strings_sv_se.rc +++ b/language/np3_sv_se/strings_sv_se.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "Sökvägen till ""%s"" finns inte längre.\nVill du återskapa sökvägen och spara filen?" IDS_MUI_ERR_DLG_FORMAT "Fel '%s', orsak:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Inget plugin för filbläddring hittades\nMinipath filbläddrare kan laddas ner från https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Inget sökplugin hittades\ngrepWinNP3 filsökningsplugin kan hämtas från https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Inget sökplugin hittades\ngrepWin filsökningsplugin kan hämtas från https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Tillgång saknas för vald fil!\nVill du ta bort den från listan?" IDS_MUI_ERR_CREATELINK "Fel vi skapande av skrivbordslänk" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_tr_tr/strings_tr_tr.rc b/language/np3_tr_tr/strings_tr_tr.rc index ecb506627..207fd78ce 100644 --- a/language/np3_tr_tr/strings_tr_tr.rc +++ b/language/np3_tr_tr/strings_tr_tr.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Hata '%s'. Nedeni:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Dosya gezgini uygulama eki bulunamadı\nMiniPath dosya tarayıcı uygulama ekini şuradan indirebilirsiniz: https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Dosya arama uygulama eki bulunamadı\ngrepWinNP3 dosya arama uygulama ekini şuradan indirebilirsiniz: https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Dosya arama uygulama eki bulunamadı\ngrepWin dosya arama uygulama ekini şuradan indirebilirsiniz: https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Seçilmiş dosyaya erişilemedi!\nWListeden kaldırmak ister misiniz?" IDS_MUI_ERR_CREATELINK "Masaüstü bağlantısı oluşturulurken sorun çıktı" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_vi_vn/strings_vi_vn.rc b/language/np3_vi_vn/strings_vi_vn.rc index 209af3b2b..1dd77b5b1 100644 --- a/language/np3_vi_vn/strings_vi_vn.rc +++ b/language/np3_vi_vn/strings_vi_vn.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "The path for ""%s"" no longer exists.\nRecreate the path and save the file?" IDS_MUI_ERR_DLG_FORMAT "Lỗi '%s', Nguyên nhân:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "Không thể tìm thấy plugin trình duyệt tệp\nPlugin MiniPath có thể tải xuống từ https://rizonesoft.com" - IDS_MUI_ERR_GREPWIN "Không thể tìm thấy plugin tìm kiếm tệp\nPlugin grepWinNP3 có thể tải xuống từ https://rizonesoft.com" + IDS_MUI_ERR_GREPWIN "Không thể tìm thấy plugin tìm kiếm tệp\nPlugin grepWin có thể tải xuống từ https://portableapps.com/apps/utilities/grepwin-portable" IDS_MUI_ERR_MRUDLG "Không thể truy cập tệp đã chọn!\nCó muốn xóa khỏi danh sách không?" IDS_MUI_ERR_CREATELINK "Đã xảy ra lỗi khi tạo liên kết trên màn hình chính" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_zh_cn/strings_zh_cn.rc b/language/np3_zh_cn/strings_zh_cn.rc index 3928216d7..6e66d03c9 100644 --- a/language/np3_zh_cn/strings_zh_cn.rc +++ b/language/np3_zh_cn/strings_zh_cn.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "路径“%s”已不复存在。\n重新创建路径并保存文件吗?" IDS_MUI_ERR_DLG_FORMAT "错误“%s”,原因:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "无可用文件浏览器插件\n\nMiniPath 插件可以从 https://rizonesoft.com 下载" - IDS_MUI_ERR_GREPWIN "无可用文件查找插件\n\ngrepWinNP3 插件可以从 https://rizonesoft.com 下载" + IDS_MUI_ERR_GREPWIN "无可用文件查找插件\n\ngrepWin 插件可以从 https://portableapps.com/apps/utilities/grepwin-portable 下载" IDS_MUI_ERR_MRUDLG "指定的文件无法访问。它可能已被改名、删除或移动\n\n从列表中删除它吗?" IDS_MUI_ERR_CREATELINK "创建桌面快捷方式时遇到错误" IDS_MUI_ERR_PREVWINDISABLED diff --git a/language/np3_zh_tw/strings_zh_tw.rc b/language/np3_zh_tw/strings_zh_tw.rc index b283e936f..1469b1959 100644 --- a/language/np3_zh_tw/strings_zh_tw.rc +++ b/language/np3_zh_tw/strings_zh_tw.rc @@ -132,7 +132,7 @@ BEGIN IDS_MUI_ERR_PATHNOTFOUND "路徑 ""%s"" 已不復存在。\n重新建立路徑並儲存檔案嗎?" IDS_MUI_ERR_DLG_FORMAT "錯誤 ""%s"" ,原因:\n%s(ID:%d)\n" IDS_MUI_ERR_BROWSE "無可用檔案瀏覽器外掛\nMiniPath 外掛可由 https://rizonesoft.com 下載" - IDS_MUI_ERR_GREPWIN "無可用檔案尋找外掛\ngrepWinNP3 外掛可由 https://rizonesoft.com 下載" + IDS_MUI_ERR_GREPWIN "無可用檔案尋找外掛\ngrepWin 外掛可由 https://portableapps.com/apps/utilities/grepwin-portable 下載" IDS_MUI_ERR_MRUDLG "指定的檔案無法存取。它可能已被改名、刪除或移動\n\n從清單中刪除它嗎?" IDS_MUI_ERR_CREATELINK "建立桌面捷徑時遇到錯誤" IDS_MUI_ERR_PREVWINDISABLED diff --git a/lexilla/Lexilla.vcxproj b/lexilla/Lexilla.vcxproj index 72c31b614..dab667c3e 100644 --- a/lexilla/Lexilla.vcxproj +++ b/lexilla/Lexilla.vcxproj @@ -477,7 +477,7 @@ Level4 - _WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _WIN64;_WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) true stdcpp20 true @@ -502,6 +502,7 @@ Console true false + MachineARM64 true @@ -598,7 +599,7 @@ true - _WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + _WIN64;_WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true stdcpp20 true @@ -626,6 +627,7 @@ true true false + MachineARM64 true @@ -641,7 +643,7 @@ true - _WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + _WIN64;_WIN32_WINNT=0x0A00;WINVER=0x0A00;NTDDI_VERSION=0x0A000006;SCI_LEXER;_CRT_SECURE_NO_WARNINGS;STATIC_BUILD;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) true stdcpp20 true @@ -669,6 +671,7 @@ true true false + MachineARM64 true @@ -680,4 +683,4 @@ - \ No newline at end of file + diff --git a/np3portableapp/Notepad3Portable/App/AppInfo/Launcher/Splash.jpg b/np3portableapp/Notepad3Portable/App/AppInfo/Launcher/Splash.jpg index dff98671d..092908d51 100644 Binary files a/np3portableapp/Notepad3Portable/App/AppInfo/Launcher/Splash.jpg and b/np3portableapp/Notepad3Portable/App/AppInfo/Launcher/Splash.jpg differ diff --git a/np3portableapp/Notepad3Portable/App/DefaultData/settings/Notepad3.ini b/np3portableapp/Notepad3Portable/App/DefaultData/settings/Notepad3.ini index 564d1514a..b50797bab 100644 --- a/np3portableapp/Notepad3Portable/App/DefaultData/settings/Notepad3.ini +++ b/np3portableapp/Notepad3Portable/App/DefaultData/settings/Notepad3.ini @@ -35,6 +35,14 @@ grepWin.exe=%PORTABLEAPPS_DIR%\grepWinPortable\grepWinPortable.exe ;RelativeFileMRU=1 ;ReuseWindow=0 ;SaveBlankNewFile=true +;RenderingTechnology=1 +; Scintilla Rendering Technology: +; 0 = GDI (default Win32 rendering) +; 1 = DirectWrite (default) - Direct2D +; 2 = DirectWriteRetain (preserves back buffer, default on ARM64) +; 3 = DirectWriteDC (DC-based Direct2D) +; Tip: On ARM64 with rendering issues, try 0 (GDI) or 3 (DirectWriteDC) +; Per-resolution override in [Window]: e.g. 1920x1080 RenderingTechnology=0 ;SciFontQuality=3 ;SimpleIndentGuides=0 ;SingleFileInstance=1 diff --git a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Changes.txt b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Changes.txt index d8ff4bea3..64e497710 100644 --- a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Changes.txt +++ b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Changes.txt @@ -22,7 +22,7 @@ LEGEND: ABBREVIATIONS: -------------------------------------------------------- CED - (C)ompact (E)ncoding (D)etection (by Google) -GRE - (GRE)pWinNP3 Search in Files Tool +GRE - (gre)pWin Search in Files Tool LEX - (LEX)illa Library MIN - (MIN)iPath Fast Browser Tool MUI - (M)ultilingual (U)ser (I)nterface @@ -35,7 +35,7 @@ UCH - (UCH)ARDET is an Encoding Detector Library ======================================================== -Current BETA Version 7.26.314.(build_#) (2026-03-14) +Current BETA Version 7.26.4µµ.(build_#) (2026-04-µµ) ======================================================== -------------------------------------------------------- @@ -57,6 +57,7 @@ NEW: CHANGES: -------------------------------------------------------- [.xxx.x]- +[.04µµ.1]- Migration to original grepWin tooling (remove home brew project). [.306.1]- Synchronise with current scintilla mirror. [.306.1]- Update SimpleIni header only lib (to v4.25). [.306.1]- Major version 6 → 7 for Win10 minimum. @@ -121,6 +122,7 @@ FIXES: -------------------------------------------------------- REMOVED: [.xxx.x]- +[.4µµ.1]- Remove grepWinNP3 project from main. [.306.1]- Remove deprecated Win7 compatibility and UTF-32 detection. [.303.1]- Remove retired Oniguruma regex Engine (ONI). [.227.1]- Remove obsolete AppVeyor CI build. @@ -130,11 +132,11 @@ REMOVED: -------------------------------------------------------- CHANGES Versions in Tools or Libraries: -------------------------------------------------------- +[.4µµ.1]- Update grepWin (GRE) version 2.1.12.1434 (2025-09-24). [.305.1]- Update UCHARDET (UCH) encoding detector version 0.0.8 (2022-12-08). [.303.1]- Update PCR2 (PCR) Regex engine version 10.47 (2025-10-21). [.227.1]- Update Scintilla (SCI) Library version 5.6.0 (2026-02-25). [.227.1]- Update Lexilla (LEX) Library version 5.4.7 (2026-02-25). -[.101.1]- Update grepWinNP3 (GRE) version 2.1.15.48 (2024-01-10). [1213.1]- Update MiniPath (MIN) version 1.0.2.191 (2022-12-13). -------------------------------------------------------- diff --git a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/License.txt b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/License.txt index cf68bffd1..ae3a0b358 100644 --- a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/License.txt +++ b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/License.txt @@ -30,7 +30,7 @@ GNU General Public License v3.0, All Rights Reserved. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -"grepWin" is developed by Stefan Kung (https://tools.stefankueng.com/grepWin.html). +"grepWin" is developed by Stefan Küng (https://tools.stefankueng.com/grepWin.html). Original "grepWin" binaries and corresponding source code (according GPL to v3.0) can be retrived at folowing location https://github.com/stefankueng/grepWin/releases/. diff --git a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Readme.txt b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Readme.txt index 3a6269b2a..30944c723 100644 --- a/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Readme.txt +++ b/np3portableapp/Notepad3Portable/App/Notepad3/Docs/Readme.txt @@ -70,6 +70,7 @@ Development: Contributors: ------------- Derick Payne (© Rizonesoft) https://rizonesoft.com +Pairi Daiza (MUI language support) https://github.com/hpwamr XhmikosR (Notepad2-mod) https://xhmikosr.github.io/notepad2-mod Kai Liu (CodeFolding) https://code.kliu.org/misc/notepad2 RL Vision (Bookmarks) https://www.rlvision.com/notepad2/about.php @@ -83,13 +84,16 @@ Some Icons by Pixel perfect (Flaticon) https://www.flaticon.com -------------------------------------------------------------------------------- Open Source / Libraries: ------------------------ -N.Hodgson (Scintilla) https://www.scintilla.org -K.Kosako (Oniguruma Regex) https://github.com/kkos/oniguruma -Stefan Küng (grepWin) https://github.com/stefankueng/grepWin -D.Dyer (NotepadCrypt) https://www.real-me.net/ddyer/notepad/NotepadCrypt.html -T.D.Hanson (uthash) https://troydhanson.github.io/uthash -Carbo Kuo (Mozilla's uchardet) https://www.freedesktop.org/wiki/Software/uchardet -Lewis Van Winkle (TinyExpr) https://github.com/codeplea/tinyexpr +Neil Hodgson (Scintilla) https://www.scintilla.org +Neil Hodgson (Lexilla) https://www.scintilla.org/Lexilla.html +Philip Hazel et al. (PCRE2 Regex) https://pcre2project.github.io/pcre2 +Stefan Küng (grepWin) https://github.com/stefankueng/grepWin +D.Dyer (NotepadCrypt) https://www.real-me.net/ddyer/notepad/NotepadCrypt.html +Brodie Thiesfield (SimpleIni) https://github.com/brofield/simpleini +T.D.Hanson (uthash) https://troydhanson.github.io/uthash +Carbo Kuo (Mozilla's uchardet) https://www.freedesktop.org/wiki/Software/uchardet +Lewis Van Winkle (TinyExpr) https://github.com/codeplea/tinyexpr +Carlo Pallini (Resample BMP) https://www.codeproject.com/Articles/22271/Plain-C-Resampling-DLL -------------------------------------------------------------------------------- Acknowledgments: @@ -97,10 +101,12 @@ Acknowledgments: alex-ilin https://github.com/alex-ilin alexantr https://github.com/alexantr ashish12phnx https://github.com/ashish12phnx +bovirus https://github.com/bovirus bravo-hero https://github.com/bravo-hero chuanliwen https://github.com/chuanliwen craigo- https://github.com/craigo- Crane70 https://github.com/Crane70 +en2sv https://github.com/en2sv engelhro https://github.com/engelhro Hexaae https://github.com/Hexaae hpwamr https://github.com/hpwamr @@ -122,6 +128,7 @@ MelchiorGaspar https://github.com/MelchiorGaspar Mitezuss https://github.com/Mitezuss nickreserved https://github.com/nickreserved np3fan https://github.com/np3fan +p0k33m0n https://github.com/p0k33m0n quadratz https://github.com/quadratz RaiKoHoff https://github.com/RaiKoHoff rizonesoft https://github.com/rizonesoft @@ -144,7 +151,7 @@ Data Sharing Service https://workupload.com Licences: --------- Scintilla https://www.scintilla.org/License.txt -Oniguruma Regex https://github.com/kkos/oniguruma/blob/master/COPYING +PCRE2 Regex https://github.com/PCRE2Project/pcre2/blob/main/LICENCE.md grepWin https://github.com/stefankueng/grepWin/blob/master/LICENSE uthash https://troydhanson.github.io/uthash/license.html uchardet https://www.freedesktop.org/wiki/Software/uchardet/#license diff --git a/np3portableapp/_buildname.txt b/np3portableapp/_buildname.txt index e16c76dff..607e7f398 100644 --- a/np3portableapp/_buildname.txt +++ b/np3portableapp/_buildname.txt @@ -1 +1 @@ -"" +"_beta" diff --git a/np3portableapp/build_np3portableapp.cmd b/np3portableapp/build_np3portableapp.cmd index 4793f885d..76c6b8ddb 100644 --- a/np3portableapp/build_np3portableapp.cmd +++ b/np3portableapp/build_np3portableapp.cmd @@ -8,7 +8,6 @@ chcp 65001 >nul 2>&1 :: :: This "build_np3portableapp.cmd" batch file creates: :: - "Notepad3Portable_x.xx.xxx.x_zzzz.paf.exe" -:: - "Notepad3Portable_x.xx.xxx.x_zzzz.paf.exe.7z" :: :: Usage: build_np3portableapp.cmd [PortableAppsDir] :: PortableAppsDir — optional path to the PortableApps platform root @@ -16,7 +15,7 @@ chcp 65001 >nul 2>&1 :: :: --------------------------------------------------------------------------------------------------- :: Based on PortableApps.com's Application_Template: -:: (https://sourceforge.net/projects/portableapps/files/PortableApps.com%20Template/PortableApps.com_Application_Template_3.9.0.zip) +:: (https://sourceforge.net/projects/portableapps/files/PortableApps.com%20Template/PortableApps.com_Application_Template_3.9.0.zip) :: --------------------------------------------------------------------------------------------------- :: :: Prerequisites: (portable) installation of: @@ -111,9 +110,6 @@ if not defined NP3_LANGUAGE_SET ( exit /b 1 ) -rem - We will rely on PortableApps Platform installed grepWinPortable -rem ~ call :RESOLVEPATH GREPWIN_DIR %SCRIPT_DIR%..\grepWin - call :RESOLVEPATH NP3_PORTAPP_DIR %SCRIPT_DIR%Notepad3Portable call :RESOLVEPATH NP3_PORTAPP_INFO %NP3_PORTAPP_DIR%\App\AppInfo\appinfo call :RESOLVEPATH NP3_PORTAPP_INSTALL %NP3_PORTAPP_DIR%\App\AppInfo\installer @@ -160,10 +156,6 @@ if exist "%NP3_PORTAPP_DIR%\App\Notepad3\x86\lng" rmdir "%NP3_PORTAPP_DIR%\App\N if exist "%NP3_PORTAPP_DIR%\App\Notepad3\x64\lng" rmdir "%NP3_PORTAPP_DIR%\App\Notepad3\x64\lng" /S /Q -rem - We will rely on PortableApps Platform installed grepWinPortable -rem ~ if exist "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin" rmdir "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin" /S /Q -rem ~if exist "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin" rmdir "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin" /S /Q - if not exist "%NP3_PORTAPP_DIR%\App\DefaultData\settings\" ( mkdir "%NP3_PORTAPP_DIR%\App\DefaultData\settings\" ) else ( @@ -246,21 +238,6 @@ for /d %%d in (%NP3_LANGUAGE_SET%) do ( copy /B "%NP3_X64_DIR%\lng\np3lng.dll" /B "%NP3_PORTAPP_DIR%\App\Notepad3\x64\lng\" /Y /V copy /B "%NP3_X64_DIR%\lng\mplng.dll" /B "%NP3_PORTAPP_DIR%\App\Notepad3\x64\lng\" /Y /V -:: Don't copy np3encrypt or grepWin -rem ~if not exist "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin\" mkdir "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin" -rem ~copy "%GREPWIN_DIR%\portables\grepWin-x86_portable.exe" "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin\grepWin-x86_portable.exe" /Y /V -rem ~copy "%GREPWIN_DIR%\portables\LICENSE.txt" "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin\LICENSE.txt" /Y /V -rem ~copy "%GREPWIN_DIR%\portables\website.url" "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin\website.url" /Y /V -rem ~copy "%GREPWIN_DIR%\translations\*.lang" "%NP3_PORTAPP_DIR%\App\Notepad3\x86\grepWin\*.lang" /Y /V -rem ~copy /B "%NP3_WIN32_DIR%\np3encrypt.exe" /B "%NP3_PORTAPP_DIR%\App\Notepad3\x86\" /Y /V -rem ~ -rem ~if not exist "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin\" mkdir "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin" -rem ~copy "%GREPWIN_DIR%\portables\grepWin-x64_portable.exe" "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin\grepWin-64_portable.exe" /Y /V -rem ~copy "%GREPWIN_DIR%\portables\LICENSE.txt" "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin\LICENSE.txt" /Y /V -rem ~copy "%GREPWIN_DIR%\portables\website.url" "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin\website.url" /Y /V -rem ~copy "%GREPWIN_DIR%\translations\*.lang" "%NP3_PORTAPP_DIR%\App\Notepad3\x64\grepWin\*.lang" /Y /V -rem ~copy /B "%NP3_X64_DIR%\np3encrypt.exe" /B "%NP3_PORTAPP_DIR%\App\Notepad3\x64\" /Y /V - :: --------------------------------------------------------------------------------------------------- :: Step 7: Process INI templates (appinfo.ini, installer.ini) :: --------------------------------------------------------------------------------------------------- @@ -324,14 +301,13 @@ if errorlevel 1 ( :: call %SCRIPT_DIR%Signing_for_NP3P_2nd_EXE.cmd :: --------------------------------------------------------------------------------------------------- -:: Step 11: Create .7z copy and report result +:: Step 11: report result :: --------------------------------------------------------------------------------------------------- echo. echo --- Step 11: Finalize --- set Notepad3Portable.paf.exe=%SCRIPT_DIR%Notepad3Portable_%VERSION%%DEVNAME%.paf.exe if exist %Notepad3Portable.paf.exe% ( - copy /B %Notepad3Portable.paf.exe% %Notepad3Portable.paf.exe%.7z /Y /V echo. echo === PortableApps Package Built Successfully! === echo Output: %Notepad3Portable.paf.exe% diff --git a/scintilla/win32/SciLexer.vcxproj b/scintilla/win32/SciLexer.vcxproj index fc12e80dc..34e134fb9 100644 --- a/scintilla/win32/SciLexer.vcxproj +++ b/scintilla/win32/SciLexer.vcxproj @@ -119,11 +119,13 @@ - _DEBUG;%(PreprocessorDefinitions) + _WIN64;_DEBUG;%(PreprocessorDefinitions) stdcpp17 Default + MachineARM64 + false @@ -156,12 +158,14 @@ true true - NDEBUG;%(PreprocessorDefinitions) + _WIN64;NDEBUG;%(PreprocessorDefinitions) stdcpp17 true true + MachineARM64 + false @@ -182,4 +186,4 @@ - \ No newline at end of file + diff --git a/scintilla/win32/Scintilla.vcxproj b/scintilla/win32/Scintilla.vcxproj index 7b33211de..038525342 100644 --- a/scintilla/win32/Scintilla.vcxproj +++ b/scintilla/win32/Scintilla.vcxproj @@ -120,11 +120,13 @@ - _DEBUG;%(PreprocessorDefinitions) + _WIN64;_DEBUG;%(PreprocessorDefinitions) stdcpp17 Default + MachineARM64 + false @@ -157,12 +159,14 @@ true true - NDEBUG;%(PreprocessorDefinitions) + _WIN64;NDEBUG;%(PreprocessorDefinitions) stdcpp17 true true + MachineARM64 + false @@ -186,4 +190,4 @@ - \ No newline at end of file + diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index d89e24dca..8c3767408 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -1325,7 +1325,13 @@ void LoadSettings() Defaults.RenderingTechnology = clampi(Defaults.RenderingTechnology, SC_TECHNOLOGY_DEFAULT, SC_TECHNOLOGY_DIRECTWRITEDC); } else { +#if defined(_M_ARM64) + // ARM64: use DirectWriteRetain to preserve back buffer between frames, + // avoiding flicker with Qualcomm Adreno GPUs and Win11 25H2 DWM compositor + Defaults.RenderingTechnology = SC_TECHNOLOGY_DIRECTWRITERETAIN; +#else Defaults.RenderingTechnology = SC_TECHNOLOGY_DIRECTWRITE; // new default DirectWrite (D2D) +#endif } // Settings2 EnableBidirectionalSupport deprecated diff --git a/src/DarkMode/ListViewUtil.hpp b/src/DarkMode/ListViewUtil.hpp index 9878c83f4..dfec7102b 100644 --- a/src/DarkMode/ListViewUtil.hpp +++ b/src/DarkMode/ListViewUtil.hpp @@ -61,7 +61,7 @@ extern "C" void InitListView(HWND hListView) SendMessage(hHeader, WM_THEMECHANGED, wParam, lParam); - RedrawWindow(hWnd, nullptr, nullptr, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_INTERNALPAINT); + RedrawWindow(hWnd, nullptr, nullptr, RDW_FRAME | RDW_INVALIDATE | RDW_INTERNALPAINT); } } break; @@ -123,7 +123,7 @@ extern "C" void InitTreeView(HWND hTreeView) } CloseThemeData(hTheme); } - RedrawWindow(hWnd, nullptr, nullptr, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_INTERNALPAINT); + RedrawWindow(hWnd, nullptr, nullptr, RDW_FRAME | RDW_INVALIDATE | RDW_INTERNALPAINT); } } break; diff --git a/src/Notepad3.c b/src/Notepad3.c index 168e92642..01916a898 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -81,7 +81,9 @@ LPCWSTR WordBookMarks[MARKER_NP3_BOOKMARK] = { CONSTANTS_T const Constants = { 2 // StdDefaultLexerID , L"minipath.exe" // FileBrowserMiniPath -#ifdef _WIN64 +#if defined(_M_ARM64) + , L"grepWin-x64_portable.exe" // FileSearchGrepWin (x64 via emulation on ARM64) +#elif defined(_WIN64) , L"grepWin-x64_portable.exe" // FileSearchGrepWin #else , L"grepWin-x86_portable.exe" // FileSearchGrepWin @@ -1818,7 +1820,11 @@ HWND InitInstance(const HINSTANCE hInstance, int nCmdShow) DWORD const dwStyle = ((WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN) & ~WS_VISIBLE); // | (g_IniWinInfo.max ? WS_MAXIMIZE : 0); HWND const hwndMain = CreateWindowEx( +#if defined(_M_ARM64) + WS_EX_ACCEPTFILES | WS_EX_COMPOSITED, // double-buffering reduces flicker on ARM64 +#else WS_EX_ACCEPTFILES, +#endif s_wchWndClass, _W(SAPPNAME), dwStyle, @@ -3593,6 +3599,9 @@ LRESULT MsgThemeChanged(HWND hwnd, WPARAM wParam,LPARAM lParam) if (Globals.hwndMain) { + // suppress intermediate redraws during heavy theme update to prevent flickering + SendMessage(hwnd, WM_SETREDRAW, FALSE, 0); + #ifdef D_NP3_WIN10_DARK_MODE RefreshTitleBarThemeColor(hwnd); #endif @@ -3622,6 +3631,10 @@ LRESULT MsgThemeChanged(HWND hwnd, WPARAM wParam,LPARAM lParam) EditUpdateVisibleIndicators(); UpdateUI(hwnd); + + // re-enable drawing and force a single + SendMessage(hwnd, WM_SETREDRAW, TRUE, 0); + RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN); } UpdateWindowEx(hwnd); diff --git a/src/Notepad3.vcxproj b/src/Notepad3.vcxproj index 7b505f33b..ce22703de 100644 --- a/src/Notepad3.vcxproj +++ b/src/Notepad3.vcxproj @@ -426,6 +426,7 @@ false true clang_rt.asan-i386.lib + MachineARM64 @@ -853,6 +854,7 @@ true + MachineARM64 @@ -938,6 +940,7 @@ true + MachineARM64 @@ -1277,4 +1280,4 @@ - \ No newline at end of file + diff --git a/src/TypeDefs.h b/src/TypeDefs.h index 8c3a29cbd..a9d789429 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -65,6 +65,14 @@ // no Analyze warning "prefer: enum class" #pragma warning(disable : 26812) +// --- Platform Architecture Detection --- +// Use NP3_BUILD_ARM64 for ARM64-specific code paths +#if defined(_M_ARM64) +#define NP3_BUILD_ARM64 1 +#else +#define NP3_BUILD_ARM64 0 +#endif + /**************************************************/ /* Declared in WINNT.H */ /* */