Megosztás a következőn keresztül:


ClearType Antialiasing

A Microsoft ClearType antialiasing egy simítási módszer, amely javítja a betűtípusok megjelenítésének felbontását a hagyományos antialiasing használatával szemben. Ez jelentősen javítja az olvashatóságot a színes LCD monitorokon, amelyek rendelkeznek digitális interfésszel, például a laptopokban és a kiváló minőségű asztali kijelzőkben. A CRT-képernyők olvashatósága is némileg javult.

A ClearType azonban az LCD-csíkok tájolásától és sorrendjétől függ. A ClearType jelenleg csak az RGB-hez rendezett függőleges csíkokkal rendelkező LCD-khez van implementálva. Ez különösen a táblagépeket érinti, ahol a kijelző bármilyen irányba fordítható, és azokat a képernyőket, amelyek fekvő módból álló módba átforgathatók.

A ClearType antialiasing engedélyezett:

  • 16, 24 és 32 bites szín esetén (256 vagy kevesebb szín esetén letiltva)
  • A képernyő-eszközvezérlő és a memória-eszközvezérlő (nem a nyomtató eszközvezérlő esetén)
  • TrueType betűtípusok és TrueType-tagolású OpenType betűtípusok esetén

A ClearType simítás ki van kapcsolva:

  • Terminálkiszolgáló ügyfél alatt
  • Bitkép betűtípusok, vektoros betűtípusok, eszköz betűtípusok, 1. típusú betűtípusok vagy Postscript OpenType betűtípusok esetén TrueType-körvonalak nélkül
  • Ha a betűtípusnak hangolt beágyazott bitképei vannak, csak azoknál a betűméreteknél, amelyek tartalmazzák ezeket a beágyazott bitképeket

A ClearType antialiasing aktiválásához hívja meg SystemParametersInfo egyszer, hogy bekapcsolja a betűtípus-simítást, majd másodszor állítsa a simítás típusát FE_FONTSMOOTHINGCLEARTYPE, ahogy az alábbi kódmintában látható:

SystemParametersInfo(SPI_SETFONTSMOOTHING,
                     TRUE,
                     0,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE);
SystemParametersInfo(SPI_SETFONTSMOOTHINGTYPE,
                     0,
                     (PVOID)FE_FONTSMOOTHINGCLEARTYPE,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); 

A szöveg megjelenését a ClearType algoritmusban használt kontrasztérték módosításával módosíthatja. Az alapértelmezett érték 1400, de 1000 és 2200 közötti érték is lehet. A megjelenítési eszköztől és a felhasználó színérzékenységétől függően magasabb vagy alacsonyabb kontrasztérték javíthatja az olvashatóságot. A kontraszt megváltoztatásához hívja meg a SystemParametersInfo függvényt SPI_SETFONTSMOOTHINGCONTRAST segítségével. Az alábbi kód 1600-ra állítja a kontrasztértéket.

SystemParametersInfo(SPI_SETFONTSMOOTHINGCONTRAST,
                     0,
                     (PVOID)1600,
                     SPIF_UPDATEINIFILE | SPIF_SENDCHANGE); 

Az alkalmazáskompatibilitáshoz a következő adatokat kell figyelembe vennie:

  • A ClearType-tal történő szövegmegjelenítés valamivel lassabb, mint a normál antialiasing.
  • Az alkalmazások nem használhatják az XOR-t a kijelölt szöveg megjelenítéséhez. Az alkalmazásoknak meg kell állítaniuk a háttérszínt, és vissza kell állítaniuk a kijelölt szöveget.
  • Az alkalmazások nem szabad ugyanazt a szöveget áttetsző módban magukra festeni. Ha ez történik, a színeltérés elleni él képpontjai a háttérszín helyett magukkal egyesülnek. Ez sötétített és színes éleket eredményez.
  • Az alkalmazások nem festhetnek szöveget úgy, hogy a karaktereket egyenként festik átlátszatlan módban, mert a karakter szélét az alábbi karakter vághatja ki. Ez azért fordul elő, mert a ClearType-tal simított karakterek negatív A vagy C szélességűek lehetnek, ahol a normál karakternek pozitív A vagy C szélessége van. Csak a karakter B szélessége garantáltan megegyezik. Hasonlóképpen, az alkalmazásoknak óvatosnak kell lenniük, ha a simított szöveg a nem formázott szöveg mellett található.
  • Ha egy alkalmazás szöveget jelenít meg, majd módosítja a bitképet, a betűsimítást ki kell kapcsolni a lfQuality tagot a LOGFONT struktúrában NONANTIALIASED_QUALITY-ra állítva. Egy játék például bitkép árnyékeffektust adhat hozzá, vagy a bitképbe renderelt szöveg méretezhető az ujjlenyomat-nézet létrehozásához.
  • Ha a felhasználó álló módban fut (azaz a monitor csíkozása vízszintes), le kell tiltani a ClearType antialiasingot.

A CreateFont függvény fdwQuality paramétere és a LOGFONT struktúra lfQuality tagja elfogadja a CLEARTYPE_QUALITY jelzőt. Az ezzel a jelzővel létrehozott betűtípusok raszterizálása a ClearType raszterizátort fogja használni. Ez a jelző nincs hatással az operációs rendszer korábbi verzióira.