it-swarm.com.de

Liste der Schriftarten mit ausgewählten Zeichen

Unter Mac OS X verfügt der Character Viewer (entspricht der Zeichentabelle unter Ubuntu) über eine Funktion, mit der beim Betrachten eines bestimmten Zeichens eine Liste aller Zeichensätze angezeigt werden kann, die dieses Zeichen enthalten. Gibt es auf Ubuntu etwas Äquivalentes?

Der Anwendungsfall ist, dass ich zum Beispiel auf ein Kannada-Zeichen klicken und alle Schriftarten sehen könnte, die dieses Zeichen abdecken (und vermutlich auch den Rest des Kannada-Sprachbereichs).


Bearbeiten: Hier ist ein Screenshot von Character Viewer unter Mac OS X 10.6, um eine Vorstellung davon zu bekommen, was ich meine. Das Symbol "Enthält das ausgewählte Zeichen" befindet sich am unteren Bildschirmrand. Ich scheine mich zu erinnern, dass dieser Teil der Benutzeroberfläche in 10.5 oder 10.4 tatsächlich besser war.

enter image description here

13
ShreevatsaR

In Fontmatrix können Sie die Schriftmerkmale vergleichen - In den Schriftinformationen - Vergleichen.

Fontmatrix's Font Compare

PS. Ich denke, dieses Feature von Character Viewer unter Mac OS X wäre eine großartige Feature-Anfrage an das Fontmatrix-Entwicklerteam.


Tatsächlich hat die Benutzeroberfläche von Fontmatrix noch etwas Besseres: Sie können die Registerkarte Vorschau auswählen und eine Zeichenfolge eingeben (die Zeichen enthält, die die Schriftart haben soll) und sehen, wie sie von jeder Schriftart angezeigt wird. So können Sie durch die Liste der Schriftarten scrollen und gleichzeitig die Abdeckung aller der interessanten Zeichen (anstatt jeweils nur eines Zeichens) durch die Schriftarten anzeigen. Auf diese Weise können Sie visuell die Schriftarten auswählen, die die ausgewählten Zeichen enthalten.

In der Abbildung unten sehen Sie, dass "BABEL Unicode Bold" (ausgewählt) alle Zeichen außer ṝ enthält und dass "Arial Regular" (wo sich die Maus befindet) nur wenige Zeichen enthält.

Screenshot of Fontmatrix's Preview

7
palbakulich

Seit ich diese Frage 2011 ursprünglich gestellt habe, ist es schwieriger geworden, die Informationen sowohl auf Ubuntu (wo die zuvor empfohlene FontMatrix nicht mehr über die Funktion zu verfügen scheint) als auch auf macOS zu finden.

Wenn man sich eher für eine Sprache im Allgemeinen als für ein bestimmtes Zeichen interessiert, muss man fc-list mit :lang, zum Beispiel:

~% fc-list :lang=kn-in
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf: Noto Sans Kannada UI:style=Regular
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf: Noto Sans Kannada:style=Bold
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf: Noto Sans Kannada UI:style=Bold
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf: Noto Serif Kannada:style=Regular
/usr/share/fonts/truetype/Navilu/Navilu.ttf: Navilu:style=Normal
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf: Noto Sans Kannada:style=Regular
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf: Lohit Kannada:style=Regular
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf: Gubbi:style=Normal
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf: Noto Serif Kannada:style=Bold

Für bestimmte Zeichen habe ich eine ähnliche Frage gestellt auf "Ask Different"; Kopieren Sie hier das Python Skript, das ich letztendlich verwendet habe (es funktioniert auf beiden Betriebssystemen).

  1. Installieren Sie entweder das python-fontconfig oder der python3-fontconfig package (oder beides), je nachdem, ob Sie Python 2 oder Python 3 verwenden möchten.

  2. Speichern Sie den folgenden Code in einer Datei mit dem Namen (say) find_fonts.py:

#!/usr/bin/env python

def find_fonts(c):
    """Finds fonts containing  the (Unicode) character c."""
    import fontconfig
    fonts = fontconfig.query()
    for path in sorted(fonts):
        font = fontconfig.FcFont(path)
        if font.has_char(c):
            yield path

if __== '__main__':
    import sys
    search = sys.argv[1]
    char = search.decode('utf-8') if isinstance(search, bytes) else search
    for path in find_fonts(char):
        print(path)
  1. Führen Sie das Skript entweder mit python find_fonts.py ಠ oder python3 find_fonts.py ಠ ersetzt mit dem Charakter, den Sie interessieren.

Beispielausgabe:

$ python3 find_fonts.py ಠ
/usr/share/fonts/truetype/Gubbi/Gubbi.ttf
/usr/share/fonts/truetype/Navilu/Navilu.ttf
/usr/share/fonts/truetype/lohit-kannada/Lohit-Kannada.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannada-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSansKannadaUI-Regular.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Bold.ttf
/usr/share/fonts/truetype/noto/NotoSerifKannada-Regular.ttf
1
ShreevatsaR