Font spacing issue

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