WYSIWYG-visning och utdata
De flesta program försöker stödja WYSIWYG-utdata (det du ser är vad du får). Det innebär att text som ritas med ett 10-punkts helvetica-tecken i fetstil i programfönstret ska ha ett liknande utseende när den skrivs ut. Att få sanna WYSIWYG-utdata är praktiskt taget omöjligt och till och med oönskat i de flesta fall. Detta beror delvis på skillnaderna i video- och skrivarteknik. en pixel på en skärm är vanligtvis större än en punkt på en vanlig laserskrivare. Visningsavstånden skiljer sig också; En datoranvändare sitter vanligtvis ungefär två meter från skärmen, men en läsares ögon är vanligtvis en fot eller mindre från den utskrivna sidan.
För att kompensera för läsbarhetsskillnader mellan skärmar och den utskrivna sidan stöder systemet en enhet som kallas den logiska tum som alltid anges i bildpunkter. För en videovisning är den logiska tummetern alltid större än den fysiska tum som kompenserar för det längre visningsavståndet och den (vanligtvis) grova upplösningen. För skrivare är den logiska tum alltid lika med den fysiska tum.
För att få en WYSIWYG-effekt när du ritar text är två relaterade problem inblandade: att få enskilda tecken att se likadana ut och enhetsoberoende sidlayout. För att åtgärda det första problemet kan ett program använda funktionen CreateFont för att ange teckensnittsnamnet och storleken på ett idealiskt (eller logiskt) teckensnitt och sedan anropa funktionen SelectObject för att identifiera visnings- eller skrivarenhetens kontext. När programmet anropar SelectObject väljer systemet ett fysiskt teckensnitt som är den närmaste möjliga matchningen till det angivna logiska teckensnittet. När systemet väljer visningsteckensnittet väljer det ett fysiskt teckensnitt som är större än den faktiska storleken. Detta inträffar på grund av den större logiska tum på skärmen. Från användarens perspektiv verkar det dock vara mycket nära rätt höjd. När systemet väljer teckensnittet för skrivaren väljer det ett fysiskt teckensnitt som faktiskt är den begärda storleken. Mer information om teckensnitt och textutdata finns i Teckensnitt och Text.
Det andra problemet, som gäller enhetsoberoende sidlayout, kan åtgärdas med hjälp av TrueType-mått. Detta gäller även när du upprätthåller kompatibilitet med 16-bitarsversioner av Windows. Mer information finns i Using Portable TrueType Metrics.
För att få en WYSIWYG-effekt vid ritning av bitmappad grafik kan ett program hämta bredden och höjden, i logiska tum, på skärmen och den utskrivna sidan. Med dessa värden kan programmet skapa vågräta och lodräta skalningsfaktorer för att behålla andelen bitmappade bilder när de ritas på en skrivare. Mer information om bitmappar och bitmappsutdata finns i Bitmappar.