Ich mache Assets vorkompiliert und führe die Anwendung im Produktionsmodus aus. Nach dem Kompilieren beim Laden meiner Indexseite wurden in der Chrome-Konsole folgende Warnungen angezeigt:
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
Das Problem ist, dass keine Symbole geladen werden, sondern dass Quadrate angezeigt werden .
Wir haben die benutzerdefinierten Schriftarten verwendet und der Code lautet:
@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;
}
Ich weiß nicht, was an meinem Ende fehlt. Ich habe viel gesucht und auch eine Lösung ausprobiert, aber keinen Erfolg erzielt. Im Entwicklungsmodus funktioniert es einwandfrei, aber ich weiß nicht, warum es im Produktionsmodus quadratisch angezeigt wird.
css
asset-pipeline
ruby-on-rails-4.1
custom-font
Deepti Kakade
quelle
quelle
Antworten:
Ich habe genau den gleichen Fehler erhalten, und in meinem Fall stellte sich heraus, dass der Pfad für die
@font-face
Deklaration falsch war . Der Webinspektor hat sich nie mit einem 404 beschwert, da der von uns verwendete Entwicklungsserver (Live-Server) so konfiguriert wurde, dass die Standard-index.html für alle 404: s bereitgestellt wird. Ohne Details zu Ihrem Setup zu kennen, könnte dies ein wahrscheinlicher Schuldiger sein.quelle
CssRewriteUrlTransform
in BundleConfig verwenden.Wenn IIS als Server und .net 4 / 4.5 ausgeführt wird, fehlen möglicherweise Definitionen für MIME / Dateierweiterungen in Web.config - wie folgt:
quelle
Ich hatte das gleiche Problem.
, 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
Wenn beim Versuch, Ihre Schriftart festzuschreiben, diese Fehlermeldung angezeigt wird, liegt ein Problem mit .gitattributes "
warning: CRLF will be replaced by LF
" vor.Die Lösung hierfür ist das Hinzufügen der Schriftart, mit der Sie das Problem in .gitattributes erhalten
Dann habe ich beschädigte Schriftdateien gelöscht und die neuen Schriftdateien erneut angewendet und funktioniert hervorragend.
quelle
Versuchen
und benennen Sie Ihre Datei in um
application.css.scss
quelle
Ich hatte eine beschädigte Schriftart, obwohl sie problemlos geladen zu werden schien und unter Quellen in Chrome devtools angezeigt zu werden schien, war die Anzahl der Bytes nicht korrekt, daher habe ich sie erneut heruntergeladen und sie behoben.
quelle
Geben Sie einfach das Format unter @ font-face wie folgt an:
quelle
Ich hatte das gleiche Problem und das lag daran, dass der Git diese Dateien als Text behandelte. Beim Auschecken der Dateien in Build-Agenten wurde die Binärdatei nicht beibehalten.
Fügen Sie dies Ihrer
.gitattributes
Datei hinzu und versuchen Sie es.quelle
Bei der Verwendung
angular-cli
funktioniert dies für mich:quelle
Ich habe folgende Fehler erhalten:
Dies wurde behoben, nachdem die Rohdatei direkt von folgender Adresse heruntergeladen wurde:
https://github.com/twbs/bootstrap/blob/master/fonts/glyphicons-halflings-regular.woff2
Das Problem war, dass beim Herunterladen der Datei ein Proxy-Fehler aufgetreten ist (er enthielt die HTML-Fehlermeldung).
quelle
Gehen Sie auf GitHub zu der unten angegebenen Adresse und laden Sie jede der FontAwesome-Dateien herunter.
https://github.com/FortAwesome/font-awesome-sass/tree/master/assets/fonts/font-awesome
... aber anstatt mit der rechten Maustaste zu klicken und den Link unter zu speichern, klicken Sie auf jede der Dateien und speichern Sie sie über die Schaltfläche "Herunterladen".
Ich fand, dass das Speichern des Links als heruntergeladene HTML-Seite und nicht die FontAwesome-Datei binär selbst.
Sobald ich alle Binärdateien hatte, funktionierte es für mich.
quelle
Mein Problem war, dass ich zwei Schriftarten deklariert habe, und scss scheint zu erwarten, dass Sie den Namen der Schriftart deklarieren.
nach deinem
@font-face{}
musst du deklarieren$my-font: "OpenSans3.0 or whatever";
und das für jede Schriftart.
:-)
quelle
Für Angular -Cli- und Webpack- Benutzer habe ich vermutet, dass beim Importieren der Schriftarten in eine CSS-Datei ein Problem auftritt. Geben Sie daher auch den mit einfachen Anführungszeichen codierten URL-Speicherort wie folgt an:
Dieser Beitrag mag alt sein, aber das ist die Lösung, die für mich funktioniert hat.
quelle
Ich hatte das gleiche Problem.
Das Hinzufügen der Schriftartversion (z. B.
?v=1.101
) zu den Schriftart-URLs sollte den Trick tun;)Ein Klick (rechter Mausklick) auf die TTF-Version der Schriftart und die Auswahl von "Informationen" (Mac OSX) "Eigenschaften" (Windows) im Kontextmenü sollten ausreichen, um auf die Schriftartversion zuzugreifen.
quelle
Wenn Sie Chrome verwenden, fügen Sie eine OTF-Version (Opentype) Ihrer Schriftart hinzu, wie unten gezeigt:
Prost!
quelle
Wenn Sie Bootstrap verwenden, aktualisieren Sie die Bootstrap-CSS (
bootstrap.min.css
) - und Fonts-Dateien. Ich habe mein Problem mit dieser Lösung behoben.quelle
Ich verwende ASP.NET mit IIS und es stellte sich heraus, dass ich nur den MIME-Typ zu IIS hinzufügen musste: '.woff2' / 'application / font-woff'
quelle
Nachdem ich viele andere Ansätze ausprobiert und viele Neuinstallationen und Überprüfungen durchgeführt habe, habe ich das Problem behoben, indem ich Browserdaten aus Chrome (zwischengespeicherte Bilder und Dateien) gelöscht und die Seite dann aktualisiert habe.
quelle
Ich hatte das gleiche Problem beim Öffnen und Speichern
.woff
und.woff2
Dateien durch Sublime Text mitEditorConfig
Optionend_of_line = lf
. Ich habe gerade Dateien in den Schriftartenordner kopiert, ohne sie in Sublime zu öffnen, und das Problem wurde behoben.quelle
Wenn andere Antworten nicht funktionierten, versuchen Sie:
Überprüfen Sie die .htaccess-Datei
# 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
Server-Cache löschen
quelle
Überprüfen Sie die CSS-Datei Ihrer Schriftart. (fontawesome.css / fontawesome.min.css) sehen Sie wie folgt:
Nach dem Dateierweiterungsnamen Ihrer Schriftart wird das Versions-Tag angezeigt . Mögen:
Sie müssen nur dieses Tag aus Ihrer CSS-Datei entfernen. Nachdem Sie dies entfernt haben, müssen Sie zu Ihrem Schriftartenordner gehen. Und Sie werden sehen:
Um die Dateien dieser Schriftart zu bilden, müssen Sie nur das Versions-Tag -v = 4.6.3 aus dem Dateinamen entfernen .
Dann wird das Problem behoben.
quelle
Nur für den Fall, dass dies für jemanden relevant ist. Ich habe genau den gleichen Fehler mit ASP.NET und C # in Visual Studio erhalten. Als ich die App im Visual Studio startete, funktionierte sie, aber ich bekam dieses Problem. In der Zwischenzeit stellte sich heraus, dass der Pfad zu meinem Projekt das Zeichen "#" (c: \ C # \ testapplication) enthielt. Dies scheint IIS Express (möglicherweise auch IIS) zu verwirren und verursacht dieses Problem. Ich denke, "#" ist ein reserviertes Zeichen irgendwo in ASP.NET oder darunter. Das Ändern des Pfades hat geholfen und jetzt funktioniert es wie erwartet.
Grüße Christof
quelle
code
Heruntergeladene Schriftart konnte nicht dekodiert werden: localhost: 52963 / css /…Was mir geholfen hat war, dass ich die Reihenfolge geändert habe. Die .eot wird zuerst geladen, aber mein Fehler war beim Laden der .eot. Also habe ich die .eot als erste src für woff2 über Bord geworfen und der Fehler ist verschwunden.
Der Code lautet also jetzt:
Und ist war:
quelle
quelle
Ich hatte das gleiche Problem, dies funktionierte für mich https://github.com/webpack/webpack/issues/1468
quelle