Pregunta

Suponga que tiene una cadena con el texto en dos o más secuencias de comandos. Cuando se utiliza una función GDI como TextOut, (versiones modernas de) de Windows hará "font-linking". Es decir, GDI dibujar lo que puede con la fuente seleccionada y dibujar el resto en una fuente adecuada que elige automágicamente. Por ejemplo, si una parte de su texto está en Inglés (utilizando el alfabeto romano), y parte de ella es chino (utilizando caracteres CJK), y que tiene Arial seleccionado, la parte de Inglés será dibujado en letra Arial, y la porción de chinos redactarse en otra fuente que tiene los glifos CJK.

Mi pregunta es, ¿hay alguna manera de determinar qué fuentes TextOut escogerá (o no elegir) para la vinculación de fuentes?

tengo que dibujar un texto con el bajo nivel Uniscribe API, que no hace font-enlace automático. He aplicado mi propia fuente-linking, pero a veces mi algoritmo elige un tipo de letra diferente que TextOut hace por el mismo texto. Estoy tratando de entender el algoritmo de Windows mejor, pero no soy muy bueno en la identificación de fuentes en la vista (sobre todo en las secuencias de comandos no familiares).

¿Fue útil?

Solución

El tipo de letra es seleccionada por una entrada del registro. Es bien describe en este artículo Citando la parte pertinente:.

  

Si la fuente de enlace está activado en su   dispositivo, se puede examinar el registro   mediante la enumeración de las subclaves de la   clave de registro en   HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows   NT \ CurrentVersion \ FontLink \ SystemLink   para determinar las asignaciones de ligado   Fuentes de basar las fuentes. Puede añadir enlaces   mediante el uso de Regedit para crear adicional   subclaves.

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