¿Cómo tener la representación de subpíxeles de fuente para la pantalla LCD (ClearType en Windows) en Linux?

StackOverflow https://stackoverflow.com/questions/1494934

Pregunta

Estoy trabajando en sistemas embebidos, con el sistema de ventanas y propia biblioteca de renderizado. Antes de que algún día cuando he instalado Ubuntu, para mi sorpresa que tiene la representación de subpíxeles LCD. Realmente se ve bien para tenerlo en mi dispositivo. Debido a que es muy fácil de leer.

Actualmente pido particular, glifo en freetype, freetype me da un búfer de memoria con valores de alfa, con la que no es posible tener la representación de subpíxeles. Lo que tengo es la fuente antialiazed normal. Al igual que en los subpíxeles - Representación dejado la mayor parte de píxeles de la fuente es anti-aliazed con rojo y la del extremo derecho con Blue (Suponiendo pantalla es RGB).

¿Hay algún método con el que freetype me puede dar información que sea píxel actual es hacia la izquierda o derecha o centerone?

Gracias, Sunny.

¿Fue útil?

Solución

freetype puede hacerlo

Otros consejos

Como usted señala, el entorno de escritorio que está usando (GNOME, KDE, cualquiera que sea) puede implementar esto. El ajuste para que varía según el medio ambiente.

En cuanto a la forma de hacerlo en su propio código, puede utilizar las mismas rutinas del gestor de ventanas hace (GTK + en GNOME, Qt de KDE, etc.), o se puede utilizar una biblioteca independiente como FreeType o SDL_ttf . Antialiasing - el término genérico para esto, como ClearType es un algoritmo patentado específico de Microsoft -. Normalmente es opcional en estas bibliotecas, desactivado por defecto para la velocidad

Creo que es libcairo en la parte inferior de la mayoría de las aplicaciones GTK en Ubuntu que hacen antialiasing. Creo que si la representación de subpíxeles se hace específicamente para una pantalla LCD es algo que el usuario elige, no el autor de la aplicación. El usuario controla a través de la pestaña "Fuentes" en "Preferencias de Apariencia" en Sistema -> Preferencias -> Apariencia (que se pueden ejecutar manualmente como los binarios "gnome-apariencia-properties") y hacer clic en el "Suavizar subpíxeles (LCD) "opción.

Tal vez hay una manera de que una aplicación puede sustituir este valor por sí mismos? No sé por qué querrían, sin embargo, desde una aplicación no controla qué tipo de pantalla que el usuario está utilizando.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top