Delen via


ClearType Antialiasing

Antialiasing van Microsoft ClearType is een vloeiende methode waarmee de resolutie van het lettertype wordt verbeterd ten opzichte van traditionele antialiasing. Het verbetert aanzienlijk de leesbaarheid van kleuren LCD-beeldschermen met een digitale interface, zoals die in laptops en hoogwaardige platte desktop beeldschermen. Leesbaarheid op CRT-schermen is ook enigszins verbeterd.

ClearType is echter afhankelijk van de stand en volgorde van de LCD-strepen. ClearType wordt momenteel alleen geïmplementeerd voor LCD's met verticale strepen die in RGB-volgorde zijn gerangschikt. Dit heeft met name invloed op tablet-pc's, waar de weergave in elke richting kan worden georiënteerd en op schermen die van landschap naar portret kunnen worden gedraaid.

ClearType-antialiasing is toegestaan:

  • Voor 16-, 24- en 32-bits kleur (uitgeschakeld voor 256 kleuren of minder)
  • Voor scherm DC en geheugen DC (niet voor printer DC)
  • Voor TrueType-lettertypen en OpenType-lettertypen met TrueType-overzichten

ClearType-antialiasing is uitgeschakeld:

  • Onder terminalserverclient
  • Voor bitmaplettertypen, vectorlettertypen, apparaatlettertypen, Type 1-lettertypen of Postscript OpenType-lettertypen zonder TrueType-contouren
  • Als het lettertype afgestemde ingesloten bitmaps heeft, geldt dit alleen voor de tekengrootten die de ingesloten bitmaps bevatten.

Als u ClearType-antialiasing wilt activeren, roept u SystemParametersInfo eenmaal aan om het vloeiende lettertype in te schakelen en vervolgens een tweede keer om het vloeiende type in te stellen op FE_FONTSMOOTHINGCLEARTYPE, zoals wordt weergegeven in het volgende codevoorbeeld:

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

U kunt het uiterlijk van tekst aanpassen door de contrastwaarde te wijzigen die wordt gebruikt in het ClearType-algoritme. De standaardwaarde is 1400, maar kan elke waarde zijn van 1.000 tot 2.200. Afhankelijk van het weergaveapparaat en de gevoeligheid van de gebruiker voor kleuren, kan een hogere of lagere contrastwaarde de leesbaarheid verbeteren. Als u het contrast wilt wijzigen, roept u SystemParametersInfo- aan met SPI_SETFONTSMOOTHINGCONTRAST. Met de volgende code wordt de contrastwaarde ingesteld op 1.600.

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

Houd rekening met de volgende details voor toepassingscompatibiliteit:

  • Tekstweergave met ClearType is iets langzamer dan bij standaard antialiasing.
  • Toepassingen mogen XOR niet gebruiken om geselecteerde tekst weer te geven. Toepassingen moeten de achtergrondkleur instellen en de geselecteerde tekst opnieuw weergeven.
  • Toepassingen mogen niet dezelfde tekst op zichzelf schilderen in de transparante modus. Als dit gebeurt, zullen de randpixels die anti-aliasing hebben, kleur samensmelten met zichzelf in plaats van met de achtergrondkleur. Dit resulteert in donkergekleurde en kleurrijke randen.
  • Toepassingen mogen geen tekst schilderen door de tekens afzonderlijk te schilderen in de ondoorzichtige modus, omdat de rand van een teken kan worden geknipt door het volgende teken. Dit komt doordat een teken dat glad is met ClearType mogelijk een negatieve A- of C-breedte heeft waarbij het normale teken een positieve A- of C-breedte heeft. Alleen de B-breedte van het teken is gegarandeerd hetzelfde. Op dezelfde manier moeten toepassingen voorzichtig zijn als afgevlakte tekst zich naast onafgevlakte tekst bevindt.
  • Als een toepassing tekst weergeeft en vervolgens de bitmap bewerkt, moet lettertypevereffening worden uitgeschakeld door het lfQuality lid van de LOGFONT structuur in te stellen op NONANTIALIASED_QUALITY. Een game kan bijvoorbeeld een bitmapschaduweffect toevoegen, of tekst die in een bitmap is weergegeven, kan worden geschaald om een miniatuurweergave te produceren.
  • Als de gebruiker in portretmodus werkt (dat wil zeggen, als de monitorstrepen horizontaal zijn), moet ClearType-antialiasing worden uitgeschakeld.

De parameter fdwQuality in CreateFont en het lid lfQuality van LOGFONT accepteren de vlag CLEARTYPE_QUALITY. Rasterisering van lettertypen die met deze vlag zijn gemaakt, gebruikt de ClearType-rasterizer. Deze vlag heeft geen effect op eerdere versies van het besturingssysteem.