Udostępnij niestandardowe czcionki w Collabora CODE Docker

Aby renderować niestandardową czcionkę w aplikacji Collabora Online CODE działającej w Dockerze, należy zachować pliki czcionek na hoście i zamontować ten sam katalog zarówno w katalogu systemowym czcionek kontenera, jak i w jego pliku systemowym dokumentu. Plik systemowy dostarcza pliki do odizolowanych procesów dokumentu; montowanie czcionek tylko w pliku /usr/share/fontsmoże spowodować, że rodzina pojawi się w menu czcionek bez renderowania jej w dokumencie. W tym przewodniku wykorzystano Docker Compose i bieżącą ścieżkę obrazu CODE /opt/cool/systemplate; sprawdź ścieżkę, jeśli używasz innej linii obrazu.

Menedżer plików otwarty na folder collabora-fonts zawierający zwykłe i pogrubione pliki TTF
Przechowuj pliki czcionek objętych licencją w jednym katalogu hosta, który Docker może odczytać.

Wybierz źródło czcionek, które możesz zachować

Montowanie typu „tylko do odczytu” (bind mount) jest zazwyczaj najprostszą opcją dla jednego hosta Dockera. Zachowuje ono pliki czcionek podczas ponownego tworzenia lub aktualizacji kontenera CODE, a Ty możesz dokładnie sprawdzić, które pliki kontener może odczytać. Używaj plików czcionek, które masz uprawnienia do instalacji i redystrybucji na serwerze. Nie kopiuj całego katalogu czcionek systemu stacjonarnego, chyba że sprawdziłeś licencje i potrzebujesz tych plików.

Używaj nieskompresowanych plików czcionek w formatach obsługiwanych przez Twoje środowisko, zazwyczaj TrueType ( .ttf) lub OpenType ( .otf). Uwzględnij style wymagane przez Twoje dokumenty, takie jak zwykły, pogrubiony, kursywa i pogrubiona kursywa. Zadbaj o czytelność nazw rodzin i plików oraz upewnij się, że użytkownik kontenera może odczytać każdy katalog i plik. Czcionka zawierająca tylko jeden styl może spowodować, że Collabora zastąpi ją innym krojem, gdy dokument zażąda pogrubienia lub kursywy.

Najpierw utwórz dedykowany katalog hosta i skopiuj do niego autoryzowane pliki:

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

Zastąp przykładowe nazwy plików rzeczywistymi plikami czcionek. Uprawnienia do odczytu mają znaczenie, ponieważ proces CODE działa jako konto bez uprawnień w bieżących obrazach. Zachowaj stabilną ścieżkę do katalogu; montowania Compose będą się do niej odwoływać.

Zamontuj czcionki zarówno w drzewie czcionek hosta, jak i w płycie systemowej

W istniejącej collaborausłudze w docker-compose.ymldodaj te wpisy woluminów. Zachowaj istniejący obraz, porty, listę dozwolonych domen, ustawienia SSL, sekrety i zasady ponownego uruchamiania; poniższy fragment kodu pokazuje tylko montowanie czcionek.

Fragment kodu YAML Docker Compose montujący jeden folder czcionek hosta tylko do odczytu w katalogach czcionek systemowych i systemplate
Dodaj oba montowania tylko do odczytu w sekcji woluminów istniejącej usługi CODE.
services:
  collabora:
    volumes:
      - /srv/collabora/fonts:/usr/share/fonts/truetype/more:ro
      - /srv/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more:ro

Pierwszy cel udostępnia czcionki do standardowego wyszukiwania czcionek kontenera. Drugi cel umieszcza je w szablonie używanym do przygotowywania izolowanych środowisk dokumentów. Podręcznik SDK Collabora dokumentuje ten dwulokalizacyjny wzorzec woluminów dla Dockera. Nie należy montować w całym katalogu /usr/share/fontsani katalogu systemplate: może to spowodować ukrycie czcionek już dostarczonych przez obraz.

Ścieżka systemplate jest zależna od wersji. Aktualne metadane obrazu CODE 26.04 identyfikują /opt/cool/systemplateścieżkę szablonu systemowego, a aktualna dokumentacja Collabora korzysta z tej lokalizacji. Jeśli używasz starszego obrazu lub kompilacji specyficznej dla dostawcy, sprawdź dokumentację tego obrazu lub konfigurację startową przed edycją ścieżki docelowej.

Utwórz ponownie kontener i potwierdź wykrycie czcionek

Po zapisaniu pliku Compose i umieszczeniu plików czcionek na hoście utwórz ponownie usługę CODE, aby Docker zastosował montowania powiązań:

Terminal pokazujący Docker Compose odtwarzający usługę Collabora i uruchamiający fc-list w celu sprawdzenia dostępnych czcionek
Utwórz usługę ponownie, a następnie użyj fc-list, aby sprawdzić, czy Fontconfig wykryje rodzinę czcionek.
docker compose up -d --force-recreate collabora
docker compose exec -T collabora fc-list

W wynikach wyszukiwania poszukaj nazwy rodziny czcionek lub ścieżki do zamontowanego pliku. Aby zawęzić listę, przepuść ją grepprzez nazwę rodziny zgłoszoną przez samą czcionkę, na przykład:

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

Jeśli polecenie nie zgłosi zgodności, sprawdź ścieżkę hosta, uprawnienia do plików, wcięcia montowania i logi kontenera. Możesz sprawdzić efektywne montowania za pomocą docker inspectdziałającego kontenera lub użyć polecenia , docker compose configaby wychwycić błędy wcięć w YAML. Uruchomienie usługi docker compose downzazwyczaj nie jest potrzebne tylko do zastosowania zmiany woluminu; wystarczy ponowne utworzenie usługi.

Sprawdź, czy czcionka jest renderowana w rzeczywistym dokumencie

Collabora Online z wybraną na pasku narzędzi niestandardową rodziną czcionek i przykładowym tekstem widocznym na stronie dokumentu
Po ponownym otwarciu dokumentu sprawdź zarówno selektor czcionek, jak i wyświetlony tekst.

Otwórz dokument testowy za pomocą standardowej integracji Nextcloud lub WOPI, zaznacz krótki fragment tekstu i wybierz niestandardową rodzinę czcionek z selektora czcionek. Wpisz nową linię w tej czcionce, zapisz, zamknij i ponownie otwórz plik. Sprawdź tekst zwykły i pogrubiony oraz porównaj podziały wierszy lub układ strony z dokumentem źródłowym. Pojawienie się rodziny w menu to jedynie sprawdzenie odkrycia; widoczny tekst po ponownym otwarciu to przydatne sprawdzenie renderowania.

  • Czcionka pojawia się w menu, ale tekst znika lub jest cofany: sprawdź, czy drugie podłączenie dotyczy katalogu czcionek systemplate i czy zawiera te same pliki.
  • Brak czcionki w menu: sprawdź, czy pliki są prawidłowe i czytelne, a następnie sprawdź fc-listdane wyjściowe i dzienniki uruchamiania kontenera.
  • Czcionka działa do momentu aktualizacji obrazu: sprawdź, czy oba montowania pozostają w Compose i czy katalog hosta nie znajduje się w tymczasowej ścieżce kontenera.
  • Tylko niektóre znaki są renderowane: wybrana czcionka może nie zawierać tych glifów. Dodaj czcionkę z wymaganym pokryciem pisma lub skorzystaj z odpowiedniej opcji awaryjnej.

Montowanie z powiązaniem utrzymuje czcionki niezależne od obrazu CODE, ale nie gwarantuje identycznego układu na każdym kliencie ani w każdym dokumencie. Podmiana czcionek, brakujące glify, różne wersje czcionek i formatowanie specyficzne dla dokumentu mogą nadal wpływać na zawijanie wierszy. Aby uzyskać dodatkowe informacje na temat konfiguracji, skorzystaj z dokumentacji instalacji czcionek Collabora , przewodnika po obrazach CODE Docker oraz podręcznika Collabora Online SDK . Przykład Dockera i aktualna dokumentacja obrazu w podręczniku powinny zostać ponownie sprawdzone po zmianie wersji CODE.

Zostaw komentarz

Połącz Seafile i Collabora z poprawnym adresem URL WOPI

Połącz Seafile i Collabora z poprawnym adresem URL WOPI

Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.

Przywróć kopiowanie i wklejanie między aplikacjami Collabora i komputerowymi

Przywróć kopiowanie i wklejanie między aplikacjami Collabora i komputerowymi

Przetestuj schowek systemowy, dostosuj uprawnienia przeglądarki i zidentyfikuj, kiedy wbudowana integracja Collabora wymaga zmiany zasad dotyczących ramek iframe.

Udostępnij niestandardowe czcionki w Collabora CODE Docker

Udostępnij niestandardowe czcionki w Collabora CODE Docker

Zamontuj pliki czcionek w systemie Docker i Collabora, aby niestandardowe czcionki były wyświetlane w edytorze i poprawnie renderowane w dokumentach.

Przywróć ustawienia Collabora CODE bez utraty zmian wdrożenia

Przywróć ustawienia Collabora CODE bez utraty zmian wdrożenia

Utwórz kopię zapasową pliku coolwsd.xml i jego źródeł wdrożeniowych, przywróć je w bezpieczny sposób i zweryfikuj KOD przed ponownym rozpoczęciem edycji przez użytkowników.

Napraw sprawdzanie hosta WOPI w CODE, dopasowując źródło hosta

Napraw sprawdzanie hosta WOPI w CODE, dopasowując źródło hosta

Zezwól na konkretne źródło Nextcloud lub inne źródło WOPI w KODZIE, a następnie zweryfikuj listę dozwolonych hostów i odróżnij je od ograniczeń adresu IP źródłowego Nextcloud.

Rozwiąż błąd „Cóż, to jest żenujące” w aplikacji Collabora

Rozwiąż błąd „Cóż, to jest żenujące” w aplikacji Collabora

Prześledź połączenia przeglądarki, WOPI i WebSocket Collabora, aby dowiedzieć się, dlaczego dokument się nie otwiera, a następnie zastosuj poprawkę odpowiadającą konfiguracji Nextcloud.

Uruchom Collabora Online na węzłach Kubernetes

Uruchom Collabora Online na węzłach Kubernetes

Wdrażaj repliki Collabora CODE za pomocą Helm, przechowuj każdy dokument w jednym podzie dzięki powinowactwu WOPI i weryfikuj przychodzące dane, rozmieszczenie węzłów i edycję w Nextcloud.

Przywróć połączenie WebSocket Collabora przez serwer proxy

Przywróć połączenie WebSocket Collabora przez serwer proxy

Prześledź nieudaną wymianę danych między przeglądarką a coolwsd, a następnie dopasuj trasę odwrotnego serwera proxy do swojej wersji Collabora, włączając w to zmianę w kodzie CODE 26.04 Apache.

Napraw błędy dowodu WOPI, sprawdzając klucze, odkrycia i adresy URL

Napraw błędy dowodu WOPI, sprawdzając klucze, odkrycia i adresy URL

Śledź błędy dowodowe Collabora WOPI w przypadku niedopasowanych kluczy, nieaktualnych danych wykrywania, przesunięcia zegara lub zmian adresu URL serwera proxy — bez osłabiania walidacji.

Napraw błędnie renderowaną listę rozwijaną rozmiaru czcionki w Collabora Online

Napraw błędnie renderowaną listę rozwijaną rozmiaru czcionki w Collabora Online

Zresetuj powiększenie przeglądarki, przetestuj czystą sesję i zidentyfikuj, kiedy nieprawidłowo sformatowane menu rozmiarów wymaga aktualizacji serwera Collabora.