Il n'y a pas strictement une largeur moyenne pour les polices car le crénage peut avoir un effet selon les lettres qui sont avant et après une lettre donnée.
Si vous souhaitez utiliser des polices de taille non fixe dans un scénario à largeur fixe, vous pouvez espacer les caractères de la largeur du caractère majuscule «W».
D'autres ont déjà donné un exemple d'obtenir la largeur d'une chaîne spécifiée, mais pour répondre à votre question, pour obtenir une moyenne précise de caractères imprimables que vous voudrez peut-être faire quelque chose comme:
StringBuilder sb = new StringBuilder();
// Using the typical printable range
for(char i=32;i<127;i++)
{
sb.Append(i);
}
string printableChars = sb.ToString();
// Choose your font
Font stringFont = new Font("Arial", 16);
// Now pass printableChars into MeasureString
SizeF stringSize = new SizeF();
stringSize = e.Graphics.MeasureString(printableChars, stringFont);
// Work out average width of printable characters
double average = stringSize.Width/(double) printableChars.Length;
Heh. J'ai adoré la méthode consistant à dessiner la chaîne dans un bitmap, puis à lire les pixels pour voir à quel point elle est large. Inefficace mais garanti de fonctionner exactement. :) – MusiGenesis