Wie finde ich heraus, welche Schriftart ein bestimmtes Sonderzeichen enthält?

19

Unicode enthält einige spezielle "Zeichen", die von den meisten Schriftarten nicht angezeigt werden können. Ich möchte eine davon benutzen, eine Videokamera.

Es scheint, dass ein solches Zeichen tatsächlich existiert und den Codepunkt U + 1F4F9 hat. Wenn ich http://graphemica.com/%F0%9F%93%B9 besuche , wird es sowohl auf der Webseite als auch in der URL-Leiste von Firefox angezeigt. Ich gehe also davon aus, dass ich mindestens eine Schriftart auf meinem System habe, die die Glyphe enthält.

URL mit Videokameraglyphen wird korrekt angezeigt

Aber wenn ich es in Inkscape einfüge, erhalte ich das leere Kästchen für ein unbekanntes Zeichen, auch wenn ich eine Schriftart wähle, die normalerweise viele Glyphen enthält, wie Arial.

Wie finde ich heraus, welche der von mir installierten Schriftarten das "Zeichen" anzeigen können?

Rumi P.
quelle
Wenn die Schriftart nicht erkannt wird (und Sie das leere Kästchen erhalten), ist die Schriftart wahrscheinlich nicht auf Ihrem System installiert. Daher müssen Sie es installieren, bevor Sie es verwenden können.
CharlieRB
@CharlieRB Die Schriftart ist installiert. Ich kann in Inkscape keine Schriftart verwenden, die nicht installiert ist. Es hat nur nicht diese sehr seltene Glyphe.
Rumi P.
OKAY. Möglicherweise möchten Sie dies in Ihrer Frage klarstellen. dass Sie die Schriftart installiert haben.
CharlieRB
1
Firefox verwendet möglicherweise eine eigene Schriftart in Windows 7 und früheren Versionen, da in diesen Systemen keine Schriftart für Emoji vorhanden ist. Die Schriftart ist in <firefox>\fonts\EmojiOneMozilla.ttfund nicht global installiert
phuclv
Es gibt eine ähnliche Frage, die hier beantwortet wurde .
JDHAO

Antworten:

12

Versuchen Sie diese Seite: www.Fileformat.info

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

Dort können Sie Unicode-Zeichen abfragen und eine Liste der unterstützenden Schriftarten abrufen.

Wernfried Domscheit
quelle
1
Und es sieht so aus, als ob diese Seite mit einem Flash-Plugin auch Schriften auf Ihrem Computer durchsuchen kann.
Yellowantphil
Vielen Dank für die Antwort, ich habe jetzt für immer nach einer Lösung für meinen "Half OTF half TTF" -Unterstützungsfehler für VS gesucht.
TaylorS
4

Ich verstehe die Frage vollständig, da ich selbst auf dasselbe Problem gestoßen bin:

Sie wissen, dass auf Ihrem Computer die Schriftart installiert ist, da ein Programm den Inhalt ordnungsgemäß anzeigt, während ein anderes Programm den gleichen Inhalt wie ein leeres Feld anzeigt, da es nicht weiß, welche Schriftart für die ordnungsgemäße Anzeige verwendet werden soll. Und Sie möchten nicht durch alle Schriftarten scrollen, um eine zu finden, die das gewünschte Zeichen enthält.

Versuchen Sie, den kopierten Text / das kopierte Symbol in ein leeres Microsoft Word-Dokument einzufügen. Der Inhalt sollte ordnungsgemäß angezeigt werden, wenn Word für eingefügten Text standardmäßig auf Quellformatierung beibehalten eingestellt ist. Wenn dies der Fall ist, wählen Sie den Inhalt aus, und das Word-Schriftmenü zeigt die Quellschrift auf Ihrem Computer an, die das erforderliche Zeichen enthält. Zugegeben, es kann andere geben, aber zumindest ist dies ein schneller und schmutziger Weg, um eine geeignete Schriftart zu finden.

Owen
quelle
Unter Linux kann dasselbe mit Writer erreicht werden.
Arthur Zennig
4

Das folgende Python-Skript druckt alle Schriften, die ein Zeichen enthalten (getestet auf meiner Linux-Box).

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"🐈")

Auf meinem Computer gibt dies:

😺 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
Martin Monperrus
quelle