Warum sehen StackOverflow-Codeblöcke in Chrome 37 schrecklich aus?


16

Ich habe gerade Google Chrome auf meinem Linux-System auf Version 37 aktualisiert. Nun sehen die Codeblöcke so aus:

Bildbeschreibung hier eingeben

Und Text, während ich diese Frage schreibe, sieht so aus:

Bildbeschreibung hier eingeben

Auf demselben System sieht die Frage mit Codeblöcken mit Firefox in Ordnung aus.

Was ist das Problem mit Schriftarten in Chrome 37?

Genaue Information

Gemäß den Google Chrome-Entwicklertools wurden die folgenden Schriftfamilien berechnet:

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

In Firefox:

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

Klicken Sie mit der rechten Maustaste auf den Codeblock, wählen Sie "Inspect element" (Element untersuchen), wählen Sie im rechten Bereich der Entwicklerkonsole die Registerkarte "Computed" (Berechnet), scrollen Sie nach unten und geben Sie den dort aufgeführten Schriftnamen ein Chrome und Firefox. Ich frage mich, ob Chrome eine Bitmap-Schriftart
auswählt

Ich meinte den Schriftnamen unten ; In Chrome ist es unter dem Label "Rendered Font". Die berechneten Stile wären in beiden Browsern ohnehin gleich, die tatsächlich ausgewählte Schriftart könnte jedoch abweichen.
user1686

4
Anscheinend wechselten sie von einer stark typisierten Sprache zu einer schwach typisierten.
Daniel R Hicks

4
@DanielRHicks: Wie funktioniert das überhaupt ...
user1686

1
Dies gehört wahrscheinlich entweder zu meta.SO, wenn das Problem SO-spezifisch ist, oder zu meta.SE
Crippledsmurf

Antworten:


8

Mach Folgendes:

  1. Erstellen Sie die Datei ~/.fonts.conf
  2. Fügen Sie den folgenden Text hinzu

    <match target="font" >
        <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
    </match>
    
  3. Starten Sie Chrome neu

Quelle: https://code.google.com/p/chromium/issues/detail?id=408059


2
Hat für mich gearbeitet. Obwohl die Schrift auf dem Stackoverflow definitiv anders aussieht als vor diesem Fehler, ist sie jetzt zumindest lesbar.
minism

Es passierte mir kurz nach der Registrierung der Monaco-Schriftart mit Fedora 19. Diese Antwort funktionierte für mich wie beschrieben.
Rubens Mariuzzo

1
Beim Erstellen der Datei in der aktuellen Distribution ~/.fonts.confwird eine Warnung angezeigt, dass die Datei veraltet ist . Stattdessen erstellen Sie die Datei unter: ~/.config/fontconfig/fonts.conf. Weitere Informationen unter: askubuntu.com/a/231274/24159
Rubens Mariuzzo

2

Bei der Wiedergabe von Linux-Schriftarten ist anscheinend ein Fehler in Chrome 37 aufgetreten , der wahrscheinlich durch das Aktualisieren der Wiedergabe in Windows verursacht wird. Es sollte laut einigen Posts vor der Veröffentlichung behoben worden sein, aber andere sagen eindeutig, dass dies nicht der Fall war. Dort werden mehrere Vorschläge zur Behebung dieses Problems angeboten, darunter das Wechseln zur Betaversion 38 oder das Aktualisieren Ihrer lokalen Schriftartinformationen und das Ändern der Option für automatische Hinweise.

Ich werde ihr Beispiel ~ / .fonts.conf erneut veröffentlichen, aber ich würde es nur als letzten Ausweg versuchen. Probiere zuerst die Beta aus.

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="autohint"><bool>false</bool></edit>
  </match>
</fontconfig>`

0

Ich hatte das gleiche problem Betriebssystem: Linux Mint 17 Cinnamon mit Font-Erweiterungen.

Überprüfen Sie den Zoom Ihres aktuellen Chrome-Displays. Durch Verkleinern oder Vergrößern des Zooms sollte die Darstellung Ihrer Schrift verdeutlicht werden.


1
Nun ... Ich möchte wirklich keine Websites mit 110% Zoom verwenden. Das ist schön zu wissen, aber keine Antwort.
Martin Thoma

0

Bearbeiten ~ / .fonts.conf funktioniert für mich, meine ~ / .fonts.conf (debian Jessie, xfce4, chrome 43.0.2357.81 (64-bit)) ist:

<!-- 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>

Die Frage scheint sich um Version 37 zu handeln. Wissen Sie, ob Ihre Lösung sowohl mit Version 37 als auch mit Version 43 funktionieren würde?
Jason Aller

Funktioniert für mich mit Version 37, dies hängt jedoch davon ab, welche Plattform Sie verwenden. Sie können diese Optionen nacheinander ausprobieren, wenn sie nicht funktionieren.
Kurtmeln
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.