Je suis en train de pré-compiler des ressources et d’exécuter l’application en mode de production. Après la compilation, lorsque j'ai chargé la page d'index, des avertissements ont suivi dans la console chrome:
Failed to decode downloaded font: http://localhost:3000/fonts/ionicons.ttf?v=2.0.0
prospects:1 OTS parsing error: invalid version tag
Failed to decode downloaded font: http://localhost:3000/fonts/ionicons.woff?v=2.0.0
prospects:1 OTS parsing error: invalid version tag
Le problème est qu'il ne charge pas les icônes au lieu de voir ses carrés d'affichage.
nous avons utilisé les polices personnalisées et le code est le suivant:
@font-face {
font-family: 'icomoon';
src: font-url('icomoon.eot');
src: font-url('icomoon.eot?#iefix') format('embedded-opentype'),
font-url('icomoon.ttf') format('truetype'),
font-url('icomoon.woff') format('woff'),
font-url('icomoon.svg#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
Je ne sais pas ce qui manque à ma fin. J'ai beaucoup cherché et j'ai aussi essayé une solution, mais sans succès. En mode développement, il fonctionne bien, mais je ne sais pas pourquoi il est affiché en mode production.
J'ai eu exactement la même erreur, et dans mon cas, c'est dû à un chemin incorrect pour la déclaration @font-face
. L'inspecteur Web ne s'est jamais plaint d'un 404 puisque le serveur de dev que nous utilisons (live-server) a été configuré pour servir le fichier index.html par défaut sur tous les 404: s. Sans connaître les détails de votre configuration, cela pourrait être un coupable.
Si vous utilisez IIS en tant que serveur et .net 4/4.5, il se peut qu'il manque des définitions d'extension mime/file dans Web.config - comme ceci:
<system.webServer>
<staticContent>
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".ttf" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>
</system.webServer>
J'avais le même problème ., OTS parsing error: Failed to convert WOFF 2.0 font to SFNT (index):1 Failed to decode downloaded font: http://dev.xyz/themes/custom/xyz_theme/fonts/xyz_rock/rocksansbold/Rock-SansBold.woff2
Si vous recevez ce message d'erreur en essayant de valider votre police, il s'agit d'un problème lié à .gitattributes "warning: CRLF will be replaced by LF
"
La solution à cela consiste à ajouter la police avec laquelle vous rencontrez le problème dans .gitattributes
*.ttf -text diff
*.eot -text diff
*.woff -text diff
*.woff2 -text diff
Ensuite, j'ai supprimé les fichiers de police corrompus et réappliqué les nouveaux fichiers de police et fonctionne très bien.
essayer
@font-face {
font-family: 'icomoon';
src: asset-url('icomoon.eot');
src: asset-url('icomoon.eot?#iefix') format('embedded-opentype'),
asset-url('icomoon.ttf') format('truetype'),
asset-url('icomoon.woff') format('woff'),
asset-url('icomoon.svg#icomoon') format('svg');
font-weight: normal;
font-style: normal;
}
et renommez votre fichier en application.css.scss
J'avais une police corrompue, bien qu'elle semblait se charger sans problème et sous Sources dans Chrome, devtools semblait s'afficher, le nombre d'octets n'était pas correct, j'ai donc téléchargé à nouveau et résolu le problème.
J'avais le même problème et c'était à cause du git qui traitait ces fichiers comme du texte. Ainsi, lors de l'extraction des fichiers dans les agents de génération, le binaire n'a pas été maintenu.
Ajoutez ceci à votre fichier .gitattributes
et essayez.
*.eot binary
*.ttf binary
*.woff binary
*.woff2 binary
Allez à l’adresse ci-dessous sur GitHub et téléchargez chacun des fichiers FontAwesome.
https://github.com/FortAwesome/font-awesome-sass/tree/master/assets/fonts/font-awesome
... mais au lieu de cliquer avec le bouton droit de la souris et d'enregistrer le lien sous, cliquez sur chacun des fichiers et utilisez le bouton 'Télécharger' pour les enregistrer.
J'ai constaté qu'en enregistrant le lien sous forme téléchargée une page HTML et non le fichier binaire de FontAwesome.
Une fois que j'ai eu tous les binaires, cela a fonctionné pour moi.
Lorsque vous utilisez angular-cli
, voici ce qui fonctionne pour moi:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".eot" />
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".ttf" />
<mimeMap fileExtension=".ttf" mimeType="application/octet-stream" />
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".woff" />
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<remove fileExtension=".woff2" />
<mimeMap fileExtension=".woff2" mimeType="application/font-woff2" />
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
<rewrite>
<rules>
<rule name="AngularJS" stopProcessing="true">
<match url="^(?!.*(.bundle.js|.bundle.js.map|.bundle.js.gz|.bundle.css|.bundle.css.gz|.chunk.js|.chunk.js.map|.png|.jpg|.ico|.eot|.svg|.woff|.woff2|.ttf|.html)).*$" />
<conditions logicalGrouping="MatchAll">
</conditions>
<action type="Rewrite" url="/" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Je recevais les erreurs suivantes:
Failed to decode downloaded font: [...]/fonts/glyphicons-halflings-regular.woff2
OTS parsing error: invalid version tag
qui a été corrigé après le téléchargement du fichier brut directement à partir de:
https://github.com/twbs/bootstrap/blob/master/fonts/glyphicons-halflings-regular.woff2
Le problème était qu’il y avait une erreur de proxy lors du téléchargement du fichier (il contenait le message d’erreur HTML).
Mon problème était que je déclarais deux polices, et scss semble s’attendre à ce que vous déclariez le nom de la police.
après votre @font-face{}
vous devez déclarer $my-font: "OpenSans3.0 or whatever";
et ceci pour each font-face.
:-)
Pour les utilisateurs de angular-cli et webpack Je soupçonnais qu'il y avait un problème lors de l'importation des polices dans le fichier css. Merci d'indiquer également l'emplacement de l'URL avec des guillemets simples comme suit -
@font-face {
font-family: 'some_family';
src: url('./assets/fonts/folder/some_family-regular-webfont.woff2') format('woff2'),
url('./assets/fonts/folder/some_family-regular-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}
Ce message est peut-être ancien, mais c’est la solution qui a fonctionné pour moi.
Si vous utilisez Chrome, essayez d’ajouter une version opentype (OTF) de votre police, comme indiqué ci-dessous:
...
url('icomoon.otf') format('opentype'),
...
À votre santé!
J'ai eu le même problème lorsque j'ai ouvert et enregistré des fichiers .woff
et .woff2
via Sublime Text avec EditorConfig
option end_of_line = lf
. Je viens de copier des fichiers dans un dossier de polices sans les ouvrir dans Sublime et le problème a été résolu.
J'ai eu le même problème.
L'ajout de la version de la police (par exemple ?v=1.101
) aux URL de la police devrait faire l'affaire;)
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
src: url('../fonts/open-sans-v15-latin-600.eot?v=1.101'); /* IE9 Compat Modes */
src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
url('../fonts/open-sans-v15-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts/open-sans-v15-latin-600.woff2?v=1.101') format('woff2'), /* Super Modern Browsers */
url('../fonts/open-sans-v15-latin-600.woff?v=1.101') format('woff'), /* Modern Browsers */
url('../fonts/open-sans-v15-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
url('../fonts/open-sans-v15-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
}
En cliquant (clic droit) sur la version TTF de la police et en sélectionnant "Lire les informations" (Mac OSX), "Propriétés" (Windows) dans le menu contextuel devrait suffire à accéder à la version de la police.
Si vous utilisez bootstrap, mettez à jour le fichier bootstrap css (bootstrap.min.css
) et les fichiers de polices. J'ai résolu mon problème avec cette solution.
Vérifiez le fichier css de votre police . (fontawesome.css/fontawesome.min.css) , vous verrez comme ceci:
@font-face {
font-family: 'FontAwesome';
src: url('../fonts/fontawesome-webfont.eot-v=4.6.3.htm');
src: url('../fonts/fontawesome-webfont.eot#iefix-v=4.6.3') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2-v=4.6.3.htm') format('woff2'), url('../fonts/fontawesome-webfont.woff-v=4.6.3.htm') format('woff'), url('../fonts/fontawesome-webfont.ttf-v=4.6.3.htm') format('truetype'), url('../fonts/fontawesome-webfont.svg-v=4.6.3.htm#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal
}
vous verrez la balise de version après le nom d'extension de fichier de votre police . Comme:
- v = 4.6.3
Il vous suffit de supprimer cette balise de votre fichier css. Après avoir supprimé ceci, vous devez aller dans votre dossier de polices, et vous verrez:
Et, formez les fichiers de cette police, il vous suffit de supprimer la balise de version - v = 4.6.3 du nom du fichier.
Ensuite, le problème sera résolu.
Si les autres réponses ne fonctionnent pas, essayez:
vérifier le fichier .htaccess
# Fonts
# Add correct content-type for fonts
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType application/x-font-woff2 .woff2
AddType image/svg+xml .svg
effacer le cache du serveur
Après avoir essayé de nombreuses autres approches et de nombreuses réinstallations et vérifications, je viens de résoudre le problème en effaçant les données de navigation de Chrome (images et fichiers en cache), puis en actualisant la page.
J'utilise ASP.NET avec IIS et il s'avère que je devais simplement ajouter le type MIME à IIS: '.woff2'/'application/font-woff'
Indiquez simplement le format sur @ font-face comme suit:
@font-face {
font-family: 'Some Family';
src: url('/fonts/fontname.ttf') format('ttf'); /* and this for every font */
}