¿Es posible determinar las fuentes de Windows elige para font-vinculación?
-
19-09-2019 - |
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).
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.