Conjunto de Caracteres en las fuentes TrueType en la tabla de códigos

Conjunto de caracteres

Debido a que ahora Digi3D.NET se utiliza también en Japón, hemos tenido que añadir una nueva opción en el editor de tablas de códigos. Esta opción tiene utilidad únicamente si la fuente asignada a un código es una fuente TrueType, y nos permite indicar el Conjunto de caracteres que nos interesa crear de esa fuente en particular.

La opción por defecto para este valor es Ansi, de modo que si cargas una tabla de códigos creada con una versión anterior de Digi3D.NET en la que no se solicitaba esta información, se le asignará por defecto el valor Ansi.

Te voy a explicar aquí el motivo de añadir esta nueva opción y obviamente su significado:

Digi3D.NET muestra la información gráfica mediante la tecnología OpenGL. Esta tecnología gráfica no entiende de textos, únicamente entiende de puntos, líneas y triángulos. Todo lo que ves en pantalla está formado a partir de puntos, líneas y triángulos, ¡incluso los textos!

Para poder dibujar textos, lo que hace Digi3D.NET al cargar el modelo es explotar las fuentes TrueType del sistema en comandos OpenGL que dibujarán cada uno de los caracteres de la fuente mediante puntos, líneas y triángulos.

Este proceso (que se realiza mediante la función wglUseFontOutlines) consume tiempo y memoria, así que Digi3D.NET no explota todas las fuentes que hay en el sistema, sino que únicamente explota las fuentes enumeradas en la tabla de códigos activa, de modo que si en la tabla de códigos se detectan dos fuentes TrueType, como Times New Roman y Verdana, Digi3D.NET únicamente explotará esas fuentes.

Además el primer paso para explotar una fuente consiste en crearla (Digi3D.NET lo hace mediante la función CreateFontIndirect), y este proceso también puede llegar a ser lento y costoso, ya que una fuente puede llegar a tener hasta 65536 caracteres distintos, los del Latín, Griego, Cirílico,… (si te interesa saber todos los tipos de caracteres que se pueden almacenar en una única fuente, puedes obtener aquí más información).

Crear la fuente completa puede llevar tiempo y consumir mucha memoria (tanto RAM como de la tarjeta gráfica), así que no tiene mucho sentido crearla completa (dudo mucho que se presente el caso en el que en un archivo de dibujo aparezcan textos en Cirílico y en Japonés y en Hebreo simultáneamente), de modo que la función CreateFontIndirect recibe un parámetro que nos permite indicar el conjunto de caracteres que queremos que incorpore la fuente, y ese parámetro lo podemos controlar con la modificación que presentamos hoy en la tabla de códigos. Este parámetro se llama Conjunto de caracteres.

Podemos indicar los siguientes conjuntos de caracteres:

Ansi Especifica el conjunto de caracteres del Latín
Por defecto Especifica el conjunto de caracteres basado en la ubicación del sistema. Si tu sistema operativo lo tienes en Árabe, pues se creará el conjunto de caracteres del Árabe, y si lo tienes en Koreano Hangul, pues Koreano Hangul…
Símbolos Especifica el conjunto de caracteres de símbolos
Mac Especifica el conjunto de caracteres de Apple Macintosh
Japonés Especifica el conjunto de caracteres Japonés
Hangul Especifica el conjunto de caracteres Koreano Hangul
Johab Especifica el conjunto de caracteres Koreano Johab
Chino simplificado Especifica el conjunto de caracteres Chino simplificado
Chino tradicional Especifica el conjunto de caracteres Chino tradicional
Griego Especifica el conjunto de caracteres Griego
Turco Especifica el conjunto de caracteres Turco
Vietnamita Especifica el conjunto de caracteres Vietnamita
Hebreo Especifica el conjunto de caracteres Hebreo
Árabe Especifica el conjunto de caracteres Árabe
Báltico Especifica el conjunto de caracteres Báltico (Noreste de Europa)
Ruso Especifica el conjunto de caracteres Ruso
Thailandés Especifica el conjunto de caracteres Tailandés
Europa del este Especifica el conjunto de caracteres de Europa del Este
Oem Especifica otros conjuntos de caracteres. Estos son conjuntos de caracteres añadidos por el fabricante (Original Equipmen Manufacturer), como por ejemplo si la NASA crea un conjunto

De manera que si un determinado código va a mostrar textos en Japonés, tendremos que seleccionar la opción Japonés para dicho código, si no lo hacemos, los caracteres japoneses se mostrarán como cuadrados tal y como puedes ver en la siguiente captura de pantalla.

Digi3D mostrando textos en japonés con fuente creada en Ansi

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s