¿Hay una manera de volver a Typeface.SERIF en un StaticLayout?

Estoy creando una clase personalizada de View que muestra el texto usando un StaticLayout con un tipo de letra personalizado cargado desde un archivo de StaticLayout .ttf . La apariencia básica de la tipografía es una fuente serif y las propiedades TrueType en el archivo de fuente indican que es serif. Sin embargo, para los personajes que no están en la fuente, Android cae de nuevo a una fuente de tipo sans-serif (parece Roboto o Noto, dependiendo de la versión de Android).

¿Hay una manera de controlar esto para que el motor de diseño de Android cae de nuevo a una tipografía serif? (Al igual que tal vez una cadena mágica para pasar a Paint#setFontFeatureSettings() , o tal vez una manera de especificar una pila de tipos de letra para su uso en una Paint ?)

Cualquier solución tendría que funcionar cuando se distribuya la aplicación, por lo que jugar juegos con los archivos de configuración del sistema de Android no es una opción. También, soy consciente de esta pregunta (que todavía no se responde después de cuatro años), pero mi problema es un poco diferente, aunque la solución a ambos problemas podría muy bien ser la misma.

A partir de Lollipop, hay una clase oculta llamada FontFamily y un método oculto llamado Typeface.createFromFamilies . Si usted es muy cuidadoso, probablemente puede usar este material a través de la reflexión u otros trucos, pero esté preparado para volverse a la API pública.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.