La police Web personnalisée ne fonctionne pas dans IE9

j'ai téléchargé une police personnalisée ( Gotham-Light.eot ), mais cela ne fonctionne pas sur Internet Explorer 9.

@font-face {
    font-family: Gotham-Light;
    src: url('Gotham-Light.eot');
}

ça ne marche pas. J'utilise ASP MVC3 reconstruit, outil personnalisé utilisé, toujours rien.

3
demandé sur Pavlo 2012-09-11 02:59:23

4 réponses

Premièrement, les marchandises:

@font-face {
    font-family: 'ludger_duvernayregular';
    src: url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.eot');
    src: url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.eot?#iefix') format('embedded-opentype'),
         url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.woff') format('woff'),
         url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.ttf') format('truetype'),
         url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.svg#ludger_duvernayregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

p.test {
    font-family: 'ludger_duvernayregular', Arial, serif;
    font-weight: 400;
    color: blue;
}

Note, j'ai utilisé une face de police qui était volontairement facile à voir comme travaillant. ( Et je n'ai pas accès à Gotham dans une police web, donc... Je ne suis même pas sûr que Gotham soit autorisé à utiliser des polices web. Si vous n'avez pas de licence ou si la licence ne l'autorise pas, veuillez la respecter. ) donc vous devrez faire un peu de réflexion sur les chemins vers vos fichiers de police.

ce que j'ai fait est de consulter le Post de blog AlienWebGuy lié à , qui est bon. Il n'est pas long, alors j'aimerais le lire. Il se résume à:

  1. peut-être un type MIME mal configuré pour le fichier de police. Voir ci-dessous pour plus d'info. Il y a aussi une note qu'Apache peut avoir ce problème, il semble être plus d'un problème IIS (selon l'article).
  2. Vous pouvez tromper (?) IE9 pour utiliser le fichier EOT au lieu du WOFF, qui apparemment fixe la question (selon l'article).

de plus, IE9 a eu un problème d'affichage de la police avec une Démo jsfiddle utilisant le même CSS . Très bizarre. IE7 et 8 fonctionnaient bien, donc je sais que ça marchait d'une certaine façon. Je n'ai pas compris de quoi il s'agissait, mais j'ai sauvegardé le même markup et CSS à un fichier sur mon site et il fonctionne très bien.

Panne...

permettez-moi d'expliquer ce qui se passe dans la CSS ci-dessus. Je vais parcourir chaque ligne. Cependant, gardez à l'esprit que j'ai la police web dans les formats de fichier suivants:

  • eot
  • woff
  • ttf
  • svg

vous avez vraiment probablement besoin de eot , ttf et woff si vous ne vous souciez pas de soutenir legacy iOS. SVG traductions sont difficiles à obtenir, cependant.

Maintenant, le nom de votre police de sorte que vous pouvez y faire référence:

font-family: 'ludger_duvernayregular';

IE9 Compat Modes:

src: url('http://jfcoder.com/css/fonts/ludgerduvernay-fontsquirrel/ludgerduvernay.eot');

souvenez-vous de vérifiez que les URL que vous utilisez ici conduisent à un vrai fichier . Mettez-le dans la barre d'adresse et voir ce qui se passe (est-il Télécharger? 404?).

sur ce qui suit, cependant, je vais supprimer L'URL complète de sorte que vous pouvez voir la déclaration entière, y compris la fin.

IE6, 7 et 8:

src: url('http://../ludgerduvernay.eot?#iefix') format('embedded-opentype'),

Note cette partie:

.eot?#iefix <<< See below for an explanation.

"

dans de rares cas, IE échouera parce que le @font-face déclaration a trop de caractères . Ceci peut être résolu dans la plupart des cas par ajouter une marque de hash ’ # ‘après la'?"point d'interrogation . Ce qui vous permet d'acheter un peu de place supplémentaire.

- D'après L'article de Font Spring

Je ne sais pas pourquoi cela fonctionne, donc je prends leur parole.

Navigateurs Modernes:

url('http://../ludgerduvernay.woff') format('woff'),

Safari, Android, iOS:

url('http://../ludgerduvernay.ttf') format('truetype'),

Héritage iOS:

url('http://../ludgerduvernay.svg#ludger_duvernayregular') format('svg');

alors utilisez-le:

p {
    font-family: 'ludger_duvernayregular', Arial, serif;
}

j'ai été réellement surpris que cela fonctionne de retour à IE6. Quoi qu'il en soit, notez que j'utilise un chemin complet vers le fichier, pas un chemin relatif. C'est habituellement un bon point de départ; vérifiez que le lien est bien téléchargé . J'en fais tout un plat parce que c'est basique et facile à foirer.

Donc, si le téléchargement du fichier avec l'url et vous avez travaillé dans d'autres navigateurs, et dans IE6, 7 et/ou 8, vous pouvez regarder une autre possibilité:

Fix IE9 sur le Côté Serveur (IIS)

le serveur IIS de Microsoft refuser d'envoyer des ressources à ne pas avoir un type MIME pour. La syntaxe que nous avons développée force IE9 à prendre la Mais s'il est servi sur IIS, il échouera. C'est parce que IE9 demande le fichier WOFF, mais puisque WOFF n'est pas un fichier défini Type MIME dans IIS, une erreur 404 Not Found est renvoyée. Pour résoudre ce, vous devez ajouter".woff’ avec le type MIME " application/x-font-woff’ à votre L'installation d'IIS.

- de la La police de Printemps de l'article

donc vous pourriez avoir à vérifier votre serveur n'est pas borking it. Vous pouvez également utiliser la Console de Chrome ou L'onglet Pare-feu NET pour visualiser les en-têtes envoyés avec le fichier.

maintenant j'ai eu un peu d'aide ici, et je pense que vous devriez penser aux options suivantes:

  1. Google Web Fonts . Ne pas être un héros. Ils hébergent la police, vous donner le markup de feuille de style inclure, et presto whammo, vous êtes en affaires. Ils ont aussi des polices assez cool. Il ya autres services de police de caractères web , tels que Typekit, Webtype, Fontdeck, et les polices de caractères en direct.
  2. Police de l'Écureuil a une @font-Face Generator , qui peut vous donner tous les fichiers dont vous avez besoin ( Avertissement: ne soumettre que des polices savoir pour être titulaire de la licence d'utilisation du web . ). Utilisez le mode Expert, et il vous donnera un fichier ZIP avec beaucoup de bonnes choses, y compris une démo. Celui que j'ai reçu vous pouvez télécharger ici. Ce qui est intéressant, c'est que le CSS généré est identique au ressort de police, moins les commentaires. Ce n'est probablement pas une coïncidence.
  3. j'ai trouvé cet outil génial sur cette page Dev Opera . C'est aussi la peine de lire.
  4. et bien sûr, que Post de blog AlienWebGuy lié à à font Spring .

ce n'est pas difficile, mais vous devez savoir comment dépanner. Vérifiez toujours que le fichier est téléchargé; vous pouvez utiliser L'onglet Ressources de la Console de Chrome ou Firefox Firebug Add-on et regarder L'onglet NET pour voir si elle télécharge. Il si juste littéralement ne fonctionnera pas, postez la page ou le code quelque part où nous pouvons obtenir et que nous puissions l'examiner.

Heureux de codage. :)


la police super cool utilisée dans la démo est Ludger Duvernay Regular . Pour plus d'information, voir Steve Cloutier/Cloutierfontes site. Merci de le rendre Gratuit pour un usage personnel. :)

16
répondu Jared Farrish 2015-04-22 20:32:30

si vous suivez les instructions affichées ici ... http://www.fontspring.com/blog/fixing-ie9-font-face-problems -- alors c'est très probablement la façon dont vous appelez les polices.

assurez - vous que vous pointez vers le bon emplacement à partir de votre feuille de style-le code que vous avez ci-dessus ne fonctionnera que si le fichier de police est dans le même répertoire que la feuille de style.

Espérons que cette aide.

1
répondu streetlight 2012-09-11 00:53:06

Gotham est un produit commercial, et si vous venez de le télécharger de quelque part, il est probablement une copie illégale ou un faux, et pourrait bien être techniquement cassé aussi.

envisagez d'utiliser une police de caractères libre de conception similaire, telle que calque .

1
répondu Jukka K. Korpela 2012-09-11 05:14:35

pour les googleurs: j'ai eu un problème avec le nom de police long ou le conflit avec la police déjà installée. De toute façon, IE était le seul navigateur à avoir des problèmes.

j'ai changé

font-family: 'HelveticaLTUltraCompressedRegular';

à

font-family: 'HelveticaLTUCR';

qui a résolu mon problème.

0
répondu Jonas Äppelgran 2013-09-10 09:53:34