2013-03-27 30 views
9

Gibt es eine Möglichkeit, eine Liste von Gewichten für bestimmte Schriftarten in JavaScript zu erhalten?Wie erhält man Schriftgrößen?

Ich möchte Selektor wie in Photoshop erstellen.

enter image description here

+0

Ich glaube nicht, dass Sie diese Informationen vom Computer des Benutzers extrahieren können. @ font-face Fonts können diese Info übergeben haben. In jedem Fall sollte Ihnen das helfen: http://www.w3.org/TR/CSS2/fonts.html#font-boldness – elclanrs

+0

Sie meinen, Sie wollen die Breite der Schriftart ... ?? –

+0

Ich meine, ich muss eine Liste der verfügbaren Schriftarten im Allgemeinen erhalten. –

Antwort

2

ich über Ihr Endziel unklar bin, aber ....

Wenn Sie so etwas wie Google-Schriftarten verwenden, sollten Sie bereits alle möglichen Gewichten kennen. Mit anderen Worten, wenn Sie Ihre eigene Schriftart zur Verfügung stellen, dann sind Sie der Meister von allem, was verfügbar ist.

0

Nein! Ob ein Schriftbild tatsächlich ein Schriftgewicht eines anderen ist, ist esoterisches Wissen, dass Javascript nicht funktionieren kann. Sie können definieren welche Schriftgewichte eine Schriftfamilie hat mit CSS @font-face Regeln, und in einer Weise veranschaulicht diese Art der Unmöglichkeit zu erreichen, was Sie fragen.

Unmittelbar unten habe ich eine ziemlich Standard @font-face Setup für eine Schriftart mit 3 Gewicht. Aber

@font-face { 
    font-family: Barney; 
    src: url(barney_regular.ttf); 
    font-weight: 400; 
} 

@font-face { 
    font-family: Barney; 
    src: url(barney_light.ttf); 
    font-weight: 300; 
} 

@font-face { 
    font-family: Barney; 
    src: url(barney_bold.ttf); 
    font-weight: 500; 
} 

zu wissen, dass jeder dieser .ttf Dateien ein anderes Gewicht der gleichen Schriftfamilie darstellt, ist willkürlich. Hier habe ich es angegeben, weil ich mir dessen bewusst bin. Wenn ein automatisierter Dienst, zB Schrift Eichhörnchen, diese drei Dateien genommen hätte, wäre es wahrscheinlich mit dieser kommen:

@font-face { 
    font-family: barney_regular; 
    src: url(barney_regular.ttf); 
} 

@font-face { 
    font-family: barney_light; 
    src: url(barney_light.ttf); 
} 

@font-face { 
    font-family: barney_bold; 
    src: url(barney_bold.ttf); 
} 

Hier sind diese drei Gewichte haben eigentlich alle als verschiedene Schriftfamilien angegeben worden, die offensichtlich ein Fehler. Aber in der Theorie könnte ich dümmer Sachen tun:

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 500; 
} 

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 400; 
} 

@font-face { 
    font-family: barney; 
    src: url(barney_regular.ttf); 
    font-weight: 300; 
} 

Oben, exakt das gleiche Schrift zu 3 verschiedenen Gewicht zugewiesen wird. Also selbst wenn Javascript die Beziehungen innerhalb @font-face Deklarationen erkennen könnte, wie welche Datei mit welchem ​​Gewicht verbunden ist, style & Familie; Wie viele Gewichte wurden angegeben ... Es konnte Ihnen immer noch nicht sagen, ob diese Ressourcen vorhanden sind, heruntergeladen wurden, genau eine andere Breite der gleichen Schriftart darstellen.

Die Web-Typografie hat sich in den letzten 10 Jahren stark verändert, ist aber (relativ gesehen) immer noch ein Abfallmedium für die Typisierung.

+0

Downvoter: Sagst du, meine Antwort ist nicht korrekt? Möchten Sie die Behauptung bestätigen, um Klärung bitten? – Barney

Verwandte Themen