Sto usando la bussola font-face
mixin insieme al inline-font-files
e font-files
al fine di creare qualcosa lungo le linee del The New Bulletproof @Font-Face Syntax utilizzando Data URIs per WOFF, TTF e file organizzato di negoziazione.Nuovo Bulletproof @ sintassi font-face utilizzando dati URI in Compass
Uso URL relativi per eot (a causa della mancanza del supporto IE per l'URI dei dati) e per i file svg, (a causa dell'hash #FontName credo). Il file eot non pone alcun problema poiché esiste un parametro per questo, ma poiché font-face
in Compass tratta svg non diverso dagli altri formati, non posso semplicemente usare inline-font-files
per includere i dati dei font, poiché ciò renderebbe anche la versione svg in linea.
C'è un modo per fare font-face
ritorno qualcosa di simile al seguito:
@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;
}
Il fatto è che non riesco a capire come fare le versioni WOFF, OTF e TTF utilizzano l'URI dati, pur consentendo la svg versione per utilizzare un URL standard. Il migliore che ho venire in mente è questa:
@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);
che romperà la svg nella propria @ font-face. È quel CSS valido sullo stesso account che posso creare più regole @ font-face con lo stesso nome di famiglia usando pesi e stili diversi? Se questo è il caso, funzionerà altrettanto bene come il CSS di esempio sopra (sembra)? E, naturalmente, c'è un modo migliore per farlo in Compass/sass?
Manca stile/peso e URI di dati: i caratteri s corretti? Ma probabilmente è abbastanza facile da aggiungere. Buona scoperta! – Simon