Come faccio a sapere quale carattere contiene un determinato carattere speciale?


19

Unicode contiene uno speciale paio di "personaggi" che non sono visualizzabili dalla maggior parte dei tipi di carattere. Voglio usare una di loro, una videocamera.

Sembra che un tale carattere effettivamente esiste, e ha il codice U + 1F4F9. Quando visito http://graphemica.com/%F0%9F%93%B9 , lo vedo visualizzato sia sulla pagina web ed in barra degli indirizzi di Firefox. Quindi immagino che ho almeno un font sul mio sistema che contiene il glifo.

url con glifi display videocamera correttamente

Ma quando mi si incolla in Inkscape, ottengo la scatola vuota di un carattere sconosciuto, anche se scelgo un tipo di carattere che di solito ha molti glifi, come Arial.

Come faccio a sapere quale dei tipi di carattere che ho installato in grado di visualizzare il "carattere"?


Se il carattere non viene riconosciuto (dandovi la casella vuota), è probabile che non si ha il tipo di carattere installato sul sistema. Pertanto, è necessario installarlo prima che possa essere utilizzato.
CharlieRB

@CharlieRB il tipo di carattere è installato. Non riesco a scegliere di usare un font in Inkscape che non è installato. Semplicemente non ha questo molto raro glifo.
Rumi P.

OK. Si consiglia di chiarire che nella domanda; di avere il tipo di carattere installato.
CharlieRB

1
Firefox può utilizzare il proprio carattere in Windows 7 e versioni precedenti perché non esiste alcun carattere per emoji in quei sistemi. Il font è presente <firefox>\fonts\EmojiOneMozilla.ttfe non è installato a livello globale
phuclv,

V'è una domanda simile, che è stato risposto qui .
jdhao

Risposte:


12

Prova questa pagina: www.Fileformat.info

http://www.fileformat.info/info/unicode/char/1f4f9/fontsupport.htm

Ci si può interrogare i caratteri Unicode e ottenere un elenco dei tipi di carattere di supporto.


1
E sembra che la pagina può cercare i font sul vostro computer anche, con un plugin Flash.
Yellowantphil,

Grazie per la risposta, Ive stato alla ricerca di una soluzione per il mio errore sostegno "Metà sistema organizzato di negoziazione metà TTF" per VS per sempre ora.
Taylors

4

Capisco completamente la questione ho incontrato lo stesso problema io stesso:

Sai che il computer ha il carattere installato perché visualizza un programma il contenuto correttamente, ma un altro programma visualizza lo stesso contenuto di una casella vuota, perché non sa che cosa tipo di carattere da utilizzare per visualizzare in modo corretto. E non si vuole per scorrere tutti i font di trovare uno che contiene il carattere che si desidera.

Provare a incollare il testo / simbolo copiato in un vuoto documento di Microsoft Word. Il contenuto dovrebbe apparire correttamente se Word è impostato su Mantieni formattazione di origine per impostazione predefinita per il testo incollato. In tal caso, seleziona il contenuto e il menu Font di Word ti mostrerà il font di origine sul tuo computer che contiene il carattere necessario. Certo, potrebbero essercene altri, ma almeno questo è un modo rapido e sporco per trovare un carattere che potrebbe essere adatto.


In Linux, lo stesso può essere realizzato con Writer.
Arthur Zennig

4

Il seguente script Python stamperebbe tutti i caratteri che contengono un carattere (testato sulla mia scatola di 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"🐈")

Sulla mia macchina, questo dà:

😺 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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.