Search code examples
algorithmbitmapvector-graphicsimage-scaling

What algorithm is in use by the new Windows 10 Magnifier?


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


Solution

  • 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.