notepad-plus-plus / notepad-plus-plus/notepad-plus-plus

[BUG] Relative width of Unicode characters depends on zoom level

Open
#17,161 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
29.4k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

Is there an existing issue for this?
  • I have searched the existing issues
Description of the Issue

Column-aligned text containing UC characters can lose their alignment when zoom level is changed

Steps To Reproduce
  1. Open the following text file, which is column-aligned in eg. default zoom, into NP++:

dashes.txt

  1. Change zoom level down 5 levels and "(swung dash)" pops to the right, another 3 levels and the effect spreads to more lines
  2. Zoom in 6 levels (from default zoom) and on 4 lines (2, 3, 12, 13) the names in parentheses pops back/to the left
Current Behavior

Loss of column justification on when changing zoom levels

Expected Behavior

It would be nice that columns keep adjusted for all zoom levels, even if the text contains non-ascii characters.

Debug Information
Notepad++ v8.8.7   (64-bit)
Build time: Oct 19 2025 - 16:19:15
Scintilla/Lexilla included: 5.5.7/5.4.5
Boost Regex included: 1_85
Path: C:\Program Files\Notepad++\notepad++.exe
Command Line: 
Admin mode: OFF
Local Conf mode: OFF
Cloud Config: OFF
Periodic Backup: ON
Placeholders: OFF
Scintilla Rendering Mode: SC_TECHNOLOGY_DIRECTWRITE (1)
Multi-instance Mode: monoInst
asNotepad: OFF
File Status Auto-Detection: cdDisabled
Dark Mode: ON
Display Info:
    primary monitor: 1920x1080, scaling 100%
    visible monitors count: 3
    installed Display Class adapters: 
        0001: Description - Intel(R) UHD Graphics 620
        0001: DriverVersion - 31.0.101.2135
        0002: Description - DisplayLink USB Device
        0002: DriverVersion - 11.5.6380.0
        0003: Description - DisplayLink USB Device
        0003: DriverVersion - 11.5.6380.0
OS Name: Windows 11 Pro (64-bit)
OS Version: 25H2
OS Build: 26200.6899
Current ANSI codepage: 1252
Plugins: 
    ComparePlugin (2.0.2)
    mimeTools (3.1)
    NppConverter (4.7)
    NppExport (0.4)
    NppSnippets (1.7.1)
    NppXmlTreeviewPlugin (2)
    PythonScript (2.1)
Anything else?

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with the attached dashes.txt file in Notepad++ and vary the zoom level as described. Start by investigating the Scintilla rendering path under SC_TECHNOLOGY_DIRECTWRITE, then verify that the Unicode columns remain aligned at the reported zoom levels.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.