Fontlink (FontLink / SystemLink dans le registre) ne fonctionne pas comme prévu dans la fenêtre 10 x64

13

Ce que je veux

J'utilise Consolascomme police par défaut de mon Bloc-notes ++, mais je veux une meilleure apparence des caractères et symboles chinois et japonais lors de l'utilisation Consolas.

Selon l' article de MSDN , je peux lier plusieurs polices pour Consolasqu'il puisse afficher des caractères qu'il ne prend pas en charge seul.

Le but

  • Afficher les caractères latins à l'aide de la police Consolas
  • Afficher les caractères chinois et japonais à l'aide Microsoft YaHei
  • Afficher les symboles qui YaHeine peuvent pas gérer l'utilisationMeiryo
  • Laissez le système gérer les autres caractères qui Meiryone peuvent pas s'afficher trop

Étapes pour atteindre l'objectif

  1. Ajouter une REG_MULTI_SZentrée ConsolasdansHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
  2. Définissez la valeur de Consolas:

    MSYH.TTC,Microsoft YaHei,128,96
    MSYH.TTC,Microsoft YaHei
    MEIRYO.TTC,Meiryo,128,85
    MEIRYO.TTC,Meiryo
    
  3. Déconnectez-vous de Windows, puis reconnectez-vous

Résultat réel dans Windows 7

  1. Les caractères latins (0-9, az, AZ) et les symboles fréquemment utilisés (;: '", etc.) sont affichés en utilisant Consolas
  2. Les caractères chinois et japonais sont affichés en utilisant Microsoft YaHei
  3. Les symboles spéciaux sont affichés à l'aide de Meiryo
  4. Autres caractères et symboles qu'aucune des polices ci-dessus n'est affichée avec les valeurs par défaut du système (idk ce que c'est)

Résultat réel dans Windows 10

  1. Les caractères latins (0-9, az, AZ) et les symboles fréquemment utilisés (;: '", etc.) sont affichés en utilisant Consolas
  2. Les caractères chinois et japonais sont affichés en utilisant Microsoft YaHei
  3. Les symboles spéciaux sont affichés à l'aide de Segoe UI Symbol
  4. Autres caractères et symboles qu'aucune des polices ci-dessus n'est prise en charge en utilisant les valeurs par défaut du système

Information additionnelle

(J'ai besoin de 10 représentants pour publier plus de liens et d'images, veuillez donc cliquer sur le lien image pour afficher la capture d'écran du résultat du scénario de test et copier / coller le texte de l'URL pour visiter le site vous-même)

Voici un test essayant de comprendre la couverture des caractères des polices mentionnées ci-dessus (et plus)

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 pour tester

  1. Téléchargez BabelMap, ouvrez-le, puis copiez la chaîne de test dans Edit Buffer
  2. Sélectionnez le Single Fontbouton radio
  3. Cochez la Simple Renderingcase
  4. Sélectionnez une police en cliquant sur la liste déroulante à droite de la Single Font
  5. Observez le glyphe de caractère dans Edit Buffer
  6. Configurez le lien de police pour Consolascomme mentionné ci-dessus, déconnectez-vous / entrez pour prendre effet
  7. Ouvrir Notepad.exe, ouvrir le Format > Fontsmenu pour définir la policeConsolas
  8. Collez la chaîne de test puis observez-la

Résultat du test

Comparaison des résultats du scénario de test

Explication du résultat du test

  • Microsoft YaHei ne peut pas afficher le symbole du bonhomme de neige
  • Meiryo ne pas avoir de caractères chinois
  • Segoe UI Symbol ne contient que des symboles
  • Yu Gothicest similaire Meiryomais différent
  • Consolas est conçu uniquement pour le script latin.
  • Le texte Notepad.exeest affiché en utilisant 3 polices différentes:

      我风お: Microsoft YaHei
      A: Consolas
      ☃: Segoe UI Symbol
    

    Vous pouvez dire que c'est sûrement Segoe UI Symbolparce que ces bonhommes de neige sont très différents dans différentes polices

    Cependant, dans ce cas, nous nous attendions à Notepad.exeafficher ces caractères en utilisant des polices comme celle-ci:

      我风お: Microsoft YaHei
      A: Consolas
      ☃: Meiryo
    

Des questions

  • Pourquoi Meiryonous définissons dans le registre fontlink est complètement ignoré?
  • Comment atteindre l'objectif dans Windows 10?
Byzod
la source
1
Le fichier est-il MEIRYO.TTCmanquant dans votre installation de Windows 10?
HackSlash
Selon un rapport , certains problèmes de police ont été résolus avec KB4476976 . L'avez-vous installé?
harrymc

Réponses:

1

Microsoft a décidé de supprimer plusieurs polices dans Windows 10, dont Meriyo

https://docs.microsoft.com/en-us/windows/deployment/windows-10-missing-fonts

Cela peut être confirmé en observant HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ FontLink \ SystemLink

Il doit être présent dans Windows 7 par défaut et ne sera pas présent dans Windows 10

Vous pouvez installer le fichier Meriyo ttc sur votre machine par l'une des étapes

Miral
la source
Si vous pensez avant de publier, vous remarquerez que si une police n'est pas installée, aucun de ses glyphes ne peut être affiché comme ce qui était affiché dans le test result.
Byzod