Visualizzazione e output WYSIWYG
La maggior parte delle applicazioni tenta di supportare l'output WYSIWYG (quello che viene visualizzato è quello che si ottiene). Ciò significa che il testo disegnato con un carattere helvetica a 10 punti nella finestra dell'applicazione deve avere un aspetto simile quando viene stampato. Ottenere un vero output WYSIWYG è praticamente impossibile e persino indesiderato nella maggior parte dei casi. Ciò è dovuto, in parte, alle differenze nelle tecnologie video e stampanti; un pixel su uno schermo è generalmente più grande di un punto su una stampante laser comune. Anche le distanze di visualizzazione sono diverse; un utente del computer si trova in genere a circa due metri dallo schermo, ma gli occhi di un lettore sono in genere un piede o meno dalla pagina stampata.
Per compensare le differenze di leggibilità tra schermi e pagina stampata, il sistema supporta un'unità denominata pollice logico sempre specificato in pixel. Per uno schermo video, il pollice logico è sempre maggiore del pollice fisico per compensare la distanza di visualizzazione più lunga e la risoluzione (in genere) più grossolana. Per le stampanti, il pollice logico è sempre uguale al pollice fisico.
Per ottenere un effetto WYSIWYG quando si disegna testo, sono coinvolti due problemi correlati: rendere i singoli caratteri lo stesso e layout di pagina indipendente dal dispositivo. Per risolvere il primo problema, un'applicazione può usare la funzioneCreateFontper specificare il nome e le dimensioni di un tipo di carattere ideale (o logico) e quindi chiamare la funzioneSelectObjectper identificare il contesto del dispositivo di visualizzazione o stampante. Quando l'applicazione chiama SelectObject , il sistema seleziona un tipo di carattere fisico che corrisponde alla corrispondenza più vicina possibile al tipo di carattere logico specificato. Quando il sistema seleziona il tipo di carattere visualizzato, sceglie un tipo di carattere fisico maggiore della dimensione effettiva. Ciò si verifica a causa del pollice logico più grande sullo schermo. Dal punto di vista dell'utente, tuttavia, sembra essere molto vicino all'altezza corretta. Quando il sistema seleziona il tipo di carattere per la stampante, sceglie un tipo di carattere fisico che corrisponde effettivamente alla dimensione richiesta. Per altre informazioni sui tipi di carattere e sull'output di testo, vedere Tipi di carattere e testo.
Il secondo problema, quello del layout di pagina indipendente dal dispositivo, può essere risolto dall'uso delle metriche TrueType. Questo vale anche quando si mantiene la compatibilità con le versioni a 16 bit di Windows. Per altre informazioni, vedere Using Portable TrueType Metrics.
Per ottenere un effetto WYSIWYG quando si disegna grafica bitmap, un'applicazione può recuperare la larghezza e l'altezza, in pollici logici, dello schermo e della pagina stampata. Usando questi valori, l'applicazione può creare fattori di ridimensionamento orizzontale e verticale per mantenere la proporzione di immagini bitmap quando vengono disegnate su una stampante. Per altre informazioni sulle bitmap e sull'output bitmap, vedere bitmap.