Liste der installierten Schriftarten, die ein bestimmtes Zeichen unterstützen

7

Wie kann ich herausfinden, welche Schriftarten auf meinem System die Abdeckung eines bestimmten Zeichens enthalten, z. B. U + 2192?

Ich habe versucht, in der Zeichentabelle nachzuschauen, sehe jedoch keine Möglichkeit, Schriftarten nach Zeichen abzufragen, sondern nur nach Zeichen.

ændrük
quelle
Ich habe ihm nicht genug Zeit zum Testen gegeben, aber ich hoffe, wenn es nicht funktioniert oder immer noch nach etwas Besserem sucht. Lassen Sie es mich wissen, ich kann es noch einmal versuchen, nach anderen Optionen zu suchen.
user.dz

Antworten:

5

Kann es andere Werkzeuge sein , aber hb-shapeeinige Ergebnisse, Beispiel gibt ( \u2192, \u107, \u106und \u2191jeweils):

$ hb-shape .fonts/Roboto-Light.ttf "→"
[NULL=0+498]

$ hb-shape .fonts/Roboto-Light.ttf "ć"
[cacute=0+1054]

$ hb-shape .fonts/Roboto-Light.ttf "Ć"
[Cacute=0+1313]

$ hb-shape .fonts/Roboto-Light.ttf "↑"
[NULL=0+498]

Wie Sie bemerken, werden die verfügbaren Ergebnisse Cacuteansonsten mit ihrem Unicode-Namen zurückgegeben NULL.

Ich habe Unicode mit Ctrl+ Shift+ eingegeben u, oder Sie möchten auf diese Weise, dass das Shell-Skript Schriftarten durchläuft:

$ hb-shape .fonts/Roboto-Light.ttf `echo -ne "\u2192"`
[NULL=0+498]

Als Referenz hb-shapedient ein Testwerkzeug von HarfBuzz Project als Unicode-Textformungs-Engine.

user.dz
quelle
1
Die Ausgabe sieht jetzt anders aus (ich verwende hb-shape 1.0.1): $ hb-shape ./Roboto-Light.ttf echo -ne "\u2192"[gid0 = 0 + 908]
Étienne
@ Étienne, das ist ziemlich alt, mit sh-shape1.4.2 in Ubuntu 17.10, Robot-light.tff 2.000980, 2014 bekomme ich eine ähnliche Ausgabe [.notdef=0+498]. Wenn dies gid0für alle nicht unterstützten Zeichen konstant ist, können Sie es verwenden. Außerdem empfehle ich Ihnen, direkt in der HarfBuzz-Mailingliste nachzufragen. Sie sind aktive Entwickler.
user.dz
1
Entschuldigung für die Unklarheit, mein Kommentar war keine Frage. Ich wollte nur andere Leute warnen, dass die Ausgabe in anderen Versionen anders aussieht, aber Ihre Lösung hat tatsächlich funktioniert und ich habe sie gestern positiv bewertet.
Étienne