Hola.
Es que no termino de entender la situación...
Si ya obtuviste los caracteres, puedes almacenarlos en un string y mostrarlos con
Canvas.TextOut, de ese modo no deberías tener ningún tipo de superposición.
Y, si deseas manejar los interespacios entre caracteres de modo mas fino, puedes usar la función API
SetTextCharacterExtra.
Saludos