Ce que je veux
J'utilise Consolas
comme police par défaut de mon Notepad++, mais je souhaite une meilleure apparence des caractères et symboles chinois et japonais lorsque j'utilise Consolas
.
Selon The Article de MSDN Je peux lier plusieurs polices à Consolas
afin qu'il puisse afficher les caractères qu'il ne prend pas en charge lui-même.
L'objectif
- Afficher les caractères latins en utilisant la police
Consolas
- Affichez les caractères chinois et japonais en utilisant
Microsoft YaHei
- Afficher les symboles qui
YaHei
ne peut pas gérer l'utilisationMeiryo
- Laissez le système gérer le reste des caractères que
Meiryo
ne peut pas afficher trop
Étapes pour atteindre l'objectif
-
Ajouter un
REG_MULTI_SZ
entréeConsolas
enHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
-
Définissez la valeur de
Consolas
:MSYH.TTC,Microsoft YaHei,128,96 MSYH.TTC,Microsoft YaHei MEIRYO.TTC,Meiryo,128,85 MEIRYO.TTC,Meiryo
-
Déconnectez-vous de Windows, puis reconnectez-vous
Résultat réel sous Windows 7
- Les caractères latins (0-9,a-z,A-Z) et les symboles fréquemment utilisés (;:'", etc.) sont affichés à l'aide de la touche
Consolas
- Les caractères chinois et japonais sont affichés en utilisant
Microsoft YaHei
- Les symboles spéciaux sont affichés à l'aide de
Meiryo
- Les autres caractères et symboles qu'aucune des polices ci-dessus ne prend en charge sont affichés en utilisant les valeurs par défaut du système (je ne sais pas ce que c'est).
Résultat réel dans Windows 10
- Les caractères latins (0-9,a-z,A-Z) et les symboles fréquemment utilisés (;:'", etc.) sont affichés à l'aide de la touche
Consolas
- Les caractères chinois et japonais sont affichés en utilisant
Microsoft YaHei
- Les symboles spéciaux sont affichés à l'aide de
Segoe UI Symbol
- Les autres caractères et symboles qu'aucune des polices ci-dessus ne prend en charge sont affichés en utilisant les valeurs par défaut du système.
Informations complémentaires
(J'ai besoin de 10 représentants pour poster plus de liens et d'images, donc veuillez cliquer sur le lien de l'image pour voir la capture d'écran du résultat du cas d'essai et copier/coller le texte de l'url pour visiter le site vous-même)
Voici un test qui tente de comprendre la couverture des caractères des polices mentionnées ci-dessus (et plus encore)
Outil utilisé
- Bloc-notes :
%WINDIR%/Notepad.exe
- BabelMap :
http://www.babelstone.co.uk/Software/BabelMap.html
-
Chaîne de test :
A
(\u6211): A character available in both Chinese and Japanese (\u98ce): A Chinese only character (\u304a): A Japanese only character A(\u0041): A Latin character (\u2603): A unicode symbol
Étape du test
- Télécharger BabelMap, l'ouvrir, puis copier la chaîne de test dans
Edit Buffer
- Sélectionnez
Single Font
bouton radio - Vérifiez
Simple Rendering
case à cocher - Sélectionnez n'importe quelle police en cliquant sur la boîte de dépôt à droite de l'écran.
Single Font
- Observez le glyphe du caractère dans
Edit Buffer
- Configurer le lien de la police pour
Consolas
comme mentionné ci-dessus, déconnectez-vous/déconnectez pour prendre effet - Ouvrir
Notepad.exe
, ouvertFormat > Fonts
pour régler la police surConsolas
- Collez la chaîne de test et observez-la
Résultat du test
Explication du résultat du test
-
Microsoft YaHei
ne peut pas afficher le symbole du bonhomme de neige -
Meiryo
n'ont pas de caractères chinois -
Segoe UI Symbol
ne contient que des symboles -
Yu Gothic
est similaire àMeiryo
mais l'apparence est différente -
Consolas
est conçu uniquement pour le script latin. -
Texte en
Notepad.exe
est affiché en utilisant 3 polices différentes :: Microsoft YaHei A: Consolas : Segoe UI Symbol
Vous pouvez dire que c'est sûrement le
Segoe UI Symbol
parce que ces bonhommes de neige sont très différents dans différentes polices de caractèresCependant, dans ce cas, nous nous attendions
Notepad.exe
afficher ces caractères en utilisant des polices comme celle-ci :: Microsoft YaHei A: Consolas : Meiryo
Questions
- Pourquoi
Meiryo
que nous avons défini dans le registre fontlink est complètement ignorée ? - Comment atteindre l'objectif dans Windows 10 ?