@font-face
Aquest document també està disponible en PDF.
La regla @font-face
permet enllaçar tipografies allotjades en un servidor; això permet que el navegador trobi la tipografia especificada i aplicar-la
en un web.
El problema actual és que no tots els navegadors que suporten la regla @font-face suporten el mateix format de tipografia. Cal enllaçar diferents tipus de fitxer per cobrir el ventall de necessitats dels
navegadors.
La forma genèrica de la regla @font-face és:
@font-face {
font-family: <family-name>;
src: [ <uri> [format(<string> [, <string>]*)] | <font-face-name> ] [, <uri>
[format(<string> [, <string>]*)] | <font-face-name> ]*;
unicode-range: <urange> [, <urange>]*;
}
El valor de font-family és el nom de la tipografia o de la familia.
El valor de src és la ubicació de la tipografia. Alternativament a la ubicació mitjançant una URI es pot usar la cadena formatada identificativa
de la tipografia instal·lada en local.
El valor de unicode-range és el rang de caràcters que usa la tipografia. Els valors s'expressen com a nombres hexadecimals prefixats per «U+». Les formes poden ser:
U+416.
U+416-4ff.
?» és “qualsevol valor”: U+4??.
Exemple 1-1: Regla simple sense definició de format
@font-face {
font-family: "SF New Republic";
src: url("sf_new_republic.ttf");
}
Exemple 1-2: Regla simple amb definició de format
@font-face {
font-family: "SF New Republic";
src: url("sf_new_republic.ttf") format("truetype");
}
Exemple 1-3: Regla amb identificació local i ubicació
@font-face {
font-family: "SF New Republic";
src: local("SF New Republic"),
url("sf_new_republic.ttf");
}
Exemple 1-4: Regles amb tractament de rangs unicode
@font-face {
font-family: "SF New Republic";
src: url("sf_new_republic.ttf");
/*Aplica a qualsevol caràcter*/
}
@font-face {
font-family: "SF New Republic";
src: url("sf_new_republic.ttf");
unicode-range: U+000-5FF, U+1e00-1fff, U+2000-2300;
/*Aplica a caràcters llatins, grecs, cirílics i alguns simbols de puntuació*/
}
Exemple 1-5: Regles incrementals per diferents pesos i estils
@font-face {
font-family: "SF New Republic";
src: url("../fonts/sf_new_republic.eot");
src: local("SF New Republic"),
url("../fonts/sf_new_republic.woff") format("woff"),
url("../fonts/sf_new_republic.ttf") format("truetype");
}
@font-face {
font-family: "SF New Republic";
font-weight: bold;
src: url("../fonts/sf_new_republic_bold.eot");
src: local("SF New Republic"),
url("../fonts/sf_new_republic_bold.woff") format("woff"),
url("../fonts/sf_new_republic_bold.ttf") format("truetype");
}
@font-face {
font-family: "SF New Republic";
font-style: italic;
src: url("../fonts/sf_new_republic_italic.eot");
src: local("SF New Republic"),
url("../fonts/sf_new_republic_italic.woff") format("woff"),
url("../fonts/sf_new_republic_italic.ttf") format("truetype");
}
La crida des d'una regla CSS és la usual:
h1 {
font: 2em/1.5 bold "SF New Republic", sans-serif;
}
| Nom | Format | Extensions | Suport |
|---|---|---|---|
| TrueType | truetype | .ttf | Firefox 3.5+, Safari 3.1+, Opera 10+, Chrome 2.0* |
| OpenType | opentype | .ttf, .otf | Firefox 3.5+, Safari 3.1+, Opera 10+ |
| Embedded OpenType | embedded-opentype | .eot | Internet Explorer 6+ |
| SVG Font | svg | .svg, .svgz | Safari 3.1+, Opera 10+, Chrome 0.3+ |
| Web Open Font Format | woff | .woff | Firefox 3.6+ |
(*) Inhabilitat per defecte.
Internet Explorer 9 està considerant implementar el suport de WOFF.
Internet Explorer 8 o inferior no suporta la declaració:
@font-face {
font-family: 'SF New Republic';
src: url("sf_new_republic.eot") format("embedded-opentype");
}
Amb la qual cosa cal declarar el format EOT sense format:
@font-face {
font-family: 'SF New Republic';
src: url("sf_new_republic.eot");
}
Internet Explorer 8 o inferior no suporten més d'una declaració url() ni la declaració local() en una propietat src. El millor és tractar aquest navegador a part o fer quelcom tipus:
@font-face {
font-family: "SF New Republic";
src: url("sf_new_republic.eot");
src: local("SF New Republic"),
url("sf_new_republic.woff") format("woff"),
url("sf_new_republic.ttf") format("truetype"),
url("sf_new_republic.otf") format("opentype"),
url("sf_new_republic.svg#CalligraphyFLF") format("svg");
}
Conversor de TrueType Font a Embedded Open Type (EOT).
Conversor de TrueType Font a Embedded Open Type (EOT).
Conversor de TrueType Font a Scalable Vector Graphics (SVG).
Conversor de TrueType Font i OpenType Font a Web Open Font Format (WOFF).
Conversor web a múltiples formats: EOT, SVG i WOFF des de TTF o OTF. Aquest conversor permet optimitzar els fitxers resultants.