FontMetrics no tiene getters para cap height y x-height de una fuente.Java: ¿cómo se puede saber la altura de la tapa y la altura x de una fuente?
¿Cómo puedo obtener estos valores?
En lo que a la altura de la tapa va, no hay garantía de una letra mayúscula en particular que el ascenso de la carta es la misma que la altura de las mayúsculas. (Por ejemplo, una H mayúscula, no se garantiza que sea plana en la parte superior)
En lo que x altura va, yo supongo que es probablemente la misma que la altura de una "x", pero de nuevo, no hay garantía .
edición: Grr! Acabo de probar FontMetrics.getBounds()
y FontMetrics.getLineMetrics()
para secuencias de caracteres específicos, y siempre obtengo la misma respuesta para las alturas (getBounds() difiere para los anchos, obviamente). Hay una nota en el método hasUniformLineMetrics()
sobre una fuente métrica que tiene varias fuentes para cubrir el conjunto de caracteres, pero que abarca los grupos de caracteres, no los caracteres individuales.
Existe una interfaz 'java.awt.font.OpenType' que podría ser utilizado para recuperar tablas de fuentes, y así conseguir el 'x-height' definido por la fuente. Sin embargo, esa interfaz no se usa aparentemente: http://stackoverflow.com/questions/33716004/how-do-i-use-the-opentype-interface-in-java – HRJ