2009-12-30 4 views
43

Ich brauche @ Font-Face-Funktion und meine Schriftarten sind im OTF/TTF-Format und Microsoft-Browser unterstützen nur EOT-Format. Ich habe versucht, Microsoft Tool WEFT zu verwenden, aber es hat nicht funktioniert oder ich habe nicht verstanden, wie es funktioniert. Gibt es eine andere Möglichkeit, meine Schriften in das EOT-Format zu konvertieren?Wie kann ich OTF/TTF-Dateien in EOT-Format konvertieren?

+1

Sie sollten die Original-Gießerei kontaktieren. Sie werden Ihnen die notwendigen Dateien zur Verfügung stellen. Im Allgemeinen dürfen Sie keine Schriftdateien konvertieren. Die meisten EULA (Lizenzvereinbarungen) verbieten dies. – John

Antwort

57

Verwenden Sie die Font Squirrel Generator - dies wird nicht nur EOT-, sondern auch SVG- und WOFF-Formate erzeugen und mehrere Font-Dateien gleichzeitig konvertieren und alles in einem einzigen Archiv zusammen mit dem relevanten CSS bereitstellen.

+3

das ist ein fantastisches kleines Werkzeug. –

+9

Es sei denn, Ihre Schriftart ist auf der schwarzen Liste –

+0

Offenbar ist die Blacklisting [nur Adobe Schriftarten, aufgrund von einigen von ihnen den Generator abstürzen] (http://StackOverflow.com/a/5657350/9360). _ (Dieser Link hat auch eine Auswahl von Antworten, die Alternativen geben.) _ –

52

Hier ist eine schnelle Möglichkeit, ttf und eot Versionen von otf in einem Schritt zu erstellen. Natürlich können Sie die relevanten Teile herausziehen, wenn Sie nicht alles brauchen. Beachten Sie, dass Sie von otf otf-> ttf-> eot gehen müssen.

Installieren Sie sowohl fontforge als auch ttf2eot. Sie sind in MacPorts verfügbar, nicht sicher über andere Plattformen.

speichern als Skriptdatei mit dem Namen otf2ttf2eot.sh:

(Dieses Skript für neue Fontforge Versionen wurde aktualisiert; Original-Skript am Ende der post):

#!/bin/sh 
otfFont="$1.otf" 
ttfFont="$1.ttf" 
eotFont="$1.eot" 
fontforge -c ' 
import fontforge 
font = fontforge.open("'$otfFont'") 
font.generate("'$ttfFont'") 
' 
ttf2eot "$ttfFont" >"$eotFont" 

Angenommen, Sie eine Schriftart haben genannt FontName.otf, laufen:

sh otf2ttf2eot.sh

Original-Skript für ältere Versionen von font~~POS=TRUNC font~~POS=TRUNC:

#!/bin/sh 
# Convert an OTF font into TTF an EOT formats. 
otfFont="$1.otf" 
ttfFont="$1.ttf" 
eotFont="$1.eot" 
fontforge -c ' 
    Open("'$otfFont'"); 
    Generate("'$ttfFont'"); 
    Quit(0);' 
ttf2eot $ttfFont > $eotFont 
+2

Ich bin mir nicht sicher, ob dies als "ein schneller Weg" oder "in einem Schritt" qualifiziert. Es funktioniert, sicher, aber die meisten Leute werden nicht die Geduld haben, herauszufinden, wie man fontforge und ttfeot auf ihrem System kompiliert und installiert, und dann eine Menge Befehlszeilen-Sachen laufen lassen. –

+17

@matt eine vollkommen brauchbare Lösung bekommt einen * downvote *, weil es nicht perfekt für Sie ist und "eine Menge Kommandozeilen-Sachen" enthält? Ernst? +1 zum Ausgleichen. –

+0

apinstein selbst sagt "nicht sicher über andere Plattformen" - selbst fontforges eigene Seite sagt: "Ich stelle keine vorgefertigten Pakete mehr zur Verfügung. Sie können entweder von der Quelle kompilieren oder ein Paket von einer anderen Seite herunterladen (cygwin hat ein fontforge-Paket)." ... so perfekt lebensfähig, ja, aber praktisch? nicht durch irgendeine Vorstellungskraft. –

5

Verwendung http://www.font2web.com/ - dies wird produziert nicht nur EOT, sondern auch SVG und WOFF Formate und auf einmal mehr Font-Dateien konvertieren, und alles in einem einzigen Archiv bietet zusammen mit der entsprechenden CSS.

4

In Ubuntu installieren mkeot:

sudo apt-get install eot-utils 

Dann:

mkeot fontfilename.otf > fontfilename.eot 
+1

Sie können dieses Tool auch auf Mac mit Homebrew erhalten – mozillalives

Verwandte Themen