Új hozzászólás Aktív témák

  • WonderCSabo

    félisten

    A betűk megjelenítéséről Firefoxban:

    Alapvetően két fajta renderelési módot tudunk megkülönböztetni:
    - Whole pixel: nem a betűk formája a lényeg, hanem hogy a kirajzolt kép mindig illeszkedjen a pixelhálóra. Ezáltal éles képet kapunk, de drasztikusan torzulhat a betűk formája.
    - Natural: a betűk formája a lényeg, nem a pixelhálóra illeszkedés. Sokkal hűbb képet kapunk a betűtípushoz, de a kép elmosódottabbnak, életlenebbnek tűnhet.

    De mégis hogyan lehet nem a pixelhálóra illeszkedni? Pl. úgy, hogy szomszédos pixelek egyes subpixeleit használjuk csak (RGB), vagy a szomszédos pixelt szürke árnyalatban jelenítjük meg, stb. További infó erre található.

    A Firefox 4-ben bevezették a hardveres gyorsítást, Windowson a kirajzolást ekkor a Direct2D végzi, mely a szövegekhez DirectWrite-ot használ. A DirectWrite alapértelmezetten Natural renderinget használ, de képes Whole pixel, és egyéb módokra is. A DW előtti GDI visztont csak a Whole pixelt ismeri, és az 4-es előtti Firefox verziókban emiatt csak Whole pixel renderelés volt. Emiatt a Firefox4+ verziókban az emberek folyamatosan panaszkodtak az elmosódott betűk miatt.

    De amint említettem, DirectWrite is képes Whole pixel renderelésre. Firefox 6-ban be is vezették, hogy ezt lehessen állítani, a gfx.font_rendering.cleartype_params.rendering_mode változóval, melynek 2 -es értéke a Whole pixel renderelés.
    Továbbá arra a döntésre jutottak, hogy a betűket ezentűl nem egységesen Natural módon renderelik, hanem:
    - azokat a betűket, melyek alapértelmezetten 16 pixelnél kisebbek, és az alapértelmezett betűcsaládokba tartoznak (ezek: Arial,Consolas,Courier New,Microsoft Sans Serif,Segoe UI,Tahoma,Trebuchet MS,Verdana) Whole pixel módon renderelknek
    - minden egyéb betűt továbbra is Natural módon renderelnek

    Ha szeretnénk, ha az összes betű Whole pixel rendereléssel jelenjen meg, ahogy azt a GDI is tette, és ahogy az Fx4 előtt volt, tegyük a következőt:

    about:config -ban a gfx.font_rendering.cleartype_params.rendering_mode állítsuk 2 -re.

    Ha az összes betűt Natural módon rajzolja ki, tegyük a következőt:

    about:config -ban a gfx.font_rendering.cleartype_params.force_gdi_classic_for_families változót állítsuk / -re.

    [ Szerkesztve ]

Új hozzászólás Aktív témák