Uso de motores de forma
Uniscribe usa varios motores de forma que contienen el conocimiento de diseño para scripts concretos. También aprovecha el motor de forma de diseño OpenType para controlar características de script específicas de fuente, como la generación de glifos, la medición de extensiones y la compatibilidad con la separación de palabras. Uniscribe administra la reordenación de caracteres bidireccionales mediante el algoritmo bidireccional Unicode y comprende los formatos de fuente de diseño no OpenType para la forma árabe, hebreo y tailandés.
Dado que los intervalos de puntos de código exactos asignados a cada motor de forma pueden variar, los números de script no se publican, a excepción de SCRIPT_UNDEFINED. Sin embargo, la aplicación puede probar los atributos de los scripts mediante una llamada a la función ScriptGetProperties , que accede a la tabla de propiedades de script global. La aplicación puede usar las propiedades de script global para ayudar a combinar sus propias reglas de diseño con las divisiones del motor de forma necesarias.
La aplicación accede a un motor de forma con una llamada a la función ScriptShape . Todos los motores complejos de modelado de scripts, los motores de modelado de dígitos y los motores de modelado ASCII validan la fuente indicada en el identificador de contexto del dispositivo antes de dar forma. Los scripts complejos se deben dar forma mediante el script devuelto por la función ScriptItemize para que sea legible. Otras ejecuciones permanecen legibles si se dan forma con SCRIPT_UNDEFINED especificados en el miembro eScript de la estructura SCRIPT_ANALYSIS , aunque podrían perder calidad tipográfica.
ScriptShape devuelve 0 si se ejecuta correctamente o USP_E_SCRIPT_NOT_IN_FONT si la fuente proporcionada por la aplicación no contiene suficientes glifos o tablas de forma. Si la aplicación especifica SCRIPT_UNDEFINED y algunos caracteres no son compatibles con la fuente, la función sigue funcionando correctamente. En este caso, la aplicación debe examinar el búfer de salida del glifo para detectar la presencia de glifos que faltan. Para obtener estrategias para tratar los glifos que faltan, consulte Uso de reserva de fuentes.
Temas relacionados