Fontlink (FontLink / SystemLink en el registro) no funciona como se esperaba en Windows 10 x64

13

Lo que quiero

La uso Consolascomo fuente predeterminada de mi Notepad ++, pero quiero una mejor apariencia de los caracteres y símbolos chinos y japoneses cuando la uso Consolas.

Según el artículo de The MSDN , puedo vincular varias fuentes para Consolasque pueda mostrar caracteres que no admite por sí solo.

La meta

  • Mostrar caracteres latinos con fuente Consolas
  • Mostrar caracteres chinos y japoneses usando Microsoft YaHei
  • Mostrar símbolos que YaHeino pueden manejar usandoMeiryo
  • Deje que el sistema maneje los caracteres restantes que Meiryono se pueden mostrar también

Pasos para lograr el objetivo

  1. Agregar una REG_MULTI_SZentrada ConsolasenHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
  2. Establezca el valor de Consolas:

    MSYH.TTC,Microsoft YaHei,128,96
    MSYH.TTC,Microsoft YaHei
    MEIRYO.TTC,Meiryo,128,85
    MEIRYO.TTC,Meiryo
    
  3. Cierre sesión en Windows, luego vuelva a iniciar sesión

Resultado real en Windows 7

  1. Los caracteres latinos (0-9, az, AZ) y los símbolos de uso frecuente (;: '", etc.) se muestran usando Consolas
  2. Los caracteres chinos y japoneses se muestran usando Microsoft YaHei
  3. Los símbolos especiales se muestran usando Meiryo
  4. Otros caracteres y símbolos que ninguna de las fuentes anteriores admite se muestran usando los valores predeterminados del sistema (idk, qué es eso)

Resultado real en Windows 10

  1. Los caracteres latinos (0-9, az, AZ) y los símbolos de uso frecuente (;: '", etc.) se muestran usando Consolas
  2. Los caracteres chinos y japoneses se muestran usando Microsoft YaHei
  3. Los símbolos especiales se muestran usando Segoe UI Symbol
  4. Otros caracteres y símbolos que ninguna de las fuentes anteriores admite se muestran utilizando los valores predeterminados del sistema

Información adicional

(Necesito 10 representantes para publicar más enlaces e imágenes, así que haga clic en el enlace de la imagen para ver la captura de pantalla del resultado del caso de prueba y copie / pegue el texto de la URL para visitar el sitio usted mismo)

Aquí hay una prueba que intenta comprender la cobertura de caracteres de las fuentes mencionadas anteriormente (y más)

Herramienta utilizada

  • Bloc: %WINDIR%/Notepad.exe
  • BabelMapa: http://www.babelstone.co.uk/Software/BabelMap.html
  • Cadena de prueba: 我风お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
    

Paso a prueba

  1. Descargue BabelMap, ábralo y luego copie la cadena de prueba en Edit Buffer
  2. Seleccionar Single Fontbotón de radio
  3. Marque la Simple Renderingcasilla
  4. Seleccione cualquier fuente haciendo clic en el cuadro desplegable a la derecha Single Font
  5. Observa el glifo del personaje en Edit Buffer
  6. Configurar fontlink para Consolascomo se mencionó anteriormente, cerrar sesión / iniciar sesión para que surta efecto
  7. Abrir Notepad.exe, abrir el Format > Fontsmenú para configurar la fuente enConsolas
  8. Pegue la cadena de prueba y luego obsérvela

Resultado de la prueba

Comparación de resultados de casos de prueba

Explicación del resultado de la prueba

  • Microsoft YaHei no se puede mostrar el símbolo del muñeco de nieve
  • Meiryo no tienen caracteres chinos
  • Segoe UI Symbol contiene solo símbolos
  • Yu Gothices similar Meiryopero se ve diferente
  • Consolas está diseñado solo para escritura latina.
  • El texto Notepad.exese muestra con 3 fuentes diferentes:

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

    Se puede decir que seguramente es Segoe UI Symbolporque esos muñecos de nieve son muy diferentes en diferentes fuentes

    Sin embargo, en este caso, esperábamos Notepad.exemostrar esos caracteres usando fuentes como esta:

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

Preguntas

  • ¿Por Meiryoqué establecemos en el registro fontlink se ignora por completo?
  • ¿Cómo lograr el objetivo en Windows 10?
Byzod
fuente
1
¿ MEIRYO.TTCFalta el archivo de su instalación de Windows 10?
HackSlash
Según un informe , algunos problemas de fuente se resolvieron con KB4476976 . ¿Lo tienes instalado?
harrymc

Respuestas:

1

Microsoft ha decidido eliminar varias fuentes en Windows 10, una de ellas es Meriyo

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

Esto se puede confirmar observando HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ FontLink \ SystemLink

Debe estar allí en Windows 7 de forma predeterminada y no estará allí en Windows 10

Puede instalar el archivo Meriyo ttc en su máquina mediante cualquiera de los pasos

Miral
fuente
Si alguna vez piensa antes de publicar, notará que si una fuente no está instalada, ninguno de sus glifos se puede mostrar como se muestra en el test result.
Byzod