Como descobrir qual fonte contém um determinado caractere especial?


19

Unicode contém alguns "caracteres" especiais que não são exibidos pela maioria das fontes. Eu quero usar um deles, uma câmera de vídeo.

Parece que esse caractere existe de fato e possui o ponto de código U + 1F4F9. Quando visito http://graphemica.com/%F0%9F%93%B9 , vejo o vídeo sendo exibido na página da Web e na barra de URL do Firefox. Portanto, presumo que tenho pelo menos uma fonte no meu sistema que contém o glifo.

URL com o glifo da câmera de vídeo é exibido corretamente

Mas quando colo no Inkscape, recebo a caixa vazia para um caractere desconhecido, mesmo se eu escolher uma fonte que geralmente possui muitos glifos, como Arial.

Como descubro quais fontes instaladas podem exibir o "caractere"?


Se a fonte não for reconhecida (fornecendo a caixa vazia), é provável que você não a tenha instalada no sistema. Portanto, você precisa instalá-lo antes de poder ser usado.
CharlieRB

@CharlieRB a fonte está instalada. Não posso optar por usar uma fonte no Inkscape que não esteja instalada. Simplesmente não possui esse glifo muito raro.
Rumi P.

ESTÁ BEM. Você pode esclarecer isso em sua pergunta; que você tem a fonte instalada.
CharlieRB

1
O Firefox pode usar sua própria fonte no Windows 7 e versões anteriores, porque não há fonte para emoji nesses sistemas. A fonte está em <firefox>\fonts\EmojiOneMozilla.ttfe não instalados globalmente
phuclv

Há uma pergunta semelhante que foi respondida aqui .
Jdhao

Respostas:



4

Eu entendo completamente a pergunta ao me deparar com o mesmo problema:

Você sabe que o computador possui a fonte instalada porque um programa exibe o conteúdo corretamente, mas outro programa exibe o mesmo conteúdo que uma caixa em branco porque não sabe qual fonte usar para exibir corretamente. E você não deseja rolar por todas as fontes para encontrar uma que contenha o caractere desejado.

Tente colar o texto / símbolo copiado em um documento em branco do Microsoft Word. O conteúdo deve aparecer corretamente se o Word estiver definido como Manter a formatação de origem por padrão para o texto colado. Nesse caso, selecione o conteúdo e o menu Fonte do Word mostrará a fonte de origem no seu computador que contém o caractere necessário. É verdade que pode haver outras, mas pelo menos essa é uma maneira rápida e suja de encontrar uma fonte que possa ser adequada.


No Linux, o mesmo pode ser realizado com o Writer.
Arthur Zennig 18/07/2018

4

O seguinte script Python imprimiria todas as fontes contendo um caractere (testado na minha caixa Linux).

import unicodedata
import os

fonts = []

for root,dirs,files in os.walk("/usr/share/fonts/"):
    for file in files:
       if file.endswith(".ttf"): fonts.append(os.path.join(root,file))


from fontTools.ttLib import TTFont

def char_in_font(unicode_char, font):
    for cmap in font['cmap'].tables:
        if cmap.isUnicode():
            if ord(unicode_char) in cmap.cmap:
                return True
    return False

def test(char):
    for fontpath in fonts:
        font = TTFont(fontpath)   # specify the path to the font in question
        if char_in_font(char, font):
            print(char + " "+ unicodedata.name(char) + " in " + fontpath) 

test(u"😺")
test(u"🐈")

Na minha máquina, isso fornece:

😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSansCondensed-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Bold.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-Oblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSansCondensed-BoldOblique.ttf
😺 SMILING CAT FACE WITH OPEN MOUTH  in /usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf
🐈 CAT  in /usr/share/fonts/truetype/noto/NotoSansSymbols2-Regular.ttf
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.