Tetszőleges betűtípusú szövegek CSS-sel
A nemsokára megjelenő Firefox 3.5-ös kiadás számos újdonságot kínál a webfejlesztőknek. Ezek közül az alábbiakban a
A @font-face szabály a CSS2 ajánlásban jelent meg először, majd a 2.1-ből kivették, hogy végül a CSS3 Fonts Module részeként bukkanjon fel újra. A böngészők közül eleddig az Internet Explorer (4-es óta), valamint a Safari (3.1-től) és Chrome (2-es széria) támogatta a szabályt. (Az Opera a 10-estől fogja). Igaz, míg utóbbi csapathoz csatlakozó Firefox is elérhetővé teszi OpenType és TrueType betűkészletek betöltését, az IE addig csak ún. Embedded OpenType fontokat tud betölteni (a többiek meg azt nem).
Stílusosan a Firefox 3.5-ös verziójának telepítését követően a böngésző üdvözlő felületén találkozhatunk a
Lássuk, miként használhatjuk ezt a szabályt.A
Az a böngésző gyártóra van bízva, hogy miképp oldja meg a fontok gyorstárazását, mindenesetre az ajánlás lehetővé teszi aA firefoxos megvalósítás még egy ismérve, hogy amíg a külső betűtípus nem töltődik le, addig a CSS szabályok szerinti következő betűtípussal rendereli a szöveget.
Akkor tehát semmi sem gátolja meg a webet, hogy elárasszák a csudálatos betűtípusú feliratok? Két dolog azért némiképp. Egyfelől a felvezetőben említett IE nem támogatja a többi böngésző által ismert formátumokat, csak az Embedded OpenType-ot. Ehhez szerencsére kínál eszközt a gyártó WEFT néven, így ez a probléma egy ügyes fogással áthidalható.A másik problémát pedig a betűkészletek beszerzésének és terjesztésének jogviszonya vetheti fel. Természetesen csak legálisan birtokolt vagy (megbízható forrásból) ingyenesen elérhető betűkészletekkel turbózhatjuk meg az ügyfél designját – ezt érdemes a grafikusok felé is tolmácsolni, azzal együtt, hogy hamarosan szabadabb kezet kapnak.
■ @font-face
CSS szabály megvalósításáról szólok, amely segítségével a látogató számítógépére telepített betűtípusoktól függetlenül, tetszőleges fonttal jeleníthetjük meg weblapunk szövegeit. Jelentős igény mutatkozik a webbiztos betűtípusok-tól eltérő fontok használatára, a Weblabor hasábjain is már több ízben előkerült a téma.A @font-face szabály a CSS2 ajánlásban jelent meg először, majd a 2.1-ből kivették, hogy végül a CSS3 Fonts Module részeként bukkanjon fel újra. A böngészők közül eleddig az Internet Explorer (4-es óta), valamint a Safari (3.1-től) és Chrome (2-es széria) támogatta a szabályt. (Az Opera a 10-estől fogja). Igaz, míg utóbbi csapathoz csatlakozó Firefox is elérhetővé teszi OpenType és TrueType betűkészletek betöltését, az IE addig csak ún. Embedded OpenType fontokat tud betölteni (a többiek meg azt nem).
Stílusosan a Firefox 3.5-ös verziójának telepítését követően a böngésző üdvözlő felületén találkozhatunk a
@font-face
-szel működés közben.@font-face támogatás Firefox 3.5-ben
Lássuk, miként használhatjuk ezt a szabályt.
@font-face {
font-family: "Laffayette Comic Pro";
src: url("/img/fonts/Laffayette_Comic_Pro.ttf");
}
p {
font-family: "Laffayette Comic Pro", sans-serif;
}
@font-face
-en belül ún. font deszkriptorokat adhatunk meg. Egy stíluslapon több szabály is használható, egy @font-face
blokk egy új betűtípus allokációjóért felelős. A fenti példát az említett mozillás felületről kölcsönöztem. Laffayette Comic Pro néven bevezetünk egy új betűtípust, amelyet az /img/fonts/Laffayette_Comic_Pro.ttf
helyről töltünk be. Noha a szabványban nem találtam ide vonatkozó passzust, illetve a példakódban is abszolút címzésű URI-t használnak, addig a firefoxos implementáció csak ugyanarról a doménról enged betűtípust betölteni, így hiába próbálkozunk a weboldalunkon az alábbi snipettel, nem lesz hatása.
@font-face {
font-family: "Laffayette Comic Pro";
src: url("http://hu.www.mozilla.com/img/fonts/Laffayette_Comic_Pro.ttf");
}
In Gecko, web fonts are subject to the same domain restriction (font files must be on the same domain as the page using them), unless HTTP access controls are used to relax this restriction.
Az a böngésző gyártóra van bízva, hogy miképp oldja meg a fontok gyorstárazását, mindenesetre az ajánlás lehetővé teszi a
src
tulajdonságnál további erőforrások megadását is, amelyek hivatkozhatnak helyi resource-ra is.
@font-face {
font-family: "Laffayette Comic Pro";
src: local("Laffayette_Comic_Pro.ttf"),
url("/img/fonts/Laffayette_Comic_Pro.ttf");
}
Akkor tehát semmi sem gátolja meg a webet, hogy elárasszák a csudálatos betűtípusú feliratok? Két dolog azért némiképp. Egyfelől a felvezetőben említett IE nem támogatja a többi böngésző által ismert formátumokat, csak az Embedded OpenType-ot. Ehhez szerencsére kínál eszközt a gyártó WEFT néven, így ez a probléma egy ügyes fogással áthidalható.
@font-face { /* Webkit, Gecko */
font-family: "Laffayette Comic Pro";
src: local("Laffayette_Comic_Pro.ttf"),
url("/img/fonts/Laffayette_Comic_Pro.ttf");
}
@font-face { /* IE */
font-family: "Laffayette Comic Pro IE";
src: local("Laffayette_Comic_Pro.eot"),
url("/img/fonts/Laffayette_Comic_Pro.eot");
}
p {
font-family: "Laffayette Comic Pro", "Laffayette Comic Pro IE", sans-serif;
}
jogviszony
Ebben igazad van, de ehhez
Cserébe megint több kérés lesz
Plusz kérés
a keep-alive az arra nyujt
de ettol meg az egy iranyba kozlekedo parhuzamos requestek szama adott.
es ez igen is szuk keresztmetszet, es szerintem igen is gond a plusz lekerdezes.
nem veletlen, hogy gzipelt, minified, kombinalt js-eket szolgalunk ki
es ugyanez igaz a css-re is. es a spriteokra is.
az mind emiatt van.
Ésszerű használata mellett
értem én
az igazi veszély a "pistikék" által készített weboldalak - napi 3 látogatóval bíró comic sans-ot használó oldalak :) -, ott a kérdés az lesz hogy a fejlesztő vagy a vevő büntethető majd a betű jogtalan használatáért.
Sáv
Ahol ez elfogadható ott amúgy is flasht használnak, amit sosem fog utólérni a HTML-alapú technológia.
Cache-elséi stratégia ügyesebben is kitalálható lett volna. A same-domain policy pedig egyszerűen butaság, a valódi problémák megoldásának elodázása. Nem hiszem, hogy bármilyen szerzői jogi vagy jószomszédsági kérdést felvet, amit képek beágyazása más domainről ne vetne fel.
szerintem nem rossza a same
terhelje csak a sajat szerveret es ne az enyemet a font behuzasaval.
És mi van a képekkel?
Ugyanakkor lehetőséged lenne engedélyezni is, hogy mások a fontjaidat linkejék, mondjuk a saját termékeid promótálására, vagy értékes statisztikai információk begyűjtésére.
Így tudott működni tömegesen
Ez így van, mert így tudott működni tömegesen. Hosszabb olvasáskor viszont ez (legalábbis nálam) jelentkezik is. Rettentően fárasztja a szemet például a Google Readerben a tucatnyi egyen fontú hasáb olvasása, sokszor csak azért megyek át a gazda oldalra, hogy más tipográfiában lássam a szöveget.
Ment már eddig is...
A következőkkel néztem:
IE6 -> nem tudtam működésre bírni
IE7 -> megy
IE8 -> megy
Firefox 3.0.11 -> megy
Opera 9.64 -> megy
Chrome 2.0.172.33 -> megy
Safari 4.0 (530.17) -> megy, de alapból vastagabban jeleníti meg
3.0.11-gyel nem megy nálam
akkor lehet, hogy...
Na ezt viszont nem vizsgáltam.
Chrome 2.0.172.33
Egyéb böngészők
benyomom a szégyen gombot
Szerkesztve:
beraktam egy olyan fontot, ami biztos, hogy nincs installálva (se nálam, se a haverok gépén) és a Weft is engedte embedelni.
IE6 belépett a játékba, viszont az FF, Chrome és Opera általam használt verziói valóban kiestek.
FF+ IE Tab
License broken
És tényleg, íme: http://code.google.com/p/ttf2eot/