Fontlink (FontLink / SystemLink no Registro) não está funcionando como esperado na janela 10 x 64

4

O que eu quero

Eu uso Consolas como a fonte padrão do meu Notepad ++, mas quero uma aparência melhor de caracteres e símbolos chineses e japoneses ao usar Consolas .

De acordo com o artigo do MSDN , posso vincular várias fontes a Consolas para que pode exibir caracteres que ele não suporta sozinho.

O objetivo

  • Exibir caracteres latinos usando a fonte Consolas
  • Exibir caracteres chineses e japoneses usando Microsoft YaHei
  • Exibir símbolos que YaHei não podem manipular usando Meiryo
  • Deixe o sistema manipular os demais caracteres que Meiryo não pode exibir também

Etapas para alcançar o objetivo

  1. Adicione REG_MULTI_SZ entry Consolas em HKEY_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, a-z, A-Z) e símbolos usados com frequência (;: '", etc) são exibidos usando Consolas
  2. Os caracteres chineses e japoneses 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 exibidas usando os padrões do sistema (idk o que é isso)

Resultado real no Windows 10

  1. Caracteres latinos (0-9, a-z, A-Z) e símbolos usados com frequência (;: '", etc) são exibidos usando Consolas
  2. Os caracteres chineses e japoneses são exibidos usando Microsoft YaHei
  3. Símbolos especiais são exibidos usando Segoe UI Symbol
  4. Outros caracteres e símbolos que nenhuma das fontes acima suporta são exibidas usando os padrões do sistema

Informações adicionais

(Eu preciso de 10 rep para postar mais links e imagens, então, por favor, clique no link da imagem para ver o screenshot do resultado do caso de teste e copie / cole o texto do 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 notas: %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 string de teste em Edit Buffer
  2. Selecione o botão de opção Single Font
  3. Verifique a caixa de seleção Simple Rendering
  4. Selecione qualquer fonte clicando na caixa de seleção à direita do Single Font
  5. Observe o glifo de caracteres em Edit Buffer
  6. Configure fontlink para Consolas como mencionado acima, faça logoff / in para entrar em vigor
  7. Abra Notepad.exe , abra o menu Format > Fonts para definir a fonte para Consolas
  8. Cole a string de teste e observe-a

Resultado do 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 Meiryo , mas parece diferente
  • Consolas é projetado apenas para o script latino.
  • O texto em Notepad.exe é exibido usando 3 fontes diferentes:

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

    Você pode dizer que é certamente o Segoe UI Symbol porque esses bonecos de neve são muito diferentes em fontes diferentes

    No entanto, neste caso, esperamos que Notepad.exe exiba esses caracteres usando fontes como esta:

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

Perguntas

  • Por que Meiryo que definimos no registro fontlink é completamente ignorado?
  • Como alcançar o objetivo no Windows 10?
por Byzod 20.05.2017 / 08:05

0 respostas