SpriteFont quality

I am having some issues with spriteFont quality. Using monogame 3.6

http://www.imagehosting.cz/images/fontvyv.png

Left one is from photoshop, right one is from monogame, no rescaling or anything. Also left text is font size 20, right one is 16. Non italic, both bold.

Maybe use Nuclex ?


http://blog.nuclex-games.com/2010/12/xna-sprite-font-quality/

As the last resort: Signed Distance Fields


We know it is 16-point Bold. It would also be good to know

  1. Font name
  2. Target platform
  3. SpriteFont processor properties

Name: forgotten futurist bd

Kerning: True
Style: Bold
Size: 16

Platform HiDef Windows DX

Nuclex results looks great, signed distance fields are pretty interesting.

If I am not missing something it is not possible to use Nuclex to compile spriteFonts without XNA (hopefully Refresh version for 2015), correct?

I’ve never used Nuclex. but I’m interested in SDF with text.
Another paper:
http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

You are probably already doing this but make sure to round the position to an integer, and it looks slightly rotated?

It definitely isn’t rotated, position is rounded and even if it wouldn’t be it is using linear sampling which should result in blurry font not pseudo italic with missing pixels. In anyway if results by newest monogam pipeline for fonts (even when correct) are close to XNA I would still greatly prefer superior Nuclex results, I mean… it’s different league of quality.

Now I need to figure out how to use nuclex with XNA just for font compiling while using Monogame with VS 2015 on Win 10 for everything else without making any mess.

Really tho, if monogame would start using same opensource rendering engine for fonts as Nuclex they would have my eternal gratitude. I understand if monogame is trying to get visually as close to original XNA as possible.

I have always had issues with Monogame/XNA spritefonts. They look awful. It’s been a pretty big pain point for us because we’ll design menus in Photoshop and the result in-game is always bad.

I recently began using Monogame.Extended for their Bitmap Fonts and they look much better. I don’t have any experience with Nuclex, but it was easy to get the Bitmap Fonts to work. I was originally afraid that I wouldn’t be able to use this solution for console ports, but it’s possible.

We use the FreeType library for rasterization, the same as Nuclex, and it usually gives a very good result. We have unit tests that compare our SpriteFont output to XNA’s output. There will be a reason for the particular rasterization issue you are seeing, and we would like to find out why.

In the SpriteFont processor properties, did you have the texture format set to Color or Compressed? Color will give the full uncompressed output at the cost of memory. Compressed uses a specialised DXT3 compressor on desktop targets designed specifically for font texture use that avoids the usual blocky compression artifacts.

1 Like

Compressed, I will try try uncompressed once I get to PC and let you know.

Edit: Yup, “unchanged” fixed the issue. Looks great, glorious, perfect, thx.