O que afeta a renderização de fontes do Windows 7

1

Para fins de teste de regressão automatizado, estou capturando algumas capturas de tela de uma tela GDI dentro de nosso aplicativo e as comparo com capturas de tela tiradas de novas construções. A comparação de imagens precisa ser perfeita para o teste passar. Isso funciona bem na minha máquina e na máquina de um colega (tanto no Windows 7), mas se compararmos as imagens tiradas em uma máquina com as de outra, a comparação sempre falha. A diferenciação mostra algumas pequenas diferenças na renderização da fonte GDI. Gostaria de descobrir quais fatores podem afetar a renderização de fontes que causam essa diferença na aparência e estão ficando sem ideias.

  • Temos as mesmas fontes instaladas até onde sabemos.
  • O tamanho da fonte é definido como 100% nas duas máquinas
  • Estamos correndo na mesma resolução de tela
  • Eu suspeitava de configurações do ClearType e, na verdade, verifiquei o registro HKCU \ Software \ Microsoft \ Avalon.Graphics \ DISPLAY1 apareceu com algumas teclas definidas para nível, contraste e contraste de texto na minha máquina e essas chaves ausentes para o meu colega. Mas eu removi as chaves do meu registro e depois de uma reinicialização ainda não produzimos imagens correspondentes. Existe outra maneira de exportar configurações de tipo claras?
  • Eu também tentei Visual Effects / Smooth Edges de fontes de tela sem sucesso

Existem outras configurações que podem fazer com que a renderização da fonte seja diferente? Ou existem service packs, em particular que possam afetá-lo?

    
por themik81 19.03.2014 / 17:44

1 resposta

0

Como se suspeita, o ClearType foi o culpado. Foi ajustado de forma diferente em ambos os sistemas. Eu encontrei um monte de chaves de registro para além daqueles listados em HKCU \ Software \ Microsoft \ Avalon.Graphics \ DISPLAY1 que armazenam a configuração de ClearType. Eles estão localizados em HKCU \ Control Panel \ Desktop e são chamados:

  • FontSmoothing
  • FontSmoothingGamma
  • FontSmoothingOrientation
  • FontSmoothingType

Acontece que o FontSmoothingGamma foi configurado para valores diferentes em nossas máquinas (1000 para mim, 0 para mim colega). Depois de configurá-lo para 0 e reinicializar, a renderização de fontes em nossas máquinas é agora idêntica.

    
por 20.03.2014 / 13:56