2010-10-28 49 views
5

la hauteur x est une mesure de police, qui est donné en termes de hauteur em, et est d'environ 0,48 d'un em, mais cela dépend de la police ...Comment puis-je calculer x-height, c'est-à-dire ex, d'un objet Font?

En CSS ces deux unités sont disponible, je suis intéressé par l'unité ex. Il y a aussi une unité em, telle que l'unité ex est donnée en termes de celle-ci.

Le tableau suivant présente certains paramètres, disponibles throug le site suivant:

http://www.cs.tut.fi/~jkorpela/x-height.html

Arial    0.519 
Arial Unicode MS 0.518 
Calibri    0.466 
Cambria    0.466 
Candara    0.463 
Code2000   0.444 
Comics Sans MS  0.532 
Courier    0.425 
Courier New   0.423 
Garamond   0.384 
Georgia    0.481 
Helvetica   0.523 
Tahoma    0.545 
Times New Roman  0.448 
Trebuchet MS  0.523 
Verdana    0.545 

Je veux savoir la hauteur x d'un objet donné police en C#. Je reçois la hauteur M comme ceci:

TextRenderer.MeasureText("M", font).Height 

Mais je ne peux pas comprendre comment obtenir la hauteur x.

L'utilisation de WinAPI est acceptable. Peu importe le chemin ... les navigateurs le font. Ils savent comment calculer la valeur ex, je veux savoir comment obtenir cette valeur aussi. S'il vous plaît aider !!

Merci.

question connexe qui aide à convertir police à TypeFace:

How to convert System.Drawing.font to System.Windows.Media.Fonts or TypeFace

Répondre

2
+0

Les deux classes fournissent une propriété XHeight. Merci ... c'est la voie à suivre. Il a également beaucoup d'autres propriétés intéressantes, concernant les métriques de police. Bien que ce soit pour WPF, il est facile de convertir un objet System.Drawing.Font en System.Windows.Media.Typeface. J'ai changé ma question pour inclure un lien vers une question connexe ici dans SO. –

+0

Pourquoi je ne peux pas éditer mon propre commentaire pour corriger l'anglais ??? Pourquoi SO? Pourquoi? –