Firefox - strony internetowe z niestandardowymi czcionkami nie są wyświetlane

9

Właśnie zaktualizowałem program do wersji FF 57, a witryny korzystające z własnych czcionek przestały wyświetlać tekst.

Wiem, że jest to problem, który mieli inni, np. Firefox nie wyświetla tekstu witryny , ale rozwiązania tam nie działały. Tryb awaryjny też nie pomaga, problem zniknie, jeśli odznaczę opcję czcionek niestandardowych w Preferencjach.

Mam również zainstalowane niestandardowe czcionki (z TexLive i kilku innych), więc myślę, że to może być przyczyną.

Wszelkie pomysły na rozwiązanie tego problemu?

Przykład z Github:

github bez tekstu

Bar
źródło
Wygląda na to, że TeXGyreHeros był cuplprit, zainstalowałem go, a Twitter i Github działają teraz poprawnie. Jest dostępny w fonts-texgyrepakiecie. Nie mam pojęcia, dlaczego spowodowało to uaktualnienie do wersji 57.
Bar
Musiałem zrobić to samo z Youtube i fonts-roboto. Wygląda na to, że brakuje wielu czcionek.
Bar
1
Jedną witryną, której nie byłem w stanie naprawić, jest (jak na ironię) addons.mozilla.org, która korzysta z rodziny czcionek Fira. Zainstalowałem je zgodnie z instrukcjami i przez jakiś czas wydają się działać, ale powróć do braku wyświetlanego tekstu.
Bar
W moim przypadku miałem ten problem na jednym komputerze, ale nie na innym z podobnymi ustawieniami. Żadna z podanych do tej pory odpowiedzi tego nie rozwiązuje. Otworzyłem kolejny post askubuntu.com/q/980681/446253
XavierStuvw

Odpowiedzi:

9

Jest to połączenie kilku rzeczy: TexLive instaluje czcionki w niestandardowej lokalizacji, a strona internetowa żąda czcionki, która według pakietu fontconfig Ubuntu jest lepiej wypełniona jedną z czcionek TexLive niż zwykłą czcionką. Firefox jest następnie proszony o użycie czcionki TexLive do renderowania, ale nie można do niej dotrzeć z poziomu bezpiecznego obszaru izolowanego.

Zalecanym obejściem jest ustawienie

security.sandbox.content.read_path_whitelist to /usr/local/texlive/

w about: config i restartowanie przeglądarki.

Zostało to naprawione na bardziej podstawowym poziomie w przeglądarce Firefox 58 i nowszych.

gcp
źródło
1
Powinienem zaproponować lepsze rozwiązanie: ustawić /usr/local/texlive/. W ten sposób możemy uniknąć wskazania roku wydania TeXLive
Domenico Cufalo,
Nie jestem przekonany, że to właśnie się dzieje. Mam zainstalowane czcionki TexGyre, ale instalowane ręcznie, więc chociaż jakiś inny pakiet mógł zainstalować je w specjalnym folderze, najpierw zostały zainstalowane w standardowym. Również witryny, z którymi mam problemy, używały czcionek anodyne MS, które są instalowane w lokalizacjach czcionek systemowych. Nie ma potrzeby ich zastępowania i znajdują się one w folderach, które powinny stanowić wyjątki od nowej piaskownicy Firefoksa. Również różni użytkownicy mają problemy z różnymi witrynami. W każdym razie ustawienie poziomu piaskownicy na 2 działa dla mnie, dopóki nie zostanie to naprawione.
Moilleadóir,
Powinieneś zgłosić błąd w Bugzilli, podając więcej szczegółów, w przeciwnym razie problem nie zostanie naprawiony.
gcp
Zgadzam się, że /usr/local/texlivenależy tego użyć, aby uniknąć roku. Inna odpowiedź została zatwierdzona z tego powodu.
Ege Rubak
Edytowano, chociaż poprawka została już uaktualniona do przeglądarki Firefox 58, więc do 2018 r. Obejście to nie będzie już potrzebne.
gcp
3

Ja także zainstalowałem fonts-texgyrew moim Debianie 9 Stretch, a wizualizacja stron internetowych uległa poprawie, ale wciąż są pewne problemy. Może powinniśmy zainstalować każdą czcionkę dostępną w repozytoriach, ale jasne jest, że takie rozwiązanie nie jest praktyczne.

Jedynym prawdziwym rozwiązaniem byłoby wyłączenie /etc/fonts/conf.d/09-texlive.conf.

Jeśli ktoś znajdzie inne rozwiązanie, jest mile widziane!

Domenico Cufalo
źródło
Co rozumiesz przez wyłączenie tutaj? Jaki byłby wpływ na Firefox?
Bar
1
sudo mv /etc/fonts/conf.d/09-texlive.conf /etc/fonts/conf.d/09-texlive.conf.BAKa następniesudo fc-cache -fsv
Domenico Cufalo
2
Wygląda na to, że czcionki tekstowe zainstalowane w systemie Linux powodują konflikty.
Domenico Cufalo
1
Niestety to rozwiązanie nie jest dobre, ponieważ sprawia, że ​​czcionki texlive są bezużyteczne dla innych aplikacji
Domenico Cufalo,
1
Ok dzięki. Przyjmuję to jako odpowiedź, ponieważ to rozwiązuje problem. Szkoda, że ​​nie możemy używać czcionek tekstowych i nie rozumiem, w jaki sposób powoduje to FF 56 vs. 57.
Bar
3

W about:configzestawie

security.sandbox.content.read_path_whitelist 

do

/usr/local/texlive/

Działa po ponownym uruchomieniu Firefoksa.

Martien Lubberink
źródło
2

Spróbuj przejść do : preferencje > Język i wygląd > Zaawansowane i usuń zaznaczenie opcji „Zezwalaj stronom na wybieranie własnych czcionek zamiast wybranych powyżej”. To rozwiązuje problem, chociaż teraz wszystkie czcionki są domyślnie ustawione na DejaVu.

phipsgabler
źródło
Jest to raczej obejście niż poprawka, ale i dla mnie działa.
pbhj
1

Właśnie znalazłem lepsze rozwiązanie, bez instalowania czegokolwiek!

W pasku adresu przeglądarki Firefox przejdź do about: config , a następnie wyszukaj

security.sandbox.content.level

i ustaw ten ciąg na 1 . Uruchom ponownie Firefox i ... :-D

Domenico Cufalo
źródło
Oczywiście wiąże się to z kosztem bezpieczeństwa. To właściwie brzmi błąd, zobaczę, czy mogę zgłosić go do Bugzilli. Aby uzyskać więcej informacji na temat piaskownicy, zobacz tutaj: wiki.mozilla.org/Security/Sandbox#Content_Levels_2
Bar
Lepiej jest też, jeśli edytujesz poprzednią odpowiedź, a nie tworzysz nową.
Bar
1
Złożyłem ten błąd: bugzilla.mozilla.org/show_bug.cgi?id=1418240 Jeśli możesz skomentować i potwierdzić ten sam problem, może zostać zauważony wcześniej.
Bar