Pourquoi les blocs de code StackOverflow sont-ils horribles dans Chrome 37?

16

Je viens de mettre à jour Google Chrome vers la version 37 sur mon système Linux. Maintenant, les blocs de code ressemblent à ceci:

entrez la description de l'image ici

Et le texte pendant que j'écris cette question ressemble à ceci:

entrez la description de l'image ici

Sur le même système, la question des blocs de code semble correcte avec Firefox.

Quel est le problème avec les polices dans Chrome 37?

Des informations détaillées

Selon les outils de développement de Google Chrome, les familles de polices suivantes ont été calculées:

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

Dans Firefox:

Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif
Martin Thoma
la source
Cliquez avec le bouton droit sur le bloc de code, sélectionnez "Inspecter l'élément", dans le panneau droit de la console du développeur, choisissez l'onglet "Calculé", faites défiler vers le bas et affichez le nom de la police qui y est répertoriée - faites-le à la fois sur Chrome et Firefox. Je me demande si Chrome choisit une police bitmap ...
user1686
Je voulais dire le nom de la police en bas ; dans Chrome, il est sous le libellé "Police rendue". Les styles calculés seraient de toute façon les mêmes sur les deux navigateurs, mais la police réellement choisie pourrait différer.
user1686
4
Apparemment, ils sont passés d'une langue fortement typée à une langue faiblement typée.
Daniel R Hicks
4
@DanielRHicks: Comment cela peut-il même ...
user1686
1
Cela appartient probablement soit à meta.SO si le problème est spécifique à SO, soit à meta.SE
Crippledsmurf

Réponses:

8

Procédez comme suit:

  1. Créer le fichier ~/.fonts.conf
  2. Ajoutez le texte suivant

    <match target="font" >
        <edit name="embeddedbitmap" mode="assign"><bool>false</bool></edit>
    </match>
    
  3. Redémarrez Chrome

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

Martin Thoma
la source
2
A travaillé pour moi. Bien que la police sur stackoverflow apparaisse définitivement différemment qu'avant ce bogue, mais au moins elle est lisible maintenant.
minisme
Cela m'est arrivé juste après l'enregistrement de la police Monaco à l'aide de Fedora 19. Cette réponse a fonctionné pour moi comme décrit.
Rubens Mariuzzo
1
Dans une distribution récente, la création du fichier ~/.fonts.confdéclenchera un avertissement de dépréciation . Au lieu de cela, créez le fichier à: ~/.config/fontconfig/fonts.conf. Plus d'infos sur: askubuntu.com/a/231274/24159
Rubens Mariuzzo
2

Vous semblez rencontrer un bogue Chrome 37 avec un rendu de police Linux qui est probablement dû à la mise à jour du rendu dans Windows. Selon certains articles, il était censé avoir été corrigé avant la publication, mais d'autres disent clairement que ce n'était pas le cas. De nombreuses suggestions pour y faire face y sont proposées, notamment passer à la version bêta 38 ou mettre à jour vos informations de police locale et modifier l'option d'indication automatique.

Je republierai leur exemple ~ / .fonts.conf, mais je ne l'essayerais qu'en dernier recours. Essayez d'abord la version bêta.

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

J'ai eu le même problème. Système d'exploitation: Linux Mint 17 Cinnamon avec des extensions de police.

Vérifiez le zoom de votre écran Chrome actuel. La réduction ou l'augmentation du zoom devrait clarifier le rendu de votre police.

Dave Burke
la source
1
Eh bien ... je ne veux vraiment pas utiliser de sites Web avec un zoom de 110%. C'est bon à savoir, mais pas une réponse.
Martin Thoma
0

Modifier ~ / .fonts.conf fonctionne pour moi, mon ~ / .fonts.conf (debian Jessie, xfce4, chrome 43.0.2357.81 (64 bits)) est:

<!-- 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
la source
La question semble concerner la version 37. Savez-vous si votre solution fonctionnerait avec la version 37 ainsi que la version 43?
Jason Aller
Fonctionne sur la version 37 pour moi, mais cela devrait dépendre de la plate-forme que vous utilisez, vous pouvez essayer ces options une par une si cela ne fonctionne pas.
kurtmeln du