Przykład ilustrujący: Mira przygotowuje sprawozdanie zarządu w pakiecie LibreOffice Flatpak i potrzebuje licencjonowanej czcionki „Northstar Sans” dostarczonej przez jej zespół projektowy. Nazwa i sytuacja są hipotetyczne. Instaluje czcionkę w swoim katalogu czcionek użytkownika, odświeża pamięć podręczną czcionek i restartuje LibreOffice. Dzięki temu czcionka pozostaje dostępna dla jej aplikacji bez konieczności zmiany pakietu Flatpak lub udzielania LibreOffice szerokiego dostępu do swojego katalogu domowego.
Aktualna dokumentacja Flatpak dotycząca integracji z pulpitem wyjaśnia, dlaczego ta metoda działa: czcionki hosta $XDG_DATA_HOME/fontssą udostępniane w piaskownicy w [brakuje nazwy użytkownika] /run/host/user-fonts. Flatpak udostępnia również katalogi czcionek systemowych. W dokumentacji zaznaczono, że pliki konfiguracyjne host fontconfig nie są udostępniane, więc reguły dotyczące czcionek specyficzne dla systemu mogą nie zostać przeniesione. Zobacz oficjalną dokumentację czcionek Flatpak . Poniższa procedura dotyczy identyfikatora aplikacji Flathub LibreOffice org.libreoffice.LibreOffice.
Zainstaluj czcionkę dla swojego konta użytkownika
Najpierw sprawdź licencję czcionki i używaj tylko plików, które masz uprawnienia do instalacji. Jeśli czcionka znajduje się w archiwum ZIP, rozpakuj je i znajdź pliki czcionki. Popularne formaty czcionek na komputerach stacjonarnych to OpenType ( .otf) i TrueType ( .ttf). Nie kopiuj samego pliku ZIP do katalogu czcionek.
Mira może zainstalować czcionkę bez uprawnień administratora. Standardowy katalog czcionek dla każdego użytkownika to ~/.local/share/fonts, co odpowiada $XDG_DATA_HOME/fontsstandardowemu katalogowi danych XDG. Dokumentacja Flatpak zaleca unikanie ~/.fontskatalogu legacy.
- Utwórz katalog czcionek użytkownika, jeśli jeszcze nie istnieje:
mkdir -p "$HOME/.local/share/fonts"
- Skopiuj do niego autoryzowane pliki czcionek. Zastąp przykładową nazwę pliku czcionką, którą faktycznie otrzymałeś:
cp "$HOME/Downloads/NorthstarSans-Regular.otf" "$HOME/.local/share/fonts/"
Jeśli pakiet czcionek zawiera oddzielne pliki z czcionkami: zwykłą, pogrubioną, kursywą lub pogrubioną kursywą, zainstaluj każdy wymagany krój. Zachowaj oryginalne nazwy plików, jeśli to możliwe; nie zmieniaj nazw plików czcionek, aby imitować inną rodzinę lub grubość. W przypadku kilku rodzin utwórz podkatalogi, aby utrzymać porządek w folderze.
Odśwież pamięć podręczną czcionek
Fontconfig tworzy pamięć podręczną, aby aplikacje mogły znaleźć zainstalowane czcionki. W wielu systemach Linux fc-cachejest ona dostarczana przez pakiet fontconfig hosta. Odśwież pamięć podręczną dla katalogu użytkownika:
fc-cache -f "$HOME/.local/share/fonts"
Ta -fopcja wymusza skanowanie wskazanego katalogu. Jeśli powłoka zgłosi, że katalog fc-cachenie został znaleziony, zainstaluj narzędzia fontconfig za pomocą menedżera pakietów dystrybucji Linuksa lub użyj narzędzia font-management, aby odświeżyć informacje o czcionkach. Nazwy pakietów i narzędzia graficzne różnią się w zależności od dystrybucji.
Aby sprawdzić, czy host fontconfig widzi rodzinę, uruchom:
fc-list | grep -i "Northstar Sans"
Zastąp nazwę nazwą rodziny wyświetlaną przez wydawcę czcionki. Prawidłowe dopasowanie jest przydatnym sprawdzeniem, ale nie dowodzi, że LibreOffice odświeżył już swoją listę czcionek.
Uruchom ponownie LibreOffice Flatpak
Zapisz otwarte dokumenty i zamknij wszystkie okna LibreOffice. Uruchom ponownie Flatpak z menu aplikacji lub uruchom go w terminalu:
flatpak run org.libreoffice.LibreOffice
LibreOffice mógł odczytać swoją listę czcionek podczas uruchamiania, więc samo zainstalowanie czcionki, gdy Writer jest otwarty, może pozostawić starą listę widoczną. W przykładzie Miry, czeka ona na całkowite zamknięcie pakietu, a następnie ponownie uruchamia Writera. Jeśli czcionka nadal się nie pojawia, uruchom ponownie pulpit dopiero po wykonaniu prostszych czynności opisanych poniżej; pełny restart systemu zazwyczaj nie jest pierwszym krokiem rozwiązywania problemu.
Potwierdź czcionkę w LibreOffice
Otwórz Writera, kliknij pole „Rodzina czcionek” na pasku formatowania i wpisz dokładną nazwę rodziny. Możesz również otworzyć listę czcionek i wyszukać je alfabetycznie. Utwórz krótką linię testową, zastosuj nową czcionkę i sprawdź, czy litery wyświetlają się prawidłowo. Wypróbuj osobno style „zwykły” i „pogrubiony”, jeśli pakiet zawiera więcej niż jeden krój.
W ramach kontroli praktycznej Mira otwiera kopię swojego szablonu raportu, stosuje czcionkę Northstar Sans do nagłówka i akapitu, zapisuje kopię testową, zamyka dokument i otwiera go ponownie. To tylko przykład, a nie raport z prawdziwego testu. Celem jest potwierdzenie, że rodzina pojawia się na liście i że zamierzony styl pozostaje zastosowany po ponownym otwarciu.
Dlaczego standardowa ścieżka czcionek Flatpak jest lepsza
Flatpak został zaprojektowany z myślą o izolowaniu aplikacji, ale udostępnia czcionki hosta za pośrednictwem określonych ścieżek. Udokumentowane mapowanie czcionek użytkownika oznacza, że czcionki w systemie $XDG_DATA_HOME/fontsmogą być wykrywane bez udzielania aplikacji biurowej dostępu do całego systemu plików hosta. Szerokie nadpisanie, takie jak to, --filesystem=hostnie jest potrzebne w tym standardowym przepływie pracy i zapewnia znacznie szerszy dostęp niż ten wymagany podczas instalacji czcionek.
Flatpak mapuje czcionki z /usr/share/fontsdo /run/host/fonts, z /usr/local/share/fontsdo /run/host/local-fonts, a z katalogu czcionek danych użytkownika do /run/host/user-fonts. Dotyczy to typowych instalacji systemowych i instalacji dla poszczególnych użytkowników, chociaż problemy z pakowaniem, środowiskiem uruchomieniowym lub hostem mogą nadal wpływać na poszczególne konfiguracje. Pliki konfiguracyjne fontconfig hosta nie są udostępniane w piaskownicy; jest ona oddzielona od samych plików czcionek.
Rozwiązywanie problemów z czcionką, której nadal brakuje
- Sprawdź rzeczywisty katalog: run
printf '%s\n' "${XDG_DATA_HOME:-$HOME/.local/share}/fonts". Jeśli XDG_DATA_HOMEjest ustawiony na niestandardową lokalizację, umieść czcionkę w jej fontspodkatalogu, zamiast zakładać, że jest to ~/.local/share/fonts.
- Sprawdź typ pliku i wyodrębnienie: upewnij się, że folder zawiera pliki użytkowe
.otflub .ttfpliki czcionek, a nie tylko archiwum, podgląd PDF lub dokument licencyjny.
- Sprawdź nazwę rodziny: nazwy plików czcionek nie zawsze odpowiadają nazwie rodziny wyświetlanej w LibreOffice. Użyj
fc-list, aby sprawdzić nazwy wykryte przez fontconfig.
- Odśwież i uruchom ponownie: uruchom ponownie
fc-cache -fdla właściwego katalogu, a następnie zamknij i ponownie otwórz LibreOffice. Istniejące okna mogą zachować wcześniejszą listę czcionek.
- Potwierdź identyfikator Flatpak: jeśli LibreOffice został zainstalowany z innego źródła lub pod innym identyfikatorem aplikacji,
flatpak run org.libreoffice.LibreOfficemoże się nie uruchomić. Sprawdź zainstalowaną aplikację flatpak listi użyj wyświetlonego identyfikatora do instalacji.
- Przetestuj inną aplikację: jeśli lista czcionek hosta również jej nie widzi, najpierw napraw instalację hosta. Jeśli narzędzia hosta ją widzą, ale Flatpak nie, sprawdź środowisko wykonawcze Flatpak i konfigurację pakietu, a następnie skontaktuj się z systemem śledzenia problemów pakietu Flatpak, podając identyfikator aplikacji i szczegóły środowiska wykonawczego.
Czcionka może pojawić się na Twoim komputerze, ale nadal być zastępowana na komputerze innej osoby. Dokumenty zazwyczaj odnoszą się do rodzin czcionek po nazwie; nie gwarantują one automatycznie, że każdy odbiorca ma zainstalowaną tę samą czcionkę. Jeśli odbiorca potrzebuje dokładnej kopii wizualnej i nie musi edytować tekstu, wyeksportuj plik PDF i sprawdź go przed udostępnieniem. Jeśli plik musi pozostać edytowalny, skonsultuj dostępność czcionek i licencje z odbiorcami.
Czego można się spodziewać po instalacji
Efekt jest prosty: nowa rodzina pojawia się w selektorze czcionek LibreOffice, ma zastosowanie do tekstu i pozostaje zaznaczona po ponownym otwarciu dokumentu. Jeśli tak się nie stanie, przed zmianą uprawnień w piaskownicy należy zweryfikować ścieżkę danych użytkownika i plik czcionki. Standardowe mapowanie Flatpak obejmuje standardową lokalizację czcionek dla każdego użytkownika; niestandardowe reguły fontconfig, nietypowe ścieżki XDG, alternatywny pakiet LibreOffice oraz ograniczenia licencyjne czcionek mogą wymagać osobnej obsługi.
Hipotetyczny raport Miry jest gotowy, gdy czcionka Northstar Sans pojawi się w Writerze, a zapisana kopia testowa zachowa zamierzone formatowanie. W przypadku innych użytkowników te same kontrole pozwalają odróżnić brakującą czcionkę hosta od problemu z odświeżaniem aplikacji lub pakowaniem, nie osłabiając niepotrzebnie środowiska testowego Flatpak.