The terminology of what you are looking for is called
kerning[
^] in
typography[
^].
I've tried this and it works like a charm:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[DllImport("gdi32.dll", CharSet = CharSet.Auto)]
public static extern int SetTextCharacterExtra(
IntPtr hdc,
int nCharExtra
);
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
IntPtr hDC = e.Graphics.GetHdc();
for (int idx = 0; idx < 10; idx++)
{
SetTextCharacterExtra(hDC, idx);
IDeviceContext HDC = System.Drawing.Graphics.FromHdc(hDC);
TextRenderer.DrawText(HDC, "The quick brown fox jumped over the lazy dog!", this.Font, new Point(10, 10 + idx * 30), SystemColors.ControlText);
}
e.Graphics.ReleaseHdc(hDC);
}
}
}
All that's left to do for you is to draw the text into a bitmap instead of directly onto the form.
Regards,
Manfred