2016-01-12 18 views
7

Używam Materialize do stylizowania niektórych moich stron internetowych. Zauważyłem, że czcionka Roboto nie wyświetla się poprawnie w Firefoksie (v43.0.3), ale wygląda dobrze w Chrome. Obie przeglądarki pobierają plik z czcionką woff2 z mojego serwera, który wydaje się wskazywać, że powinien być optymalnym wyborem dla współczesnych przeglądarek. renderowaniaWyświetlanie problemów z czcionką Roboto z Materialise w Firefox

Chrome: enter image description here

Firefox renderowania: enter image description here

(. Zdaję sobie sprawę, te screencapsy low-res nie są najlepsze reprodukcji, różnice są znacznie bardziej widoczne w rzeczywistych przeglądarek)

W konsoli Firefox otrzymuję ciąg komunikatów o błędach podobnych do:

downloadable font: GSUB: too large substitute: 65535 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1) 

downloadable font: Layout: Failed to parse lookup subtable 0 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1) 

downloadable font: Layout: Failed to parse lookup subtable 0 (font-family: "Roboto" style:normal weight:normal stretch:normal src index:1) 

Brak reklamacji z Chrome.

Ponieważ nie jestem zaznajomiony z zawiłościami renderowania czcionek, miałem nadzieję, że ktoś z pewną wiedzą w tym obszarze może mieć pomysł, na czym polega problem z komunikatami o błędach z Firefoksa.

+0

Masz szczęście? Mam ten sam problem: – Brandon

+0

@Bandon według https://github.com/Dogfalo/materialize/issues/2660, wygląda na to, że może zostać poprawiony przy następnym wydaniu Materialise (0.97.6). Będę czekał na to wydarzenie, zanim przejdę dalej. – user3351605

+0

Po prostu aktualizacja: wydanie 0.97.6 prawdopodobnie nie rozwiązało tego problemu. – user3351605

Odpowiedz

6

końcu miałem trochę czasu dostępne do wglądu w to nieco więcej, wydaje się, że niektóre pliki czcionek w repozytorium materialize są uszkodzone. Byłem w stanie całkowicie rozwiązać ten problem, po prostu zastępując pliki czcionek z katalogu dist/font/roboto tymi samymi plikami dostępnymi pod adresem roboto-fontface-bower. Wystarczy pobrać z dowolnej gałęzi wersji v0.3.0 lub lepszej.

Mam nadzieję, że pomoże to każdemu, kto jest sfrustrowany tym.

+0

Dziękuję TAK DUŻO – CodeZilla

2

Dla mnie wygląda to tak, że plik woff2 ma nieprawidłowe przesunięcia w wewnętrznych tabelach czcionek lub Firefox odczytuje nieprawidłowe przesunięcia podczas analizowania przesunięć.

Tabela wymieniona w komunikacie o błędzie nie może być głównym powodem problemów z renderowaniem, ponieważ definiuje tylko substytucje glifów (takie jak skład i rozkład ligatury, glify alternatywne dla tego samego kodu, itp.). Tabela nie zawiera żadnych informacji o renderowaniu dla standardowych glifów, więc jeśli tylko ta tabela nie zostanie załadowana, nie powinno to wpłynąć na renderowanie standardowego tekstu. Szczegółowe informacje na temat tabeli GSUB można znaleźć pod adresem Microsoft's OTF specification.

Również mam inny komunikat o błędzie, gdy patrząc na tej stronie: http://gwt-material-demo.herokuapp.com/

Firefox mówi mi, że coś jest nie tak z tabelą OS/2 (która zawiera dane czcionek Windows). Jest to zupełnie inna część pliku czcionki, która ponownie wskazuje, że coś jest nie tak ze strukturą czcionki lub z odczytaniem struktury czcionki.

Więc są dwie rzeczy, które możesz zrobić:

  1. nie używają pliku woff2.

  2. Należy powiadomić programistów Roboto i Firefoksa o problemie i mieć nadzieję, że znajdą przyczynę tego błędu i go naprawią.

+0

Przełączyłem się z używania Woff2 na Woff i teraz działa dobrze w firefoxie, używając Webpacka i programu ładującego pliki. '@ font-face { rodzina czcionek:" Roboto-Regular "; src: format url ("./ assets/fonts/Roboto-Regular.eot"), url (format "./ assets/fonts/Roboto-Regular.woff"), ("woff"),/* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ adres URL (format "./ assets/fonts/Roboto-Regular.ttf") ("truetype");/* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3-5 */ } ' – TetraDev

Powiązane problemy