I have to push this topic, because similar problems occur in different ways through different operating systems:
There are obvious quality issues under Windows 10 with the DrawVectorText() function.
Further the way how
kerning is used is different in DrawVectorText(), AddPathText() and DrawVectorParagraph() as well as on different operating systems:
Windows 7:
Windows 10:
Ubuntu:
As you can see, kerning is active under Ubuntu for all drawings, kerning is non-active under Windows7 for all drawings, but on Windows 10, kerning is active only in AddPathText().
Further the quality of DrawVectorText() under Windows 10 is worse compared to other OS or other drawing techniques.
It seems like, PureBasic uses in some cases only the default properties for drawings, but I think in some cases PureBasic have to force flags for properties like anti-aliasing, kerning or compositing quality to result in same results in all cases.
Code: Select all
Enumeration
#Window
#Gadget
#Font
EndEnumeration
LoadFont(#Font, "DejaVu Sans", 32, #PB_Font_HighQuality)
OpenWindow(#Window, 0, 0, 1150, 180, "Vector Canvas Gadget", #PB_Window_MaximizeGadget|#PB_Window_MaximizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered)
CanvasGadget(#Gadget, 0, 0, WindowWidth(#Window), WindowHeight(#Window), #PB_Canvas_Keyboard)
If StartVectorDrawing(CanvasVectorOutput(#Gadget))
VectorSourceColor($FF202020)
FillVectorOutput()
VectorSourceColor($FF0080FF)
VectorFont(FontID(#Font), 12)
MovePathCursor(5, 5)
DrawVectorParagraph("DrawVectorText:", 300, 20)
MovePathCursor(5, 60)
DrawVectorParagraph("AddPathText:", 300, 20)
MovePathCursor(5, 115)
DrawVectorParagraph("DrawVectorParagraph:", 300, 20)
VectorSourceColor($FFE0E0E0)
VectorFont(FontID(#Font), 14)
MovePathCursor(20, 20)
DrawVectorText("AVAVAVAVAVAVAV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.")
MovePathCursor(20, 40)
DrawVectorText("AAAAAAAVVVVVVV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.")
MovePathCursor(20, 75)
AddPathText("AVAVAVAVAVAVAV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.")
FillPath()
MovePathCursor(20, 95)
AddPathText("AAAAAAAVVVVVVV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.")
FillPath()
MovePathCursor(20, 130)
DrawVectorParagraph("AVAVAVAVAVAVAV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.", 1200, 200)
MovePathCursor(20, 150)
DrawVectorParagraph("AAAAAAAVVVVVVV Du kannst den Anzeigebereich mit gedrückter Mittelmaustaste verschieben und mit dem Mausrad den Ausschnitt vergrößern/verkleiner.", 1200, 200)
StopVectorDrawing()
EndIf
Repeat
Select WaitWindowEvent()
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
End