Edited this a few times.
Humm i dunno how reliable this will be, but you might try changing the width of the space character, or its other kerned values.
Unfortunately doing this is sort of a pain in the ass,
Here goes i did this in game1 as a test seems to work.
/// <summary>
/// Alter a character in this spritefont.
/// requires ... using System.Collections.Generic;
/// </summary>
public static SpriteFont AlterSpriteFont(SpriteFont sf, char chartoalter, float width_amount_to_add)
{
Dictionary<char, SpriteFont.Glyph> dgyphs;
SpriteFont.Glyph defaultglyph;
char defaultchar = ' ';
// Alter one of my methods a bit here for this purpose.
// just drop all the alterd values into a new spritefont
dgyphs = sf.GetGlyphs();
defaultglyph = new SpriteFont.Glyph();
if (sf.DefaultCharacter.HasValue)
{
defaultchar = (char)(sf.DefaultCharacter.Value);
defaultglyph = dgyphs[defaultchar];
}
else
{
// we could create a default value from like a pixel in the sprite font and add the glyph.
}
var altered = dgyphs[chartoalter];
altered.Width = altered.Width + width_amount_to_add; // ect
dgyphs.Remove(chartoalter);
dgyphs.Add(chartoalter, altered);
//sf.Glyphs = _glyphs; // cant do it as its readonly private that sucks hard we would of been done
List<Rectangle> glyphBounds = new List<Rectangle>();
List<Rectangle> cropping = new List<Rectangle>();
List<char> characters = new List<char>();
List<Vector3> kerning = new List<Vector3>();
foreach (var item in dgyphs)
{
glyphBounds.Add(item.Value.BoundsInTexture);
cropping.Add(item.Value.Cropping);
characters.Add(item.Value.Character);
kerning.Add(new Vector3(item.Value.LeftSideBearing, item.Value.Width, item.Value.RightSideBearing));
}
List<Rectangle> b = new List<Rectangle>();
sf = new SpriteFont(sf.Texture, glyphBounds, cropping, characters, sf.LineSpacing, sf.Spacing, kerning, defaultchar);
return sf;
}
Under load content
// Load the font.
font = Content.Load<SpriteFont>("MgFont");
// Rebuild the font with new space characters width.
font = AlterSpriteFont(font, ' ', 1.5f);
// https://github.com/MonoGame/MonoGame/blob/develop/MonoGame.Framework/Graphics/SpriteFont.cs
// https://github.com/MonoGame/MonoGame/blob/develop/MonoGame.Framework/Graphics/SpriteBatch.cs