Fontsize Problem

uepselon

Grünschnabel
Hallo,

ich definiere in Java eine Font mit 15pt Fontsize.
15pt macht auf Windows ja 15 x 1,3 Pixel = 19,5 Pixel

Lass ich mir die Versalhöhe ausgeben bekomme ich 16 Pixel.

Mach ich jedoch einen Screenshot und "messe" nach, ist die Versalhöhe nur 11 Pixel, woher kommt dieser unterschied? Skaliert Java da was?

Gruß,

ueps
 
Je nach Betriebssystem(-Einstellung) ist die Pixelgröße variabel. Im Font-Objekt ist dafür "pointSize" verantwortlich.

Du könntest Dir also ein spezielles Font-Objekt mit Deinen eigenen Attributen in Form einer Map geben lassen:

Font my = Font.getFont(attributes);

Es gibt verschiedene Maße der Font-Größe. Was Du angibst ist der "Nennwert". Buchstaben haben aber eine Höhe zu einer Bezugskante, einen Wert darunter z.B. für den Bogen beim "g" u.s.w. . Dafür ist das FontMetrics-Objekt zuständig. Das besitzt die hilfreichen Methoden, um z.B. eine Schrift genau in der Mitte eines Panels zu malen.

Wenn Dein Ausdruck verkleinert, könnte das an Deinem Screen-Shot-Programm liegen. Drucker haben schließlich auch nichtdruckbare Bereiche. Du kannst das testen, wenn Du den Screen-Shot nach Word kopierst und per angezeigtem Lineal die Größe checkst.
 
Zurück