You're right, it's even an open issue:
https://github.com/SFML/SFML/issues/254For now, a solution is to recompile SFML with a slight change in Font.cpp, replacing FT_RENDER_MODE_NORMAL by FT_RENDER_MODE_MONO.
But you can almost totally avoid the
"smoothing" effect if you take a font that was
designed with the size you want (10px for your case). Then you can apply a scale multiplier (power of two for the best result) on the sf::Text in order to fit the size you really want.
I made some tests with 2 differents fonts:
http://www.dafont.com/commodore-64-pixelized.font?text=commodore+pixelizedfont=Commodore Pixelized v1.2.ttf; characterSize=10; FT_RENDER_MODE_MONO
![](http://i.imgur.com/M0yPVQB.png)
font=Commodore Pixelized v1.2.ttf; characterSize=10; FT_RENDER_MODE_NORMAL
![](http://i.imgur.com/tgGKZCM.png)
font=Commodore Pixelized v1.2.ttf; characterSize=11; FT_RENDER_MODE_MONO
![](http://i.imgur.com/pK2Lk2a.png)
font=Commodore Pixelized v1.2.ttf; characterSize=11; FT_RENDER_MODE_NORMAL
![](http://i.imgur.com/M7P67rS.png)
http://www.dafont.com/grand9k-pixel.fontfont=Grand9K Pixel.ttf; characterSize=8; FT_RENDER_MODE_MONO
![](http://i.imgur.com/D7fsOLI.png)
font=Grand9K Pixel.ttf; characterSize=8; FT_RENDER_MODE_NORMAL
![](http://i.imgur.com/XRyXbZ0.png)
font=Grand9K Pixel.ttf; characterSize=9; FT_RENDER_MODE_MONO
![](http://i.imgur.com/7QvEkyO.png)
font=Grand9K Pixel.ttf; characterSize=9; FT_RENDER_MODE_NORMAL
![](http://i.imgur.com/77mDZwo.png)
So, no smoothing effect if you use characterSize=8 for Grand9K and characterSize=10 for Commodore 64
![Grin ;D](https://www.sfml-dev.org/forums/Smileys/default/grin.gif)
.
Hope it helps!