Fontlink (FontLink / SystemLink no registro) não está funcionando conforme o esperado na janela 10 x64

13

O que eu quero

Uso Consolascomo fonte padrão do meu Notepad ++, mas quero uma melhor aparência dos caracteres e símbolos chineses e japoneses ao usá-los Consolas.

De acordo com o artigo do MSDN , posso vincular várias fontes para Consolasque ele possa exibir caracteres que não são compatíveis por si só.

O objetivo

  • Exibir caracteres latinos usando fonte Consolas
  • Exiba caracteres chineses e japoneses usando Microsoft YaHei
  • Exibir símbolos que YaHeinão podem lidar com o usoMeiryo
  • Deixe o sistema manipular os demais caracteres que Meiryonão podem ser exibidos também

Etapas para alcançar a meta

  1. Adicione uma REG_MULTI_SZentrada ConsolasemHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink
  2. Defina o valor de Consolas:

    MSYH.TTC,Microsoft YaHei,128,96
    MSYH.TTC,Microsoft YaHei
    MEIRYO.TTC,Meiryo,128,85
    MEIRYO.TTC,Meiryo
    
  3. Faça logoff do Windows e faça login novamente

Resultado real no Windows 7

  1. Caracteres latinos (0-9, az, AZ) e símbolos usados ​​com freqüência (;: '", etc) são exibidos usando Consolas
  2. Os caracteres chinês e japonês são exibidos usando Microsoft YaHei
  3. Símbolos especiais são exibidos usando Meiryo
  4. Outros caracteres e símbolos que nenhuma das fontes acima suporta são exibidos usando os padrões do sistema (idk, o que é isso)

Resultado real no Windows 10

  1. Caracteres latinos (0-9, az, AZ) e símbolos usados ​​com freqüência (;: '", etc) são exibidos usando Consolas
  2. Os caracteres chinês e japonês são exibidos usando Microsoft YaHei
  3. Símbolos especiais são exibidos usando Segoe UI Symbol
  4. Outros caracteres e símbolos, nenhuma das fontes acima suportadas são exibidos usando os padrões do sistema

Informação adicional

(Preciso de 10 representantes para postar mais links e imagens. Clique no link da imagem para visualizar a captura de tela do resultado do caso de teste e copie / cole o texto da URL para visitar o site.

Aqui está um teste tentando entender a cobertura de caracteres das fontes mencionadas acima (e mais)

Ferramenta usada

  • Bloco de anotações: %WINDIR%/Notepad.exe
  • BabelMap: http://www.babelstone.co.uk/Software/BabelMap.html
  • Cadeia de teste: 我风お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
    

Etapa para testar

  1. Faça o download do BabelMap, abra-o e copie a sequência de teste no Edit Buffer
  2. Single FontBotão de opção Selecionar
  3. Marque a Simple Renderingcaixa de seleção
  4. Selecione qualquer fonte clicando na caixa de seleção à direita da Single Font
  5. Observe o glifo de caractere em Edit Buffer
  6. Configure o link da fonte para, Consolasconforme mencionado acima, faça logoff / logon para entrar em vigor
  7. Abra Notepad.exe, abra o Format > Fontsmenu para definir a fonte comoConsolas
  8. Cole a sequência de teste e observe-a

Resultado do teste

Comparação de resultados de casos de teste

Explicação do resultado do teste

  • Microsoft YaHei não pode exibir o símbolo do boneco de neve
  • Meiryo não tem caracteres chineses
  • Segoe UI Symbol contém apenas símbolos
  • Yu Gothicé semelhante a, Meiryomas parece diferente
  • Consolas foi projetado apenas para scripts em latim.
  • O texto Notepad.exeé exibido usando 3 fontes diferentes:

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

    Você pode dizer que é certamente Segoe UI Symbolporque os bonecos de neve são muito diferentes em fontes diferentes

    No entanto, nesse caso, esperávamos Notepad.exeexibir esses caracteres usando fontes como esta:

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

Questões

  • Por Meiryoque configuramos no registro fontlink é completamente ignorado?
  • Como atingir o objetivo no Windows 10?
Byzod
fonte
1
O arquivo está MEIRYO.TTCausente da instalação do Windows 10?
HackSlash
De acordo com um relatório , alguns problemas de fonte foram resolvidos com o KB4476976 . Você tem instalado?
harrymc

Respostas:

1

A Microsoft decidiu remover várias fontes no Windows 10, uma delas sendo Meriyo

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

Isso pode ser confirmado pela observação de HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ FontLink \ SystemLink

Ele deve estar no Windows 7 por padrão e não no Windows 10

Você pode instalar o arquivo Meriyo ttc em sua máquina usando qualquer uma das etapas

Miral
fonte
Se você pensar antes de postar, notará que, se uma fonte não estiver instalada, nenhum de seu glifo poderá ser exibido como o mostrado na test result.
Byzod 19/07/19