
Courier New tem o caractere \u05D0 letra hebraica aleph
algumas outras fontes também, como Miriam e David.
Posso colar isso no bloco de notas
Lucida Console não possui o personagem. O mapa de personagens mostra que Lucida Console não possui o personagem.
No entanto, o bloco de notas o exibe mesmo quando a fonte do Lucida Console está definida
Então, qual fonte o bloco de notas está usando?
Responder1
O Windows 7 possui uma tecnologia chamadafonte composta
que é usado para descrever links de fontes internacionais e lógica de fallback fonte
Ele permite que você tenha uma fonte virtual vinculada a muitas fontes com intervalos limitados de definições de caracteres.
A fonte composta padrão é chamadaInterface de usuário globale está localizado no arquivo
C:\Windows\Fonts\GlobalUserInterface.CompositeFont
.
Você pode usar ótimoMapa Babelferramenta para brincar e entender a implementação de Unicode, fontes compostas e coisas relacionadas.
Verifique tambémSubstituição de fontesubseção deObservaçõesseção desteArtigo MSDNpara aprender algumas informações interessantes sobre como essa fonte composta é construída e quais são as regras de fallback.
Encontrar uma fonte para caractere (com base nas informações acima):
- Em qualquer editor/visualizador de texto simples, exiba o arquivo
C:\Windows\Fonts\GlobalUserInterface.CompositeFont
. - Na tag
<FontFamily.FamilyMaps>
, encontre o intervalo de definição para o seu personagem. Pesquise a tag
FontFamilyMap
que contém seu intervalo em seuUnicode
atributo e obtenha a fonte (ou lista de fontes) fornecida para esse intervalo (está armazenada no atributoTarget
).
Exemplo:no caso de personagem05D0o intervalo encontrado no arquivo é0590-05FF(Hebraico)
e as substituições de fontes são:
"Segoe UI, Tahoma, Arial, Arial Unicode MS, Microsoft Sans Serif, Lucida Sans Unicode"
- Se houvesse apenas uma fonte, você a possui. Caso contrário, vamos verificar a lista em ordem: execute o BabelMap
- Navegue até determinado personagem
- Alternar botões de opção deFonte CompostaparaFonte única
ou alternativamente: vá ao menuFontes>Cobertura de fonte...e pressioneCalcularbotão - Mude para as fontes na ordem em que aparecem na etapa3. A primeira fonte com o glifo exibido é a sua fonte.
Observação:existem 4 arquivos de fontes compostas disponíveis, mas verifiquei que o correto para o seu caso é GlobalUserInterface.CompositeFont
.
Essa técnica é confiável porque, ao pesquisar as definições, você está fazendo o mesmo que o Windows.
Responder2
a resposta do miro é brilhante, só vou escrever de forma um pouco diferente
Existem quatro arquivos de fontes compostas.
Os quatro são
C:\Windows\Fonts>dir *composite* /s/b
C:\Windows\Fonts\GlobalMonospace.CompositeFont
C:\Windows\Fonts\GlobalSansSerif.CompositeFont
C:\Windows\Fonts\GlobalSerif.CompositeFont
C:\Windows\Fonts\GlobalUserInterface.CompositeFont
C:\Windows\Fonts>
Olhando para eles uma vez, vemos que, por exemplo, GlobalMonospace.CompositeFont
tem 0590-06FF e as fontes substitutas listadas, apenas uma, é Courier New, que tem Aleph. Mas Miro determinou que esse não é o arquivo composto usado e que o arquivo usado éGlobalUserInterface.CompositeFont
Abra este arquivo C:\Windows\Fonts\GlobalUserInterface.CompositeFont
Aleph é \u05D0
então você tem que rolar o arquivo para baixo para chegar onde estou mostrando na foto, mas essa é a seção para olhar
O arquivo de fonte composta lista uma família de fontes para atuar como fontes substitutas para vários intervalos de caracteres Unicode, incluindo 0590-06FF
(que é o intervalo que inclui 05D0/aleph)
<FontFamilyMap
Unicode = "0000-052F, 0590-06FF, 0750-077F, 1D00-1FFF, 2C60-2C7F, FB00-FB0F, FB1D-FBFF"
Target = "Segoe UI, Tahoma, Arial, Arial Unicode MS, Microsoft Sans Serif, Lucida Sans Unicode"
Scale = "1.0"/>
Charmap pode chegar até FFFF, o que é longe o suficiente. Charmap mostra que não está no segoeUI. Mas é em Tahoma.
Babelmap é interessante porque pode mostrar caracteres além de FFFF (não é necessário neste caso) e também pode mostrar quais fontes em seu sistema possuem um caractere Unicode específico. Mas para ver qual fonte é realmente usada na prática pelo bloco de notas, como fonte substituta, você precisa verificar o arquivo GlobalUserInterface.CompositeFont. Em seguida, procure no charmap ou babelmap a primeira fonte com o caractere glifo/unicode desejado.
O Babelmap tem fontes compostas, mas acho que são personalizadas, não especificamente as usadas pelo Windows. Mas seria útil usar o babelmap para pesquisar qual fonte possui um caractere unicode ou para verificar quais caracteres estão dentro de uma fonte, mesmo além do FFFF.