Merri Forum Index Merri

 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Enemmän fontteja: @font-face on saatu takaisin!

 
Post new topic   Reply to topic    Merri Forum Index -> Nettisivut
View previous topic :: View next topic  
Author Message
Merri
Site Admin


Joined: 11 Jan 2010
Posts: 19

PostPosted: 2010-Jan-Wed 15:04    Post subject: Enemmän fontteja: @font-face on saatu takaisin! Reply with quote

Kaikki uusimmat selaimet tukevat nyt CSS 3:n uudelleen esiteltyä @font-face -määritystä. Viimeisenä mukaan tuli Chrome, jonka uusi nelosversio lisäsi tuen. Aiemmin CSS 2 määritteli @font-facen, mutta vain Internet Explorer lisäsi tuen, ja sekin käyttäen omaa tiedostomuotoa, joka ei saavuttanut suurta suosiota. Sittemmin CSS 2.1:stä koko @font-face poistettiin kokonaan, mutta nyt CSS 3:ssa se palaa takaisin. Samaan aikaan kaikkien valtavirtaselaimien valmistajat ovat lisänneet tuen käytetyimmille tiedostomuodoille.


Käyttö pähkinänkuoressa

  1. Firefox 3.5, Safari 3.1+, Chrome 4+ ja Opera 10+ vaativat OTF tai TTF -fontin.
  2. Internet Explorer 4+ vaatii EOT-fontin.
  3. Firefox 3.6+ tukee myös WOFF-muotoa.
  4. IE:lle tarvitsee määrittää EOT omalla rivillään ja vain yksi fontti voidaan määrittää.
  5. Muut selaimet toimivat omalla rivillään, fonttimäärityksiä voidaan antaa useampia ja niille voi olla tarkenne tiedostomuodosta. Näin Firefox 3.6+ voi ladata valmiiksi pakatun WOFF-fontin kun muut selaimet voivat ladata joko OTF tai TTF-fontin. Fontista on myös mahdollista käyttää paikallista kopiota, mikäli sellainen on jo ladattuna koneelle.

Eli siis vaikka näin:
Code:
@font-face {
   font-family: 'LatiniaRegular';
   src: url('Latinia.eot');
   src: local('Latinia Regular'), local('Latinia-Normal'), url('Latinia.ttf') format('truetype');
}

Tämän lisäksi fontti täytyy toki määrittää käyttöön. Voit myös määrittää vaihtoehtoisia fontteja käytettäväksi siltä varalta, ettei jokin selain tue @font-facea tai mikäli palvelin ei virheen vuoksi kykene tarjoamaan fonttia:
Code:
body {
   font-family: 'LatiniaRegular', 'Calisto MT', 'Gentium', 'Palatino Linotype', 'Palatino', 'Georgia', 'Book Antiqua', 'Times New Roman', serif;
}
Vaihtoehtoisia fontteja ei toki tarvitse olla noin paljon.


Mistä fontteja saa?

Ongelmakohtia

Fonteissa on kaksi suurta ongelmaa: pakkaaminen ja välimuistitus. Lisäksi Internet Explorer tekee helposti ylimääräisiä kutsuja, siten rasittaen verkkoa turhaan. Jotkin fontit voivat helposti olla useita megatavuja, joten niitä olisi tilanteen mukaan hyvä rajata pienempään tilaan. WOFF-muotoiset tiedostot eivät ole aivan niin ongelmallisia, ne on jo valmiiksi pakattuja, mutta tässä vaiheessa vain Firefox 3.6 tukee niitä. TTF- ja OTF-muotoiset fontit sen sijaan kannattaa pakata palvelimen toimesta. Tämä onnistuu esimerkiksi käyttäen .htaccess-tiedostoa:
Code:
<ifModule mod_gzip.c>
   mod_gzip_on Yes
   mod_gzip_dechunk Yes
   mod_gzip_item_include file \.(eot|otf|ttf)$
   mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>

Huomaa että yleensä muitakin tiedostoja kannattaa pakata palvelimen toimesta!

Lisäksi fontit on hyvä välimuistittaa tehokkaasti:
Code:
<ifModule mod_headers.c>
   <filesMatch "\\.(eot|otf|ttf|woff)$">
      Header set Cache-Control "max-age=2592000, public"
   </filesMatch>
</ifModule>


Firefoxin verkkotunnuksen rajoitukset

Mikäli käytät sivuillasi useampia verkkotunnuksia, niin sinulla voi olla ongelmia saada fontti näkymään niillä sivuilla, joiden verkkotunnus poikkeaa esimerkiksi alidomainin käytön vuoksi siitä verkkotunnuksesta, jolla sivusi on. Esimerkiksi jos fontti on osoitteessa verkkotunnus.fi/fontti.ttf, mutta varsinainen sivu onkin osoitteessa oma.verkkotunnus.fi/sivu.html, niin fontti ei näy Firefoxissa. Jälleen täytyy turvautua .htaccessiin:
Code:
<FilesMatch "\.(eot|otf|ttf|woff)$">
   <IfModule mod_headers.c>
      Header set Access-Control-Allow-Origin "*"
   </IfModule>
</FilesMatch>

Tähden tilalle pitäisi myös kuulemma olla mahdollista syöttää http-alkuinen osoite, muttei se ainakaan omalla kohdallani ole toiminut.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Merri Forum Index -> Nettisivut All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group