Frage

Hier ist eine Liste von Sachen, die ich versuchte, in zufälliger Reihenfolge:

AddHandler application/x-httpd-php .otf
AddType
default_mimetype
auto_prepend_file = "otf.php"
zlib.output_compression = On
output_handler = ob_gzhandler
header("Content-type: application/octet-stream");

Auch wenn alle die PHP-Dateien des Servers get gzipped zlib verwenden, anstelle der OTF-Erweiterung durch .php hat nicht funktioniert entweder.

War es hilfreich?

Lösung

Mit .htaccess, Sie wie dies tun könnte, vorausgesetzt, Schriftartdatei ist fontfile.otf.gz, Browser-Anfrage, dass als fontfile.otf

RewriteEngine On

#Check for browser's Accept-Encoding, remove it for force return gzipped one
RewriteCond "%{HTTP:Accept-Encoding}" "gzip.*deflate|deflate.*gzip"

#check file name is endswith otf
RewriteCond %{REQUEST_FILENAME} "\.(otf)$"

#check existance of .gz file name
RewriteCond %{REQUEST_FILENAME}.gz -s

#rewrite it to .otf.gz
RewriteRule ^.*$ %{REQUEST_URI}.gz [L]

#update some response header
<FilesMatch "\.otf\.gz$">
    AddEncoding gzip .gz
    ForceType "text/plain"
</FilesMatch>

Und wenn Font-Datei und Website ist Cross-Domain, müssen Sie Access-Control-Allow-Origin, Firefox wird nicht Last setzen Schriftobjekte Cross-Domain .

  

In Gecko, Webfonts unterliegen der   gleiche Domain Einschränkung (Font-Dateien   muss wie die Seite auf der gleichen Domäne sein   mit ihnen), es sei denn, die HTTP-Zugriff   Kontrollen werden verwendet, um dies zu entspannen   Einschränkung.

Header set Access-Control-Allow-Origin *
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top