Supporting ClearType

Windows CE versions 2.12 and later support Microsoft ClearType font technology. ClearType dramatically improves font sharpness on color LCD displays. If the display driver supports ClearType, it must notify the GDI of this capability at system startup by returning GCAPS_CLEARTYPE in the call to the GetGraphicsCaps function. The Citizen sample display driver demonstrates how to support ClearType. The driver source code is located in the Platform\Odo\Drivers\Display\Citizen directory.

The display driver invokes a software emulation to render a ClearType glyph. For example, in the Citizen driver, text output with a solid brush is usually routed to the BltText08 emulation function. For the edge pixels on the glyph, the display function pointer is set to a special BltCleartype emulation for the 3-3-2 palette and the Halftone palette.

case 0xAAF0:    // Special PATCOPY ROP for text output--fill where mask 
         //is 1.
        // Not a pattern brush?
        if( pBltParms->solidColor != -1 )
        {
            if (pBltParms->pMask->Format() == gpe1Bpp)
            {
                DEBUGMSG(GPE_ZONE_BLT_LO,(TEXT("CITIZEN::Blt - 0xAAF0\r\n")));
                pBltParms->pBlt = FUNCNAME(BltText08);
                return S_OK;
            }
            else if (pBltParms->pMask->Format() == gpe8Bpp)  // ClearType
            {
                DEBUGMSG(GPE_ZONE_BLT_LO,(TEXT("CITIZEN::Blt ClearType - 0xAAF0\r\n")));
                pBltParms->pBlt = FUNCNAME(BltCleartypeHalftoneText08);
//                pBltParms->pBlt = FUNCNAME(BltCleartype332Text08);
                return S_OK;
            }
        }
        break;