Chrome önkényes anti-aliasing tiltása

 ( mba | 2014. október 5., vasárnap - 12:00 )

Már nagyjából egy éve a Chrome-ban (és más, friss WebKit-en alapú böngészőkben is) folyamatosan tapasztalom azt a jelenséget, hogy adott weblap bizonyos részein hol anti-alias-olódnak a betűk, hol meg nem. Mindez a rendszer beállításaitól (pl. Windows-on ClearType) teljesen függetlenül történik. Alább néhány példa, hogy mire is gondolok.

[ Példa 1 | Példa 2 | Példa 3 (videó) ]

A képeket és a videót javaslom eredeti méretben nézni, így látható normálisan a különbség, mert nem homályosodnak be az átméretezés miatt. A második példában jól látszik, hogy a teljesen azonos méretű, típusú és tulajdonságú (Regular, tehát nem Bold vagy Italic) fontokat bizonyos felületeken anti-alias-olva rendereli a WebKit, máshol pedig normálisan, anti-alias nélkül (a rendszer beállításainak megfelelően). Ha minden igaz, ezt hívják úgy, hogy WebKit Smoothing. Az önkényes anti-alias-olás általában a weblapok dinamikus és/vagy CSS-elt (odaanimált, felbukkanó, áttetsző stb.) elemein jellemző - jól látszik a videón, hogy csak akkor lesznek smooth-olva a betűk, amikor az alatta lévő widget animálódik. Az is egyértelmű, hogy a videón látható animációnál nem csak a pillanatra kicsit felnagyított panelen finomodnak a betűk, hanem mögötte is (bal felső rész, szürke szöveg).

Az erőltetett feature-t Windows alatti Chrome-ban szeretném tiltani (ha van rá egy mód, JavaScript/CSS hákolás nélkül), de ha valaki Chromium-ban (is vagy csak abban) tud megoldást, azt is szívesen veszem.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nekem is ehhez kapcsolódó probléma van.
Adott egy saját szerkesztésű weboldal amiben DejaVuSansMono.ttf font is van.
Namost ha a gépen alapból fent van és css-ből nem hívom meg akkor tűéles a betű ahogy kell neki (nem akarok homályosságot).
De ha beteszem a css kódjába ezt:

@font-face{font-family:"DejaVu Sans Mono";src:url('../fonts/DejaVuSansMono.woff')format('woff'),url('../fonts/DejaVuSansMono.ttf')format('truetype')}

..akkor jön a homályosság.
De ha a Windowsban ki van kapcsolva a ClearType akkor Firefox alatt ragyás lesz az egész ami még rondább.
De ezek csak akkor vannak ha css-ből meghívom ezt a fontot. Alapból minden esetben tűéles.
És én azt szeretném elérni, hogy a rendszer font beállítástól függetlenül mindenkinél ugyanúgy jelenítse meg.

-------------------
http://www.rtvstat.hu/ - A legtöbb magyar rádió és TV egy helyen!

Szerintem pont ugyanaz a problémád, mint nekem, hogy a Chrome a CSS alapján renderelt szövegeket olyan rétegre rakja, ahol alapból be van kapcsolva a font smoothing, tekintet nélkül a rendszer beállításaira. Érdekes, hogy (szerencsére) Linux-on a Chrome figyelembe veszi a font beállításokat és ha megadok egy kizárt intervallumot, hogy hol ne anti-alias-oljon, ott nem is anti-alias-ol, tehát Linux-on minden normálisan néz ki (ahogy a példában az OK-kal jelölt részek).

subs