Detectar el tamaño de fuente de Windows (100%, 125% y 150%)
Creé una aplicación que funciona perfectamente hasta que el usuario selecciona 125% o 150%. Rompería mi aplicación. Más tarde encontré una manera de encontrar el tamaño de fuente detectando el DPI.
Esto funcionó muy bien hasta que las personas con versiones chinas de Windows 7 comenzaron a usar mi aplicación. La aplicación completa se rompe en Windows 7 chino. Por lo que puedo decir (realmente no puedo probarlo, solo tengo la versión en inglés y la instalación de los paquetes de idiomas no causa el problema) Los caracteres chinos están causando un DPI extraño que rompe mi solicitud
Mi código actual funciona así:
if (dpi.DpiX == 120) // For 125% fonts
{
// Resize form and set default font to correct problems
}
else if (dpi.DpiX == 96) // For 100 and 150% fonts
{
// Resize form and set default font to correct problems
}
En las versiones en inglés de Windows 7 que funcionan muy bien, pero de alguna manera las versiones chinas se saltan por este lado, y el formulario se destruye solo, con controles que ni siquiera aparecen, la fuente es extremadamente grande y supera el problema, los cuadros se mueven.
Entonces, ¿cuál es una buena manera de detectar la escala de fuente de Windows (100%, 125% y 150%) sin detectar DPI? Necesito algo sólido que funcione en todos los sistemas operativos e idiomas de Windows 7.