Ich bin mit Kompass font-face
mixin zusammen mit den inline-font-files
und font-files
um etwas entlang der Linien der The New Bulletproof @Font-Face Syntax mit Data URIs für woff, ttf und OTF-Dateien zu erstellen.New Bulletproof @ font-face-Syntax mit Hilfe von Data-URIs in Compass
Ich benutze relative URLs für eot (wegen der fehlenden IE-Unterstützung für Daten-URI) und für Svg-Dateien (aufgrund der #FontName Hash ich denke). Die EOT-Datei stellt kein Problem dar, da es einen Parameter dafür gibt, aber da font-face
in Compass Svg nicht anders behandelt als andere Formate, kann ich inline-font-files
einfach nicht verwenden, um die Font-Daten einzuschließen, da dies die Svg-Version inline machen würde.
Gibt es eine Möglichkeit font-face
Rückkehr etwas wie die unten zu machen:
@font-face {
font-family: 'PTSans';
src: url('pts55fwebfont.eot');
src: url('pts55fwebfont.eot?#iefix') format('embedded-opentype'),
url('data:WOFF_DATA') format('woff'),
url('data:TTF_DATA') format('truetype'),
url('pts55fwebfont.svg#PTSansRegular') format('svg');
font-weight: normal;
font-style: normal;
}
Die Sache ist ich herausfinden kann, wie die woff zu machen, otf und ttf Versionen der Data URI verwenden, während immer noch die svg erlaubt Version, um eine Standard-URL zu verwenden. Die beste, die ich habe, ist dies:
@include font-face('PTSans', inline-font-files('ptsans/pts55fwebfont.woff', woff, 'ptsans/pts55fwebfont.ttf', truetype), 'ptsans/pts55fwebfont.eot', normal, normal);
@include font-face('PTSans', font-files('ptsans/pts55fwebfont.svg#PTSansRegular'), $weight: normal, $style: normal);
Welches wird die Svg in seine eigene @ font-face brechen. Ist dieses gültige CSS für dasselbe Konto gültig, mit dem ich mehrere @ font-face-Regeln mit demselben Familiennamen mit unterschiedlichen Gewichtungen und Stilen erstellen kann? Wenn das der Fall ist, wird es genauso gut funktionieren wie das obige CSS (scheint es)? Und gibt es natürlich einen besseren Weg, dies in Compass/Sass zu erreichen?
Es fehlt Stil/Gewicht und Daten URI: s Schriftarten richtig? Aber das ist wahrscheinlich ziemlich einfach hinzuzufügen. Guter Fund! – Simon