What does #PB_Font_HighQuality do?

Just starting out? Need help? Post your questions and find answers here.
User avatar
❤x1
User
User
Posts: 46
Joined: Thu Jan 10, 2019 5:56 pm

What does #PB_Font_HighQuality do?

Post by ❤x1 »

On an up-to-date Windows 10 x64, with PB 6.01b3, I compared all the font rendering solution (that I know of) and couldn't see a difference : they are absolutely identical down to the pixel.
Image

Code: Select all

If OpenWindow(0, 0, 0, 800, 470, "#PB_Font_HighQuality", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
	CanvasGadget(0, 0, 0, 800, 470, #PB_Canvas_Container)
	LoadFont(0, "Arial", 20, #PB_Font_HighQuality)
	LoadFont(1, "Arial", 20)
	
	If StartVectorDrawing(CanvasVectorOutput(0))
		VectorFont(FontID(0))
		
		MovePathCursor(10, 9)
		DrawVectorText(~"HighQuality VectorText:\nThe quick brown fox\njumps over the lazy dog")
		
		MovePathCursor(10, 120)
		DrawVectorParagraph(~"HighQuality VectorParagraph:\nThe quick brown fox\njumps over the lazy dog",400, 200)
		
		VectorFont(FontID(1))
		
		MovePathCursor(410, 9)
		DrawVectorText( ~"LowQuality VectorText:\nThe quick brown fox\njumps over the lazy dog")
		
		MovePathCursor(410, 120)
		DrawVectorParagraph( ~"LowQuality VectorParagraph:\nThe quick brown fox\njumps over the lazy dog",400, 200)
		
		StopVectorDrawing()
		
		StartDrawing(CanvasOutput(0))
		DrawingMode(#PB_2DDrawing_Transparent)
		FrontColor($000000)
		
		DrawingFont(FontID(0))
		DrawText(10, 230, "HighQuality RasterText:")
		DrawText(10, 263, "The quick brown fox")
		DrawText(10, 296, "jumps over the lazy dog")
		
		DrawingFont(FontID(1))
		DrawText(410, 230, "LowQuality RasterText:")
		DrawText(410, 263, "The quick brown fox")
		DrawText(410, 296, "jumps over the lazy dog")
		StopDrawing()
		
		TextGadget(1, 10, 345, 400, 200, ~"HighQuality TextGadget:\nThe quick brown fox\njumps over the lazy dog")
		SetGadgetColor(1, #PB_Gadget_BackColor, $FFFFFF)
		SetGadgetColor(1, #PB_Gadget_FrontColor, $000000)
		SetGadgetFont(1, FontID(0))
		
		
		TextGadget(2, 410, 345, 400, 200, ~"LowQuality TextGadget:\nThe quick brown fox\njumps over the lazy dog")
		SetGadgetColor(2, #PB_Gadget_BackColor, $FFFFFF)
		SetGadgetColor(2, #PB_Gadget_FrontColor, $000000)
		SetGadgetFont(2, FontID(1))
	EndIf
	
	Repeat
		Event = WaitWindowEvent()
	Until Event = #PB_Event_CloseWindow
EndIf
I have a few questions : is it expected? Is this some backward compatibility thing for Windows XP or something?
But most importantly, why is DrawVectorText() the only one which is not rendered using ClearType on Windows? The glaring difference is what started me to look into this.