9
votes

Est-il possible de désactiver l'anti-aliasing dans CSS lorsque vous utilisez @ font face-face avec des polices de pixels?

Je veux utiliser une police de pixels sur le Web. Je l'incluant à l'aide de @ font face-face, mais tous les navigateurs appliquent anti-aliasing à la police. Je n'arrive pas à trouver une règle de la CSS pour le désactiver, peut-on penser à une autre méthode de désactivation de l'anti-aliasing?


0 commentaires

6 Réponses :


1
votes

Je ne pense pas que CSS a une option d'anti-aliasing. Essayez Cufon à la place: https://github.com/sorccu/cufon/wiki/about

C'est assez facile à utiliser et il rendra très bien vos polices de pixels. Vous pourriez également être intéressé par Shaun Inman's PXFon: http://shauninman.com/archive/2009/04/17/pxr_cufon_pxfon


1 commentaires

Cela rend gentiment gentiment, mais le texte met en évidence est horrible et il devient très évident que ce n'est pas une police normale. Voir un exemple de celui-ci ici: pixel-portraits.com/pxfon



5
votes

Le rendu des polices est effectué par le système d'exploitation et le navigateur, donc, à ce moment-là, je pense qu'il y a peu de choses que vous pouvez faire avec CSS. Il peut y avoir des règles de la CSS proposées dans la discussion (j'ai vu mentionner «Font-lisse» ou quelque chose comme ça), mais rien dans CSS3, autant que je sache, et sans aucun doute rien dans CSS2.


1 commentaires

Merci, à peu près ce que j'ai pensé.



0
votes

La plupart des polices de pixels ne fonctionneront tout simplement pas correctement si vous les utilisez sur une taille multiple 8PT (8, 16, 24, etc.)

Si vous travaillez sur de mauvaises tailles de polices, vous finirez par obtenir des caractères aliasés / brumeux.

Vérifiez cela ...

http://www.fontsquirrel.com/font/list/style/pixel < / a>

... cela peut aider;)


0 commentaires

5
votes

Cette question est ancienne, alors je voulais juste donner une mise à jour.

basé sur Caniuse.com , il y a une propriété CSS pour cela, mais a été supprimée des traites de spécification CSS3. Donc, ce n'est pas une solution standard. Certains navigateurs WebKit, Firefox et Opera le soutiennent, mais il est incompatible. Cela fonctionne surtment pour les utilisateurs de bureau et de Mac OS P>

-webkit-font-smoothing: none || antialiased || subpixel-antialiased
-moz-osx-font-smoothing: auto || inherit || unset || grayscale
font-smoothing: auto || inherit || unset || grayscale


1 commentaires

Voici la page de documentation de Font-Smooth: développeur.mozilla. org / fr-nous / docs / Web / CSS / Font-lisse (inclut un tableau de compatibilité). Au 10 août, 2020 UTC, j'ai testé

désactiver l'anti-aliasing dans le texte HTML avec le logiciel Mozilla / 5.0 (Linux; Android 4.4.3; Kfthwi) Applewebkit / 537.36 (KHTML, comme Gecko) Silk / 81.2.16 Like Chrome / 81.0.4044.138 Safari / 537.36 chez HTMLEDIT.SQuareFree.com - Malheureusement, cela n'a pas fonctionné (le texte avait toujours une antialiasing).



3
votes

J'ai eu un problème similaire aujourd'hui et il semble que, bien que même Font-lisse em> ne fonctionne pas dans Contemporain Firefox * Ajout du filtre:

filter: contrast(1);


0 commentaires

0
votes

Oui, c'est possible.

Je cherchais cela aussi. Et j'ai finalement trouvé une solution sur un autre thread Stackoverflow ( Comment obtenir des "cris" pour SVG Text? ) Pour désactiver le lissage du texte (désactiver Anti-alias) pour SVG, mais cette solution fonctionne également pour des éléments HTML réguliers.

L'astuce utilise à l'aide d'un filtre SVG, que vous pouvez alors Ajouter à n'importe quel élément HTML pour faire quelque chose de croustillant.

  1. Nous devons d'abord définir le filtre afin que nous puissions l'utiliser à l'intérieur de notre CSS. xxx
    1. Ajoutez le filtre à un élément HTML qui ne contient que du texte. S'il a une couleur de fond, cela ne fonctionne pas. xxx
      1. Supplét supplémentaire: vous voudrez probablement masquer l'élément SVG, alors ajoutez ceci au CSS xxx
        1. Une autre chose: si elle a l'air bizarre avec une couleur blanche, changez la couleur en noir et inversez-la à l'aide d'un autre filtre, votre code ressemble donc à ceci: xxx
          1. note, je ne sais pas si cela fonctionnera avec tous les navigateurs, mais cela fonctionne sur Chrome, Edge et Firefox.

0 commentaires