I'm loading external css with link in iframe.
css contains #font-faces
#font-face {
font-family: "MyFont";
font-weight: normal;
font-style: normal;
src: url('/assets/fonts/myFont.woff');
}
and fonts are applied in all browsers except IE 10, 11 (I'm not intrested in below).
The css itself is loaded (other rules are applied in IE too) but #font-faces not.
If I emped font face with hardcore style tag, it works.
<style>
#font-face {
font-family: "MyFont";
font-weight: normal;
font-style: normal;
src: url('/assets/fonts/myFont.woff');
}
</style>
Maybe some one found a way to fix this for external css resource?
You must add your type font with EOT extension font, because IE support Embedded OpenType (EOT) file (.eot or .ote format).
If you do not have .eot or .ote file, convert font in this url everythingfont.
Correct font format,
<style type="text/css" >
#font-face {
font-family: 'Sri-TSCRegular';
src: url('sri-tsc-webfont.eot');
src: url('sri-tsc-webfont.eot?#iefix') format('embedded-opentype'),
url('sri-tsc-webfont.woff') format('woff'),
url('sri-tsc-webfont.ttf') format('truetype'),
url('sri-tsc-webfont.svg#Sri-TSCRegular') format('svg');
font-weight: normal;
font-style: normal;
}
body { font-family: "Sri-TSCRegular", serif }
</style>
Hope this help you.
Well I believe its a bug in IE and the only workaround is to hardwire css in tag id iframe document's head.
We had the almost the exact same problem. We were using Google's Webfont loader to load css fonts in both the parent and in the iFrame.
The iFrame was cross-domain so we couldn't use the iFrame method built-in to the Webfont api. The iFrame was responsible for loading it's own fonts.
The Webfont loader also provides callbacks for when a font is successfully loaded or not. What we found using IE (specifically version 11) loading the Debugging Tool AFTER the page load, was that the font loader was placing an inactive class on the HTML tag, which means the font did not successfully. If we ran the debugger before the page load, the fonts would magically load as expected and the web font loader would put the Active class on the HTML element, indicating a successful load.
What was stranger still, is when we tried to write the error to the console when a font failed, nothing would happen - never figured out what the issue was with that.
After doing plenty of research, we were able to replicate good behavior if we hard-coded the #FontFace declarations in our page's, head, just as the author of this question did. But since our service has no idea what fonts our users will be using, there is no way hard-coding styles was an option.
In the end, it seems to be some kind of caching bug, since the font loader worked while the debugger was running (apparently IE uses different caching rules while debugging - good idea, NOT). We tried setting No Cache metatags to no avail.
Anyway, the only viable answer I found was here:
IE8 web font iframe bug workarounds
Specifically unloading and reloading your stylesheets:
var sheets = document.styleSheets;
for(var s = 0, slen = sheets.length; s < slen; s++) {
sheets[s].disabled = true;
sheets[s].disabled = false;
}
I hope this helps some other poor coder who has yet again been suckered by the incompetent team over at IE.
Related
I am trying to embed a font file to my tumblr blog using #font-face and Font Squirrel kit, but so far I had no luck. I also used base64 encoding for embedding the font, but neither in Safari nor Firefox I cannot get it to work.
Edit: Uploading files and using them to tumblr's static area works in Safari and for Latin script. The font I am trying to use includes characters from Old Turkic script, and I cannot get these to work. Any advice regarding the complex scripts would be appreciated.
My code is below:
#font-face {
font-family: 'orkunregular';
src: url('http://static.tumblr.com/gaobkbe/d1rn63eux/orkun-regular-webfont.eot');
}
#font-face {
font-family: 'orkunregular';
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff'),
url('http://static.tumblr.com/gaobkbe/xtgn63ewo/orkun-regular-webfont.ttf') format('truetype'),
url('http://static.tumblr.com/gaobkbe/nZcn63ey6/orkun-regular-webfont.svg#orkunregular') format('svg');
font-weight: normal;
font-style: normal;
}
How to proceed from now on?
Don't try to store and serve the font files on tumblr itself. This is likely not permitted by Tumblr TOS.
Put the font files somewhere else and it will work.
What you have done so far is, you defined the font-family. That will not make the browser use it.
Add this to your current custom css.
section.post {
font-family: "orkunregular";
}
You need to apply that Font to the HTML-Elements you want to use it on.
section.post would be only your own blogposts.
if you want everything to use that font, try:
* {
font-family: "orkunregular" !important;
}
Please check the TOS of Tumblr if they allow that kind of customization, or atleast host those Fonts on a seperate webserver.
Okay, I've solved it. When generating the font kit, I chose the Unicode range of the Old Turkic script, then when used the new kit, it displayed without any problems.
Here's the blog page, http://bitigchi.tumblr.com/indiriler1
Thanks for all the answers.
I've seen some new websites that are using custom fonts on their sites (other than the regular Arial, Tahoma, etc.).
And they support a nice amount of browsers.
How does one do that? While also preventing people from having free access to download the font, if possible.
Generically, you can use a custom font using #font-face in your CSS. Here's a very basic example:
#font-face {
font-family: 'YourFontName'; /*a name to be used later*/
src: url('http://domain.example/fonts/font.ttf'); /*URL to font*/
}
Then, trivially, to use the font on a specific element:
.classname {
font-family: 'YourFontName';
}
(.classname is your selector).
Note that certain font-formats don't work on all browsers; you can use fontsquirrel.com's generator to avoid too much effort converting.
You can find a nice set of free web-fonts provided by Google Fonts (also has auto-generated CSS #font-face rules, so you don't have to write your own).
while also preventing people from having free access to download the font, if possible
Nope, it isn't possible to style your text with a custom font embedded via CSS, while preventing people from downloading it. You need to use images, Flash, or the HTML5 Canvas, all of which aren't very practical.
To make sure that your font is cross-browser compatible, make sure that you use this syntax:
#font-face {
font-family: 'Comfortaa Regular';
src: url('Comfortaa.eot');
src: local('Comfortaa Regular'),
local('Comfortaa'),
url('Comfortaa.ttf') format('truetype'),
url('Comfortaa.svg#font') format('svg');
}
Taken from here.
You have to download the font file and load it in your CSS.
F.e. I'm using the Yanone Kaffeesatz font in my Web Application.
I load and use it via
#font-face {
font-family: "Yanone Kaffeesatz";
src: url("../fonts/YanoneKaffeesatz-Regular.ttf");
}
in my stylesheet.
Today there are four font container formats in use on the web: EOT, TTF, WOFF,andWOFF2.
Unfortunately, despite the wide range of choices, there isn't a single universal format that works across all old and new browsers:
EOT is IE only,
TTF has partial IE support,
WOFF enjoys the widest support but is not available in some older browsers
WOFF 2.0 support is a work in progress for many browsers.
If you want your web app to have the same font across all browsers then you might want to provide all 4 font type in CSS
#font-face {
font-family: 'besom'; !important
src: url('fonts/besom/besom.eot');
src: url('fonts/besom/besom.eot?#iefix') format('embedded-opentype'),
url('fonts/besom/besom.woff2') format('woff2'),
url('fonts/besom/besom.woff') format('woff'),
url('fonts/besom/besom.ttf') format('truetype'),
url('fonts/besom/besom.svg#besom_2regular') format('svg');
font-weight: normal;
font-style: normal;
}
If you dont find any fonts that you like from Google.com/webfonts or fontsquirrel.com you can always make your own web font with a font you made.
here's a nice tutorial: Make your own font face web font kit
Although im not sure about preventing someone from downloading your font.
Hope this helps,
there's also an interesting tool called CUFON. There's a demonstration of how to use it in this blog
It's really simple and interesting. Also, it doesn't allow people to ctrl+c/ctrl+v the generated content.
I am working on Win 8, use this code. It works for IE and FF, Opera, etc.
What I understood are : woff font is light et common on Google fonts.
Go here to convert your ttf font to woff before.
#font-face
{
font-family:'Open Sans';
src:url('OpenSans-Regular.woff');
}
First of all, you can't prevent people from downloading fonts except if it is yours and that usually takes months.
And it makes no sense to prevent people from using fonts.
A lot of fonts that you see on websites can be found on free platforms like the one I mentioned below.
But if you want to implement a font into your website read this:
There is a pretty simple and free way to implement fonts into your website.
I would recommend Google fonts because it is free and easy to use.
For example, I'll use the Bangers font from Google.(https://fonts.google.com/specimen/Bangers?query=bangers&sidebar.open&selection.family=Bangers)
This is how it would look like:
HTML
<head>
<link href="https://fonts.googleapis.com/css2?family=Bangers&display=swap" rel="stylesheet">
</head>
CSS
body {
font-family: 'Bangers', cursive;
}
I am currently using the bulletproof syntax and converted fonts from Font-Squirrel for the fonts on
www.runningwithpurpose.org.nz (fonts inline css in the html - working)
www.runningwithpurpose.org.nz/broken (fonts in css file - not working)
.
The both methods display fontes fine on browsers other than IE which sometimes will display some or all the fonts and other times not at all (but usually not at all).
I have tried playing around with the htaccess file, using the 'smiley' syntax but neither worked.
However I did manage to fix it but putting the font css inline in the html file.
This is ok but I was wondering why I seem to be unable to get it working as many other people have the #font-face declarations in the css file which would be much cleaner and it used to work fine for me but doesn't.
Any suggestions on how to get this working would be great, considering no other existing help has worked.
One of the #font-face declarations used
#font-face {
font-family: 'Aller-Regular';
src: url('assets/fonts/aller-regular.eot');
src: url('assets/fonts/aller-regular.eot?#iefix') format('embedded-opentype'),
url('assets/fonts/aller-regular.woff') format('woff'),
url('assets/fonts/aller-regular.ttf') format('truetype'),
url('assets/fonts/aller-regular.svg#Aller-Regular') format('svg');
font-weight: normal;
font-style: normal;
}
Have you tried using Google webfont instead ?, I used to used fontface but found that Google font are a million times easier to implement, plus the user doesn't have to download the font off your server each time, it just comes straight from Google.
http://www.google.com/webfonts
As stated in my question I was able to fix it at the time by putting the #font-face declarations inline in the html.
But now IE seems to have decided to fix itself and let me declare #font-faces in the CSS.
I'm running into a small issue with a site I'm working on. I'm using the font services from Fonts.com to serve up the CSS and web fonts I use on the site, and everything works well except in Internet. The page appears to render with the fonts correctly in place, but when the loading is complete, IE reverts back to the default font.
Here's a sample of the CSS:
#font-face{
font-family:"HelveticaNeueW02-55Roma";
src:url("/d/0b3a3fca-0fad-402b-bd38-fdcbad1ef776.eot?d44f19a684109620e484167aa390e81872e11b421ef14b20f5dda8683b7716e34431bd7031a61bffb8b38558710357d5ed49d8a7dcd4f490bf2bc9922040a50d670eaafb6e334fcf61c48a10483015d48bd9b9cb074a09c71c211940cb0c60886a2d42510bad7eced9195baae7bedb11ccbdb0d618032faccca0c925a83db7aac01d0bae4b090b6680179034630a36491101451eadad15f77b41f406d48f0f3592bf2731964d594bed634b405df69863674a8be20883212f56ec396a14e1cc983ae5cf8a554298e7314350fa96b78a363d2b4ccfc8ff090d5c8ce49e47d02bc317e0334f5b6efa484026&projectId=215db553-2cf6-4cbb-a5fd-6a4b7d7b8bac") format("eot");
}
#font-face{
font-family:"HelveticaNeueW02-55Roma";
src:url("/d/0b3a3fca-0fad-402b-bd38-fdcbad1ef776.eot?d44f19a684109620e484167aa390e81872e11b421ef14b20f5dda8683b7716e34431bd7031a61bffb8b38558710357d5ed49d8a7dcd4f490bf2bc9922040a50d670eaafb6e334fcf61c48a10483015d48bd9b9cb074a09c71c211940cb0c60886a2d42510bad7eced9195baae7bedb11ccbdb0d618032faccca0c925a83db7aac01d0bae4b090b6680179034630a36491101451eadad15f77b41f406d48f0f3592bf2731964d594bed634b405df69863674a8be20883212f56ec396a14e1cc983ae5cf8a554298e7314350fa96b78a363d2b4ccfc8ff090d5c8ce49e47d02bc317e0334f5b6efa484026&projectId=215db553-2cf6-4cbb-a5fd-6a4b7d7b8bac");
src:url("/d/d5af76d8-a90b-4527-b3a3-182207cc3250.woff?d44f19a684109620e484167aa390e81872e11b421ef14b20f5dda8683b7716e34431bd7031a61bffb8b38558710357d5ed49d8a7dcd4f490bf2bc9922040a50d670eaafb6e334fcf61c48a10483015d48bd9b9cb074a09c71c211940cb0c60886a2d42510bad7eced9195baae7bedb11ccbdb0d618032faccca0c925a83db7aac01d0bae4b090b6680179034630a36491101451eadad15f77b41f406d48f0f3592bf2731964d594bed634b405df69863674a8be20883212f56ec396a14e1cc983ae5cf8a554298e7314350fa96b78a363d2b4ccfc8ff090d5c8ce49e47d02bc317e0334f5b6efa484026&projectId=215db553-2cf6-4cbb-a5fd-6a4b7d7b8bac") format("woff"),url("/d/1d238354-d156-4dde-89ea-4770ef04b9f9.ttf?d44f19a684109620e484167aa390e81872e11b421ef14b20f5dda8683b7716e34431bd7031a61bffb8b38558710357d5ed49d8a7dcd4f490bf2bc9922040a50d670eaafb6e334fcf61c48a10483015d48bd9b9cb074a09c71c211940cb0c60886a2d42510bad7eced9195baae7bedb11ccbdb0d618032faccca0c925a83db7aac01d0bae4b090b6680179034630a36491101451eadad15f77b41f406d48f0f3592bf2731964d594bed634b405df69863674a8be20883212f56ec396a14e1cc983ae5cf8a554298e7314350fa96b78a363d2b4ccfc8ff090d5c8ce49e47d02bc317e0334f5b6efa484026&projectId=215db553-2cf6-4cbb-a5fd-6a4b7d7b8bac") format("truetype"),url("/d/b68875cb-14a9-472e-8177-0247605124d7.svg?d44f19a684109620e484167aa390e81872e11b421ef14b20f5dda8683b7716e34431bd7031a61bffb8b38558710357d5ed49d8a7dcd4f490bf2bc9922040a50d670eaafb6e334fcf61c48a10483015d48bd9b9cb074a09c71c211940cb0c60886a2d42510bad7eced9195baae7bedb11ccbdb0d618032faccca0c925a83db7aac01d0bae4b090b6680179034630a36491101451eadad15f77b41f406d48f0f3592bf2731964d594bed634b405df69863674a8be20883212f56ec396a14e1cc983ae5cf8a554298e7314350fa96b78a363d2b4ccfc8ff090d5c8ce49e47d02bc317e0334f5b6efa484026&projectId=215db553-2cf6-4cbb-a5fd-6a4b7d7b8bac#b68875cb-14a9-472e-8177-0247605124d7") format("svg");
}
and typical use cases:
body {
font-family: "DIN Next W02 Cond";
font-weight: normal;
font-size: 14px;
font-weight: normal;
}
p {
font-family: "HelveticaNeueW02-55Roma";
font-weight: normal;
font-size: 14px;
line-height: 1.5;
}
The wide font is what displays after the page finishes loading, while the narrow font (the correct font) is displayed during page load.
Is there an easy fix? Fonts.com provides a web portal to specify the fonts in the CSS, which they serve from their servers - so I can't easily edit that. I can edit the font-family property for elements using the web fonts, though. If any more information is needed, I'll provide it where possible.
Edit: this is not a flash of unstyled content, it renders properly from what is presumably the cache, then (upon re-downloading the file) discards the custom font and replaces it with a default font when the page is done loading. It's the reverse of what I and others are expecting, hence posting here for a fix.
the flicker you see is fouc or fout, im assuming your using IE9, it'll will display text in a default font while the web font loads — even in compatibility mode.
#font-face {
font-family: 'OpenSansLight';
src: url('OpenSans-Light-webfont.eot');
src: url('OpenSans-Light-webfont.eot?#iefix') format('embedded-opentype'),
url('OpenSans-Light-webfont.woff') format('woff'),
url('OpenSans-Light-webfont.ttf') format('truetype'),
url('OpenSans-Light-webfont.svg#OpenSansLight') format('svg');
font-weight: normal;
font-style: normal;
}
that's the best way to get #font-face cross-browser. if you need those files created, head over to fontsquirrel.com
font loader is used by typekit and google fonts to fix the flash; i'm not sure if you'll have to tweak it for your code, but you can snag it on github https://github.com/typekit/webfontloader
So for me, it was a local issue.
When we deployed to our staging server, the fonts displayed correctly in IE 7 and 8 .
Still don't know why they're not showing up locally, but at least it works in production.
My fonts display properly in IE8 locally. Also works in chrome and FF.
The fonts fail in production. I'm using fontawesome for bootstrap twitter.
I find that once the page is loaded, If I select the entire page then all the loaded fonts appear. So they are there, but IE8 disregards once the page is loaded.
I've checked quirks mode and all other combinations.
It's definitely a "when loaded" to "speed of load" in "relation to other CSS" issue.
Re-positioning the CSS link higher or lower in the code has effects - though no clear fix.
It would be nice if I could "re-instate" the loaded fonts once the page was complete.
On our project we identified that web fonts would revert after page load in Internet Explorer when we had the developer tools open. We still have to remind ourselves of this from time to time, but this is why you might see this odd behavior occur locally but not in production.
It definitely does not happen on every page load, but is more frequent when we manually refresh pages. We have not found documentation for this behavior but have experienced it on multiple computers when running IE 10 and especially IE 11.
I had the same problem of flash of styled content and for me, the cause was two-fold:
I had the font installed locally
I was using the wrong URL for the web-font
So before the webfont loaded, Explorer served up the local version. It then tried to load the font with an incorrect URL, which didn't work, which caused it to fall back to a standard sans-serif font.
I've been developing a site that uses the Google Fonts API. It's great, and supposedly has been tested in IE, but when testing in IE 8 the fonts simply don't get styled.
I included the font, as Google instructs, thus:
<link href="http://fonts.googleapis.com/css?family=Josefin+Sans+Std+Light"
rel="stylesheet" type="text/css" />
and added its name to the front of a font family in CSS thus:
body {
font-family: "Josefin Sans Std Light", "Times New Roman", Times, serif;
font-size: 16px;
overflow-y: scroll;
overflow-x: hidden;
color: #05121F;
}
Works like a charm in Chrome, Firefox, Safari. No dice in IE 8. Anybody know why?
Looks like IE8-IE7 can't understand multiple Google Web Font styles through the same file request using the link tags href.
These two links helped me figure this out:
See this open Google issue, and look at the comments.
Also see this StackOverlow Answer Google Web Fonts don't work in
IE8
The only way I have gotten it to work in IE7-IE8 is to only have one Google Web Font request. And only have one font style in the href of the link tag:
So normally you would have this, declaring multiple font styles in the same request:
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic" />
But in IE7-IE8 add a IE conditional and specify each Google font style separately and it will work:
<!--[if lte IE 8]>
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:400" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:700" />
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:800" />
<![endif]-->
Hope this can help others!
The method, as indicated by their technical considerations page, is correct - so you're definitely not doing anything wrong. However, this bug report on Google Code indicate that there is a problem with the fonts Google produced for this, specifically the IE version. This only seems to affect only some fonts, but it's a real bummmer.
The answers on the thread indicate that the problem lies with the files Google's serving up, so there's nothing you can do about it. The author suggest getting the fonts from alternative locations, like FontSquirrel, and serving it locally instead, in which case you might also be interested in sites like the League of Movable Type.
N.B. As of Oct 2010 the issue is reported as fixed and closed on the Google Code bug report.
Google Fonts uses Web Open Font Format (WOFF), which is good, because it's the recommended font format by the W3C.
IE versions older than IE9 don't support Web Open Font Format (WOFF) because it didn't exist back then. To support < IE9, you need to serve your font in Embedded Open Type (EOT). To do this you will need to write your own #font-face css tag instead of using the embed script from Google. Also you need to convert the original WOFF file to EOT.
You can convert your WOFF to EOT over here by first converting it to TTF and then to EOT:
http://convertfonts.com/
Then you can serve the EOT font like this:
#font-face {
font-family: 'MyFont';
src: url('myfont.eot');
}
Now it works in < IE9. However, modern browsers don't support EOT anymore, so now your fonts won't work in modern browsers. So you need to specify them both. The src property supports this by comma seperating the font urls and specefying the type:
src: url('myfont.woff') format('woff'),
url('myfont.eot') format('embedded-opentype');
However, < IE9 doesn't understand this, it just graps the text between the first quote and the last quote, so it will actually get:
myfont.woff') format('woff'),
url('myfont.eot') format('embedded-opentype
as the URL to the font. We can fix this by first specifying a src with only one url which is the EOT format, then specifying a second src property that's meant for the modern browsers and < IE9 will not understand. Because < IE9 will not understand it it will ignore the tag so the EOT will still be working. The modern browsers will use the last specified font they support, so probably WOFF.
src: url('myfont.eot');
src: url('myfont.woff') format('woff');
So only because in the second src property you specify the format('woff'), < IE9 won't understand it (or actually it just can't find the font at the url myfont.woff') format('woff) and will keep using the first specified one (eot).
So now you got your Google Webfonts working for < IE9 and modern browsers!
For more information about different font type and browser support, read this perfect article by Alex Tatiyants:
http://tatiyants.com/how-to-get-ie8-to-support-html5-tags-and-web-fonts/
While Yi Jiang's solution may work, I don't believe abandoning the Google Web Font API is the right answer here. We serve a local jQuery file when it's not properly loaded from the CDN, right?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="/js/jquery-1.9.0.min.js"><\/script>')</script>
So why wouldn't we do the same for fonts, specifically for < IE9?
<link href='http://fonts.googleapis.com/css?family=Cardo:400,400italic,700' rel='stylesheet' type='text/css'>
<!--[if lt IE 9]><link href='/css/fonts.css' rel='stylesheet' type='text/css'><![endif]-->
Here's my process when using custom fonts:
Download the font's ZIP folder from Google, and use Font Squirrel's
#font-face Generator to create the local web font.
Create a fonts.css file that calls the newly created, locally hosted font files (only linking to the file if < IE9, as shown above). NOTE: The #font-face Generator creates this file for you.
#font-face {
font-family: 'cardoitalic';
src: url('cardo-italic-webfont.eot');
src: url('cardo-italic-webfont.eot?#iefix') format('embedded-opentype'),
url('cardo-italic-webfont.woff') format('woff'),
url('cardo-italic-webfont.ttf') format('truetype'),
url('cardo-italic-webfont.svg#cardoitalic') format('svg');
font-weight: normal;
font-style: normal;
}
#font-face {
font-family: 'cardobold';
src: url('cardo-bold-webfont.eot');
src: url('cardo-bold-webfont.eot?#iefix') format('embedded-opentype'),
url('cardo-bold-webfont.woff') format('woff'),
url('cardo-bold-webfont.ttf') format('truetype'),
url('cardo-bold-webfont.svg#cardobold') format('svg');
font-weight: normal;
font-style: normal;
}
#font-face {
font-family: 'cardoregular';
src: url('cardo-regular-webfont.eot');
src: url('cardo-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('cardo-regular-webfont.woff') format('woff'),
url('cardo-regular-webfont.ttf') format('truetype'),
url('cardo-regular-webfont.svg#cardoregular') format('svg');
font-weight: normal;
font-style: normal;
}
Using IE conditional classes in your main stylesheet to avoide faux weights and styles, your font styles might look like this:
h1{
font-size:3.25em;
font-weight:normal;
font-style:italic;
font-family:'Cardo','cardoitalic',serif;
line-height:1.25em;
}
h2{
font-size:2.75em;
font-weight:700;
font-family:'Cardo','cardobold',serif;
line-height:1.25em;
}
strong
,b{
font-family:'Cardo','cardobold',serif;
font-weight:700,
}
.lt-ie9 h1{
font-style:normal;
}
.lt-ie9 h2{
font-weight:normal;
}
.lt-ie9 strong,
.lt-ie9 b{
font-weight:normal,
}
Sure, it's a little extra work, but haven't we come to expect this from IE? Besides, it becomes second-nature after awhile.
For what its worth, I couldn't get it working on IE7/8/9 and the multiple declaration option didn't make any difference.
The fix for me was as a result of the instructions on the Technical Considerations Page where it highlights...
For best display in IE, make the stylesheet 'link' tag the first
element in the HTML 'head' section.
Works across IE7/8/9 for me now.
I tried all the options from above and they didn't work.
Then I located the google font (Over the Rainbow) in my folder (new) and used IE conditional below and it worked perfect.
<!--[if IE]>
<style type="text/css">
#font-face {
font-family: "Over the Rainbow";
src: url("../new/over.ttf");
src: local("Over the Rainbow"), url("../new/over.ttf");
}
</style>
<![endif]-->
I hope it will help
You can try fontsforweb.com where fonts are working for all browsers, because they are provided in TTF, WOFF and EOT formats together with CSS code ready to be pasted on your page i.e.
#font-face{
font-family: "gothambold1";
src: url('http://fontsforweb.com/public/fonts/5903/gothambold1.eot');
src: local("Gotham-Bold"), url('http://fontsforweb.com/public/fonts/5903/gothambold1.woff') format("woff"), url('http://fontsforweb.com/public/fonts/5903/gothambold1.ttf') format("truetype");
}
.fontsforweb_fontid_5903 {
font-family: "gothambold1";
}
or you can download them zipped in a package with CSS file attached
then just add class to any element to apply that font i.e.
<h2 class="fontsforweb_fontid_5903">This will be written with Gotham Bold font and will work in all browsers</h2>
See it working: http://jsfiddle.net/SD4MP/
It's all about trying all those answers, for me, nothing works except the next solution:
Google font suggested
#import 'https://fonts.googleapis.com/css?family=Assistant';
But, I'm using here foreign language fonts, and it didn't work on IE11 only. I found out this solution that worked:
#import 'https://fonts.googleapis.com/css?family=Assistant&subset=hebrew';
Hope that save someone precious time
Try this type of link , it will run in also IE . hope this helps .
<link href='//fonts.googleapis.com/css?family=Josefin+Sans:300,400,600,700,300italic' rel='stylesheet' type='text/css'>
I had the same problem with you.
I found a solution using a Adobe Web Fonts code, work perfect in Internet Explorer, Chrome, Firefox and Safari.
More info in this page: http://html.adobe.com/edge/webfonts/
After my investigation, I came up to this solution:
//writing the below line into the top of my style.css file
#import url('https://fonts.googleapis.com/css?family=Assistant:200,300,400,600,700,800&subset=hebrew');
MUST OBSERVE:
We must need to write the font-weight correctly of this font. For example: font-weight:900; will not work as we have not included 900 like 200,300,400,600,700,800 into the URL address while importing from Google with the above link. We can add or include 900 to the above URL, but that will work only if the above Google Font has this option while embedding.