Vamos a ver. Ordenar lo ordenas a medida que las escribes en el canvas, eso no es un problema. La superposición la resuelves conociendo de antemano el tamaño del carácter o caracteres que vas a escribir. Revisa la API
GetTextExtentPoint32A o
GetTextExtentPoint32W para Unicode.
Saludos.