web-dev-qa-db-fra.com

IE 11: erreur CSS3111 dans mon propre code et google.com/fonts ne restitue aucune police

Je développe un site Web qui utilise la police de caractères Google Open Sans comme suit:

<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700italic,800italic,800,700' rel='stylesheet' type='text/css'>

J'utilise normalement Chrome lorsque je travaille avec mon site Web, mais aujourd'hui, j'ai décidé de voir à quoi il ressemble dans IE 11 (11.0.10240.16431) sous Windows 10. Malheureusement, Open Sans n'est ni chargé ni rendu correctement. Je vois beaucoup de ces erreurs dans la console des outils de développement:

CSS3111: @font-face encountered unknown error.
PRmiXeptR36kaC0GEAetxjqR_3kx9_hJXbbyU8S6IN0.woff

Penser que c'était étrange - j'avais précédemment développé un site qui chargeait bien Google Fonts dans IE 10 - Je me dirigeais vers https://www.google.com/fonts . Plus d'erreurs CSS3111, chaque police personnalisée étant affichée dans serif:

 Google Fonts broken in IE 11

 Google Fonts broken in IE 11

Google Fonts est-il simplement cassé pour IE 11? Les polices se chargent correctement dans Edge, Chrome, Firefox, etc. Je ne sais pas comment procéder pour que ces polices fonctionnent dans IE.

UPDATE 1

Si vous définissez le mode document émulé sur 8 dans IE 11, le rendu des polices est correct. IE 9+ présentait toujours les mêmes problèmes, cependant. S'agit-il d'une sorte de traitement incorrect de la chaîne d'agent utilisateur par Google?

 Correct rendering

UPDATE 2

Je suis allé sur FontSquirrel et ai téléchargé Open Sans dans tous ses formats. J'ai aussi importé le CSS fourni dans le zip. Malheureusement, IE et maintenant Firefox continuent d'indiquer que la police ne peut pas être utilisée. Firefox dit downloadable font: not usable by platform.

UPDATE 3

J'ai confirmé que le paramètre Téléchargement de police d'IE est défini sur Activé pour toutes les zones de sécurité.

16
NathanAldenSr

Pour moi, ce problème était dû à une fonctionnalité de Windows 10 appelée Untrusted Font Blocking. Cela était activé dans les paramètres de stratégie de groupe de mon réseau de bureau.

À l'aide de cette fonctionnalité, vous pouvez activer un paramètre global qui empêche les utilisateurs de charger des polices non fiables traitées par l'interface GDI (Graphics Device Interface). Les polices non approuvées sont toutes les polices installées en dehors du répertoire% windir%/Fonts. https://support.Microsoft.com/en-us/kb/3053676

Pour désactiver le blocage des polices non approuvées à l'aide de la stratégie de groupe:

  1. Ouvrir l'éditeur de gestion des stratégies de groupe
  2. Sous Stratégie de l'ordinateur local, développez Configuration de l'ordinateur, développez Modèles d'administration, développez Système, puis cliquez sur Options d'atténuation.
  3. Dans le paramètre Blocage de polices non fiables, sélectionnez Ne pas bloquer les polices non fiables.

Pour désactiver le blocage des polices non approuvées à l'aide de l'Éditeur du Registre:

  1. Ouvrez l'Éditeur du Registre (regedit.exe) et accédez à la sous-clé de registre suivante: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Gestionnaire de sessions\Kernel \
  2. Si la clé MitigationOptions n'est pas présente, cliquez avec le bouton droit de la souris et ajoutez une nouvelle valeur QWORD (64 bits), en la nommant comme MitigationOptions.
  3. Pour désactiver cette fonctionnalité. Tapez 2000000000000.

IMPORTANT: Un redémarrage de l'ordinateur est requis pour que les modifications prennent effet

20
Fraser Crosbie

Aussi étrange que cela puisse paraître, la solution consiste à activer le pare-feu Windows. Avec le pare-feu désactivé, vous ne pouvez même pas ajouter de polices TTF au système. Il s'agit du même problème que pour @font-face. J'ai trouvé cette solution ici: https://superuser.com/questions/957907/unable-to-install-fonts-on-windows-10

4
fpbhb

Ne vous inquiétez pas du blocage des polices. Transformez vos polices en base64 et incluez-les via CSS. De cette façon, vous passez les polices à travers le code du navigateur et les fichiers de polices ne sont pas téléchargés de la manière habituelle. C’est aussi un problème de DISA STIG pour désactiver les polices téléchargeables. La solution peut être vu à ce poste et également copié ici:

Vous avez juste besoin de Base64 la police et de l’inclure dans un fichier CSS. Assurez-vous de supprimer votre appel du fichier WOFF téléchargeable une fois que vous avez inclus l'appel du nouveau FontAwesomeB64.css.

Utilisez https://www.base64encode.org/ pour coder le fichier de police WOFF Font-Awesome.

Editez le fichier résultant et ajoutez ces lignes. Lorsque vous arrivez à la ligne src: url, assurez-vous de l'exporter dans les informations base64 que vous avez reçues (n'utilisez pas les signes supérieur à et inférieur à que je montre ici.) À la fin de ces informations en base64, ajoutez le guillemet simple , parenthèses, un point-virgule et une accolade pour finir:

@font-face { 
font-weight: 400;
font-style: normal;
font-family: 'FontAwesome';
src:url(data:application/x-font-woff;base64,<insert base64 code here>);}

Vous avez maintenant un fichier CSS base64 de la police Font-Awesome qui contourne tous les paramètres de refus de téléchargement des polices dans les navigateurs.

J'ai constaté que cela fonctionne avec toutes les polices, un peu plus lourd pour le téléchargement mais la garantie de la fonctionnalité.

1
TadLewis

J'ai ce problème exact sur de nombreuses machines Windows 10/IE 11 (les polices Web ne fonctionnent pas et donnent des erreurs CSS3111 dans la console de débogage). Dans tous les cas, le pare-feu était déjà activé (et géré par une stratégie de groupe).

J'ai trouvé que désactiver le pare-feu dans le registre. problème. 

L'autre chose qui règle toujours le problème est de désélectionner "Internet Explorer" dans les fonctionnalités de Windows, de redémarrer, puis de sélectionner de nouveau "Internet Explorer" et de redémarrer à nouveau. 

Mon hypothèse est qu'il s'agit d'un type de bogue de pare-feu Windows interne et que les deux actions ci-dessus déclenchent le service de pare-feu pour nettoyer un type de corruption interne.

0
ssabey

Dans Windows 10, le blocage de polices comporte trois niveaux:

  • Paramètres de sécurité IE pour le téléchargement de polices (partie utilisateur)
  • Option "blocage des polices non fiables" (niveau ordinateur)
  • Option "Activer les fournisseurs frontaux" (niveau ordinateur)

Vous devez tout activer pour que cela fonctionne.

0
Teo Test