I have been working on a font-related app recently, but I’m not far enough to answer your questions other than to say that I have noticed some sizes look better than others.
Running this console app:
;==============================================================================
include \masm32\include\masm32rt.inc
;==============================================================================
.data
hdc HDC 0
hfont HFONT 0
str1 db "The quick brown fox jumps over the lazy dog.",0
.code
;==============================================================================
start:
;==============================================================================
HEIGHT = 48
invoke GetDC, 0
mov hdc, eax
;---------------------------------------------
; The font mapper will choose the width based
; on the specified height and font.
;---------------------------------------------
invoke CreateFont, HEIGHT,
0,
0,
0,
FW_NORMAL,
FALSE,
FALSE,
FALSE,
DEFAULT_CHARSET,
OUT_TT_PRECIS,
CLIP_DEFAULT_PRECIS,
CLEARTYPE_QUALITY,
DEFAULT_PITCH or FF_DONTCARE,
chr$("Trebuchet MS Italic")
mov hfont, eax
printf("%x\n\n", hfont)
invoke SelectObject, hdc, hfont
push eax
invoke SetTextAlign, hdc, TA_LEFT or TA_TOP
invoke TextOut, hdc, 0, 0, addr str1, sizeof str1 - 1
pop eax
invoke SelectObject, hdc, eax
invoke DeleteObject, hfont
inkey
exit
;==============================================================================
end start
On my Windows 2000 system with a 21-inch CRT, and on my Windows XP system with a slightly smaller (and less than the best Dell offered in 2003) flat panel display, the font smoothing looks somewhat better on the CRT. Font smoothing is enabled on both systems, with the method on the XP system set to ClearType. If I capture the screens, load them into Paint and zoom the text area 800%, both appear to be using pixel antialiasing, with the difference that the 2000 system is using grayscale, and the XP system is using colors. AFAIK ClearType is supposed to use sub-pixel antialiasing, and I think the sub pixels should be visible in the zoomed image, but since I have never investigated this on a recent system with a really good (read expensive) flat panel display, I’m not sure.
[edit]Well, that was a somewhat dumb statement. The sub pixels could not be visible in a bitmap image composed of pixels.[/edit]