4 votes

La police Microsoft Sans Serif n'est pas utilisée dans les fenêtres localisées en chinois.

Scénario:

Un élément d'interface utilisateur semble utiliser une police différente sur Windows 7 Entreprise en anglais (US) par rapport à Windows 7 Entreprise en "chinois", même avec tous les packs de localisation et les langues définis en anglais. Dans le code-behind de WinForms, la FontFamily n'est pas explicitement définie et repose sur les paramètres par défaut.

Anglais:

Anglais

Chinois:

Chinois

Plusieurs questions:

1) Quelle est la police utilisée dans Windows en chinois?
2) Qu'est-ce qui est différent dans une telle installation qui pourrait la faire utiliser cette police?
3) Comment puis-je configurer un environnement pour reproduire cela? Est-ce une option au moment de l'installation sur Windows 7 qu'on ne retrouve pas lorsque l'on change la culture de l'interface utilisateur et du système sur une instance existante de Windows 7?

Anecdote:

J'ai vérifié dans C:\Windows\Fonts et j'ai trouvé la même version et la même taille de "Microsoft Sans Serif Regular"

5voto

Paweł Dyda Points 10049

Si vous n'avez rien fait à vos polices, le mécanisme de remplacement automatique de police par défaut utiliserait probablement SimSun comme remplacement de police standard.

La raison pour laquelle la police est remplacée, c'est que la police par défaut sur le système d'exploitation chinois doit afficher les caractères chinois. Et bien sûr, en raison de sa taille importante, MS Sans Serif n'a pas de glyphes chinois définis.

Pour éviter le problème, vous pouvez vouloir "encoder en dur" les informations de police dans les fichiers de ressources - généralement une simple modification de la taille (c'est-à-dire en définissant 9 au lieu de 8,25) peut aider. Veuillez cependant noter que si vous le faites, les caractères chinois pourraient apparaître corrompus - si je me souviens bien, cela désactivera complètement le mécanisme de remplacement automatique de police. Cela peut convenir pour les éléments d'interface utilisateur "statiques" qui ne seront pas traduits en chinois, mais cela serait totalement inacceptable pour les zones de texte et autres contrôles similaires qui permettent aux utilisateurs d'entrer du texte librement.

Au lieu de lutter contre les problèmes de rendu, il vaut mieux les laisser passer. Je suis sûr que les utilisateurs chinois sont simplement habitués à ce look & feel spécifique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X