Dlaczego bloki kodu StackOverflow wyglądają okropnie w Chrome 37?

16

Właśnie zaktualizowałem Google Chrome do wersji 37 w moim systemie Linux. Teraz bloki kodu wyglądają następująco:

wprowadź opis zdjęcia tutaj

Tekst podczas pisania tego pytania wygląda następująco:

wprowadź opis zdjęcia tutaj

W tym samym systemie pytanie z blokami kodu wygląda dobrze w przeglądarce Firefox.

Na czym polega problem z czcionkami w Chrome 37?

Dokładna informacja

Według narzędzi programistycznych Google Chrome obliczono następujące rodziny czcionek:

Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif;

W przeglądarce Firefox:

Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
Martin Thoma
źródło
Kliknij blok kodu prawym przyciskiem myszy, wybierz „Sprawdź element”, w panelu po prawej stronie konsoli programisty wybierz kartę „Obliczone”, przewiń w dół i opublikuj nazwę czcionki, która jest tam wymieniona - zrób to oba na Chrome i Firefox. Zastanawiam się, czy Chrome wybiera czcionkę bitmapową ...
user1686,
Miałem na myśli nazwę czcionki na dole ; w Chrome jest pod etykietą „Rendered Font”. Obliczone style i tak byłyby takie same w obu przeglądarkach, ale faktycznie wybrana czcionka może się różnić.
user1686,
4
Najwyraźniej przeszli z używania języka silnie typowego na język słabo typowanego.
Daniel R Hicks
4
@DanielRHicks: Jak to w ogóle ...
user1686
1
To prawdopodobnie należy do meta.SO, jeśli problem dotyczy SO, lub meta.SE
Crippledsmurf

Odpowiedzi:

8

Wykonaj następujące czynności:

  1. Utwórz plik ~/.fonts.conf
  2. Dodaj następujący tekst

    <match target="font" >
        <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
    </match>
    
  3. Uruchom ponownie Chrome

Źródło: https://code.google.com/p/chromium/issues/detail?id=408059

Martin Thoma
źródło
2
Pracował dla mnie. Chociaż czcionka na stackoverflow na pewno wygląda inaczej niż przed tym błędem, ale przynajmniej jest teraz czytelna.
minizm
Zdarzyło mi się to zaraz po zarejestrowaniu czcionki Monako za pomocą Fedory 19. Ta odpowiedź działała dla mnie zgodnie z opisem.
Rubens Mariuzzo,
1
Podczas ostatniej dystrybucji tworzenie pliku ~/.fonts.confspowoduje pojawienie się ostrzeżenia o wycofaniu . Zamiast tworzyć plik pod adresem: ~/.config/fontconfig/fonts.conf. Więcej informacji: askubuntu.com/a/231274/24159
Rubens Mariuzzo,
2

Wygląda na to, że masz błąd Chrome 37 z renderowaniem czcionek w systemie Linux, co prawdopodobnie jest spowodowane aktualizacją renderowania w systemie Windows. Według niektórych postów miało to zostać naprawione przed wydaniem, ale inni wyraźnie twierdzą, że tak nie było. Dostępne są tam liczne sugestie, jak sobie z tym poradzić, w tym przejście do 38 wersji beta lub zaktualizowanie informacji o lokalnej czcionce i zmiana opcji automatycznego podpowiedzi.

Ponownie opublikuję ich przykład ~ / .fonts.conf, ale spróbuję tego tylko w ostateczności. Najpierw wypróbuj wersję beta.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="autohint"><bool>false</bool></edit>
  </match>
</fontconfig>`
trlkly
źródło
0

Miałem ten sam problem. System operacyjny: Linux Mint 17 Cinnamon z rozszerzeniami czcionek.

Sprawdź powiększenie bieżącego wyświetlacza Chrome. Zmniejszenie lub zwiększenie powiększenia powinno wyjaśnić renderowanie czcionek.

Dave Burke
źródło
1
Cóż ... Naprawdę nie chcę używać stron z powiększeniem 110%. Miło to wiedzieć, ale nie odpowiedź.
Martin Thoma,
0

Edycja ~ / .fonts.conf działa dla mnie, mój ~ / .fonts.conf (debian Jessie, xfce4, chrome 43.0.2357.81 (64-bit)) to:

<!-- put to ~/.fonts.conf to improve chrome font rendering -->
<match target="font">
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
kurtmeln
źródło
Pytanie wydaje się dotyczyć wersji 37. Czy wiesz, czy Twoje rozwiązanie będzie działać z wersją 37, a także z wersją 43?
Jason Aller,
Działa dla mnie w wersji 37, ale powinno to zależeć od używanej platformy, możesz wypróbować te opcje jedna po drugiej, jeśli to nie działa.
kurtmeln