There is an unsaved comment in progress. You will lose your changes if you continue. Are you sure you want to reopen the work item?
Switch to force power of 2 textures in MakeSpriteFont?
Feature Level 9 allows you to use non power of 2 textures if you aren't mipmapping (not an issue with SpriteFont) and aren't using any wrap sampler modes. SpriteBatch defaults to not using wrap, but someone could set it to do so.
It makes sense to have sprite fonts default to the smallest size possible, but some people could conceivably be using SpriteBatch with linear wrap and if so then they'd either need a power of 2 sprite font texture or else they'd need to "end - begin -
draw text - end - begin" in order to draw some text.
Seeing as MakeSpriteFont is already wired up internally to be able to generate power of 2 textures, it would be a nice feature addition to make it a command line switch. It's nothing critical though as it's easy enough to fiddle with it and force it to generate
power of 2 textures if you really need them.
(For anyone wondering, you can edit the ArrangeGlyphs method of GlyphPacker and change the false in 'outputHeight = MakeValidTextureSize(outputHeight, false);' to true (the GuessOutputWidth method is already currently setup to create a power of 2 width so you
don't need to worry about that; you can add a suitable Console.WriteLine into ArrangeGlyphs right before the return statement if you want to see what width and height you ended up with).