@xod i looked at this code and made some changes to it:
Amount3 is Double for more precision
(Amount4 might be an angle chooser…)
Amount5 added Both
(new)Amount6 to draw the circle
(may be add the external circle…)
In DrawTextOnCircle:
Added // Calculate the Start angle to have text centered.