Cómo obtener ascender / descender y altura x para una fuente determinada

Necesito obtener un ascender / descensor y x-altura ..

Usando código siguiente puedo encontrar el descensor y la altura total:

descender_height = paint.descent(); total_height = descender_height - paint.ascent(); //ascender = ?; is this always equal to descender height? //x_height = ?; total_height - 2*descender_height ? 

Gracias

Yo creo que la altura ascender y descender sería típicamente la misma, pero yo no dependería de ella para cada fuente. Realmente no veo una manera directa de llegar a la x-altura, pero un truco que podría utilizar sería algo como el siguiente. Además, para la altura total, ¿está hablando de la distancia absoluta desde el ascensor más alto hasta el descensor más bajo? También he incluido algo para eso a continuación. No lo he probado yo mismo, pero debería funcionar (pero avísame si estoy malinterpretando algo que has dicho):

 // Assuming TextPaint/Paint tp; Rect bounds; // this will just retrieve the bounding rect for 'x' tp.getTextBounds("x", 0, 1, bounds); int xHeight = bounds.height(); Paint.FontMetrics metrics = tp.getFontMetrics(); int totalHeight = metrics.top - metrics.bottom; 

Esto es lo que funcionó para mí:

 Paint.FontMetrics fm = paint.getFontMetrics(); int totalHeight = (int)(fm.bottom - fm.top + .5f); 
  • Que son fuente predeterminada viene con todo el android 2.1 y superior
  • Material Android alineando la línea de base de la fuente con una cuadrícula de 4dp
  • Android: cómo utilizar la fuente Tamil
  • ¿Cómo cambiar la fuente del cajón de navegación?
  • ¿Puedo insertar una fuente personalizada en una aplicación de Android?
  • ¿Puedo subrayar texto en un diseño de Android?
  • Fuente y color del listview del cambio del androide
  • Cómo cambiar la fuente predeterminada de la aplicación de Android?
  • ¿Qué fuentes están instaladas de forma predeterminada en Android?
  • SearchView fuente personalizada en android
  • Cómo configurar la escala de la fuente en mi propia aplicación Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.