Benutzerdefinierte Schriftarten in Collabora CODE Docker verfügbar machen

Um in Collabora Online CODE, das in Docker ausgeführt wird, eine benutzerdefinierte Schriftart darzustellen, müssen die Schriftartdateien auf dem Host-System gespeichert und dasselbe Verzeichnis sowohl in das Systemschriftartenverzeichnis des Containers als auch in dessen Dokument-Systemplate eingebunden werden. Die Systemplate stellt Dateien für isolierte Dokumentprozesse bereit; durch das Einbinden von Schriftarten nur in /usr/share/fontsdas System-Schriftartenverzeichnis wird eine Schriftfamilie zwar im Schriftartenmenü angezeigt, jedoch nicht im Dokument selbst. Diese Anleitung verwendet Docker Compose und den aktuellen CODE-Image-Pfad /opt/cool/systemplate; überprüfen Sie den Pfad, falls Sie eine andere Image-Zeile verwenden.

Ein Dateimanager öffnet sich zu einem Ordner namens collabora-fonts, der normale und fette TTF-Dateien enthält.
Speichern Sie die lizenzierten Schriftartdateien zusammen in einem Hostverzeichnis, das Docker lesen kann.

Wählen Sie eine Schriftartenquelle, die Sie pflegen können.

Eine schreibgeschützte Einbindung ist in der Regel die einfachste Option für einen einzelnen Docker-Host. Dadurch bleiben die Schriftartdateien erhalten, wenn der CODE-Container neu erstellt oder aktualisiert wird, und Sie können genau überprüfen, welche Dateien der Container lesen darf. Verwenden Sie Schriftartdateien, für deren Installation und Weitergabe auf dem Server Sie berechtigt sind. Kopieren Sie nicht das gesamte Schriftartenverzeichnis eines Desktop-Systems, es sei denn, Sie haben die Lizenzen geprüft und benötigen diese Dateien.

Verwenden Sie unkomprimierte Schriftdateien in Formaten, die von Ihrer Umgebung unterstützt werden, üblicherweise TrueType .ttfoder OpenType .otf. Fügen Sie die benötigten Schriftschnitte hinzu, z. B. normal, fett, kursiv und fettkursiv. Achten Sie auf aussagekräftige Schriftfamilien- und Dateinamen und stellen Sie sicher, dass der Benutzer des jeweiligen Verzeichnisses alle Verzeichnisse und Dateien lesen kann. Enthält eine Schriftart nur einen Schriftschnitt, kann Collabora dazu führen, dass bei der Anforderung von Fett- oder Kursivschrift eine andere Schriftart verwendet wird.

Zuerst erstellen Sie ein dediziertes Host-Verzeichnis und kopieren die autorisierten Dateien hinein:

sudo mkdir -p /srv/collabora/fonts
sudo cp BrandSans-Regular.ttf BrandSans-Bold.ttf /srv/collabora/fonts/
sudo chmod -R a+rX /srv/collabora/fonts

Ersetzen Sie die Beispieldateinamen durch Ihre tatsächlichen Schriftartdateien. Die Leseberechtigung ist wichtig, da der CODE-Prozess in den aktuellen Images mit einem Benutzerkonto ohne Administratorrechte ausgeführt wird. Halten Sie den Verzeichnispfad unverändert; die Compose-Bind-Mounts beziehen sich darauf.

Schriftarten sowohl in den Host-Schriftartenbaum als auch in die Systemplate einbinden.

Fügen Sie in Ihrem bestehenden collaboraDienst in docker-compose.ymldiese Volume-Einträge hinzu. Behalten Sie Ihr bestehendes Image, Ihre Ports, Ihre Domain-Zulassungsliste, Ihre SSL-Einstellungen, Ihre Geheimnisse und Ihre Neustartrichtlinie bei; der folgende Ausschnitt zeigt nur die Schriftart-Mounts.

Ein Docker Compose YAML-Snippet, das einen Host-Schriftartenordner schreibgeschützt in die System-Schriftartenverzeichnisse und Systemplate einbindet.
Fügen Sie beide schreibgeschützten Mounts im Abschnitt „Volumes“ des bestehenden CODE-Dienstes hinzu.
services:
  collabora:
    volumes:
      - /srv/collabora/fonts:/usr/share/fonts/truetype/more:ro
      - /srv/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more:ro

Das erste Ziel stellt die Schriftarten für die reguläre Schriftartenerkennung des Containers bereit. Das zweite Ziel platziert sie in der Vorlage, die zur Erstellung isolierter Dokumentumgebungen verwendet wird. Das SDK-Handbuch von Collabora dokumentiert dieses Zwei-Speicherort-Volume-Muster für Docker. Mounten Sie nicht das gesamte Verzeichnis /usr/share/fontsoder das Systemplate-Verzeichnis, da dies bereits im Image enthaltene Schriftarten ausblenden kann.

Der Pfad zur Systemvorlage ist versionsabhängig. Die Metadaten des aktuellen CODE 26.04-Images geben /opt/cool/systemplatediesen Pfad als Systemvorlagenpfad an, und die aktuelle Collabora-Dokumentation verwendet diesen Speicherort. Wenn Sie ein älteres Image oder einen herstellerspezifischen Build verwenden, überprüfen Sie die Dokumentation oder die Startkonfiguration dieses Images, bevor Sie den Zielpfad bearbeiten.

Erstellen Sie den Container neu und überprüfen Sie die Schriftartenerkennung.

Nachdem die Compose-Datei gespeichert und die Schriftartdateien auf dem Host platziert wurden, muss der CODE-Dienst neu erstellt werden, damit Docker die Bind-Mounts anwendet:

Ein Terminalfenster zeigt, wie Docker Compose den Collabora-Dienst neu erstellt und fc-list ausführt, um die verfügbaren Schriftarten zu überprüfen.
Erstellen Sie den Dienst neu und verwenden Sie dann fc-list, um zu prüfen, ob Fontconfig die Schriftfamilie erkennt.
docker compose up -d --force-recreate collabora
docker compose exec -T collabora fc-list

Suchen Sie in der Ausgabe nach dem Schriftfamiliennamen oder dem Pfad der eingebundenen Datei. Um die Liste einzugrenzen, leiten Sie sie grepmit dem von der Schriftart selbst gemeldeten Familiennamen weiter, zum Beispiel:

docker compose exec -T collabora fc-list | grep -i "Brand Sans"

Wenn der Befehl keine Übereinstimmung meldet, überprüfen Sie den Hostpfad, die Dateiberechtigungen, die Mount-Einrückung und die Containerprotokolle. Sie können die effektiven Mounts docker inspectim laufenden Container mit dem Befehl `mount` überprüfen oder mit docker compose config`yaml-input` Fehler in der YAML-Einrückung aufspüren. docker compose downNormalerweise ist die Ausführung von `mount` nicht erforderlich, um die Volume-Änderung anzuwenden; es genügt, den Dienst neu zu erstellen.

Überprüfen Sie, ob die Schriftart in einem tatsächlichen Dokument korrekt dargestellt wird.

Collabora Online mit einer in der Symbolleiste ausgewählten benutzerdefinierten Schriftart und auf der Dokumentseite sichtbarem Beispieltext
Überprüfen Sie sowohl die Schriftartauswahl als auch den gerenderten Text in einem Dokument nach dem erneuten Öffnen.

Öffnen Sie ein Testdokument über die normale Nextcloud- oder WOPI-Integration, wählen Sie einen kurzen Textausschnitt und anschließend die gewünschte Schriftart aus der Schriftauswahl. Schreiben Sie eine neue Zeile in dieser Schriftart, speichern Sie die Datei, schließen Sie sie und öffnen Sie sie erneut. Überprüfen Sie die Darstellung von normalem und fettgedrucktem Text und vergleichen Sie Zeilenumbrüche und Seitenlayout mit dem Quelldokument. Die Anzeige einer Schriftart im Menü dient lediglich der ersten Überprüfung; die korrekte Darstellung des Textes nach dem erneuten Öffnen ist der entscheidende Test.

  • Die Schriftart wird im Menü angezeigt, aber der Text verschwindet oder wird nicht korrekt dargestellt: Prüfen Sie, ob die zweite Einbindung auf das Systemplate-Schriftartenverzeichnis abzielt und ob es die gleichen Dateien enthält.
  • Die Schriftart fehlt im Menü: Prüfen Sie, ob die Dateien gültig und lesbar sind, und überprüfen Sie dann fc-listdie Ausgabe und die Startprotokolle des Containers.
  • Die Schriftart funktioniert bis zu einem Image-Update: Überprüfen Sie, ob beide Mounts in Compose erhalten bleiben und ob sich Ihr Host-Verzeichnis nicht in einem temporären Containerpfad befindet.
  • Es werden nur einige Zeichen angezeigt: Die ausgewählte Schriftart enthält möglicherweise nicht alle benötigten Glyphen. Fügen Sie eine Schriftart mit der erforderlichen Schriftabdeckung hinzu oder verwenden Sie eine geeignete Ausweichschriftart.

Eine Bind-Mount-Verbindung hält Schriftarten unabhängig vom CODE-Image, garantiert aber kein identisches Layout auf jedem Client oder in jedem Dokument. Schriftartersetzungen, fehlende Glyphen, unterschiedliche Schriftartversionen und dokumentspezifische Formatierungen können weiterhin den Zeilenumbruch beeinflussen. Weitere Konfigurationsdetails finden Sie in der Dokumentation zur Schriftarteninstallation von Collabora , im Leitfaden zum CODE-Docker-Image und im Handbuch zum Collabora Online SDK . Überprüfen Sie das Docker-Beispiel im Handbuch und die aktuelle Image-Dokumentation erneut, wenn Sie die CODE-Version ändern.

Einen Kommentar hinterlassen

Benutzerdefinierte Schriftarten in Collabora CODE Docker verfügbar machen

Benutzerdefinierte Schriftarten in Collabora CODE Docker verfügbar machen

Binden Sie Schriftartdateien in Docker und Collaboras Systemplate ein, damit benutzerdefinierte Schriftarten im Editor angezeigt und in Dokumenten korrekt dargestellt werden.

Collabora CODE-Einstellungen wiederherstellen, ohne Bereitstellungsänderungen zu verlieren

Collabora CODE-Einstellungen wiederherstellen, ohne Bereitstellungsänderungen zu verlieren

Sichern Sie die Datei coolwsd.xml und ihre Bereitstellungsquellen, stellen Sie sie sicher wieder her und überprüfen Sie den CODE, bevor die Benutzer die Bearbeitung wieder aufnehmen.

Beheben Sie den WOPI-Host-Check von CODE, indem Sie den Hostursprung abgleichen.

Beheben Sie den WOPI-Host-Check von CODE, indem Sie den Hostursprung abgleichen.

Erlauben Sie den genauen Ursprung von Nextcloud oder einer anderen WOPI-Instanz im CODE, überprüfen Sie dann die aktive Host-Zulassungsliste und unterscheiden Sie diese von der Quell-IP-Beschränkung von Nextcloud.

Beheben Sie den Fehler „Nun, das ist peinlich“ in Collabora.

Beheben Sie den Fehler „Nun, das ist peinlich“ in Collabora.

Analysieren Sie die Browser-, WOPI- und WebSocket-Verbindungen von Collabora, um herauszufinden, warum sich ein Dokument nicht öffnen lässt, und wenden Sie dann die Lösung an, die zu Ihrer Nextcloud-Konfiguration passt.

Collabora online auf Kubernetes-Knoten ausführen

Collabora online auf Kubernetes-Knoten ausführen

Mit Helm können Collabora CODE-Replikate bereitgestellt werden, wobei jedes Dokument über WOPI-Affinität auf einem Pod verbleibt, und Ingress, Knotenplatzierung und Nextcloud-Bearbeitung können überprüft werden.

Die WebSocket-Verbindung von Collabora über den Proxy wiederherstellen

Die WebSocket-Verbindung von Collabora über den Proxy wiederherstellen

Verfolgen Sie einen fehlgeschlagenen Socket-Handshake vom Browser zu coolwsd und gleichen Sie dann die Reverse-Proxy-Route mit Ihrer Collabora-Version ab, einschließlich der Apache-Änderung CODE 26.04.

Beheben Sie WOPI-Nachweisfehler durch Überprüfung von Schlüsseln, Erkennung und URLs

Beheben Sie WOPI-Nachweisfehler durch Überprüfung von Schlüsseln, Erkennung und URLs

Verfolgen Sie Collabora WOPI-Beweisfehler auf nicht übereinstimmende Schlüssel, veraltete Erkennungsdaten, Zeitabweichungen oder Änderungen der Proxy-URL – ohne die Validierung zu schwächen.

Fehlerhafte Darstellung des Schriftgrößen-Dropdowns in Collabora Online beheben

Fehlerhafte Darstellung des Schriftgrößen-Dropdowns in Collabora Online beheben

Browserzoom zurücksetzen, eine saubere Sitzung testen und feststellen, wann ein fehlerhaftes Größenmenü ein Collabora-Server-Update erfordert.

Verbinden Sie Nextcloud mit einem selbstgehosteten Collabora CODE-Container

Verbinden Sie Nextcloud mit einem selbstgehosteten Collabora CODE-Container

Setzen Sie Collabora CODE mit Docker ein, verbinden Sie es sicher mit Nextcloud Office und überprüfen Sie die Dokumentbearbeitung mit praktischen WOPI- und Proxy-Prüfungen.

Collabora-Verbindungsfehler mit coolwsd-Protokollen verfolgen

Collabora-Verbindungsfehler mit coolwsd-Protokollen verfolgen

Aktivieren Sie vorübergehend coolwsd für den Debug-Modus, erfassen Sie einen fehlgeschlagenen Öffnungsvorgang und verwenden Sie die Protokollsequenz, um WebSocket-, WOPI-, Proxy- und Containerprobleme zu unterscheiden.