8

The new magnifier in Windows 10 creates very interesting results with "Enable bitmap smoothing" checked.

What is the name of the algorithm that is in use here? How can I achieve these impressive results? The vectors being generated by this magnifier are almost perfect enough to make vector OTF fonts out of! Every bitmap tracing method I know of does not do well at all with pixel art or pixel fonts.

Magnifier window with "Enable bitmap smoothing" checked

Font example

Shapes example

Comparison to Adobe Illustrator's proprietary bitmap tracing algorithm:

Comparison to Adobe Illustrator

Fredrick Brennan
  • 7,079
  • 2
  • 30
  • 61
  • I'm voting to close this question as off-topic because it's asking us how some specific application works (the more general question of just how to do this seems too broad / opinion-based). – Bernhard Barker Dec 21 '17 at 13:09
  • I disagree with your close vote. I would accept any answer that could name or demonstrate an algorithm that could generate results that look even close to the Magnifier in the new Windows 10. There are plenty of SO questions asking for the best algorithm to do something. – Fredrick Brennan Dec 21 '17 at 15:14
  • Check this paper for some ideas: http://johanneskopf.de/publications/pixelart/paper/pixel.pdf – Mark Ransom Dec 22 '17 at 04:01
  • 1
    That doesn't answer the question. What SPECIFIC algorithm is Windows using. Not "what are types of pixel smoothing algorithms." – Katastic Voyage Jan 27 '18 at 03:59

2 Answers2

3

It's a pixel art scaling algorithm. Maybe it's hqx or xBR.

2

I took a screenshot of Magnifier's GUI, with Cleartype text (the 800% text). I compared ScalerTest.exe on the screenshot (hqx, xbr, xbrz) with Magnifier on itself.

  • Magnifier breaks Cleartype text.
  • Scale4x leaves Cleartype pixellated, but rounds the pixel corners. (https://www.scale2x.it/download)
  • HQX leaves Cleartype pixellated.
  • xbr breaks Cleartype text similarly to Magnifier.
  • xbrz produces a much nicer and less broken result.

I'd say it's a variation of xbr (which is a GPU shader, much like how Magnifier runs on the GPU). I'm not sure if xbrz has a shader implementation or not.

nyanpasu64
  • 2,805
  • 2
  • 23
  • 31