Forced font antialiasing and Courier is not what it should be
-
Hi,
It’s been a while since I had to reinstall Notepad++, and I now have a problem that didn’t happen with older versions. I’m on 8.6.3, and previously I think I was on 8.4.* (and I have another machine with 8.2.1, which works like a charm).
The problem is two-fold, but it’s basically that I can’t get Npp to show characters without anti-aliasing - and I really really really can’t stand anti-aliasing (show stopper for me).
- Font-antialiasing disabled in Windows and in Npp: characters are still blurry.
- Courier font: it’s still in the list, but it’s no longer Courier. It’s supposed to be a fixed width font, and what is shown isn’t.
The problem isn’t the screen nor the OS: everything is fine in Notepad (not ++): both Courier and Courier New work, no antialiasing.
In a perfect world, I’d like to be able to configure Npp with green on black font, Courier, no antialiasing. As I have done for the last 13-14 years.
Is there an option I missed to get everything back as expected?
If there was a recent change in the rendering that is not going to be fixed, does anybody know what was the last version before it happened?
Any help greatly appreciated!
JCA
-
I am not certain this is the problem, but the first thing I would try is checking the setting here:
Settings | Preferences… | MISC.:
Use DirectWrite (May improve rendering special characters, need to restart Notepad++)I suspect unchecked will be better than checked, but try it both ways (closing and re-opening Notepad++ each time you change it).
-
It’s almost unbelievable: not only it disables antialiasing, but apparently Courier gets back its usual rendering (fixed width, no antialiasing). Perfect! I’m a bit ashamed now, I didn’t expect the solution to be so simple.
Thanks a lot!
JCA
-
The DirectWrite setting was changed from default-off to default-on in a recent version. And thus it affected you as it did. No reason to be “ashamed”.
The reason the default was changed was we typically got a lot of support questions asking the opposite question as you did.
-
@Jean-Claude-Arbaut said in Forced font antialiasing and Courier is not what it should be:
It’s almost unbelievable: not only it disables antialiasing, but apparently Courier gets back its usual rendering (fixed width, no antialiasing). Perfect! I’m a bit ashamed now, I didn’t expect the solution to be so simple.
No shame… it’s an obscure setting, and the default was changed in version 8.6, released just last November.
I only knew about it because I found strange behavior in my plugin for cases I was sure I had tested before. It turns out that, among other oddities, when DirectWrite is enabled, the width of fixed-width characters is not necessarily a whole number of pixels — though the interface available to plugins does not report the fractional pixels, the (reported) width of a string of 100 characters will no longer necessarily be 100 times the (reported) length of one character.
What you described sounded just bizarre enough, and font-related, and recent in origin, to make me think the same change could be the culprit.
-
@Coises said in Forced font antialiasing and Courier is not what it should be:
among other oddities, when DirectWrite is enabled, the width of fixed-width characters is not necessarily a whole number of pixels
Yes, and this is definitely annoying, when one’s caret is out at higher column numbers, the same column in surrounding lines is not at the same x-pixel position – doesn’t this take the notion of “fixed width” and stomp all over it?
-
@Alan-Kilborn said in Forced font antialiasing and Courier is not what it should be:
Yes, and this is definitely annoying, when one’s caret is out at higher column numbers, the same column in surrounding lines is not at the same x-pixel position – doesn’t this take the notion of “fixed width” and stomp all over it?
I haven’t run into that one yet, but no doubt it will properly annoy me when I do.
I tentatively suspect Scintilla wasn’t really designed for DirectWrite… that it was more of a tacked-on compromise. The reason I think that is that (as I found when investigating my plugin’s misbehavior) DirectWrite positions and sizes are floating point values. Since the Scintilla API uses integers for pixel positions, it seems like they didn’t initially anticipate DirectWrite.
-
Actually, as long as the option is still there it’s fine. But it was surprising, as there is also an antialiasing option in the Editing pane, so I didn’t expect another option to cover this (and I rarely look at the Misc pane anyway).
I guess whatever the enhancement, there will always be someone who doesn’t like it. ;-) I have myopia, and I see blurry enough, so I like my screen characters to be as sharp as possible. While it may not be a common concern, I’m sure I have seen folks with the same preference on the Internet from time to time, as my antialiasing problem is not new nor limited to Npp - Windows and other programs have not always been reliable for this either. Even on Linux, I tend to prefer xterm over the more modern terminals for the same reason. I’m in the anti-antialiasing team!
Many thanks to all,
JCA