ttf style modificar font custom color fonts javafx antialiasing

fonts - modificar - style label javafx



¿Cómo forzar el suavizado en las fuentes JavaFX? (1)

Al probar la GUI de mi aplicación JavaFX 8, noté que algunas etiquetas no muestran texto con alias. Después de googlear y luchar, descubrí una cosa muy molesta que está sucediendo. El suavizado se está aplicando solo en las etiquetas cuyo tamaño de fuente sea superior a 80 px. Aquí hay un ejemplo que compara aplicaciones JavaFX y Swing con AA aplicado:

Código de ejemplo: https://gist.github.com/anonymous/be60bb89181376ff12aa

¿Hay una manera de forzar el AA en todos los tamaños de fuente? ¿Esto te pasa a ti también? Busqué un error similar en Jira , pero nadie se está quejando de eso hasta ahora. Tal vez debería abrir uno para esto?

Alguna información que puede ayudar:

java version "1.8.0" Java(TM) SE Runtime Environment (build 1.8.0-b132) Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode) Windows 8.1 64 bits [Version 6.3.9600]


De forma predeterminada, JavaFX 8 usa modena.css para configurar el suavizado de la pantalla LCD, que en algunos casos no parece suavizar las fuentes. Cuando el tamaño de fuente es mayor que 80, la técnica AA cambia a escala de grises AA (por cuestiones de rendimiento). Por lo tanto, para lograr bordes suaves en cualquier tamaño, debe usarse escala de grises AA en su lugar.

Esto se puede hacer por CSS:

.text{ -fx-font-smoothing-type: gray; }

O a través de argumentos del sistema:

-Dprism.lcdtext=false

O establecer las propiedades del sistema:

System.setProperty("prism.lcdtext", "false");

Gracias a todos los que respondieron en Jira !