1. Was ist OTF?

OTF (OpenType Font) ist ein Schriftformat, das von Adobe und Microsoft gemeinsam entwickelt wurde,
und die Funktionen des .ttf (TrueType Font) erweitert und gleichzeitig fortschrittliche Typografie-Funktionen integriert.

  • ✅ Verschiedene Schriftartenfunktionen (Ligaturen, alternative Zeichen usw.)
  • ✅ Unicode-Unterstützung
  • ✅ Höhere Universalität als .ttf (besonders in professionellen Design-Tools bevorzugt)

Unter Ubuntu wird OTF insbesondere häufig als Schriftart für das System oder für PDF-Darstellungen verwendet.


2. Installierte OTF-Schriften unter Ubuntu überprüfen

Dies kann im Terminal mit folgendem Befehl überprüft werden:

fc-list | grep "\.otf"

Man kann auch nach einem bestimmten Schriftartnamen filtern:

fc-list | grep "Nimbus Sans" | grep "\.otf"

3. System-Schriften im Web verwenden

Im Web können die auf dem System installierten Schriften nicht direkt verwendet werden,
weil die Computer der Clients, die auf die Webseite zugreifen, möglicherweise diese Schriftarten nicht besitzen.

→ Daher müssen die Schriftarten vom Webserver bereitgestellt werden, und das effizienteste Format ist .woff2.


4. Die Umwandlung von OTF nach WOFF2 ist der Schlüssel!

Illustration der OTF-zu-WOFF2-Schriftartumwandlung

📦 Umwandlungstool installieren

sudo apt install woff2

🔄 Umwandlungsbefehl

woff2_compress YourFont.otf

→ Ergebnis: YourFont.woff2

Automatisiertes Umwandlungsskript

#!/bin/bash
export LC_ALL=C
# [1] Zielschriftname
read -p "Geben Sie die Schriftarten ein, die nach woff2 konvertiert werden sollen: " FONT_NAME

# [2] Speichern des Ergebnisses
DEST_DIR="$HOME/fonts/$(echo $FONT_NAME | tr ' ' '_' | tr '[:upper:]' '[:lower:]')/woff2"

# [3] Überprüfen des Umwandlungstools
if ! command -v woff2_compress &> /dev/null; then
    echo "❌ Befehl 'woff2_compress' nicht gefunden. Bitte installieren Sie es:"
    echo "    sudo apt install woff2"
    exit 1
fi

# [4] Ergebnisordner erstellen
mkdir -p "$DEST_DIR"

# [5] Nur .otf-Schriften mit dem FONT_NAME aus der Systemschriftartenliste extrahieren
echo "🔍 Suche nach '$FONT_NAME' Schriftarten mit .otf-Erweiterung..."
font_paths=$(fc-list | grep "$FONT_NAME" | grep "\\.otf" | cut -d: -f1 | sort | uniq)

if [ -z "$font_paths" ]; then
    echo "❌ Keine .otf-Schriftart gefunden, die zu '$FONT_NAME' passt."
    exit 1
fi

# [6] Umwandlungsschleife ausführen
for font_file in $font_paths; do
    base_name=$(basename "$font_file" .otf)
    output_file="$DEST_DIR/${base_name}.woff2"

    if [ -f "$output_file" ]; then
        echo "⚠️  Bereit: $output_file → überspringen"
        continue
    fi

    echo "🔄 Umwandeln: $base_name.otf → $base_name.woff2"

    if ! cp "$font_file" "/tmp/${base_name}.otf"; then
        echo "❌ Kopieren fehlgeschlagen: $font_file → überspringen"
        continue
    fi

    woff2_compress "/tmp/${base_name}.otf"
    mv "/tmp/${base_name}.woff2" "$output_file"
    rm "/tmp/${base_name}.otf"
    echo "✅ Gespeichert: $output_file"
done

echo "🎉 Alle Umwandlungen abgeschlossen! Speicherort: $DEST_DIR"

Wenn jemand interessiert ist, kann er das obige Skript verwenden, das ich geschrieben habe. Es funktioniert sehr gut.


5. Umwandelte WOFF2-Dateien im Web verwenden

In das static/fonts/-Verzeichnis des Webprojekts einfügen und in CSS deklarieren:

@font-face {
  font-family: 'Your Custom Font';
  src: url('/static/fonts/YourFont.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

Jetzt kann es im HTML wie folgt verwendet werden:

<body style="font-family: 'Your Custom Font', sans-serif;">
  Hallo! Dies ist eine benutzerdefinierte Schriftart.
</body>

6. Fazit

Element Kernpunkt
.otf Schriftart Wird häufig im Ubuntu-System installiert
Verwendung im Web Da sie nicht auf dem Client-PC vorhanden ist, ist eine Umwandlung nach .woff2 erforderlich
Optimierungsmethode Umwandlung mit woff2_compress und Bereitstellung über Static
Ergebnis Schnelles Laden der Schriftarten, Möglichkeit zur Anpassung von Schriftartdesigns

Entwickler, die das Ubuntu-System enger mit Webdiensten verbinden möchten,
sollten sich die Umwandlung von otf → woff2 unbedingt aneignen, da dies ein wertvolles Werkzeug sein kann. 💪