tags:

views:

82

answers:

4

I have this code in the beginning of my CSS stylesheet (linked to my index.html, of course):

@font-face {
    font-family: "Calibri";
    src: local("Calibri"), local("Calibri"), url("fonts/Calibri-Bold.otf") format("truetype");
}

And i'm using:

#id {
font-family: Calibri, Verdana, Arial, sans-serif;
}

But it still doesn't work. What's wrong with my code?

+2  A: 

You have local("Calibri") repeated twice in your src property.

Also, keep in mind that IE does not support local() so if you are viewing your site in IE, it won't load the font. On top of that, IE, to my knowledge, only supports the EOT format.

For an OTF font, use format("opentype") (you have "truetype").

One more thing: If this is Microsoft's Calibri font, keep in mind that the license may not permit this type of use. I'm not familiar with the license so can't say for sure if this is the case.

Jeff
Calibri is available for licensing at http://www.ascendercorp.com/font/calibri/. Getting a copy bundled with Windows definitely doesn't entitle you to redistribute an embedded copy.
bobince
I used CALIBRI AS A EXAMPLE! :) I guess it's totally normal to have two "locals" (especially for fonts named like "MyFont Bold").
fomicz
A: 

Not an expert on the matter but you could try this tool here.

It might at least help generate an example of what you should have.

Tarmon
A: 

RESOLVED: it supports TTF (not OTF) files.

fomicz
A: 

In general, the accepted code to use at the moment is this:

@font-face {
  font-family: 'Graublau Web';
  src: url('GraublauWeb.eot');
  src: local('☺'),
    url("GraublauWeb.woff") format("woff"),
    url("GraublauWeb.otf") format("opentype"),
    url("GraublauWeb.svg#grablau") format("svg");
}

as suggested by Paul Irish: http://paulirish.com/2009/bulletproof-font-face-implementation-syntax/

The smiley for local is because you can't be sure the user's local file is the one you intend to be (read the page for the details, it's an interesting read.)

Laz75